Mit der Imagen API können Sie in Sekundenschnelle hochwertige Bilder erstellen, indem Sie Text-Prompts und Referenzbilder als Anleitung für die Generierung von Motiven oder Stilen verwenden.
Modellkarte für Imagen for Editing and Customization ansehen
Unterstützte Modelle
Modell | Code |
---|---|
Anpassung mit Referenzbildern (Few-Shot) | imagen-3.0-capability-001 |
Weitere Informationen zu den von den einzelnen Modellen unterstützten Funktionen finden Sie unter Imagen-Modelle.
HTTP-Methode und URL
POST https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/imagen-3.0-capability-001:predict
Beispielsyntax
Syntax zum Anpassen eines Bildes aus einem Text-Prompt und Referenzbildern.
Syntax
Syntax zum Anpassen eines Bildes.
REST
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": [ { // Use [1] to refer to the reference images with referenceId=1 // [2] to refer to the reference images with referenceId=2, // following the same format for all reference IDs that you provide. "prompt": "${TEXT_PROMPT}", "referenceImages": [ // A list of at most 4 reference image objects. [...] ] } ], "parameters": { [...] } }'
Beispiel für einen Anfragetext:
Bei dieser Anfrage geht es um die Personalisierung mit einem Kontrollbild für das Gesichts-Mesh und drei Referenzbildern.
{ "instances": [ { "prompt": "Create an image about a man with short hair [1] in the pose of control image [2] to match the description: A pencil style sketch of a full-body portrait of a man with short hair [1] with hatch-cross drawing, hatch drawing of portrait with 6B and graphite pencils, white background, pencil drawing, high quality, pencil stroke, looking at camera, natural human eyes", "referenceImages": [ { "referenceType": "REFERENCE_TYPE_CONTROL", "referenceId": 2, "referenceImage": { "bytesBase64Encoded": "${IMAGE_BYTES_1}" }, "controlImageConfig": { "controlType": "CONTROL_TYPE_FACE_MESH", "enableControlImageComputation": true } }, { "referenceType": "REFERENCE_TYPE_SUBJECT", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "${IMAGE_BYTES_2}" }, "subjectImageConfig": { "subjectDescription": "a man with short hair", "subjectType": "SUBJECT_TYPE_PERSON" } }, { "referenceType": "REFERENCE_TYPE_SUBJECT", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "${IMAGE_BYTES_3}" }, "subjectImageConfig": { "subjectDescription": "a man with short hair", "subjectType": "SUBJECT_TYPE_PERSON" } }, { "referenceType": "REFERENCE_TYPE_SUBJECT", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "${IMAGE_BYTES_4}" }, "subjectImageConfig": { "subjectDescription": "a man with short hair", "subjectType": "SUBJECT_TYPE_PERSON" } } ] } ], "parameters": { "negativePrompt": "wrinkles, noise, Low quality, dirty, low res, multi face, rough texture, messy, messy background, color background, photo realistic, photo, super realistic, signature, autograph, sign, text, characters, alphabet, letter", "seed": 1, "language": "en", "sampleCount": 4 } }
Parameterliste
Einzelheiten zur Implementierung finden Sie in den Beispielen.
Bilder anpassen
REST
Parameter | |
---|---|
referenceType |
Erforderliche Enumeration:
|
referenceId |
Erforderlich integer Die Referenz-ID. Verwenden Sie diese Referenz-ID im Prompt. Verwenden Sie beispielsweise [1] , um auf die Referenzbilder mit referenceId=1 zu verweisen, und [2] , um auf die Referenzbilder mit referenceId=2 zu verweisen.
|
referenceImage.bytesBase64Encoded |
Erforderlich string Ein Base64-String für das codierte Referenzbild. |
maskImageConfig.maskMode |
Optionale Aufzählung:
Wird angegeben, wenn referenceType auf REFERENCE_TYPE_MASK festgelegt ist.
|
maskImageConfig.dilation |
Optional float . Bereich: [0, 1]Der Prozentsatz der Bildbreite, um die diese Maske erweitert werden soll. Wird angegeben, wenn referenceType auf REFERENCE_TYPE_MASK festgelegt ist.
|
maskImageConfig.maskClasses |
Optional list[Integer] .Maskenklassen für den MASK_MODE_SEMANTIC -Modus.Wird angegeben, wenn referenceType auf REFERENCE_TYPE_MASK festgelegt ist.
|
controlImageConfig.controlType |
Erforderliche Aufzählung:
Wird angegeben, wenn referenceType auf REFERENCE_TYPE_CONTROL festgelegt ist.
|
controlImageConfig.enableControlImageComputation |
Optional bool .Standard: false .
Wird angegeben, wenn referenceType auf REFERENCE_TYPE_CONTROL festgelegt ist.
|
language |
Optional: Der Sprachcode, der der Sprache Ihres Text-Prompts entspricht. Folgende Werte werden unterstützt:
en : Englisch (Standardwert, wenn nicht angegeben)
|
subjectImageConfig.subjectDescription |
Erforderlich: string .Eine kurze Beschreibung des Motivs im Bild. Zum Beispiel eine Frau mit kurzen braunen Haaren. Wird angegeben, wenn referenceType auf REFERENCE_TYPE_SUBJECT festgelegt ist.
|
subjectImageConfig.subjectType |
Erforderliche Enumeration:
Wird angegeben, wenn referenceType auf REFERENCE_TYPE_SUBJECT festgelegt ist.
|
styleImageConfig.styleDescription |
Optional string .Eine kurze Beschreibung des Stils. Wird angegeben, wenn referenceType auf REFERENCE_TYPE_STYLE festgelegt ist.
|
Antwort
Der Antworttext der REST-Anfrage.
Parameter | |
---|---|
predictions |
Ein Array von |
Ergebnisobjekt des generativen Vision-Modells
Informationen zum Modellergebnis.
Parameter | |
---|---|
bytesBase64Encoded |
Das Base64-codierte, generierte Bild. Nicht vorhanden, wenn das Ausgabebild Filter der verantwortungsbewussten KI nicht bestanden hat. |
mimeType |
Der Typ des generierten Bildes. Nicht vorhanden, wenn das Ausgabebild Filter der verantwortungsbewussten KI nicht bestanden hat. |
Beispiele
In den folgenden Beispielen wird gezeigt, wie Sie das Imagen-Modell verwenden, um Bilder anzupassen.
Bilder anpassen
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Google Cloud Projekt-ID.
- LOCATION: Die Region Ihres Projekts. Beispiel:
us-central1
,europe-west2
oderasia-northeast3
. Eine Liste der verfügbaren Regionen finden Sie unter Generative AI an Vertex AI-Standorten. - TEXT_PROMPT ist der Text-Prompt, der bestimmt, welche Bilder das Modell generiert. Wenn Sie die Imagen 3-Anpassung verwenden möchten, geben Sie die
referenceId
des Referenzbilds oder der Referenzbilder, die Sie bereitstellen, im Format [$referenceId] an. Beispiel:- Der folgende Text-Prompt bezieht sich auf eine Anfrage mit zwei Referenzbildern mit
"referenceId": 1
. Beide Bilder haben eine optionale Beschreibung von"subjectDescription": "man with short hair"
: Erstelle ein Bild von einem Mann mit kurzen Haaren, das der Beschreibung entspricht: Eine Bleistiftskizze eines Ganzkörperporträts von man with short hair [1] mit Schraffurzeichnung, Schraffurzeichnung eines Porträts mit 6B- und Graphitstiften, weißer Hintergrund, Bleistiftzeichnung, hohe Qualität, Bleistiftstrich, Blick in die Kamera, natürliche menschliche Augen.
- Der folgende Text-Prompt bezieht sich auf eine Anfrage mit zwei Referenzbildern mit
"referenceId"
: Die ID des Referenzbilds oder die ID einer Reihe von Referenzbildern, die demselben Motiv oder Stil entsprechen. In diesem Beispiel zeigen die beiden Referenzbilder dieselbe Person, sodass sie dieselbereferenceId
(1
) haben.- BASE64_REFERENCE_IMAGE: Ein Referenzbild, das als Grundlage für die Bildgenerierung dient. Das Bild muss als base64-codierter Bytestring angegeben werden.
- SUBJECT_DESCRIPTION: Optional. Eine Textbeschreibung des Referenzbilds, die Sie dann im Feld
prompt
verwenden können. Beispiel:"prompt": "a full-body portrait of a man with short hair [1] with hatch-cross drawing", [...], "subjectDescription": "man with short hair"
- IMAGE_COUNT ist die Anzahl der generierten Bilder. Zulässige Ganzzahlwerte: 1–4. Standardwert: 4
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict
JSON-Text der Anfrage:
{ "instances": [ { "prompt": "TEXT_PROMPT", "referenceImages": [ { "referenceType": "REFERENCE_TYPE_SUBJECT", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "BASE64_REFERENCE_IMAGE" }, "subjectImageConfig": { "subjectDescription": "SUBJECT_DESCRIPTION", "subjectType": "SUBJECT_TYPE_PERSON" } }, { "referenceType": "REFERENCE_TYPE_SUBJECT", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "BASE64_REFERENCE_IMAGE" }, "subjectImageConfig": { "subjectDescription": "SUBJECT_DESCRIPTION", "subjectType": "SUBJECT_TYPE_PERSON" } } ] } ], "parameters": { "sampleCount": IMAGE_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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict" | Select-Object -Expand Content
"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_ ) |
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
- Weitere Informationen finden Sie unter Imagen in Vertex AI.