Bilder mithilfe von Text-Prompts erstellen

Sie können Imagen in Vertex AI verwenden, um neue Bilder aus einem Text-Prompt zu generieren. Unterstützte Schnittstellen sind die Google Cloud Console und die Vertex AI API.

Weitere Informationen zum Schreiben von Prompts zur Bilderstellung und -bearbeitung finden Sie im Leitfaden zu Prompts.

Modellkarte für Imagen für die Generierung ansehen

Bildgenerierung ausprobieren (Vertex AI Studio)

Imagen in einem Colab ausprobieren

Hinweise

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI API.

    Enable the API

  8. Richten Sie die Authentifizierung für Ihre Umgebung ein.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    Python

    Wenn Sie die Python Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.

    1. Install the Google Cloud CLI.

    2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    3. To initialize the gcloud CLI, run the following command:

      gcloud init
    4. If you're using a local shell, then create local authentication credentials for your user account:

      gcloud auth application-default login

      You don't need to do this if you're using Cloud Shell.

      If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

    Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter ADC für eine lokale Entwicklungsumgebung einrichten.

    REST

    Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.

      After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.

    Bilder mit Text generieren

    Sie können neue Bilder einfach auf Basis eines beschreibenden Texts als Eingabe erstellen. Die folgenden Beispiele geben grundlegende Anleitungen zum Generieren von Bildern.

    Console

    1. Rufen Sie in der Google Cloud Console die Seite Vertex AI > Media Studio auf.

      Zu Media Studio

    2. Klicken Sie auf Imagen. Die Seite zur Bildgenerierung von Imagen Media Studio wird angezeigt.

    3. Optional: Konfigurieren Sie im Bereich Einstellungen die folgenden Einstellungen:

      • Modell: Wählen Sie ein Modell aus den verfügbaren Optionen aus.

        Weitere Informationen zu den verfügbaren Modellen finden Sie unter Imagen-Modelle.

      • Seitenverhältnis: Wählen Sie ein Seitenverhältnis aus den verfügbaren Optionen aus.

      • Anzahl der Ergebnisse: Passen Sie den Schieberegler an oder geben Sie einen Wert zwischen 1 und 4 ein.

    4. Optional: Wählen Sie im Abschnitt Erweiterte Optionen eine Region aus, in der die Bilder generiert werden sollen.

    5. Geben Sie im Feld Prompt schreiben Ihren Textprompt ein, der die zu generierenden Bilder beschreibt. Beispiel: Kleines Boot auf dem Wasser am Morgen, Wasserfarben, Illustration.

      Weitere Informationen zum Schreiben effektiver Prompts finden Sie im Leitfaden zu Prompts und Bildattributen.

    6. Klicken Sie auf Erstellen.

      Den generierten Bildern wird automatisch ein digitales Wasserzeichen hinzugefügt. Sie können digitale Wasserzeichen nicht für die Bildgenerierung mit der Google Cloud Konsole deaktivieren.

      Sie können ein Bild auswählen, um es im Fenster Bilddetail anzusehen. Bilder mit Wasserzeichen haben das Logo Digitales Wasserzeichen. Sie können auch explizit ein Bildwasserzeichen prüfen.

      Beispiel für ein über einen Text generiertes Bild mit Wasserzeichen
      Bilddetail-Ansicht eines mit Wasserzeichen versehenen Bildes, das mit Imagen 2 über den Prompt kleines rotes Boot auf dem Wasser am Morgen, Wasserfarben, Illustration. Sanfte Farben generiert wurde.

    Python

    Installieren

    pip install --upgrade google-genai

    Weitere Informationen finden Sie in der SDK-Referenzdokumentation.

    Umgebungsvariablen für die Verwendung des Gen AI SDK mit Vertex AI festlegen:

    # Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
    # with appropriate values for your project.
    export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
    export GOOGLE_CLOUD_LOCATION=global
    export GOOGLE_GENAI_USE_VERTEXAI=True

    In diesem Beispiel rufen Sie die Methode generate_images in der ImageGenerationModel 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 ‑funktionen finden Sie unter Imagen-Modelle.

    from google import genai
    
    client = genai.Client()
    
    # TODO(developer): Update and un-comment below line
    # output_file = "output-image.png"
    
    image = client.models.generate_images(
        model="imagen-4.0-generate-preview-06-06",
        prompt="A dog reading a newspaper",
    )
    
    image.generated_images[0].image.save(output_file)
    
    print(f"Created output image using {len(image.generated_images[0].image.image_bytes)} bytes")
    # Example response:
    # Created output image using 1234567 bytes
    

    REST

    Weitere Informationen zu imagegeneration-Modellanfragen finden Sie in der API-Referenz des imagegeneration-Modells.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID: Ihre Google Cloud Projekt-ID.
    • MODEL_VERSION: Die zu verwendende Imagen-Modellversion. Weitere Informationen zu den verfügbaren Modellen finden Sie unter Imagen-Modelle.

    • 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

      Je nach Anwendungsfall können Sie die folgenden optionalen Variablen verwenden. Fügen Sie dem "parameters": {}-Objekt einige oder alle der folgenden Parameter hinzu. Diese Liste enthält häufig verwendete 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: boolesch. Optional. Gibt an, ob für generierte Bilder ein Wasserzeichen aktiviert werden soll. Alle Bilder, die generiert werden, wenn das Feld auf true gesetzt ist, enthalten eine digitale SynthID, mit der Sie ein Bild mit Wasserzeichen überprü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 verwenden, um deterministische Ausgaben zu erhalten. Dies ist jedoch nur möglich, wenn dieses Feld auf false gesetzt ist.
      • ASPECT_RATIO: String. Optional. Ein Parameter für den Generierungsmodus, der das Seitenverhältnis steuert. Unterstützte Verhältniswerte und ihre beabsichtigte Verwendung:
        • 1:1 (Standard, Quadrat)
        • 3:4 (Anzeigen, soziale Medien)
        • 4:3 (Fernsehen, Fotografie)
        • 16:9 (Querformat)
        • 9:16 Hochformat
      • ENABLE_PROMPT_REWRITING: boolesch. Optional. Ein Parameter, mit dem eine LLM-basierte Funktion zum Neuschreiben von Prompts verwendet werden kann, um Bilder in höherer Qualität zu liefern, die den Zweck des ursprünglichen Prompts besser widerspiegeln. Wenn Sie diese Funktion deaktivieren, kann sich das auf die Bildqualität und die Einhaltung der Vorgaben des Prompts auswirken. Standardwert: true.
      • INCLUDE_RAI_REASON: boolesch. Optional. Gibt an, ob der von der verantwortungsbewussten KI gefilterte Grundcode in Antworten mit blockierter Eingabe oder Ausgabe aktiviert sein soll. Standardwert: true.
      • INCLUDE_SAFETY_ATTRIBUTES: boolesch. 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: integer. Optional. Gilt nur für JPEG-Ausgabedateien. Der Detaillierungsgrad, den das Modell für Bilder im JPEG-Dateiformat beibehält. Werte: 0 bis 100, wobei eine höhere Zahl eine stärkere Komprimierung bedeutet. 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: Personen oder Gesichter in generierten Bildern nicht zulassen.
      • SAFETY_SETTING: String. Optional. Eine Einstellung, mit der die Grenzwerte für Sicherheitsfilter für generierte Bilder gesteuert werden. Verfügbare Werte:
        • block_low_and_above: Der höchste Sicherheitsgrenzwert, der dazu führt, dass die meisten generierten Bilder gefiltert werden. Vorheriger Wert: block_most.
        • block_medium_and_above (Standardeinstellung): Ein mittlerer Sicherheitsgrenzwert, der das Filtern von potenziell schädlichen und sicheren Inhalten ausgleicht. 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: integer. 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 Ihnen verwendete Modell digitales Wasserzeichen unterstützt, müssen Sie "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. Wenn nicht angegeben, werden base64-codierte Bildbyte in der Antwort 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 optimierten 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"
        }
      ]
    }
    

    Nächste Schritte

    Artikel zu Imagen und anderen Produkten für generative KI in Vertex AI: