Bilder mit Gemini generieren

Gemini 2.0 Flash unterstützt die Generierung von Antworten in mehreren Modalitäten, darunter Text und Bilder.

Bildgenerierung

Die öffentliche Vorschau von Gemini 2.0 Flash für die Bildgenerierung (gemini-2.0-flash-preview-image-generation) unterstützt die Generierung von Bildern zusätzlich zu Text. Dadurch werden die Funktionen von Gemini um Folgendes erweitert:

  • Bilder iterativ durch Unterhaltungen in natürlicher Sprache generieren, Bilder anpassen und dabei Konsistenz und Kontext beibehalten.
  • Bilder mit hochwertigem Rendering von langem Text generieren
  • Verschachtelte Text-Bild-Ausgabe generieren Zum Beispiel ein Blogbeitrag mit Text und Bildern in einem einzigen Turn. Bisher war es dazu erforderlich, mehrere Modelle zu kombinieren.
  • Bilder mit dem Weltwissen und den Logikfunktionen von Gemini generieren

Mit dieser öffentlichen experimentellen Version kann Gemini 2.0 Flash Bilder in 1.024 Pixeln generieren. Außerdem werden das Generieren und Bearbeiten von Bildern von Personen unterstützt. Die aktualisierten Sicherheitsfilter sorgen für eine flexiblere und weniger restriktive Nutzung.

Er unterstützt die folgenden Modalitäten und Funktionen:

  • Text zu Bild

    • Beispiel-Prompt: „Generiere ein Bild vom Eiffelturm mit Feuerwerk im Hintergrund.“
  • Text zu Bild (Textrendering)

    • Beispiel-Prompt: „Erstelle ein kinoreifes Foto eines großen Gebäudes mit dieser riesigen Textprojektion auf der Vorderseite des Gebäudes: ‚Gemini 2.0 kann jetzt Langformtext generieren‘.“
  • Text zu Bild(ern) und Text (verschachtelt)

    • Beispielprompt: „Erstelle ein illustriertes Rezept für eine Paella. Erstelle Bilder neben dem Text, während du das Rezept generierst.“
    • Beispielprompt: „Erstelle eine Geschichte über einen Hund im Stil einer 3D-Cartoonanimation. Generiere für jede Szene ein Bild.“
  • Bild(er) und Text zu Bild(ern) und Text (verschachtelt)

    • Beispiel-Prompt (mit einem Bild eines möblierten Zimmers): „Welche anderen Farben für Sofas würden in meinen Raum passen? Kannst du das Bild aktualisieren?“
  • Bildbearbeitung (Text-zu-Bild und Bild-zu-Bild)

    • Beispiel-Prompt: „Bearbeite dieses Bild so, dass es wie ein Cartoon aussieht.“
    • Beispiel-Prompt: [Bild einer Katze] + [Bild eines Kissens] + „Erstelle ein Kreuzstichmuster meiner Katze auf diesem Kissen.“
  • Bildbearbeitung mit mehreren Antworten (Chat)

    • Beispiel-Prompts: [Lade ein Bild eines blauen Autos hoch.] „Mach aus diesem Auto ein Cabrio.“ „Ändere die Farbe jetzt in Gelb.“

Beschränkungen:

  • Die beste Leistung erzielen Sie mit den folgenden Sprachen: EN, es-MX, ja-JP, zh-CN, hi-IN.
  • Bei der Bildgenerierung werden keine Audio- oder Videoeingaben unterstützt.
  • Die Bildgenerierung wird möglicherweise nicht immer ausgelöst:
    • Das Modell kann nur Text ausgeben. Bitten Sie explizit um Bildausgaben. Zum Beispiel „Stelle im Laufe der Zeit Bilder bereit.“
    • Das Modell kann Text als Bild generieren. Fordern Sie Textausgaben explizit an. Zum Beispiel: „Erstelle einen narrativen Text mit Illustrationen.“
    • Das Modell kann die Generierung von Inhalten mittendrin beenden. Versuchen Sie es noch einmal oder verwenden Sie einen anderen Prompt.

Bilder erstellen

In den folgenden Abschnitten wird beschrieben, wie Sie Bilder mit Vertex AI Studio oder der API generieren.

Anleitungen und Best Practices für Prompts finden Sie unter Multimodale Prompts entwerfen.

Console

So verwenden Sie die Bildgenerierung:

  1. Öffnen Sie Vertex AI Studio > Prompt erstellen.
  2. Klicken Sie auf Modell wechseln und wählen Sie im Menü gemini-2.0-flash-preview-image-generation aus.
  3. Wählen Sie im Bereich Ausgaben im Drop-down-Menü die Option Bild und Text aus.
  4. Geben Sie im Textbereich Prompt schreiben eine Beschreibung des Bilds ein, das Sie generieren möchten.
  5. Klicken Sie auf die Schaltfläche Prompt ().

Gemini generiert ein Bild basierend auf Ihrer Beschreibung. Dieser Vorgang sollte einige Sekunden dauern, kann aber je nach Kapazität vergleichsweise langsam sein.

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

from google import genai
from google.genai.types import GenerateContentConfig, Modality
from PIL import Image
from io import BytesIO

client = genai.Client()

response = client.models.generate_content(
    model="gemini-2.0-flash-preview-image-generation",
    contents=(
        "Generate an image of the Eiffel tower with fireworks in the background."
    ),
    config=GenerateContentConfig(response_modalities=[Modality.TEXT, Modality.IMAGE]),
)
for part in response.candidates[0].content.parts:
    if part.text:
        print(part.text)
    elif part.inline_data:
        image = Image.open(BytesIO((part.inline_data.data)))
        image.save("example-image.png")
# Example response:
#   A beautiful photograph captures the iconic Eiffel Tower in Paris, France,
#   against a backdrop of a vibrant and dynamic fireworks display. The tower itself...

REST

Führen Sie den folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  https://${API_ENDPOINT}:generateContent \
  -d '{
    "contents": {
      "role": "USER",
      "parts": { "text": "Create a tutorial explaining how to make a peanut butter and jelly sandwich in three easy steps."},
    },
    "generation_config": {
      "response_modalities": ["TEXT", "IMAGE"],
     },
     "safetySettings": {
      "method": "PROBABILITY",
      "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
      "threshold": "BLOCK_MEDIUM_AND_ABOVE"
    },
  }' 2>/dev/null >response.json

Gemini generiert ein Bild basierend auf Ihrer Beschreibung. Dieser Vorgang sollte einige Sekunden dauern, kann aber je nach Kapazität vergleichsweise langsam sein.

Bild bearbeiten

Console

So bearbeiten Sie Bilder:

  1. Öffnen Sie Vertex AI Studio > Prompt erstellen.
  2. Klicken Sie auf Modell wechseln und wählen Sie im Menü gemini-2.0-flash-preview-image-generation aus.
  3. Wählen Sie im Bereich Ausgaben im Drop-down-Menü die Option Bild und Text aus.
  4. Klicken Sie auf Medien einfügen () und wählen Sie eine Quelle aus dem Menü aus. Folgen Sie dann der Anleitung im Dialogfeld.
  5. Geben Sie im Textbereich Prompt schreiben ein, welche Änderungen Sie am Bild vornehmen möchten.
  6. Klicken Sie auf die Schaltfläche Prompt ().

Gemini generiert anhand Ihrer Beschreibung eine bearbeitete Version des bereitgestellten Bildes. Dieser Vorgang sollte einige Sekunden dauern, kann aber je nach Kapazität vergleichsweise langsam sein.

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

from google import genai
from google.genai.types import GenerateContentConfig, Modality
from PIL import Image
from io import BytesIO

client = genai.Client()

# Using an image of Eiffel tower, with fireworks in the background.
image = Image.open("example-image.png")

response = client.models.generate_content(
    model="gemini-2.0-flash-exp",
    contents=[image, "Edit this image to make it look like a cartoon."],
    config=GenerateContentConfig(response_modalities=[Modality.TEXT, Modality.IMAGE]),
)
for part in response.candidates[0].content.parts:
    if part.text:
        print(part.text)
    elif part.inline_data:
        image = Image.open(BytesIO((part.inline_data.data)))
        image.save("bw-example-image.png")
# Example response:
#  Here's the cartoon-style edit of the image:
#  Cartoon-style edit:
#  - Simplified the Eiffel Tower with bolder lines and slightly exaggerated proportions.
#  - Brightened and saturated the colors of the sky, fireworks, and foliage for a more vibrant, cartoonish look.
#  ....

REST

Führen Sie den folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  https://${API_ENDPOINT}:generateContent \
  -d '{
    "contents": {
      "role": "USER",
      "parts": [
        {"file_data": {
          "mime_type": "image/jpg",
          "file_uri": "<var>FILE_NAME</var>"
          }
        },
        {"text": "Convert this photo to black and white, in a cartoonish style."},
      ]

    },
    "generation_config": {
      "response_modalities": ["TEXT", "IMAGE"],
    },
    "safetySettings": {
      "method": "PROBABILITY",
      "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
      "threshold": "BLOCK_MEDIUM_AND_ABOVE"
    },
  }' 2>/dev/null >response.json

Gemini generiert ein Bild basierend auf Ihrer Beschreibung. Dieser Vorgang sollte einige Sekunden dauern, kann aber je nach Kapazität vergleichsweise langsam sein.

Verschachtelte Bilder und Texte erstellen

Gemini 2.0 Flash kann Bilder in seine Textantworten einfügen. So können Sie beispielsweise Bilder generieren, die zeigen, wie die einzelnen Schritte eines generierten Rezepts aussehen könnten, ohne dass Sie separate Anfragen an das Modell stellen müssen.

Console

So erstellen Sie verschachtelte Bilder mit Textantworten:

  1. Öffnen Sie Vertex AI Studio > Prompt erstellen.
  2. Klicken Sie auf Modell wechseln und wählen Sie im Menü gemini-2.0-flash-preview-image-generation aus.
  3. Wählen Sie im Bereich Ausgaben im Drop-down-Menü die Option Bild und Text aus.
  4. Geben Sie im Textbereich Prompt schreiben eine Beschreibung des Bilds ein, das Sie generieren möchten. Beispiel: „Erstelle eine Anleitung, in der erklärt wird, wie man in drei einfachen Schritten ein Erdnussbutter- und Marmeladenbrot zubereitet. Gib für jeden Schritt einen Titel mit der Nummer des Schritts und eine Erklärung an und generiere auch ein Bild. Generiere jedes Bild im Seitenverhältnis 1:1.“
  5. Klicken Sie auf die Schaltfläche Prompt ().

Gemini generiert eine Antwort basierend auf Ihrer Beschreibung. Dieser Vorgang sollte einige Sekunden dauern, kann aber je nach Kapazität vergleichsweise langsam sein.

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

from google import genai
from google.genai.types import GenerateContentConfig, Modality
from PIL import Image
from io import BytesIO

client = genai.Client()

response = client.models.generate_content(
    model="gemini-2.0-flash-exp",
    contents=(
        "Generate an illustrated recipe for a paella."
        "Create images to go alongside the text as you generate the recipe"
    ),
    config=GenerateContentConfig(response_modalities=[Modality.TEXT, Modality.IMAGE]),
)
with open("paella-recipe.md", "w") as fp:
    for i, part in enumerate(response.candidates[0].content.parts):
        if part.text is not None:
            fp.write(part.text)
        elif part.inline_data is not None:
            image = Image.open(BytesIO((part.inline_data.data)))
            image.save(f"example-image-{i+1}.png")
            fp.write(f"![image](./example-image-{i+1}.png)")
# Example response:
#  A markdown page for a Paella recipe(`paella-recipe.md`) has been generated.
#   It includes detailed steps and several images illustrating the cooking process.

REST

Führen Sie den folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  https://${API_ENDPOINT}:generateContent \
  -d '{
    "contents": {
      "role": "USER",
      "parts": { "text": "Create a tutorial explaining how to make a peanut butter and jelly sandwich in three easy steps. For each step, provide a title with the number of the step, an explanation, and also generate an image, generate each image in a 1:1 aspect ratio."},
    },
    "generation_config": {
      "response_modalities": ["TEXT", "IMAGE"],
     },
     "safetySettings": {
      "method": "PROBABILITY",
      "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
      "threshold": "BLOCK_MEDIUM_AND_ABOVE"
    },
  }' 2>/dev/null >response.json

Gemini generiert ein Bild basierend auf Ihrer Beschreibung. Dieser Vorgang sollte einige Sekunden dauern, kann aber je nach Kapazität vergleichsweise langsam sein.