Bilder anpassen

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:
  • REFERENCE_TYPE_RAW
    • Für Bearbeitungsanwendungsfälle ist ein unbearbeitetes Referenzbild erforderlich.
    • Für andere Anwendungsfälle ist kein RAW-Referenzbild erforderlich.
    • Pro Anfrage ist höchstens ein Rohreferenzbild vorhanden.
    • Das Ausgabebild hat dieselbe Größe wie das rohe Referenzeingabebild.
  • REFERENCE_TYPE_MASK
    • Für maskierte Bearbeitungsanwendungsfälle ist ein Maskenreferenzbild erforderlich.
    • Für andere Anwendungsfälle ist kein Maskenreferenzbild erforderlich.
    • Wenn ein rohes Referenzbild vorhanden ist, muss das Maskenbild dieselbe Größe wie das rohe Referenzbild haben.
    • Der Nutzer kann entweder eine eigene Maske bereitstellen oder Imagen die Maske anhand des bereitgestellten Referenzbilds berechnen lassen.
    • Wenn das Maskenreferenzbild leer ist und maskMode nicht auf MASK_MODE_USER_PROVIDED festgelegt ist, wird die Maske anhand des Rohreferenzbilds berechnet.
  • REFERENCE_TYPE_CONTROL
    • Wenn ein Rohreferenzbild vorhanden ist, muss das Kontrollbild dieselbe Größe wie das Rohreferenzbild haben.
    • Wenn das Kontrollreferenzbild leer ist und enableControlImageComputation auf true gesetzt ist, wird das Kontrollbild auf Grundlage des Rohreferenzbilds berechnet.
  • REFERENCE_TYPE_SUBJECT
    • Der Nutzer kann mehrere Referenzbilder mit derselben Referenz-ID angeben. So können beispielsweise mehrere Bilder desselben Motivs dieselbe Referenz-ID haben. Dadurch kann die Ausgabequalität möglicherweise verbessert werden.
  • REFERENCE_TYPE_STYLE
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:
  • MASK_MODE_USER_PROVIDED, wenn das Referenzbild ein Maskenbild ist.
  • MASK_MODE_BACKGROUND, um automatisch eine Maske mithilfe der Hintergrundsegmentierung zu generieren.
  • MASK_MODE_FOREGROUND, um automatisch eine Maske mithilfe der Vordergrundsegmentierung zu generieren.
  • MASK_MODE_SEMANTIC, um automatisch eine Maske mit semantischer Segmentierung und der angegebenen Maskenklasse zu generieren.

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:
  • CONTROL_TYPE_FACE_MESH für das Gesichts-Mesh (Personen-Anpassung).
  • CONTROL_TYPE_CANNY für Canny Edge.
  • CONTROL_TYPE_SCRIBBLE für Scribble.

Wird angegeben, wenn referenceType auf REFERENCE_TYPE_CONTROL festgelegt ist.
controlImageConfig.enableControlImageComputation
Optional bool.
Standard: false.

  • Auf false gesetzt, wenn Sie ein eigenes Kontrollbild bereitstellen.
  • Legen Sie den Wert auf true fest, wenn Imagen das Kontrollbild aus dem Referenzbild berechnen soll.

Wird angegeben, wenn referenceType auf REFERENCE_TYPE_CONTROL festgelegt ist.
language

Optional: string (nur imagen-3.0-capability-001, imagen-3.0.generate-001 und imagegeneration@006)

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)
  • es: Spanisch
  • hi: Hindi
  • ja: Japanisch
  • ko: Koreanisch
  • pt: Portugiesisch
  • zh-TW: Chinesisch (traditionell)
  • zh oder zh-CN: Chinesisch (vereinfacht)
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:
  • SUBJECT_TYPE_PERSON: Typ des Subjekts der Person.
  • SUBJECT_TYPE_ANIMAL: Art des Tierversuchssubjekts.
  • SUBJECT_TYPE_PRODUCT: Produktthema.
  • SUBJECT_TYPE_DEFAULT: Standardmäßiger Subjekttyp.

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 VisionGenerativeModelResult-Objekten, eines für jeden angeforderten sampleCount. Bilder, die von der verantwortungsbewussten KI herausgefiltert werden, sind nicht enthalten.

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 oder asia-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.
  • "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 dieselbe referenceId (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
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