Bilder bearbeiten

Mit Imagen können Sie Bilder in Sekundenschnelle bearbeiten. Dazu verwenden Sie Text-Prompts, Masken und vorhandene Bilder als Anleitung für die Änderungen.

Modellkarte für Imagen for Editing and Customization ansehen

Unterstützte Modellversionen

Die Imagen API unterstützt die folgenden Modelle:

  • imagen-3.0-capability-001

Weitere Informationen zu den vom Modell unterstützten Funktionen finden Sie unter Imagen-Modelle.

HTTP-Anfrage

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict \

-d '{
  "instances": [
    {
      "referenceImages": [
        {
          "referenceType": "REFERENCE_TYPE_RAW",
          "referenceId": 1,
          "referenceImage": {
            "bytesBase64Encoded": string
          }
        },
        {
          "referenceType": "REFERENCE_TYPE_MASK",
          "referenceId": 2,
          "referenceImage": {
            "bytesBase64Encoded": string
          },
          "maskImageConfig": {
            "maskMode": "MASK_MODE_USER_PROVIDED"
          }
        }
      ],
      "prompt": string
    }
  ],
  "parameters": {
    "addWatermark": boolean,
    "baseSteps": integer,
    "editMode": string,
    "guidanceScale": integer,
    "includeRaiReason": boolean,
    "includeSafetyAttributes": boolean,
    "language": string,
    "negativePrompt": string,
    "outputOptions": {
      "mimeType": string,
      "compressionQuality": integer
    },
    "personGeneration": string,
    "safetySetting": string,
    "sampleCount": integer,
    "seed": integer,
    "storageUri": string
  }
}'

Instanzen

Instanzen
prompt

string

Optional. Der Text-Prompt für das Bild. Wenn kein prompt angegeben ist, füllt das Modell Inhalte aus dem Bildkontext ein.

referenceImages

Liste mit ReferenceImage-Objekten.

Erforderlich. Für die Maskenbearbeitung müssen genau zwei Referenzbilder angegeben werden, eines mit REFERENCE_TYPE_RAW und eines mit REFERENCE_TYPE_MASK.

Objekt referenceImages

Das referenceImages-Objekt beschreibt die Bild-Assets, die mit Imagen bearbeitet werden sollen.

Parameter
referenceType

string

Erforderlich. Der Typ des Referenzbildes. Eines der folgenden Betriebssysteme:

  • REFERENCE_TYPE_RAW: Das zu bearbeitende Basisbild.
  • REFERENCE_TYPE_MASK: Das Maskenbild, dessen Werte, die ungleich Null sind, angeben, wo das Basisbild bearbeitet werden soll.
referenceId

integer

Erforderlich. Eine eindeutige Kennung für das Referenzbild. Wird nicht für die Bearbeitung mit Masken verwendet.

referenceImage.bytesBase64Encoded

string

Erforderlich. Base64-codierte Bilddaten. Es werden PNG-, JPEG-, GIF- und BMP-Dateien akzeptiert. Die maximale Größe beträgt 20 MB nach der Transcodierung in PNG. Wenn Sie ein Maskenbild bereitstellen, muss es dieselben Abmessungen wie das Basisbild haben.

maskImageConfig.maskMode

string

Erforderlich, wenn referenceType REFERENCE_TYPE_MASK ist. Dies muss einer der folgenden Datentypen sein:

  • MASK_MODE_USER_PROVIDED: Verwenden Sie die Maske aus referenceImage.bytesBase64Encoded.
  • MASK_MODE_BACKGROUND: Verwenden Sie eine automatisch generierte Maske aus der Hintergrundsegmentierung.
  • MASK_MODE_FOREGROUND: Verwenden Sie eine automatisch generierte Maske aus der Vordergrundsegmentierung.
  • MASK_MODE_SEMANTIC: Verwenden Sie eine automatisch generierte Maske aus der semantischen Segmentierung mit der angegebenen Maskenklasse.
maskImageConfig.dilation

float

Optional. Bereich: [0, 1]. Der Prozentsatz der Bildbreite, um die Maske zu erweitern. So können Sie ungenaue Masken ausgleichen. Für optimale Ergebnisse empfehlen wir die folgenden maskImageConfig.maskMode-Einstellungen:

  • EDIT_MODE_INPAINT_INSERTION: 0.01
  • EDIT_MODE_INPAINT_REMOVAL: 0.01
  • EDIT_MODE_BGSWAP: 0.0
  • EDIT_MODE_OUTPAINT: 0.010.03
maskImageConfig.maskClasses

list[integer]

Optional. Maskenklassen für den Modus MASK_MODE_SEMANTIC.

Parameter

Parameter
addWatermark

bool

Optional. Fügen Sie den generierten Bildern ein unsichtbares Wasserzeichen hinzu.

Der Standardwert ist true.

baseSteps

integer

Optional. Die Anzahl der Stichprobenschritte. Ein höherer Wert führt zu einer besseren Bildqualität, ein niedrigerer Wert zu einer geringeren Latenz. Die Standardeinstellung ist 75.

Bei kleineren Maskenbereichen oder im Modus „Entfernen“ oder „Einfügen“ können Sie die Schritte 16 – 35 verwenden, um die Latenz zu verringern und gleichzeitig eine ähnliche Qualität zu erzielen.

editMode

string

Für die Maskenbearbeitung erforderlich.

Ein Enum mit einem der folgenden Werte:

  • EDIT_MODE_INPAINT_REMOVAL: Entfernt Objekte und füllt den Bildhintergrund im Maskenbereich aus.
  • EDIT_MODE_INPAINT_INSERTION: Objekte aus einem bestimmten Prompt hinzufügen.
  • EDIT_MODE_BGSWAP: Fügt dem Maskenbereich Hintergrundinhalte hinzu, während die Objektinhalte im nicht maskierten Bereich beibehalten werden. Nützlich für die Produktbearbeitung.
  • EDIT_MODE_OUTPAINT: Erweitert das Bild in den Maskenbereich. Im Gegensatz zu EDIT_MODE_BGSWAP wird hier die Vervollständigung von Objekten für teilweise Objekte am Bildrand generiert.
guidanceScale

integer

Optional. Steuert, wie sehr sich das Modell an den Text-Prompt hält. Große Werte erhöhen die Ausrichtung der Ausgabe am Prompt, können jedoch die Bildqualität beeinträchtigen.

Akzeptierter Bereich: 0500

Standard: 60 für den Einfügemodus, 75 für „Entfernen“, „Hintergrund tauschen“ und „Erweitern“.

includeRaiReason

boolean

Optional. Gibt an, ob in der Antwort ein Sicherheitsgrund für gefilterte Bilder angegeben werden soll. Der Standardwert ist false.

includeSafetyAttributes

boolean

Optional. Gibt an, ob die Sicherheitsbewertungen der einzelnen Bilder in der Antwort gemeldet werden sollen. Der Standardwert ist false.

language

string

Optional. Der Sprachcode, der der Sprache Ihres Text-Prompts entspricht. Folgende Werte werden unterstützt:

  • "auto": Automatische Erkennung. Wenn Imagen eine unterstützte Sprache erkennt, werden der Prompt und ein optionaler negativer Prompt ins Englische übersetzt. Wenn die erkannte Sprache nicht unterstützt wird, verwendet Imagen den Eingabetext unverändert, was zu einer unerwarteten Ausgabe führen kann. Es wird kein Fehlercode zurückgegeben.
  • "en": Englisch (Standardwert, wenn nicht angegeben)
  • "zh" oder "zh-CN": Chinesisch (vereinfacht)
  • "zh-TW": Chinesisch (traditionell)
  • "hi": Hindi
  • "ja": Japanisch
  • "ko": Koreanisch
  • "pt": Portugiesisch
  • "es": Spanisch

language wird nur von imagen-3.0-capability-001 unterstützt.

negativePrompt

string

Optional. Eine Beschreibung dessen, was in den generierten Bildern verhindert werden sollte.

outputOptions

outputOptions

Optional. Beschreibt das Ausgabeformat des Bildes in einem outputOptions-Objekt.

personGeneration

string

Optional. Das Modell darf Bilder von Personen generieren. Folgende Werte werden unterstützt:

  • "dont_allow": Personen oder Gesichter in Bildern nicht zulassen.
  • "allow_adult": Nur Generierung von Erwachsenen zulassen.
  • "allow_all": Ermöglicht die Generierung von Personen aller Altersgruppen.

Bei der maskenbasierten Bearbeitung ist personGeneration standardmäßig auf allow_adult festgelegt. Bei der maskenfreien Bearbeitung ist personGeneration standardmäßig auf allow_adult eingestellt.

sampleCount

integer

Optional. Die Anzahl der zu generierenden Bilder. Der Standardwert ist 4.

seed

Uint32

Optional. Der Zufalls-Seed für die Bildgenerierung. Diese Option ist nicht verfügbar, wenn addWatermark auf true festgelegt ist.

safetySetting

string

Optional. Fügt der Sicherheitsfilterung eine Filterebene hinzu. Folgende Werte werden unterstützt:

  • "block_low_and_above": Stärkste Filterebene, strengste Blockierung. Veralteter Wert: "block_most".
  • "block_medium_and_above": Einige problematische Prompts und Antworten blockieren. Veralteter Wert: "block_some".
  • "block_only_high": Reduziert die Anzahl der Anfragen, die aufgrund von Sicherheitsfiltern blockiert werden. Kann dazu führen, dass Imagen mehr anstößige Inhalte generiert. Veralteter Wert: "block_few".
  • "block_none": Sehr wenige problematische Prompts und Antworten blockieren. Der Zugriff auf diese Funktion ist eingeschränkt. Vorheriger Feldwert: "block_fewest".

Der Standardwert ist "block_medium_and_above".

safetySetting wird nur von imagen-3.0-capability-001 unterstützt.

storageUri

string

Optional. Der Cloud Storage-URI, unter dem die generierten Bilder gespeichert werden sollen.

Objekt für Ausgabeoptionen

Das outputOptions-Objekt beschreibt die Bildausgabe.

Parameter
outputOptions.mimeType

string

Optional. Das Bildformat, in dem die Ausgabe gespeichert werden soll. Folgende Werte werden unterstützt:

  • "image/png": Als PNG-Bild speichern
  • "image/jpeg": Als JPEG-Bild speichern

Der Standardwert ist "image/png".

outputOptions.compressionQuality

integer

Optional. Der Komprimierungsgrad, wenn der Ausgabetyp "image/jpeg" ist. Zulässige Werte sind 0 bis 100. Der Standardwert ist 75.

Beispielanfrage

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • REGION: Die Region, in der sich Ihr Projekt befindet. Weitere Informationen zu unterstützten Regionen finden Sie unter Generative AI in Vertex AI-Standorten.
  • PROJECT_ID: Ihre Google Cloud -Projekt-ID.
  • TEXT_PROMPT: Optional. Ein Text-Prompt, der die vom Modell generierten Bilder steuert. Die besten Ergebnisse erzielen Sie, wenn Sie eine Beschreibung des maskierten Bereichs verwenden und Prompts mit nur einem Wort vermeiden. Verwenden Sie beispielsweise „ein süßer Corgi“ anstelle von „Corgi“.
  • B64_BASE_IMAGE: Ein base64-codiertes Bild des bearbeiteten Bildes mit einer Größe von maximal 10 MB. Weitere Informationen zur Base64-Codierung finden Sie unter Dateien mit Base64 codieren und decodieren.
  • B64_MASK_IMAGE: Ein base64-codiertes Schwarz-Weiß-Maskenbild mit einer Größe von maximal 10 MB.
  • MASK_DILATION: Optional. Ein Gleitkommawert zwischen 0 und 1 (einschließlich), der den Prozentsatz der Bildbreite angibt, um den die Maske vergrößert werden soll. Die Verwendung von dilation kann ungenaue Masken ausgleichen. Wir empfehlen einen Wert von 0.01.
  • EDIT_STEPS: Optional. Eine Ganzzahl, die die Anzahl der Stichprobenschritte darstellt. Ein höherer Wert bietet eine bessere Bildqualität, ein niedrigerer Wert eine bessere Latenz.

    Wir empfehlen, zuerst 35 Schritte auszuprobieren. Wenn die Qualität nicht Ihren Anforderungen entspricht, empfehlen wir, den Wert auf ein oberes Limit von 75 zu erhöhen.

  • SAMPLE_COUNT: Optional. Eine Ganzzahl, die die Anzahl der zu generierenden Bilder angibt. Der zulässige Wertebereich ist 14. Der Standardwert ist 4.

HTTP-Methode und URL:

POST https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-3.0-capability-001:predict

JSON-Text der Anfrage:

{
  "instances": [
    {
      "prompt": "TEXT_PROMPT",
      "referenceImages": [
        {
          "referenceType": "REFERENCE_TYPE_RAW",
          "referenceId": 1,
          "referenceImage": {
            "bytesBase64Encoded": "B64_BASE_IMAGE"
          }
        },
        {
          "referenceType": "REFERENCE_TYPE_MASK",
          "referenceImage": {
            "bytesBase64Encoded": "B64_MASK_IMAGE"
          },
          "maskImageConfig": {
            "maskMode": "MASK_MODE_USER_PROVIDED",
            "dilation": MASK_DILATION
          }
        }
      ]
    }
  ],
  "parameters": {
    "editConfig": {
      "baseSteps": EDIT_STEPS
    },
    "editMode": "EDIT_MODE_INPAINT_INSERTION",
    "sampleCount": SAMPLE_COUNT
  }
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-3.0-capability-001:predict"

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-3.0-capability-001:predict" | Select-Object -Expand Content
Die folgende Beispielantwort bezieht sich auf eine Anfrage mit "sampleCount": 2. Die Antwort gibt zwei Vorhersageobjekte zurück, wobei die generierten Bildbyte base64-codiert sind.
{
  "predictions": [
    {
      "bytesBase64Encoded": "BASE64_IMG_BYTES",
      "mimeType": "image/png"
    },
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "BASE64_IMG_BYTES"
    }
  ]
}

Klassen-IDs

Verwenden Sie die folgenden Objektklassen-IDs, um automatisch eine Bildmaske basierend auf bestimmten Objekten zu erstellen.

Klassen-ID (class_id) Objekt
0 Rucksack
1 Regenschirm
2 Tasche
3 Krawatte
4 Koffer
5 Etui
6 Vogel
7 Katze
8 Hund
9 Pferd
10 Schaf
11 Kuh
12 Elefant
13 Bär
14 Zebra
15 Giraffe
16 Tier: Sonstiges
17 Mikrowelle
18 Heizkörper
19 Ofen
20 Toaster
21 Speichertank
22 Förderband
23 Waschbecken
24 Kühlschrank
25 Waschmaschine mit Trockner
26 Ventilator
27 Geschirrspülmaschine
28 Toilette
29 Badewanne
30 Dusche
31 Tunnel
32 Brücke
33 Anlegeplatz
34 Zelt
35 Gebäude
36 Raumdecke
37 Laptop
38 Tastatur
39 Maus
40 Remote
41 Mobiltelefon
42 Fernseher
43 Boden
44 Bühne
45 Banane
46 Apfel
47 Sandwich
48 Orange
49 Brokkoli
50 Karotte
51 Hotdog
52 Pizza
53 Donut
54 Kuchen
55 Obst (Sonstiges)
56 Essen (Sonstiges)
57 Stuhl (Sonstiges)
58 Sessel
59 Drehstuhl
60 Hocker
61 Stuhl
62 Sofa
63 Papierkorb
64 Topfpflanze
65 Nachttisch
66 Bett
67 Tabelle
68 Billardtisch
69 Fass
70 Schreibtisch
71 Polsterhocker
72 Kleiderschrank
73 Kinderbett
74 Korb
75 Kommode
76 Bücherregal
77 Tresen (Sonstiges)
78 Waschtisch
79 Kücheninsel
80 Tür
81 Beleuchtung (Sonstiges)
82 Lampe
83 Wandleuchter
84 Kronleuchter
85 Spiegel
86 Whiteboard
87 Ablage
88 Treppe
89 Rolltreppe
90 Schrank
91 Kamin
92 Herd
93 Arcade-Automat
94 Schotter
95 Plattform
96 Spielfeld
97 Eisenbahn
98 Straße
99 Schnee
100 Gehwegpflaster
101 Startbahn
102 gelände
103 Buch
104 box
105 Uhr
106 Vase
107 Schere
108 Spielzeug (Sonstiges)
109 Teddybär
110 Haartrockner
111 Zahnbürste
112 Gemälde
113 Poster
114 Schwarzes Brett
115 Flasche
116 Tasse
117 Weinglas
118 Messer
119 Fork
120 Löffel
121 Schüssel
122 Tablett
123 Dunstabzugshaube
124 Teller
125 Person
126 Fahrer (Sonstiges)
127 Radfahrer
128 Motorradfahrer
129 Papier
130 Straßenlaterne
131 Straßensperre
132 Briefkasten
133 Videoüberwachungskamera
134 Verteilerkasten
135 Verkehrsschild
136 Ampel
137 Hydrant
138 Parkuhr
139 Sitzbank
140 Fahrradständer
141 Billboard
142 Himmel
143 Pfosten
144 Zaun
145 Geländer
146 Schutzmaßnahmen
147 Berg
148 Felsen
149 Frisbee
150 Skier
151 Snowboard
152 Sportball
153 Drachen
154 Baseballschläger
155 Baseballhandschuh
156 Skateboard
157 Surfbrett
158 Tennisschläger
159 Netz
160 Basis
161 Skulptur
162 Spalte
163 Brunnen
164 Markise
165 Bekleidung
166 Banner
167 Fahne
168 Decke
169 Vorhang (Sonstiges)
170 Duschvorhang
171 Kissen
172 Handtuch
173 Teppich
174 Vegetation
175 Fahrrad
176 Auto
177 Autorikscha
178 Motorrad
179 Flugzeug
180 Bus
181 Zug
182 Lkw
183 Trailer
184 Boot
185 Langsames Objekt mit Rädern
186 Fluss/See
187 Meer
188 Wasser (Sonstiges)
189 Schwimmbad
190 Wasserfall
191 Mauer
192 Fenster
193 Jalousie

Nächste Schritte