Veo in der Vertex AI API

Veo ist der Name des Modells, das die Videogenerierung unterstützt. Veo generiert ein Video aus einem Text-Prompt oder einem Bild-Prompt (/products#product-launch-stages), den Sie bereitstellen.

Weitere Informationen zu diesem Modell finden Sie in der Console auf der Video Generation-Modellkarte in Model Garden.

Veo in Vertex AI (Vertex AI Studio) ausprobieren

Veo in einem Colab-Notebook testen

Zugriff anfordern: Experimentelle Funktionen

Unterstützte Modelle

Modell Modell-ID
Videoerstellung veo-2.0-generate-001

HTTP-Anfrage

POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning

Anfragetext

{
  "instances": [
    {
      "prompt": string,
      // Optional. An image to guide video generation.
      "image": {
        // Union field can be only one of the following:
        "bytesBase64Encoded": string,
        "gcsUri": string,
        // End of list of possible types for union field.
        "mimeType": string
      }
    }
  ],
  "parameters": {
    "aspectRatio": string,
    "negativePrompt": string,
    "personGeneration": string,
    "sampleCount": integer,
    "seed": uint32,
    "storageUri": string,
    "durationSeconds": integer,
    "enhancePrompt": boolean
  }
}

Verwenden Sie die folgenden Parameter für das Veo-Modell. Weitere Informationen finden Sie unter Videos mit Text- und Bild-Prompts mit Veo generieren.

Parameter Beschreibung Typ Zulässige Werte und Beschreibung
Image Obligatorisch (Bild-zu-Video)
Optional, wenn ein Text-Prompt angegeben wird (Text-zu-Video)

Bildeingabe als Anleitung für die Videoerstellung.
String
  1. Base64-codierter Bildbyte-String oder
  1. URI des Cloud Storage-Buckets

Empfohlen: 1280 × 720 Pixel oder 720 × 1280 Pixel

Wenn das Seitenverhältnis des Bildes abweicht, wird es mit einem mittleren Zuschneidetool zugeschnitten.
Wenn das Seitenverhältnis des Bildes gleich ist, die Auflösung aber größer ist, wird die Bildgröße angepasst.
prompt Obligatorisch (Text-zu-Video)
Optional, wenn ein Prompt für die Eingabe des Bildes angegeben wird (Bild-zu-Video)

Ein Textstring, der die ersten acht Sekunden des Videos (veo-2.0-generate-001) angibt.
String Beliebige Textzeichenfolge zur Steuerung der Videoerstellung. Beispiel:

  • Eine schnelle Aufnahme durch eine geschäftige, dystopische Gegend mit hellen Neonschildern, fliegenden Autos und Nebel, Nacht, Blendenflecke und Volumenbeleuchtung
  • Neon-Hologramm eines Autos, das mit hoher Geschwindigkeit, Lichtgeschwindigkeit, Kino, unglaublichen Details, Volumenbeleuchtung
  • Viele gepunktete Quallen pulsieren unter Wasser. Ihre Körper sind transparent und leuchten in der Tiefsee.
  • Extreme Nahaufnahme mit geringer Tiefe einer Pfütze in einer Straße, die die geschäftige futuristische Stadt Tokio mit leuchtenden Neonschildern, Nacht und Blendenlicht widerspiegelt
  • Zeitraffer der Polarlichter, die über den arktischen Himmel tanzen, funkelnde Sterne, schneebedeckte Landschaft
  • Ein einsamer Cowboy reitet auf seinem Pferd bei schönem Sonnenuntergang, weiches Licht und warme Farben, über eine offene Ebene
durationSeconds (Dauer in Sekunden) Erforderlich
Die Länge der Videodateien, die Sie generieren möchten.
integer Zulässige Ganzzahlwerte sind 5–8. Der Standardwert ist 8.
negativePrompt Optional
Ein Textstring, der alles beschreibt, was das Modell nicht generieren soll.
String Ein beliebiger Textstring, mit dem das Modell angewiesen wird, keine generierten Videos zu verwenden. Beispiel:

  • Deckenbeleuchtung, helle Farben
  • Menschen, Tiere
  • mehrere Autos, Wind
verbessernPrompt Optional
Nutzen Sie Gemini, um Ihre Prompts zu verbessern.
boolean Zulässige Werte sind yes und no. Der Standardwert ist yes.
Quelle Optional
Eine Zahl, die angefordert wird, um generierte Videos deterministisch zu machen.

Wenn Sie Ihrer Anfrage eine Startnummer hinzufügen, ohne andere Parameter zu ändern, erstellt das Modell dieselben Videos.
uint32 0–4.294.967.295
SpeicherURI Optional
Ein Cloud Storage-Bucket-URI zum Speichern des Ausgabevideos.

Wenn nicht angegeben, werden in der Antwort base64-codierte Videobyte zurückgegeben.
String Der Cloud Storage-Speicherort zum Speichern der generierten Videos. Muster: gs://BUCKET_NAME/SUBDIRECTORY
SampleCount Optional
Die Anzahl der angeforderten Ausgabebilder.
int 1–4
Seitenverhältnis Optional
Definiert das Seitenverhältnis des generierten Videos.
String 16:9 (Standard, Querformat)
9:16 (Hochformat)
personGeneration Optional
Die Sicherheitseinstellung, mit der festgelegt wird, ob Personen oder Gesichter generiert werden dürfen.
String allow_adult (Standardwert): Erstellung nur für Erwachsene zulassen
dont_allow: keine Personen/Gesichter in Bildern enthalten

Beispielanfrage

Verwenden Sie die folgenden Anfragen, um eine Text-zu-Video- oder Bild-zu-Video-Anfrage zu senden:

Anfrage zur Text-zu-Video-Generierung

REST

Wenn Sie einen Text-Prompt mit der Vertex AI Veo API testen möchten, senden Sie eine POST-Anfrage an den Endpunkt des Publisher-Modells.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Google Cloud Projekt-ID.
  • MODEL_ID: Die zu verwendende Modell-ID. Verfügbare Werte:
    • veo-2.0-generate-001 (GA-Zulassungsliste)
  • TEXT_PROMPT: Der Text-Prompt, der die Videogenerierung steuert.
  • OUTPUT_STORAGE_URI: Optional: Der Cloud Storage-Bucket, in dem die Ausgabevideos gespeichert werden sollen. Wenn keine Angabe gemacht wird, werden Video-Byte in der Antwort zurückgegeben. Beispiel: gs://video-bucket/output/.
  • RESPONSE_COUNT: Die Anzahl der Videodateien, die Sie generieren möchten. Zulässige Ganzzahlwerte: 1–4.
  • DURATION: Die Länge der Videodateien, die Sie generieren möchten. Zulässige Ganzzahlwerte sind 5–8.
  • Zusätzliche optionale Parameter

    Verwenden Sie je nach Anwendungsfall die folgenden optionalen Variablen. Fügen Sie einige oder alle der folgenden Parameter in das Objekt "parameters": {} ein.

    "parameters": {
      "aspectRatio": "ASPECT_RATIO",
      "negativePrompt": "NEGATIVE_PROMPT",
      "personGeneration": "PERSON_SAFETY_SETTING",
      "sampleCount": RESPONSE_COUNT,
      "seed": SEED_NUMBER
    }
    • ASPECT_RATIO: String. Optional. Definiert das Seitenverhältnis der generierten Videos. Werte: 16:9 (Standard, Querformat) oder 9:16 (Hochformat).
    • NEGATIVE_PROMPT: String. Optional. Ein Textstring, der beschreibt, was das Modell nicht generieren soll.
    • PERSON_SAFETY_SETTING: String. Optional. Die Sicherheitseinstellung, die bestimmt, ob die Erstellung von Personen oder Gesichtern zulässig ist. Werte:
      • allow_adult (Standardwert): Es dürfen nur Erwachsene generiert werden.
      • disallow: Verhindert, dass Personen oder Gesichter in Bildern zu sehen sind.
    • RESPONSE_COUNT: int. Optional. Die Anzahl der angeforderten Ausgabebilder. Werte: 14.
    • SEED_NUMBER: uint32. Optional. Eine Zahl, die generierte Videos deterministisch macht. Wenn Sie eine Quell-Nummer in Ihrer Anfrage angeben, ohne andere Parameter zu ändern, wird das Modell angewiesen, dieselben Videos zu erstellen. Werte: 04294967295.

HTTP-Methode und URL:

POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning

JSON-Text der Anfrage:

{
  "instances": [
    {
      "prompt": "TEXT_PROMPT"
    }
  ],
  "parameters": {
    "storageUri": "OUTPUT_STORAGE_URI",
    "sampleCount": "RESPONSE_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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning"

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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning" | Select-Object -Expand Content
Diese Anfrage gibt einen vollständigen Vorgangsnamen mit einer eindeutigen Vorgangs-ID zurück. Verwenden Sie diesen vollständigen Vorgangsnamen, um den Status der Videogenerierungsanfrage abzufragen.
{
  "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
}

Anfrage zur Bild-zu-Video-Generierung

REST

Wenn Sie einen Text-Prompt mit der Vertex AI Veo API testen möchten, senden Sie eine POST-Anfrage an den Endpunkt des Publisher-Modells.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Google Cloud Projekt-ID.
  • MODEL_ID: Die zu verwendende Modell-ID. Verfügbare Werte:
    • veo-2.0-generate-001 (GA-Zulassungsliste)
  • TEXT_PROMPT: Der Text-Prompt, der die Videogenerierung steuert.
  • INPUT_IMAGE: Base64-codierter Byte-String, der das Eingabebild darstellt. Für eine gute Qualität sollte das Eingabebild eine Auflösung von mindestens 720p (1.280 × 720 Pixel) und ein Seitenverhältnis von 16:9 oder 9:16 haben. Bilder mit anderen Seitenverhältnissen oder Größen werden beim Hochladen unter Umständen in der Größe angepasst oder mittig zugeschnitten.
  • MIME_TYPE: Der MIME-Typ des Eingabebilds. Es werden nur Bilder der folgenden MIME-Typen unterstützt: image/jpeg oder image/png.
  • OUTPUT_STORAGE_URI: Optional: Der Cloud Storage-Bucket, in dem die Ausgabevideos gespeichert werden sollen. Wenn keine Angabe gemacht wird, werden Video-Byte in der Antwort zurückgegeben. Beispiel: gs://video-bucket/output/.
  • RESPONSE_COUNT: Die Anzahl der Videodateien, die Sie generieren möchten. Zulässige Ganzzahlwerte: 1–4.
  • DURATION: Die Länge der Videodateien, die Sie generieren möchten. Zulässige Ganzzahlwerte sind 5–8.
  • Zusätzliche optionale Parameter

    Verwenden Sie je nach Anwendungsfall die folgenden optionalen Variablen. Fügen Sie einige oder alle der folgenden Parameter in das Objekt "parameters": {} ein.

    "parameters": {
      "aspectRatio": "ASPECT_RATIO",
      "negativePrompt": "NEGATIVE_PROMPT",
      "personGeneration": "PERSON_SAFETY_SETTING",
      "sampleCount": RESPONSE_COUNT,
      "seed": SEED_NUMBER
    }
    • ASPECT_RATIO: String. Optional. Definiert das Seitenverhältnis der generierten Videos. Werte: 16:9 (Standard, Querformat) oder 9:16 (Hochformat).
    • NEGATIVE_PROMPT: String. Optional. Ein Textstring, der beschreibt, was das Modell nicht generieren soll.
    • PERSON_SAFETY_SETTING: String. Optional. Die Sicherheitseinstellung, die bestimmt, ob die Erstellung von Personen oder Gesichtern zulässig ist. Werte:
      • allow_adult (Standardwert): Es dürfen nur Erwachsene generiert werden.
      • disallow: Verhindert, dass Personen oder Gesichter in Bildern zu sehen sind.
    • RESPONSE_COUNT: int. Optional. Die Anzahl der angeforderten Ausgabebilder. Werte: 14.
    • SEED_NUMBER: uint32. Optional. Eine Zahl, die generierte Videos deterministisch macht. Wenn Sie eine Quell-Nummer in Ihrer Anfrage angeben, ohne andere Parameter zu ändern, wird das Modell angewiesen, dieselben Videos zu erstellen. Werte: 04294967295.

HTTP-Methode und URL:

POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning

JSON-Text der Anfrage:

{
  "instances": [
    {
      "prompt": "TEXT_PROMPT",
      "image": {
        "bytesBase64Encoded": "INPUT_IMAGE",
        "mimeType": "MIME_TYPE"
      }
    }
  ],
  "parameters": {
    "storageUri": "OUTPUT_STORAGE_URI",
    "sampleCount": RESPONSE_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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning"

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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning" | Select-Object -Expand Content
Diese Anfrage gibt einen vollständigen Vorgangsnamen mit einer eindeutigen Vorgangs-ID zurück. Verwenden Sie diesen vollständigen Vorgangsnamen, um den Status der Videogenerierungsanfrage abzufragen.
{
  "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
}

Status des lang andauernden Vorgangs zur Videogenerierung abfragen

Prüfen Sie den Status des lang andauernden Vorgangs zur Videogenerierung.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Google Cloud Projekt-ID.
  • MODEL_ID: Die zu verwendende Modell-ID. Verfügbare Werte:
    • veo-2.0-generate-001 (GA-Zulassungsliste)
  • OPERATION_ID: Die eindeutige Vorgangs-ID, die in der ursprünglichen Anfrage zur Videogenerierung zurückgegeben wurde.

HTTP-Methode und URL:

POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:fetchPredictOperation

JSON-Text der Anfrage:

{
  "operationName": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID"
}

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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:fetchPredictOperation"

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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:fetchPredictOperation" | Select-Object -Expand Content
Diese Anfrage gibt Informationen zum Vorgang zurück, z. B. ob er noch läuft oder abgeschlossen ist.

Antworttext (Videoanfrage generieren)

Wenn Sie eine Text-zu-Video- oder Bild-zu-Video-Anfrage senden, wird die folgende Antwort zurückgegeben:

{
  "name": string
}
Antwortelement Beschreibung
name Der vollständige Vorgangsname des lang andauernden Vorgangs, der beginnt, nachdem eine Anfrage zur Videogenerierung gesendet wurde.

Beispielantwort (Videoanfrage generieren)

{
  "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID"
}

Antworttext (lang andauernden Vorgang abfragen)

Wenn Sie den Status des ursprünglichen Vorgangs mit langer Ausführungszeit der Videogenerierung abfragen, wird die folgende Antwort zurückgegeben:

{
   "name": string,
   "done": boolean,
   "response":{
      "@type":"type.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponse",
      "generatedSamples":[
         {
            "video":
            {
               "uri": string,
               "encoding": string
            }
         },
         {
            "video":
            {
               "uri": string,
               "encoding": string
            }
         },
         {
            "video":
            {
               "uri": string,
               "encoding": string
            }
         },
         {
            "video":
            {
               "uri": string,
               "encoding": string
            }
         },
      ]
   }
}
Antwortelement Beschreibung
name Der vollständige Vorgangsname des lang andauernden Vorgangs, der beginnt, nachdem eine Anfrage zur Videogenerierung gesendet wurde.
done Ein boolescher Wert, der angibt, ob der Vorgang abgeschlossen ist.
response Der Antworttext des lang andauernden Vorgangs.
generatedSamples Ein Array der generierten Videobeispielobjekte.
video Das generierte Video.
uri Der Cloud Storage-URI des generierten Videos.
encoding Der Videocodierungstyp.

Beispielantwort (Vorgang mit langer Ausführungszeit abfragen)

{
   "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID",
   "done":true,
   "response":{
      "@type":"type.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponse",
      "generatedSamples":[
         {
            "video":{
               "uri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_0.mp4",
               "encoding":"video/mp4"
            }
         },
         {
            "video":{
               "uri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_1.mp4",
               "encoding":"video/mp4"
            }
         },
         {
            "video":{
               "uri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_2.mp4",
               "encoding":"video/mp4"
            }
         },
         {
            "video":{
               "uri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_3.mp4",
               "encoding":"video/mp4"
            }
         }
      ]
   }
}

Weitere Informationen

Nächste Schritte