Bilder erstellen

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: string

Der Text-Prompt für das Bild.

Das imagen-3.0-generate-002-Modell unterstützt bis zu 480 Tokens.

Das imagen-3.0-generate-001-Modell unterstützt bis zu 480 Tokens.

Das imagen-3.0-fast-generate-001-Modell unterstützt bis zu 480 Tokens.

Das imagegeneration@006-Modell unterstützt bis zu 128 Tokens.

Das imagegeneration@005-Modell unterstützt bis zu 128 Tokens.

Das imagegeneration@002-Modell unterstützt bis zu 64 Tokens.

sampleCount

Erforderlich: int

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

Das Modell imagen-3.0-generate-002 unterstützt die Werte 1 bis 4.

Das Modell imagen-3.0-generate-001 unterstützt die Werte 1 bis 4.

Das Modell imagen-3.0-fast-generate-001 unterstützt die Werte 1 bis 4.

Das Modell imagegeneration@006 unterstützt die Werte 1 bis 4.

Das Modell imagegeneration@005 unterstützt die Werte 1 bis 4.

Das Modell imagegeneration@002 unterstützt die Werte 1 bis 8.

seed

Optional: Uint32

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

Wenn enhancePrompt auf true festgelegt ist, funktioniert der Parameter seed nicht, da enhancePrompt einen neuen Prompt generiert, was zu einem neuen oder anderen Bild führt.

enhancePrompt

Optional: boolean

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 imagen-3.0-generate-002 unterstützt. Standardwert: true.

Dieses Feld wird von imagen-3.0-generate-001 nicht unterstützt.

Dieses Feld wird von imagen-3.0-fast-generate-001 nicht unterstützt.

Dieses Feld wird von imagegeneration@006 nicht unterstützt.

Dieses Feld wird von imagegeneration@005 nicht unterstützt.

Dieses Feld wird von imagegeneration@002 nicht unterstützt.

negativePrompt

Optional: string

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

Dieses Feld wird von imagen-3.0-generate-002 nicht unterstützt.

Das imagen-3.0-generate-001-Modell unterstützt bis zu 480 Tokens.

Das imagen-3.0-fast-generate-001-Modell unterstützt bis zu 480 Tokens.

Das imagegeneration@006-Modell unterstützt bis zu 128 Tokens.

Das imagegeneration@005-Modell unterstützt bis zu 128 Tokens.

Das imagegeneration@002-Modell unterstützt bis zu 64 Tokens.

aspectRatio

Optional: string

Das Seitenverhältnis des Bildes. Der Standardwert ist "1:1".

Das Modell imagen-3.0-generate-002 unterstützt „1:1“, „9:16“, „16:9“, „3:4“ oder „4:3“.

Das Modell imagen-3.0-generate-001 unterstützt „1:1“, „9:16“, „16:9“, „3:4“ oder „4:3“.

Das Modell imagen-3.0-fast-generate-001 unterstützt „1:1“, „9:16“, „16:9“, „3:4“ oder „4:3“.

Das Modell imagegeneration@006 unterstützt „1:1“, „9:16“, „16:9“, „3:4“ oder „4:3“.

Das Modell imagegeneration@005 unterstützt „1:1“ oder „9:16“.

Das Modell imagegeneration@002 unterstützt „1:1“.

outputOptions

Optional: outputOptions

Beschreibt das Ausgabebildformat in einem outputOptions-Objekt.

sampleImageStyle

Optional: string (nur imagegeneration@002)

Beschreibt den Stil der generierten Bilder. Folgende Werte werden unterstützt:

  • "photograph"
  • "digital_art"
  • "landscape"
  • "sketch"
  • "watercolor"
  • "cyberpunk"
  • "pop_art"
personGeneration

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

Generierung von Personen durch das Modell zulassen. 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.

Der Standardwert ist "allow_adult".

safetySetting

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

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. Der Zugriff auf diese Funktion ist eingeschränkt. Vorheriger Feldwert: "block_fewest".

Der Standardwert ist "block_medium_and_above".

addWatermark

Optional: bool

Fügen Sie den generierten Bildern ein unsichtbares Wasserzeichen hinzu. Der Standardwert ist false für die Modelle imagegeneration@002 und imagegeneration@005 sowie true für die Modelle imagen-3.0-generate-002, imagen-3.0-generate-001, imagen-3.0-fast-generate-001, imagegeneration@006 und imagegeneration@006.

storageUri

Optional: string

Cloud Storage-URI zum Speichern der generierten Bilder.

Objekt „Output options“

Das outputOptions-Objekt beschreibt die Bildausgabe.

Parameter
outputOptions.mimeType

Optional: string

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

Optional: int

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

Antwort

Der Antworttext der REST-Anfrage.

Parameter
predictions

Ein Array von VisionGenerativeModelResult-Objekten, eines für jeden angeforderten sampleCount. Bilder, die durch Responsible AI gefiltert werden, werden nicht berücksichtigt, es sei denn, includeRaiReason ist auf true festgelegt.

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 includeRaiReason aktiviert ist und dieses Bild herausgefiltert wurde.

safetyAttributes.categories

Der Name des Sicherheitsattributs. Wird nur zurückgegeben, wenn includeSafetyAttributes aktiviert ist und das Ausgabebild Filter der verantwortungsbewussten KI bestanden hat.

safetyAttributes.scores

Die Bewertung des Sicherheitsattributs. Wird nur zurückgegeben, wenn includeSafetyAttributes aktiviert ist und das Ausgabebild Filter der verantwortungsbewussten KI bestanden hat.

Python

Parameter
prompt

Erforderlich: string

Der Text-Prompt für das Bild.

Das imagen-3.0-generate-001-Modell unterstützt bis zu 480 Tokens.

Das imagen-3.0-fast-generate-001-Modell unterstützt bis zu 480 Tokens.

Das imagegeneration@006-Modell unterstützt bis zu 128 Tokens.

Das imagegeneration@005-Modell unterstützt bis zu 128 Tokens.

Das imagegeneration@002-Modell unterstützt bis zu 64 Tokens.

number_of_images

Erforderlich: int

Die Anzahl der zu generierenden Bilder. Der Standardwert ist 1.

Das Modell imagen-3.0-generate-001 unterstützt die Werte 1 bis 8.

Das Modell imagen-3.0-fast-generate-001 unterstützt die Werte 1 bis 8.

Das Modell imagegeneration@006 unterstützt die Werte 1 bis 4.

Das Modell imagegeneration@005 unterstützt die Werte 1 bis 4.

Das Modell imagegeneration@002 unterstützt die Werte 1 bis 8.

seed

Optional: int

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

Wenn enhancePrompt auf true festgelegt ist, funktioniert seed nicht, da enhancePrompt einen neuen Prompt generiert, was zu einem neuen oder anderen Bild führt.

negative_prompt

Optional: string

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

Das imagen-3.0-generate-001-Modell unterstützt bis zu 480 Tokens.

Das imagen-3.0-fast-generate-001-Modell unterstützt bis zu 480 Tokens.

Das imagegeneration@006-Modell unterstützt bis zu 128 Tokens.

Das imagegeneration@005-Modell unterstützt bis zu 128 Tokens.

Das imagegeneration@002-Modell unterstützt bis zu 64 Tokens.

aspect_ratio

Optional: string

Das Seitenverhältnis des Bildes. Der Standardwert ist "1:1".

Das Modell imagen-3.0-generate-001 unterstützt „1:1“, „9:16“, „16:9“, „3:4“ oder „4:3“.

Das Modell imagen-3.0-fast-generate-001 unterstützt „1:1“, „9:16“, „16:9“, „3:4“ oder „4:3“.

Das Modell imagegeneration@006 unterstützt „1:1“, „9:16“, „16:9“, „3:4“ oder „4:3“.

output_mime_type

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

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".

compression_quality

Optional: int

Die Komprimierungsstufe, wenn der MIME-Typ der Ausgabe "image/jpeg" ist. Der Standardwert ist 75.

language

Optional: string

Die Sprache des Text-Prompts für das Bild. Folgende Werte werden unterstützt:

  • "en": Englisch
  • "hi": Hindi
  • "ja": Japanisch
  • "ko": Koreanisch
  • "auto": Automatische Spracherkennung

Der Standardwert ist "auto".

output_gcs_uri

Optional: string

Cloud Storage-URI zum Speichern der generierten Bilder.

add_watermark

Optional: bool

Fügen Sie dem generierten Bild ein Wasserzeichen hinzu. Der Standardwert ist false für die Modelle imagegeneration@002 und imagegeneration@005 sowie true für die Modelle imagen-3.0-fast-generate-001, imagen-3.0-generate-001 und imagegeneration@006.

safety_filter_level

Optional: string

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

  • "block_low_and_above": Die stärkste Filterebene, die zur strengsten Blockierung führt. Veralteter Wert: "block_most".
  • "block_medium_and_above": Einige problematische Prompts und Antworten blockieren Veralteter Wert: "block_some".
  • "block_only_high": Weniger problematische Prompts und Antworten blockieren. Veralteter Wert: "block_few".
  • "block_none": Sehr wenige problematische Prompts und Antworten. Veralteter Wert: "block_fewest".

Der Standardwert ist "block_medium_and_above".

person_generation

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

Generierung von Personen durch das Modell zulassen. Folgende Werte werden unterstützt:

  • "dont_allow": Generierung von Personen blockieren
  • "allow_adult": Erwachsene, aber keine Kinder generieren
  • "allow_all": Erwachsene und Kinder generieren

Der Standardwert ist "allow_adult".

Auflösung von Bildern erhöhen

REST

Parameter
mode

Erforderlich: string

Muss für Anfragen zur Hochskalierung auf "upscale" festgelegt sein.

upscaleConfig

Erforderlich: UpscaleConfig

Ein UpscaleConfig-Objekt.

outputOptions

Optional: OutputOptions

Beschreibt das Ausgabebildformat in einem outputOptions-Objekt.

storageUri

Optional: string

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

Hochskalierungs-Konfigurationsobjekt

Parameter
upscaleConfig.upscaleFactor

Erforderlich: string

Der Hochskalierungsfaktor. Die unterstützten Werte sind "x2" und "x4".

Antwort

Der Antworttext der REST-Anfrage.

Parameter
predictions

Ein Array von VisionGenerativeModelResult-Objekten, eines für jeden angeforderten sampleCount. Bilder, die durch Responsible AI gefiltert werden, werden nicht berücksichtigt, es sei denn, includeRaiReason ist auf true festgelegt.

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.

  • 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: 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
  • 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"
    }
    
    • 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 Standardwert true verwendet. Sie müssen den Wert auf false festlegen, um diese Funktion zu deaktivieren. Sie können das Feld seed nur dann verwenden, um eine deterministische Ausgabe zu erhalten, wenn dieses Feld auf false 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 bis 100. 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: 12147483647.
    • 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/.

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
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"
    }
  ]
}

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.


import vertexai
from vertexai.preview.vision_models import ImageGenerationModel

# TODO(developer): Update and un-comment below lines
# PROJECT_ID = "your-project-id"
# output_file = "input-image.png"
# prompt = "" # The text prompt describing what you want to see.

vertexai.init(project=PROJECT_ID, location="us-central1")

model = ImageGenerationModel.from_pretrained("imagen-3.0-generate-002")

images = model.generate_images(
    prompt=prompt,
    # Optional parameters
    number_of_images=1,
    language="en",
    # You can't use a seed value and watermark at the same time.
    # add_watermark=False,
    # seed=100,
    aspect_ratio="1:1",
    safety_filter_level="block_some",
    person_generation="allow_adult",
)

images[0].save(location=output_file, include_generation_parameters=False)

# Optional. View the generated image in a notebook.
# images[0].show()

print(f"Created output image using {len(images[0]._image_bytes)} bytes")
# Example response:
# Created output image using 1234567 bytes

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 oder asia-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 oder x4.

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