Mit der Imagen API können Sie in Sekundenschnelle hochwertige Bilder erstellen, indem Sie einen Text-Prompt als Anleitung für die Generierung verwenden. Sie können Bilder auch mit der Google Bilder API hochskalieren.
Modellkarte „Imagen für die Bildgenerierung“ aufrufen
Unterstützte Modelle
Modell | Code |
---|---|
Bilderstellung | imagen-3.0-generate-002 imagen-3.0-generate-001 imagen-3.0-fast-generate-001 imagegeneration@006 imagegeneration@005 imagegeneration@002 |
Weitere Informationen dazu, welche Funktionen von den einzelnen Modellen unterstützt werden, finden Sie unter Modellversionsverwaltung.
Beispielsyntax
Syntax zum Erstellen eines Bildes aus einem Text-Prompt.
Syntax
Syntax zum Generieren 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/${MODEL_VERSION}:predict \ -d '{ "instances": [ { "prompt": "..." } ], "parameters": { "sampleCount": ... } }'
Python
generation_model = ImageGenerationModel.from_pretrained("imagen-3.0-generate-001") response = generation_model.generate_images( prompt="...", negative_prompt="...", aspect_ratio=..., ) response.images[0].show()
Parameterliste
Einzelheiten zur Implementierung finden Sie in den Beispielen.
Bilder erstellen
REST
Parameter | |
---|---|
prompt |
Erforderlich: Der Text-Prompt für das Bild. Das Das Das Das Das Das |
sampleCount |
Erforderlich: Die Anzahl der zu generierenden Bilder. Der Standardwert ist 4. Das Modell Das Modell Das Modell Das Modell Das Modell Das Modell |
seed |
Optional: Der Zufalls-Seed für die Bildgenerierung. Dieser ist nicht verfügbar, wenn Wenn |
enhancePrompt |
Optional: Optionaler Parameter, um eine LLM-basierte Funktion zum Umschreiben von Prompts zu verwenden, um Bilder mit höherer Qualität zu liefern, die die Absicht des ursprünglichen Prompts besser widerspiegeln. Wenn Sie diese Funktion deaktivieren, kann sich das auf die Bildqualität und die prompte Einhaltung auswirken. Das Feld wird von Dieses Feld wird von Dieses Feld wird von Dieses Feld wird von Dieses Feld wird von Dieses Feld wird von |
negativePrompt |
Optional: Eine Beschreibung dessen, was in den generierten Bildern verhindert werden sollte. Dieses Feld wird von Das Das Das Das Das |
aspectRatio |
Optional: Das Seitenverhältnis des Bildes. Der Standardwert ist "1:1". Das Modell Das Modell Das Modell Das Modell Das Modell Das Modell |
outputOptions |
Optional: Beschreibt das Ausgabebildformat in einem |
sampleImageStyle |
Optional: Beschreibt den Stil der generierten Bilder. Folgende Werte werden unterstützt:
|
personGeneration |
Optional: Generierung von Personen durch das Modell zulassen. Folgende Werte werden unterstützt:
Der Standardwert ist |
safetySetting |
Optional: Fügt der Sicherheitsfilterung eine Filterebene hinzu. Folgende Werte werden unterstützt:
Der Standardwert ist |
addWatermark |
Optional: Fügen Sie den generierten Bildern ein unsichtbares Wasserzeichen hinzu. Der Standardwert ist |
storageUri |
Optional: Cloud Storage-URI zum Speichern der generierten Bilder. |
Objekt „Output options“
Das outputOptions
-Objekt beschreibt die Bildausgabe.
Parameter | |
---|---|
outputOptions.mimeType |
Optional: Das Bildformat, in dem die Ausgabe gespeichert werden soll. Folgende Werte werden unterstützt:
Der Standardwert ist |
outputOptions.compressionQuality |
Optional: Die Komprimierungsstufe, wenn der Ausgabetyp |
Antwort
Der Antworttext der REST-Anfrage.
Parameter | |
---|---|
predictions |
Ein Array von |
Objekt 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. |
raiFilteredReason |
Der Grund für den Filter der verantwortungsbewussten KI. Wird nur zurückgegeben, wenn |
safetyAttributes.categories |
Der Name des Sicherheitsattributs. Wird nur zurückgegeben, wenn |
safetyAttributes.scores |
Die Bewertung des Sicherheitsattributs. Wird nur zurückgegeben, wenn |
Python
Parameter | |
---|---|
prompt |
Erforderlich: Der Text-Prompt für das Bild. Das Das Das Das Das |
number_of_images |
Erforderlich: Die Anzahl der zu generierenden Bilder. Der Standardwert ist 1. Das Modell Das Modell Das Modell Das Modell Das Modell |
seed |
Optional: Der Zufalls-Seed für die Bildgenerierung. Dieser ist nicht verfügbar, wenn Wenn |
negative_prompt |
Optional: Eine Beschreibung dessen, was in den generierten Bildern verhindert werden sollte. Das Das Das Das Das |
aspect_ratio |
Optional: Das Seitenverhältnis des Bildes. Der Standardwert ist "1:1". Das Modell Das Modell Das Modell |
output_mime_type |
Optional: Das Bildformat, in dem die Ausgabe gespeichert werden soll. Folgende Werte werden unterstützt:
Der Standardwert ist |
compression_quality |
Optional: Die Komprimierungsstufe, wenn der MIME-Typ der Ausgabe |
language |
Optional: Die Sprache des Text-Prompts für das Bild. Folgende Werte werden unterstützt:
Der Standardwert ist |
output_gcs_uri |
Optional: Cloud Storage-URI zum Speichern der generierten Bilder. |
add_watermark |
Optional: Fügen Sie dem generierten Bild ein Wasserzeichen hinzu. Der Standardwert ist |
safety_filter_level |
Optional: Fügt der Sicherheitsfilterung eine Filterebene hinzu. Folgende Werte werden unterstützt:
Der Standardwert ist |
person_generation |
Optional: Generierung von Personen durch das Modell zulassen. Folgende Werte werden unterstützt:
Der Standardwert ist |
Auflösung von Bildern erhöhen
REST
Parameter | |
---|---|
mode |
Erforderlich: Muss für Anfragen zur Hochskalierung auf |
upscaleConfig |
Erforderlich: Ein |
outputOptions |
Optional: Beschreibt das Ausgabebildformat in einem |
storageUri |
Optional: Cloud Storage-URI, unter dem die generierten Bilder gespeichert werden sollen. |
Hochskalierungs-Konfigurationsobjekt
Parameter | |
---|---|
upscaleConfig.upscaleFactor |
Erforderlich: Der Hochskalierungsfaktor. Die unterstützten Werte sind |
Antwort
Der Antworttext der REST-Anfrage.
Parameter | |
---|---|
predictions |
Ein Array von |
Beispiele
In den folgenden Beispielen wird gezeigt, wie Sie mit den Imagen-Modellen Bilder generieren.
Bilder erstellen
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Google Cloud Projekt-ID.
- MODEL_VERSION: Die zu verwendende
imagegeneration
-Modellversion. Verfügbare Werte:-
Imagen 3:
imagen-3.0-generate-002
(neueste Version)imagen-3.0-generate-001
imagen-3.0-fast-generate-001
: Modellversion mit niedriger Latenz.
-
Standardversion des Modells:
imagegeneration
: Verwendet die Standard-Modellversion v.006. Es hat sich bewährt, immer eine Modellversion anzugeben, insbesondere in Produktionsumgebungen.
Weitere Informationen zu Modellversionen und -features finden Sie unter Modellversionen.
-
Imagen 3:
- 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: Der Text-Prompt, der bestimmt, welche Bilder das Modell generiert. Dieses Feld ist sowohl zum Erstellen als auch zum Bearbeiten erforderlich.
- IMAGE_COUNT ist die Anzahl der generierten Bilder.
Zulässige Ganzzahlwerte: 1–8 (
imagegeneration@002
), 1–4 (alle anderen Modellversionen). Standardwert: 4 - ADD_WATERMARK: boolean. Optional. Ob ein Wasserzeichen für generierte Bilder aktiviert werden soll.
Alle Bilder, die generiert werden, wenn das Feld auf
true
festgelegt ist, enthalten eine digitale SynthID, mit der Sie ein mit Wasserzeichen versehenes Bild prüfen können. Wenn Sie dieses Feld weglassen, wird der Standardwerttrue
verwendet. Sie müssen den Wert auffalse
festlegen, um diese Funktion zu deaktivieren. Sie können das Feldseed
nur dann verwenden, um eine deterministische Ausgabe zu erhalten, wenn dieses Feld auffalse
gesetzt ist. - ASPECT_RATIO: String. Optional. Ein Parameter für den Generierungsmodus, der das Seitenverhältnis steuert. Unterstützte Seitenverhältniswerte und ihre beabsichtigte Verwendung:
1:1
(Standard, Quadrat)3:4
(Werbung, soziale Medien)4:3
(Fernsehen, Fotografie)16:9
(Querformat)9:16
Hochformat
- ENABLE_PROMPT_REWRITING: boolean. Optional. Ein Parameter, mit dem eine LLM-basierte Funktion zum Umschreiben von Prompts verwendet wird, um Bilder mit höherer Qualität zu liefern, die die Absicht des ursprünglichen Prompts besser widerspiegeln. Wenn Sie diese Funktion deaktivieren, kann sich das auf die Bildqualität und die Einhaltung der Fristen auswirken. Standardwert:
true
. - INCLUDE_RAI_REASON: boolean. Optional. Gibt an, ob der von der verantwortungsbewussten KI gefilterte Grundcode in Antworten mit blockierten Eingabe- oder Ausgabeinhalten aktiviert sein soll. Standardwert:
false
. - INCLUDE_SAFETY_ATTRIBUTES: boolean. Optional. Gibt an, ob gerundete Werte der verantwortungsbewussten KI für eine Liste von Sicherheitsattributen in Antworten für ungefilterte Eingabe und Ausgabe aktiviert werden sollen. Kategorien für Sicherheitsattribute:
"Death, Harm & Tragedy"
,"Firearms & Weapons"
,"Hate"
,"Health"
,"Illicit Drugs"
,"Politics"
,"Porn"
,"Religion & Belief"
,"Toxic"
,"Violence"
,"Vulgarity"
,"War & Conflict"
. Standardwert:false
. - MIME_TYPE: String. Optional. Der MIME-Typ des Bildinhalts. Verfügbare Werte:
image/jpeg
image/gif
image/png
image/webp
image/bmp
image/tiff
image/vnd.microsoft.icon
- COMPRESSION_QUALITY: Ganzzahl. Optional. Gilt nur für JPEG-Ausgabedateien. Die Detailgenauigkeit, die das Modell bei Bildern beibehält, die im JPEG-Dateiformat generiert werden. Werte:
0
bis100
. Je höher die Zahl, desto stärker die Komprimierung. Standard:75
. - PERSON_SETTING: String. Optional. Die Sicherheitseinstellung, die bestimmt, welche Art von Personen- oder Gesichtererstellung das Modell zulässt. Verfügbare Werte:
allow_adult
(Standard): Es dürfen nur Erwachsene generiert werden, mit Ausnahme von Prominenten. Die Generierung von Prominenten ist für keine Einstellung zulässig.dont_allow
: Deaktivieren Sie die Aufnahme von Personen oder Gesichtern in generierten Bildern.
- SAFETY_SETTING: String. Optional. Eine Einstellung, mit der die Sicherheitsfiltergrenzwerte für generierte Bilder gesteuert werden. Verfügbare Werte:
block_low_and_above
: Der höchste Sicherheitsgrenzwert, der dazu führt, dass die größte Anzahl der generierten Bilder gefiltert wird. Vorheriger Wert:block_most
.block_medium_and_above
(Standardeinstellung): Ein mittlerer Sicherheitsgrenzwert, der potenziell schädliche und sichere Inhalte ausgeglichen behandelt. Vorheriger Wert:block_some
.block_only_high
: Ein Sicherheitsgrenzwert, der die Anzahl der Anfragen reduziert, die aufgrund von Sicherheitsfiltern blockiert werden. Diese Einstellung kann dazu führen, dass Imagen mehr anstößige Inhalte generiert. Vorheriger Wert:block_few
.
- SEED_NUMBER: Ganzzahl. Optional. Jede nicht negative Ganzzahl, die Sie angeben, um Ausgabebilder deterministisch zu machen. Die Angabe derselben Quell-Nummer führt immer zu denselben Ausgabebildern. Wenn das von dir verwendete Modell digitale Wasserzeichen unterstützt, musst du
"addWatermark": false
festlegen, um dieses Feld zu verwenden. Zulässige Ganzzahlwerte:1
–2147483647
. - OUTPUT_STORAGE_URI: String. Optional. Der Cloud Storage-Bucket, in dem die Ausgabebilder gespeichert werden sollen. Andernfalls werden in der Antwort base64-codierte Bildbyte zurückgegeben. Beispielwert:
gs://image-bucket/output/
.
Zusätzliche optionale Parameter
Verwenden Sie je nach Anwendungsfall die folgenden optionalen Variablen. Fügen Sie einige oder alle der folgenden Parameter in das "parameters": {}
-Objekt ein.
Diese Liste enthält gängige optionale Parameter und erhebt keinen Anspruch auf Vollständigkeit. Weitere Informationen zu optionalen Parametern finden Sie in der Imagen API-Referenz: Bilder generieren.
"parameters": { "sampleCount": IMAGE_COUNT, "addWatermark": ADD_WATERMARK, "aspectRatio": "ASPECT_RATIO", "enhancePrompt": ENABLE_PROMPT_REWRITING, "includeRaiReason": INCLUDE_RAI_REASON, "includeSafetyAttributes": INCLUDE_SAFETY_ATTRIBUTES, "outputOptions": { "mimeType": "MIME_TYPE", "compressionQuality": COMPRESSION_QUALITY }, "personGeneration": "PERSON_SETTING", "safetySetting": "SAFETY_SETTING", "seed": SEED_NUMBER, "storageUri": "OUTPUT_STORAGE_URI" }
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_VERSION:predict
JSON-Text der Anfrage:
{ "instances": [ { "prompt": "TEXT_PROMPT" } ], "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/MODEL_VERSION: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/MODEL_VERSION: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" } ] }
Wenn Sie ein Modell verwenden, das die Prompt-Optimierung unterstützt, enthält die Antwort ein zusätzliches prompt
-Feld mit dem erweiterten Prompt, der für die Generierung verwendet wurde:
{ "predictions": [ { "mimeType": "MIME_TYPE", "prompt": "ENHANCED_PROMPT_1", "bytesBase64Encoded": "BASE64_IMG_BYTES_1" }, { "mimeType": "MIME_TYPE", "prompt": "ENHANCED_PROMPT_2", "bytesBase64Encoded": "BASE64_IMG_BYTES_2" } ] }
Python
Bevor Sie dieses Beispiel anwenden, folgen Sie den Python-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Python API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
In diesem Beispiel rufen Sie die Methode generate_images
in der ImageGenerationModel
(@006
-Version) auf und speichern die generierten Bilder lokal. Anschließend können Sie optional die Methode show()
in einem Notebook verwenden, um die generierten Images anzuzeigen. Weitere Informationen zu Modellversionen und -features finden Sie unter Modellversionen.
Auflösung von Bildern erhöhen
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- 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. - PROJECT_ID: Ihre Google Cloud Projekt-ID.
- B64_BASE_IMAGE: Das Basisbild, das bearbeitet oder hochskaliert werden soll. Das Bild muss als base64-codierter Bytestring angegeben werden. Größenbeschränkung: 10 MB.
- IMAGE_SOURCE: Der Cloud Storage-Speicherort des Bildes, das Sie bearbeiten oder hochskalieren möchten. Beispiel:
gs://output-bucket/source-photos/photo.png
- UPSCALE_FACTOR: Optional. Der Faktor, auf den das Bild hochskaliert werden soll. Wenn nicht angegeben, wird der Hochskalierungsfaktor von der längeren Seite des Eingabebilds und von
sampleImageSize
bestimmt. Verfügbare Werte:x2
oderx4
.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagegeneration@002:predict
JSON-Text der Anfrage:
{ "instances": [ { "prompt": "", "image": { // use one of the following to specify the image to upscale "bytesBase64Encoded": "B64_BASE_IMAGE" "gcsUri": "IMAGE_SOURCE" // end of base image input options }, } ], "parameters": { "sampleCount": 1, "mode": "upscale", "upscaleConfig": { "upscaleFactor": "UPSCALE_FACTOR" } } }
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/imagegeneration@002: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/imagegeneration@002:predict" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "predictions": [ { "mimeType": "image/png", "bytesBase64Encoded": "iVBOR..[base64-encoded-upscaled-image]...YII=" } ] }
Nächste Schritte
- Weitere Informationen finden Sie unter Übersicht zu Imagen in Vertex AI und Bilder mit Text-Prompts erstellen.