Videos mit Veo 3.1 in der Gemini API erstellen

Veo 3.1 ist das hochmoderne Modell von Google zum Generieren von 8‑sekündigen Videos mit einer Auflösung von 720p oder 1080p in hoher Qualität, die sich durch beeindruckenden Realismus und nativ generiertes Audio auszeichnen. Sie können programmatisch über die Gemini API auf dieses Modell zugreifen. Weitere Informationen zu den verfügbaren Veo-Modellvarianten finden Sie im Abschnitt Modellversionen.

Veo 3.1 eignet sich hervorragend für eine Vielzahl von visuellen und filmischen Stilen und bietet mehrere neue Funktionen:

  • Video verlängern: Sie können Videos verlängern, die zuvor mit Veo generiert wurden.
  • Frame-spezifische Generierung: Generieren Sie ein Video, indem Sie den ersten und den letzten Frame angeben.
  • Bildbasierte Vorgaben: Sie können bis zu drei Referenzbilder verwenden, um die Inhalte Ihres generierten Videos zu steuern.

Weitere Informationen zum Schreiben effektiver Text-Prompts für die Videogenerierung finden Sie im Veo-Leitfaden zu Prompts.

Video aus Text

Wählen Sie ein Beispiel aus, um zu sehen, wie Sie ein Video mit Dialog, filmischem Realismus oder kreativer Animation erstellen:

Python

import time
from google import genai
from google.genai import types

client = genai.Client()

prompt = """A close up of two people staring at a cryptic drawing on a wall, torchlight flickering.
A man murmurs, 'This must be it. That's the secret code.' The woman looks at him and whispering excitedly, 'What did you find?'"""

operation = client.models.generate_videos(
    model="veo-3.1-generate-preview",
    prompt=prompt,
)

# Poll the operation status until the video is ready.
while not operation.done:
    print("Waiting for video generation to complete...")
    time.sleep(10)
    operation = client.operations.get(operation)

# Download the generated video.
generated_video = operation.response.generated_videos[0]
client.files.download(file=generated_video.video)
generated_video.video.save("dialogue_example.mp4")
print("Generated video saved to dialogue_example.mp4")

JavaScript

import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({});

const prompt = `A close up of two people staring at a cryptic drawing on a wall, torchlight flickering.
A man murmurs, 'This must be it. That's the secret code.' The woman looks at him and whispering excitedly, 'What did you find?'`;

let operation = await ai.models.generateVideos({
    model: "veo-3.1-generate-preview",
    prompt: prompt,
});

// Poll the operation status until the video is ready.
while (!operation.done) {
    console.log("Waiting for video generation to complete...")
    await new Promise((resolve) => setTimeout(resolve, 10000));
    operation = await ai.operations.getVideosOperation({
        operation: operation,
    });
}

// Download the generated video.
ai.files.download({
    file: operation.response.generatedVideos[0].video,
    downloadPath: "dialogue_example.mp4",
});
console.log(`Generated video saved to dialogue_example.mp4`);

Ok

package main

import (
    "context"
    "log"
    "os"
    "time"

    "google.golang.org/genai"
)

func main() {
    ctx := context.Background()
    client, err := genai.NewClient(ctx, nil)
    if err != nil {
        log.Fatal(err)
    }

    prompt := `A close up of two people staring at a cryptic drawing on a wall, torchlight flickering.
    A man murmurs, 'This must be it. That's the secret code.' The woman looks at him and whispering excitedly, 'What did you find?'`

    operation, _ := client.Models.GenerateVideos(
        ctx,
        "veo-3.1-generate-preview",
        prompt,
        nil,
        nil,
    )

    // Poll the operation status until the video is ready.
    for !operation.Done {
    log.Println("Waiting for video generation to complete...")
        time.Sleep(10 * time.Second)
        operation, _ = client.Operations.GetVideosOperation(ctx, operation, nil)
    }

    // Download the generated video.
    video := operation.Response.GeneratedVideos[0]
    client.Files.Download(ctx, video.Video, nil)
    fname := "dialogue_example.mp4"
    _ = os.WriteFile(fname, video.Video.VideoBytes, 0644)
    log.Printf("Generated video saved to %s\n", fname)
}

REST

# Note: This script uses jq to parse the JSON response.
# GEMINI API Base URL
BASE_URL="https://generativelanguage.googleapis.com/v1beta"

# Send request to generate video and capture the operation name into a variable.
operation_name=$(curl -s "${BASE_URL}/models/veo-3.1-generate-preview:predictLongRunning" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -X "POST" \
  -d '{
    "instances": [{
        "prompt": "A close up of two people staring at a cryptic drawing on a wall, torchlight flickering. A man murmurs, \"This must be it. That'\''s the secret code.\" The woman looks at him and whispering excitedly, \"What did you find?\""
      }
    ]
  }' | jq -r .name)

# Poll the operation status until the video is ready
while true; do
  # Get the full JSON status and store it in a variable.
  status_response=$(curl -s -H "x-goog-api-key: $GEMINI_API_KEY" "${BASE_URL}/${operation_name}")

  # Check the "done" field from the JSON stored in the variable.
  is_done=$(echo "${status_response}" | jq .done)

  if [ "${is_done}" = "true" ]; then
    # Extract the download URI from the final response.
    video_uri=$(echo "${status_response}" | jq -r '.response.generateVideoResponse.generatedSamples[0].video.uri')
    echo "Downloading video from: ${video_uri}"

    # Download the video using the URI and API key and follow redirects.
    curl -L -o dialogue_example.mp4 -H "x-goog-api-key: $GEMINI_API_KEY" "${video_uri}"
    break
  fi
  # Wait for 5 seconds before checking again.
  sleep 10
done

Bild-zu-Video-Generierung

Im folgenden Code wird gezeigt, wie ein Bild mit Gemini 2.5 Flash Image (auch bekannt als Nano Banana) generiert und dann als Startframe für die Generierung eines Videos mit Veo 3.1 verwendet wird.

Python

import time
from google import genai

client = genai.Client()

prompt = "Panning wide shot of a calico kitten sleeping in the sunshine"

# Step 1: Generate an image with Nano Banana.
image = client.models.generate_content(
    model="gemini-2.5-flash-image",
    prompt=prompt,
)

# Step 2: Generate video with Veo 3.1 using the image.
operation = client.models.generate_videos(
    model="veo-3.1-generate-preview",
    prompt=prompt,
    image=image.generated_images[0].image,
)

# Poll the operation status until the video is ready.
while not operation.done:
    print("Waiting for video generation to complete...")
    time.sleep(10)
    operation = client.operations.get(operation)

# Download the video.
video = operation.response.generated_videos[0]
client.files.download(file=video.video)
video.video.save("veo3_with_image_input.mp4")
print("Generated video saved to veo3_with_image_input.mp4")

JavaScript

import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({});

const prompt = "Panning wide shot of a calico kitten sleeping in the sunshine";

// Step 1: Generate an image with Nano Banana.
const imageResponse = await ai.models.generateContent({
  model: "gemini-2.5-flash-image",
  prompt: prompt,
});

// Step 2: Generate video with Veo 3.1 using the image.
let operation = await ai.models.generateVideos({
  model: "veo-3.1-generate-preview",
  prompt: prompt,
  image: {
    imageBytes: imageResponse.generatedImages[0].image.imageBytes,
    mimeType: "image/png",
  },
});

// Poll the operation status until the video is ready.
while (!operation.done) {
  console.log("Waiting for video generation to complete...")
  await new Promise((resolve) => setTimeout(resolve, 10000));
  operation = await ai.operations.getVideosOperation({
    operation: operation,
  });
}

// Download the video.
ai.files.download({
    file: operation.response.generatedVideos[0].video,
    downloadPath: "veo3_with_image_input.mp4",
});
console.log(`Generated video saved to veo3_with_image_input.mp4`);

Ok

package main

import (
    "context"
    "log"
    "os"
    "time"

    "google.golang.org/genai"
)

func main() {
    ctx := context.Background()
    client, err := genai.NewClient(ctx, nil)
    if err != nil {
        log.Fatal(err)
    }

    prompt := "Panning wide shot of a calico kitten sleeping in the sunshine"

    // Step 1: Generate an image with Nano Banana.
    imageResponse, err := client.Models.GenerateContent(
        ctx,
        "gemini-2.5-flash-image",
        prompt,
        nil, // GenerateImagesConfig
    )
    if err != nil {
        log.Fatal(err)
    }

    // Step 2: Generate video with Veo 3.1 using the image.
    operation, err := client.Models.GenerateVideos(
        ctx,
        "veo-3.1-generate-preview",
        prompt,
        imageResponse.GeneratedImages[0].Image,
        nil, // GenerateVideosConfig
    )
    if err != nil {
        log.Fatal(err)
    }

    // Poll the operation status until the video is ready.
    for !operation.Done {
        log.Println("Waiting for video generation to complete...")
        time.Sleep(10 * time.Second)
        operation, _ = client.Operations.GetVideosOperation(ctx, operation, nil)
    }

    // Download the video.
    video := operation.Response.GeneratedVideos[0]
    client.Files.Download(ctx, video.Video, nil)
    fname := "veo3_with_image_input.mp4"
    _ = os.WriteFile(fname, video.Video.VideoBytes, 0644)
    log.Printf("Generated video saved to %s\n", fname)
}

Referenzbilder verwenden

Veo 3.1 kann jetzt bis zu drei Referenzbilder für die Inhalte des generierten Videos verwenden. Stellen Sie Bilder einer Person, einer Figur oder eines Produkts bereit, um das Erscheinungsbild des Motivs im Ausgabevideo beizubehalten.

Wenn Sie beispielsweise diese drei mit Nano Banana generierten Bilder als Referenzen mit einem gut formulierten Prompt verwenden, wird das folgende Video erstellt:

`dress_image` `woman_image` `glasses_image`
Flamingo-Kleid mit mehreren Lagen aus rosa und fuchsiafarbenen Federn Schöne Frau mit dunklem Haar und warmbraunen Augen Verspielte rosa, herzförmige Sonnenbrille

Python

import time
from google import genai

client = genai.Client()

prompt = "The video opens with a medium, eye-level shot of a beautiful woman with dark hair and warm brown eyes. She wears a magnificent, high-fashion flamingo dress with layers of pink and fuchsia feathers, complemented by whimsical pink, heart-shaped sunglasses. She walks with serene confidence through the crystal-clear, shallow turquoise water of a sun-drenched lagoon. The camera slowly pulls back to a medium-wide shot, revealing the breathtaking scene as the dress's long train glides and floats gracefully on the water's surface behind her. The cinematic, dreamlike atmosphere is enhanced by the vibrant colors of the dress against the serene, minimalist landscape, capturing a moment of pure elegance and high-fashion fantasy."

dress_reference = types.VideoGenerationReferenceImage(
  image=dress_image, # Generated separately with Nano Banana
  reference_type="asset"
)

sunglasses_reference = types.VideoGenerationReferenceImage(
  image=glasses_image, # Generated separately with Nano Banana
  reference_type="asset"
)

woman_reference = types.VideoGenerationReferenceImage(
  image=woman_image, # Generated separately with Nano Banana
  reference_type="asset"
)

operation = client.models.generate_videos(
    model="veo-3.1-generate-preview",
    prompt=prompt,
    config=types.GenerateVideosConfig(
      reference_images=[dress_reference, glasses_reference, woman_reference],
    ),
)

# Poll the operation status until the video is ready.
while not operation.done:
    print("Waiting for video generation to complete...")
    time.sleep(10)
    operation = client.operations.get(operation)

# Download the video.
video = operation.response.generated_videos[0]
client.files.download(file=video.video)
video.video.save("veo3.1_with_reference_images.mp4")
print("Generated video saved to veo3.1_with_reference_images.mp4")
Frau in einem eleganten Kleid und mit Sonnenbrille, die durch eine Lagune geht
veo3.1_with_reference_images.mp4

Ersten und letzten Frame verwenden

Mit Veo 3.1 können Sie Videos erstellen, indem Sie die Interpolation verwenden oder den ersten und letzten Frame des Videos angeben. Informationen zum Schreiben effektiver Text-Prompts für die Videogenerierung finden Sie im Veo-Prompt-Leitfaden.

Python

import time
from google import genai

client = genai.Client()

prompt = "A cinematic, haunting video. A ghostly woman with long white hair and a flowing dress swings gently on a rope swing beneath a massive, gnarled tree in a foggy, moonlit clearing. The fog thickens and swirls around her, and she slowly fades away, vanishing completely. The empty swing is left swaying rhythmically on its own in the eerie silence."

operation = client.models.generate_videos(
    model="veo-3.1-generate-preview",
    prompt=prompt,
    image=first_image, # Generated separately with Nano Banana
    config=types.GenerateVideosConfig(
      last_frame=last_image # Generated separately with Nano Banana
    ),
)

# Poll the operation status until the video is ready.
while not operation.done:
    print("Waiting for video generation to complete...")
    time.sleep(10)
    operation = client.operations.get(operation)

# Download the video.
video = operation.response.generated_videos[0]
client.files.download(file=video.video)
video.video.save("veo3.1_with_interpolation.mp4")
print("Generated video saved to veo3.1_with_interpolation.mp4")
`first_image` `last_image` veo3.1_with_interpolation.mp4
Eine geisterhafte Frau mit langen weißen Haaren und einem wallenden Kleid schwingt sanft auf einer Seilschaukel. Die geisterhafte Frau verschwindet von der Schaukel Ein kinoreifes, eindringliches Video einer unheimlichen Frau, die im Nebel von einer Schaukel verschwindet

Veo-Videos verlängern

Mit Veo 3.1 können Sie Videos, die Sie zuvor mit Veo erstellt haben, um 7 Sekunden und bis zu 20-mal verlängern.

Einschränkungen für Eingabevideos:

  • Von Veo generierte Videos sind maximal 141 Sekunden lang.
  • Die Gemini API unterstützt nur Videoerweiterungen für von Veo generierte Videos.
  • Eingabevideos müssen eine bestimmte Länge, ein bestimmtes Seitenverhältnis und bestimmte Abmessungen haben:
    • Seitenverhältnis: 9:16 oder 16:9
    • Auflösung: 720p
    • Videolänge: maximal 141 Sekunden

Die Ausgabe der Erweiterung ist ein einzelnes Video, in dem das vom Nutzer eingegebene Video und das generierte erweiterte Video kombiniert werden. Das Video kann bis zu 148 Sekunden lang sein.

In diesem Beispiel wird das von Veo generierte Video butterfly_video, das hier mit dem ursprünglichen Prompt zu sehen ist, mit dem Parameter video und einem neuen Prompt erweitert:

Prompt Ausgabe: butterfly_video
Ein Origami-Schmetterling schlägt mit den Flügeln und fliegt durch die Fenstertüren in den Garten. Ein Origami-Schmetterling schlägt mit den Flügeln und fliegt durch die Terrassentür in den Garten.

Python

import time
from google import genai

client = genai.Client()

prompt = "Track the butterfly into the garden as it lands on an orange origami flower. A fluffy white puppy runs up and gently pats the flower."

operation = client.models.generate_videos(
    model="veo-3.1-generate-preview",
    video=butterfly_video,
    prompt=prompt,
    config=types.GenerateVideosConfig(
        number_of_videos=1,
        resolution="720p"
    ),
)

# Poll the operation status until the video is ready.
while not operation.done:
    print("Waiting for video generation to complete...")
    time.sleep(10)
    operation = client.operations.get(operation)

# Download the video.
video = operation.response.generated_videos[0]
client.files.download(file=video.video)
video.video.save("veo3.1_extension.mp4")
print("Generated video saved to veo3.1_extension.mp4")
Der Schmetterling fliegt in den Garten und landet auf einer Origami-Blume. Ein flauschiger weißer Welpe läuft auf die Blume zu und stupst sie sanft an.
veo3.1_extension.mp4

Informationen zum Schreiben effektiver Text-Prompts für die Videogenerierung finden Sie im Veo-Prompt-Leitfaden.

Umgang mit asynchronen Vorgängen

Das Generieren von Videos ist eine rechenintensive Aufgabe. Wenn Sie eine Anfrage an die API senden, wird ein lang andauernder Job gestartet und sofort ein operation-Objekt zurückgegeben. Anschließend müssen Sie den Status abrufen, bis das Video bereit ist. Das ist der Fall, wenn der Status done auf „true“ gesetzt ist.

Das Herzstück dieses Prozesses ist eine Polling-Schleife, die regelmäßig den Status des Jobs prüft.

Python

import time
from google import genai
from google.genai import types

client = genai.Client()

# After starting the job, you get an operation object.
operation = client.models.generate_videos(
    model="veo-3.1-generate-preview",
    prompt="A cinematic shot of a majestic lion in the savannah.",
)

# Alternatively, you can use operation.name to get the operation.
operation = types.GenerateVideosOperation(name=operation.name)

# This loop checks the job status every 10 seconds.
while not operation.done:
    time.sleep(10)
    # Refresh the operation object to get the latest status.
    operation = client.operations.get(operation)

# Once done, the result is in operation.response.
# ... process and download your video ...

JavaScript

import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({});

// After starting the job, you get an operation object.
let operation = await ai.models.generateVideos({
  model: "veo-3.1-generate-preview",
  prompt: "A cinematic shot of a majestic lion in the savannah.",
});

// Alternatively, you can use operation.name to get the operation.
// operation = types.GenerateVideosOperation(name=operation.name)

// This loop checks the job status every 10 seconds.
while (!operation.done) {
    await new Promise((resolve) => setTimeout(resolve, 1000));
    // Refresh the operation object to get the latest status.
    operation = await ai.operations.getVideosOperation({ operation });
}

// Once done, the result is in operation.response.
// ... process and download your video ...

Veo API-Parameter und ‑Spezifikationen

Dies sind die Parameter, die Sie in Ihrer API-Anfrage festlegen können, um den Prozess der Videogenerierung zu steuern.

Parameter Beschreibung Veo 3.1 und Veo 3.1 Fast Veo 3 und Veo 3 Fast Veo 2
prompt Die Textbeschreibung für das Video. Unterstützt Audio-Hinweise. string string string
negativePrompt Text, der beschreibt, was nicht im Video enthalten sein darf. string string string
image Ein Ausgangsbild für die Animation. Image Objekt Image Objekt Image Objekt
lastFrame Das endgültige Bild für ein Interpolationsvideo, in das übergegangen werden soll. Muss in Kombination mit dem Parameter image verwendet werden. Image Objekt Image Objekt Image Objekt
referenceImages Bis zu drei Bilder, die als Referenzen für Stil und Inhalt verwendet werden sollen. VideoGenerationReferenceImage-Objekt (nur Veo 3.1)
video Video, das für die Videoerweiterung verwendet werden soll. Video Objekt
aspectRatio Das Seitenverhältnis des Videos. "16:9" (Standard, 720p und 1080p),
"9:16"(720p und 1080p)

"16:9" (Standard, 720p und 1080p),
"9:16" (720p und 1080p)
"16:9" (Standard, 720p),
"9:16" (720p)
resolution Das Seitenverhältnis des Videos. "720p" (Standard),
"1080p" (unterstützt nur eine Dauer von 8 Sekunden)

"720p" nur für Erweiterung
"720p" (Standard),
"1080p" (nur 16:9)
Nicht unterstützt
durationSeconds Länge des generierten Videos. "4", "6", "8".

Muss „8“ sein, wenn die Erweiterung oder Interpolation verwendet wird (unterstützt sowohl 16:9 als auch 9:16) und wenn referenceImages verwendet wird (unterstützt nur 16:9).
"4", "6", "8" "5", "6", "8"
personGeneration Steuert die Generierung von Personen.
(Informationen zu regionalen Einschränkungen finden Sie unter Einschränkungen.)
Text-zu-Video und Erweiterung:
"allow_all" nur
Bild-zu-Video, Interpolation und Referenzbilder:
"allow_adult" nur
Text zu Video:
"allow_all" nur
Bild zu Video:
"allow_adult" nur
Text zu Video:
"allow_all", "allow_adult", "dont_allow"
Bild zu Video:
"allow_adult" und "dont_allow"

Der Parameter seed ist auch für Veo 3-Modelle verfügbar. Sie garantiert keinen Determinismus, verbessert ihn aber leicht.

Sie können die Videogenerierung anpassen, indem Sie Parameter in Ihre Anfrage aufnehmen. Sie können beispielsweise negativePrompt angeben, um das Modell zu steuern.

Python

import time
from google import genai
from google.genai import types

client = genai.Client()

operation = client.models.generate_videos(
    model="veo-3.1-generate-preview",
    prompt="A cinematic shot of a majestic lion in the savannah.",
    config=types.GenerateVideosConfig(negative_prompt="cartoon, drawing, low quality"),
)

# Poll the operation status until the video is ready.
while not operation.done:
    print("Waiting for video generation to complete...")
    time.sleep(10)
    operation = client.operations.get(operation)

# Download the generated video.
generated_video = operation.response.generated_videos[0]
client.files.download(file=generated_video.video)
generated_video.video.save("parameters_example.mp4")
print("Generated video saved to parameters_example.mp4")

JavaScript

import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({});

let operation = await ai.models.generateVideos({
  model: "veo-3.1-generate-preview",
  prompt: "A cinematic shot of a majestic lion in the savannah.",
  config: {
    aspectRatio: "16:9",
    negativePrompt: "cartoon, drawing, low quality"
  },
});

// Poll the operation status until the video is ready.
while (!operation.done) {
  console.log("Waiting for video generation to complete...")
  await new Promise((resolve) => setTimeout(resolve, 10000));
  operation = await ai.operations.getVideosOperation({
    operation: operation,
  });
}

// Download the generated video.
ai.files.download({
    file: operation.response.generatedVideos[0].video,
    downloadPath: "parameters_example.mp4",
});
console.log(`Generated video saved to parameters_example.mp4`);

Ok

package main

import (
    "context"
    "log"
    "os"
    "time"

    "google.golang.org/genai"
)

func main() {
    ctx := context.Background()
    client, err := genai.NewClient(ctx, nil)
    if err != nil {
        log.Fatal(err)
    }

    videoConfig := &genai.GenerateVideosConfig{
        AspectRatio: "16:9",
        NegativePrompt: "cartoon, drawing, low quality",
    }

    operation, _ := client.Models.GenerateVideos(
        ctx,
        "veo-3.1-generate-preview",
        "A cinematic shot of a majestic lion in the savannah.",
        nil,
        videoConfig,
    )

    // Poll the operation status until the video is ready.
    for !operation.Done {
        log.Println("Waiting for video generation to complete...")
        time.Sleep(10 * time.Second)
        operation, _ = client.Operations.GetVideosOperation(ctx, operation, nil)
    }

    // Download the generated video.
    video := operation.Response.GeneratedVideos[0]
    client.Files.Download(ctx, video.Video, nil)
    fname := "parameters_example.mp4"
    _ = os.WriteFile(fname, video.Video.VideoBytes, 0644)
    log.Printf("Generated video saved to %s\n", fname)
}

REST

# Note: This script uses jq to parse the JSON response.
# GEMINI API Base URL
BASE_URL="https://generativelanguage.googleapis.com/v1beta"

# Send request to generate video and capture the operation name into a variable.
operation_name=$(curl -s "${BASE_URL}/models/veo-3.1-generate-preview:predictLongRunning" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -X "POST" \
  -d '{
    "instances": [{
        "prompt": "A cinematic shot of a majestic lion in the savannah."
      }
    ],
    "parameters": {
      "aspectRatio": "16:9",
      "negativePrompt": "cartoon, drawing, low quality"
    }
  }' | jq -r .name)

# Poll the operation status until the video is ready
while true; do
  # Get the full JSON status and store it in a variable.
  status_response=$(curl -s -H "x-goog-api-key: $GEMINI_API_KEY" "${BASE_URL}/${operation_name}")

  # Check the "done" field from the JSON stored in the variable.
  is_done=$(echo "${status_response}" | jq .done)

  if [ "${is_done}" = "true" ]; then
    # Extract the download URI from the final response.
    video_uri=$(echo "${status_response}" | jq -r '.response.generateVideoResponse.generatedSamples[0].video.uri')
    echo "Downloading video from: ${video_uri}"

    # Download the video using the URI and API key and follow redirects.
    curl -L -o parameters_example.mp4 -H "x-goog-api-key: $GEMINI_API_KEY" "${video_uri}"
    break
  fi
  # Wait for 5 seconds before checking again.
  sleep 10
done

Veo-Prompt-Anleitung

In diesem Abschnitt finden Sie Beispiele für Videos, die Sie mit Veo erstellen können. Außerdem wird gezeigt, wie Sie Prompts anpassen, um unterschiedliche Ergebnisse zu erzielen.

Sicherheitsfilter

Veo wendet Sicherheitsfilter für Gemini an, um sicherzustellen, dass generierte Videos und hochgeladene Fotos keine anstößigen Inhalte enthalten. Prompts, die gegen unsere Nutzungsbedingungen und Richtlinien verstoßen, werden blockiert.

Grundlagen zum Schreiben von Prompts

Gute Prompts sind beschreibend und klar. Damit Sie Veo optimal nutzen können, sollten Sie zuerst Ihre Kernidee formulieren, sie dann durch Hinzufügen von Keywords und Modifikatoren verfeinern und schließlich videospezifische Begriffe in Ihre Prompts einfügen.

Ihr Prompt sollte die folgenden Elemente enthalten:

  • Motiv: Das Objekt, die Person, das Tier oder die Landschaft, die Sie in Ihrem Video sehen möchten, z. B. Stadtansicht, Natur, Fahrzeuge oder Welpen.
  • Aktion: Was das Subjekt tut, z. B. gehen, laufen oder den Kopf drehen.
  • Stil: Geben Sie die kreative Richtung mit bestimmten Filmstil-Schlüsselwörtern an, z. B. Science-Fiction, Horrorfilm, Film noir oder animierte Stile wie Cartoon.
  • Kamerapositionierung und -bewegung: [Optional] Steuern Sie die Position und Bewegung der Kamera mit Begriffen wie Luftaufnahme, Augenhöhe, Aufnahme von oben, Kamerafahrt oder Froschperspektive.
  • Komposition: [Optional] Wie die Aufnahme gerahmt ist, z. B. Weitwinkelaufnahme, Nahaufnahme, Einzelaufnahme oder Zweieraufnahme.
  • Fokus- und Objektiveffekte: [Optional] Verwenden Sie Begriffe wie geringe Schärfentiefe, große Schärfentiefe, Weichzeichner, Makroobjektiv und Weitwinkelobjektiv, um bestimmte visuelle Effekte zu erzielen.
  • Atmosphäre: [Optional] Wie Farbe und Licht zur Szene beitragen, z. B. Blautöne, Nacht oder warme Farbtöne.

Weitere Tipps zum Verfassen von Prompts

  • Beschreibende Sprache verwenden: Verwenden Sie Adjektive und Adverbien, um Veo ein klares Bild zu vermitteln.
  • Gesichtsdetails optimieren: Geben Sie Gesichtsdetails als Fokus des Fotos an, z. B. indem Sie das Wort Porträt im Prompt verwenden.

Umfassendere Strategien für das Erstellen von Prompts finden Sie unter Einführung in das Prompt-Design.

Aufforderung für Audio

Mit Veo 3 können Sie Hinweise für Soundeffekte, Umgebungsgeräusche und Dialoge geben. Das Modell erfasst die Nuancen dieser Hinweise, um einen synchronisierten Soundtrack zu generieren.

  • Dialog:Verwenden Sie Anführungszeichen für bestimmte Äußerungen. (Beispiel: „Das muss der Schlüssel sein“, murmelte er.)
  • Soundeffekte (SFX): Beschreiben Sie Geräusche explizit. Beispiel: Reifen quietschen laut, Motor dröhnt.
  • Umgebungslärm:Beschreiben Sie die Geräuschkulisse der Umgebung. Beispiel: Im Hintergrund ist ein leises, unheimliches Summen zu hören.

In diesen Videos wird gezeigt, wie die Audio-Generierung von Veo 3 mit zunehmendem Detaillierungsgrad erfolgt.

Eingabeaufforderung Generierte Ausgabe
Mehr Details (Dialog und Ambiente)
Eine Weitwinkelaufnahme eines nebligen Waldes im pazifischen Nordwesten. Zwei erschöpfte Wanderer, ein Mann und eine Frau, kämpfen sich durch Farne, als der Mann abrupt stehen bleibt und auf einen Baum starrt. Nahaufnahme: Frische, tiefe Krallenspuren sind in die Rinde des Baumes geritzt. Mann: (Hand auf seinem Jagdmesser) „Das ist kein gewöhnlicher Bär.“ Frau: (Stimme angespannt vor Angst, blickt in den Wald) „Was ist es dann?“ Eine raue Rinde, knisternde Zweige, Schritte auf dem feuchten Boden. Ein einzelner Vogel zwitschert.
Zwei Personen im Wald entdecken Spuren eines Bären.
Weniger Details (Dialog)
Paper Cut-Out Animation. Neuer Bibliothekar: „Wo bewahren Sie die verbotenen Bücher auf?“ Alter Kurator: „Nein. Sie behalten uns.“
Animierte Bibliothekare, die über verbotene Bücher diskutieren

Probieren Sie diese Prompts selbst aus, um den Ton zu hören. Veo 3 ausprobieren

Prompts mit Referenzbildern

Sie können ein oder mehrere Bilder als Eingabe verwenden, um die generierten Videos zu steuern. Dazu nutzen Sie die Bild-zu-Video-Funktionen von Veo. Veo verwendet das Eingabebild als ersten Frame. Wähle ein Bild aus, das der ersten Szene deines Videos am nächsten kommt. Du kannst damit Alltagsgegenstände animieren, Zeichnungen und Gemälde zum Leben erwecken und Naturszenen Bewegung und Sound hinzufügen.

Eingabeaufforderung Generierte Ausgabe
Eingabebild (generiert von Nano Banana)
Ein hyperrealistisches Makrofoto von winzigen, Miniatur-Surfern, die auf Meereswellen in einem rustikalen Waschbecken aus Stein reiten. Ein Wasserhahn aus Messing im Vintage-Stil läuft und erzeugt die ewige Brandung. Surreal, skurril, helles natürliches Licht.
Winzige, Miniatur-Surfer reiten auf Meereswellen in einem rustikalen Waschbecken aus Stein.
Ausgabe-Video (generiert von Veo 3.1)
Ein surreales, filmreifes Makrovideo. Winzige Surfer reiten auf endlosen, sanften Wellen in einem Waschbecken aus Stein. Ein laufender Wasserhahn aus Messing im Vintage-Stil erzeugt die endlose Welle. Die Kamera schwenkt langsam über die skurrile, sonnenbeschienene Szene, während die Miniaturfiguren gekonnt durch das türkisfarbene Wasser gleiten.
Kleine Surfer, die in einem Waschbecken auf den Wellen reiten.

Mit Veo 3.1 können Sie Bilder oder Zutaten als Referenz verwenden, um die Inhalte Ihres generierten Videos zu steuern. Stellen Sie bis zu drei Asset-Bilder einer einzelnen Person, einer Figur oder eines Produkts bereit. Veo behält das Erscheinungsbild des Motivs im Ausgabevideo bei.

Eingabeaufforderung Generierte Ausgabe
Referenzbild (generiert von Nano Banana)
Ein Tiefsee-Anglerfisch lauert im tiefen, dunklen Wasser. Er hat die Zähne gefletscht und der Köder leuchtet.
Ein dunkler, leuchtender Anglerfisch
Referenzbild (generiert von Nano Banana)
Ein rosa Prinzessinnenkostüm für Kinder mit Zauberstab und Tiara auf einem schlichten Produkthintergrund.
Ein pinkes Prinzessinnenkostüm für Kinder
Ausgabe-Video (generiert von Veo 3.1)
Erstelle eine alberne Cartoon-Version des Fisches, der das Kostüm trägt, schwimmt und mit dem Zauberstab winkt.
Ein Anglerfisch in einem Prinzessinnenkostüm

Mit Veo 3.1 können Sie auch Videos generieren, indem Sie den ersten und den letzten Frame des Videos angeben.

Eingabeaufforderung Generierte Ausgabe
Erstes Bild (generiert von Nano Banana)
Ein hochwertiges fotorealistisches Frontbild einer roten Katze, die ein rotes Cabriolet auf der Küstenstraße der Côte d’Azur fährt.
Eine rote Katze, die einen roten Cabrio-Rennwagen fährt
Letztes Bild (generiert von Nano Banana)
Zeige, was passiert, wenn das Auto von einer Klippe abhebt.
Eine rote Katze fährt mit einem roten Cabriolet eine Klippe hinunter.
Ausgabe-Video (generiert von Veo 3.1)
Optional
Eine Katze fährt von einer Klippe und hebt ab

Mit dieser Funktion können Sie die Komposition Ihres Shots genau steuern, indem Sie den Start- und Endframe festlegen. Laden Sie ein Bild hoch oder verwenden Sie einen Frame aus einem früheren Video, um sicherzustellen, dass Ihre Szene genau so beginnt und endet, wie Sie es sich vorstellen.

Prompt für die Erweiterung

Wenn Sie ein mit Veo generiertes Video mit Veo 3.1 verlängern möchten, verwenden Sie das Video als Eingabe zusammen mit einem optionalen Text-Prompt. Mit „Verlängern“ wird die letzte Sekunde oder die letzten 24 Frames Ihres Videos fertiggestellt und die Handlung fortgesetzt.

Hinweis: Wenn die Stimme nicht in der letzten Sekunde des Videos zu hören ist, kann sie nicht effektiv verlängert werden.

Eingabeaufforderung Generierte Ausgabe
Eingabevideo (generiert von Veo 3.1)
Der Gleitschirmflieger startet vom Gipfel des Berges und gleitet die Berge hinunter, die auf die blumenbedeckten Täler blicken.
Ein Gleitschirmflieger startet von einem Berggipfel
Ausgabevideo (generiert von Veo 3.1)
Erweitere dieses Video, sodass der Gleitschirmflieger langsam landet.
Ein Gleitschirmflieger startet von einem Berggipfel und sinkt dann langsam ab.

Beispiel-Prompts und -Ausgabe

In diesem Abschnitt werden mehrere Prompts vorgestellt, die zeigen, wie beschreibende Details das Ergebnis jedes Videos verbessern können.

Eiszapfen

In diesem Video wird gezeigt, wie Sie die Elemente der Grundlagen zum Verfassen von Prompts in Ihrem Prompt verwenden können.

Eingabeaufforderung Generierte Ausgabe
Nahaufnahme (Komposition) von schmelzenden Eiszapfen (Motiv) an einer gefrorenen Felswand (Kontext) mit kühlen Blautönen (Atmosphäre), herangezoomt (Kamerabewegung), wobei die Nahaufnahmedetails von Wassertropfen (Aktion) beibehalten werden. Tropfende Eiszapfen vor blauem Hintergrund.

Mann am Telefon

In diesen Videos wird gezeigt, wie Sie Ihren Prompt mit immer spezifischeren Details überarbeiten können, damit Veo die Ausgabe nach Ihren Wünschen anpasst.

Eingabeaufforderung Generierte Ausgabe
Weniger Details
Die Kamera fährt heran, um eine Nahaufnahme eines verzweifelten Mannes in einem grünen Trenchcoat zu zeigen. Er telefoniert mit einem Wandtelefon mit Wählscheibe und einer grünen Neonleuchte. Es sieht aus wie eine Filmszene.
Mann, der telefoniert.
Mehr Details
Eine filmische Nahaufnahme zeigt einen verzweifelten Mann in einem abgewetzten grünen Trenchcoat, der ein Wählscheibentelefon wählt, das an einer schmutzigen Backsteinmauer angebracht ist und im unheimlichen Schein eines grünen Leuchtreklameschilds steht. Die Kamera fährt näher heran und zeigt die Anspannung in seinem Kiefer und die Verzweiflung in seinem Gesicht, während er versucht, den Anruf zu tätigen. Die geringe Schärfentiefe lenkt den Fokus auf seine gerunzelte Stirn und das schwarze Wählscheibentelefon. Der Hintergrund verschwimmt zu einem Meer aus Neonfarben und undeutlichen Schatten, was ein Gefühl der Dringlichkeit und Isolation erzeugt.
Mann, der telefoniert

Schneeleopard

Eingabeaufforderung Generierte Ausgabe
Einfacher Prompt
Eine niedliche Kreatur mit einem Fell wie ein Schneeleopard geht in einem Winterwald, gerendert im 3D‑Cartoonstil.
Der Schneeleopard ist lethargisch.
Detaillierter Prompt:
Erstelle eine kurze 3D-Animationsszene in einem fröhlichen Cartoonstil. Eine niedliche Kreatur mit schneeleopardenähnlichem Fell, großen ausdrucksstarken Augen und einer freundlichen, runden Form hüpft fröhlich durch einen skurrilen Winterwald. Die Szene sollte runde, schneebedeckte Bäume, sanft fallende Schneeflocken und warmes Sonnenlicht zeigen, das durch die Äste scheint. Die hüpfenden Bewegungen und das breite Lächeln der Kreatur sollten pure Freude vermitteln. Der Ton sollte optimistisch und herzerwärmend sein. Die Farben sollten hell und fröhlich sein und die Animationen verspielt.
Der Schneeleopard läuft schneller.

Beispiele nach Textelementen

In diesen Beispielen sehen Sie, wie Sie Ihre Prompts anhand der einzelnen grundlegenden Elemente optimieren können.

Thema und Kontext

Geben Sie den Hauptfokus (Motiv) und den Hintergrund oder die Umgebung (Kontext) an.

Eingabeaufforderung Generierte Ausgabe
Eine architektonische Darstellung eines Apartmentgebäudes aus weißem Beton mit fließenden organischen Formen, das nahtlos in üppiges Grün und futuristische Elemente übergeht Platzhalter.
Ein Satellit, der durch das Weltall schwebt, mit dem Mond und einigen Sternen im Hintergrund. Satellit, der in der Atmosphäre schwebt.

Aktion

Geben Sie an, was das Motiv tut (z.B. gehen, laufen oder den Kopf drehen).

Eingabeaufforderung Generierte Ausgabe
Eine Weitwinkelaufnahme einer Frau, die am Strand entlanggeht und bei Sonnenuntergang zufrieden und entspannt auf den Horizont blickt. Der Sonnenuntergang ist wunderschön.

Stil

Fügen Sie Keywords hinzu, um die Generierung in eine bestimmte Richtung zu lenken, z.B. surreal, Vintage, futuristisch oder Film noir.

Eingabeaufforderung Generierte Ausgabe
Film-noir-Stil, Mann und Frau gehen auf der Straße, Mystery, filmisch, schwarz-weiß. Der Film-noir-Stil ist wunderschön.

Kamerabewegung und Bildkomposition

Geben Sie an, wie sich die Kamera bewegen soll (POV-Aufnahme, Luftaufnahme, Drohnenaufnahme mit Nachverfolgungsfunktion) und wie die Aufnahme gerahmt werden soll (Weitwinkelaufnahme, Nahaufnahme, Froschperspektive).

Eingabeaufforderung Generierte Ausgabe
Eine POV-Aufnahme aus einem Oldtimer, der nachts im Regen in Kanada fährt, filmreif. Der Sonnenuntergang ist wunderschön.
Extrem nah aufgenommenes Auge, in dem sich eine Stadt spiegelt. Der Sonnenuntergang ist wunderschön.

Ambiente

Farbpaletten und Beleuchtung beeinflussen die Stimmung. Verwenden Sie Begriffe wie „gedämpftes Orange, warme Farbtöne“, „natürliches Licht“, „Sonnenaufgang“ oder „kühle Blautöne“.

Eingabeaufforderung Generierte Ausgabe
Nahaufnahme eines Mädchens, das einen niedlichen Golden Retriever-Welpen im Park hält, Sonnenlicht. Ein Welpe in den Armen eines jungen Mädchens.
Kinoreife Nahaufnahme einer traurigen Frau, die im Regen mit dem Bus fährt, kühle Blautöne, traurige Stimmung. Eine Frau, die mit dem Bus fährt und traurig aussieht.

Negative Prompts

Mit negativen Prompts geben Sie Elemente an, die nicht im Video enthalten sein sollen.

  • ❌ Verwenden Sie keine Formulierungen wie keine oder nicht. (z. B. mit der „Keine Wände“).
  • ✅ Beschreiben Sie, was Sie nicht sehen möchten. (z. B. mit der „Wand, Rahmen“).
Eingabeaufforderung Generierte Ausgabe
Ohne negativen Prompt
Erstelle eine kurze, stilisierte Animation einer großen, einzelnen Eiche, deren Blätter im starken Wind wehen… [truncated]
Baum mit Wörtern.
Mit negativem Prompt:
[Same prompt]

Negativer Prompt: urbaner Hintergrund, von Menschen geschaffene Strukturen, dunkle, stürmische oder bedrohliche Atmosphäre.
Baum ohne negative Wörter.

Seitenverhältnisse

Mit Veo können Sie das Seitenverhältnis für Ihr Video festlegen.

Eingabeaufforderung Generierte Ausgabe
Widescreen (16:9)
Erstelle ein Video mit einer Tracking-Drohnenansicht eines Mannes, der in den 1970er-Jahren in Palm Springs in einem roten Cabrio fährt. Warmes Sonnenlicht, lange Schatten.
Ein Mann fährt in einem roten Cabrio in Palm Springs, im Stil der 1970er-Jahre.
Hochformat (9:16)
Erstelle ein Video, das die sanfte Bewegung eines majestätischen hawaiianischen Wasserfalls in einem üppigen Regenwald zeigt. Konzentriere dich auf einen realistischen Wasserfluss, detaillierte Blätter und natürliche Beleuchtung, um Ruhe zu vermitteln. Nehmen Sie das rauschende Wasser, die neblige Atmosphäre und das gefleckte Sonnenlicht auf, das durch das dichte Blätterdach dringt. Verwende sanfte, filmische Kamerabewegungen, um den Wasserfall und seine Umgebung zu präsentieren. Der Ton sollte ruhig und realistisch sein und den Zuschauer in die friedliche Schönheit des hawaiianischen Regenwalds entführen.
Ein majestätischer hawaiianischer Wasserfall in einem üppigen Regenwald.

Beschränkungen

  • Anfragelatenz:Min.: 11 Sekunden; Max.: 6 Minuten (während der Stoßzeiten).
  • Regionale Einschränkungen:In der EU, im Vereinigten Königreich, in der Schweiz und in der MENA-Region sind die folgenden Werte für personGeneration zulässig:
    • Veo 3: Nur allow_adult.
    • Veo 2: dont_allow und allow_adult. Der Standardwert ist dont_allow.
  • Videoaufbewahrung:Generierte Videos werden 2 Tage lang auf dem Server gespeichert und dann entfernt. Wenn Sie eine lokale Kopie speichern möchten, müssen Sie Ihr Video innerhalb von zwei Tagen nach der Erstellung herunterladen. Verlängerte Videos werden als neu generierte Videos behandelt.
  • Wasserzeichen:Mit Veo erstellte Videos werden mit SynthID mit Wasserzeichen versehen. SynthID ist unser Tool zum Kennzeichnen und Identifizieren von KI-generierten Inhalten. Videos können über die SynthID-Bestätigungsplattform überprüft werden.
  • Sicherheit:Generierte Videos werden durch Sicherheitsfilter und Prozesse zur Überprüfung der Speicherung geleitet, um Risiken in Bezug auf Datenschutz, Urheberrecht und Voreingenommenheit zu minimieren.
  • Audiofehler:Veo 3.1 verhindert manchmal die Generierung eines Videos aufgrund von Sicherheitsfiltern oder anderen Verarbeitungsproblemen mit dem Audio. Wenn die Erstellung Ihres Videos blockiert wird, entstehen Ihnen keine Kosten.

Modellfunktionen

Funktion Beschreibung Veo 3.1 und Veo 3.1 Fast Veo 3 und Veo 3 Fast Veo 2
Audio Audio wird nativ mit Video generiert. Audio wird nativ mit Video generiert. ✔️ Immer aktiv ❌ Nur stumm
Eingabemodalitäten Der Eingabetyp, der für die Generierung verwendet wird. Video aus Text, Video aus Bild, Video aus Video Video aus Text, Video aus Bild Video aus Text, Video aus Bild
Lösung Die Ausgabeauflösung des Videos. 720p und 1080p (nur 8 Sekunden lang)

720p nur bei Verwendung der Videoerweiterung.
720p und 1080p (nur 16:9) 720p
Framerate Die Ausgabeframerate des Videos. 24 fps 24 fps 24 fps
Videodauer Länge des generierten Videos. 8 Sekunden, 6 Sekunden, 4 Sekunden
8 Sekunden nur bei Verwendung von Referenzbildern
8 Sekunden 5–8 Sekunden
Videos pro Anfrage Anzahl der Videos, die pro Anfrage generiert werden. 1 1 1 oder 2
Status und Details Modellverfügbarkeit und weitere Details Vorschau Stabil Stabil

Modellversionen

Weitere Informationen zur Nutzung des Veo-Modells finden Sie auf den Seiten Preise und Ratenbeschränkungen.

Veo 3.1 (Vorabversion)

Attribut Beschreibung
Modellcode

Gemini API

veo-3.1-generate-preview

Unterstützte Datentypen

Eingabe

Text, Bild

Ausgabe

Video mit Audio

-Limits

Texteingabe

1.024 Tokens

Ausgabe-Video

1

Letzte Aktualisierung September 2025

Veo 3.1 Fast (Vorabversion)

Attribut Beschreibung
Modellcode

Gemini API

veo-3.1-fast-generate-preview

Unterstützte Datentypen

Eingabe

Text, Bild

Ausgabe

Video mit Audio

-Limits

Texteingabe

1.024 Tokens

Ausgabe-Video

1

Letzte Aktualisierung September 2025

Veo 3

Attribut Beschreibung
Modellcode

Gemini API

veo-3.0-generate-001

Unterstützte Datentypen

Eingabe

Text, Bild

Ausgabe

Video mit Audio

-Limits

Texteingabe

1.024 Tokens

Ausgabe-Video

1

Letzte Aktualisierung Juli 2025

Veo 3 Fast

Mit Veo 3 Fast können Entwickler Videos mit Ton erstellen, die eine hohe Qualität aufweisen und für Schnelligkeit und geschäftliche Anwendungsfälle optimiert sind. Es eignet sich ideal für Backend-Dienste, mit denen programmatisch Anzeigen generiert werden, für Tools zum schnellen A/B-Testen von kreativen Konzepten oder für Apps, mit denen schnell Inhalte für soziale Medien erstellt werden müssen.
Attribut Beschreibung
Modellcode

Gemini API

veo-3.0-fast-generate-001

Unterstützte Datentypen

Eingabe

Text, Bild

Ausgabe

Video mit Audio

-Limits

Texteingabe

1.024 Tokens

Ausgabe-Video

1

Letzte Aktualisierung Juli 2025

Veo 2

Attribut Beschreibung
Modellcode

Gemini API

veo-2.0-generate-001

Unterstützte Datentypen

Eingabe

Text, Bild

Ausgabe

Video

-Limits

Texteingabe

Bildeingabe

Beliebige Bildauflösung und beliebiges Seitenverhältnis bis zu einer Dateigröße von 20 MB

Ausgabe-Video

Bis zu 2

Letzte Aktualisierung April 2025

Nächste Schritte