Mit Gemini Omni oder Veo auf der Gemini Enterprise Agent Platform können Sie neue Videos generieren, bei denen ein vorhandenes Bild als erster Frame verwendet wird. Die Funktion „Erster Frame des Bildes für Video“ ist über Gemini Enterprise Agent Platform Media Studio oder die Gemini Enterprise Agent Platform Videogenerierungs-API verfügbar.
Die folgenden Modelle unterstützen die Generierung von Videos aus einem Bild:
Gemini Omni
Klicken Sie, um unterstützte Modelle zu maximieren.
Veo
Klicken, um unterstützte Modelle einzublenden
Weitere Informationen zum Schreiben effektiver Text-Prompts für die Videogenerierung finden Sie im Leitfaden zu Prompts für die Videogenerierung.
Gemini Omni Flash in einem Colab ausprobieren
Hinweis
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Enable the Agent Platform API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Richten Sie die Authentifizierung für Ihre Umgebung ein.
Wählen Sie den Tab für die gewünschte Verwendung der Beispiele auf dieser Seite aus:
Console
Wenn Sie über die Cloud de Confiance Console auf Dienste und APIs von Cloud de Confiance by S3NS zugreifen, müssen Sie die Authentifizierung nicht einrichten.
REST
Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.
Installieren Sie die Google Cloud CLI und melden Sie sich dann mit Ihrer föderierten Identität in der gcloud CLI an.
Weitere Informationen finden Sie in der Dokumentation zur Cloud de Confiance -Authentifizierung unter Für die Verwendung von REST authentifizieren.
Mit Gemini Omni Videos aus einem Bild generieren
REST
Die Videogenerierung kann mehr als eine Minute dauern. Je nach Workflow können Sie zwischen verschiedenen Interaktionsmodi wählen:
- Synchron: zustandslos: Generieren Sie ein Video in einer einzigen Anfrage, ohne den Interaktionsstatus auf dem Server beizubehalten.
- Synchron: statusbehaftet: Setzen Sie
storeauftrue, um den Interaktionsstatus beizubehalten. So können Sie das Ergebnis später abrufen oder die Interaktions-ID für die Videobearbeitung in mehreren Schritten verwenden. - Synchron: Stateful-Streaming: Setzen Sie sowohl
storeals auchstreamauftrue, um die Gedanken des Modells inkrementell zu empfangen, sobald sie generiert werden, gefolgt vom Ausgabevideo. - Asynchron: Setzen Sie
backgroundauftrue, um die Videogenerierung im Hintergrund auszuführen und das Ergebnis später über die Interaktions-ID abzurufen.
Gespeicherte und asynchrone Interaktionen werden bis zu 14 Tage lang aufbewahrt.
Weitere Informationen zur Verwendung der Gemini Omni Flash API finden Sie unter Interactions API.
Synchron: zustandslos
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
-
PROJECT_ID: Ein String, der Ihre Cloud de Confiance by S3NS Projekt-ID darstellt. -
MODEL_ID: Ein String, der die zu verwendende Modell-ID darstellt. Folgende Werte sind zulässig:"gemini-omni-1.1-flash-preview"
-
TEXT_PROMPT: Der Text-Prompt, der für die Videogenerierung verwendet wird. -
CLOUD_STORAGE_INPUT_URI: Ein String, der den Cloud Storage-Bucket darstellt, der die Eingabemedien enthält. Beispiel:"gs://video-bucket/input/" -
CLOUD_STORAGE_OUTPUT_URI: Optional: Ein String, der den Cloud Storage-Bucket darstellt, in dem die Ausgabevideos gespeichert werden sollen. Wenn nicht angegeben, werden Videobytes in der Antwort zurückgegeben. Beispiel:"gs://video-bucket/output/" -
ASPECT_RATIO: Optional: Ein String, der das erwartete Seitenverhältnis des Ausgabevideos darstellt. Wenn kein Wert angegeben wird, wird das Seitenverhältnis aus dem Prompt abgeleitet. Folgende Werte sind zulässig:"16:9""9:16"
-
OUTPUT_RESOLUTION:Optional: Ein String, der die Auflösung der Videoausgabe darstellt. Wenn nichts angegeben ist, wird standardmäßig 720p verwendet.
gemini-omni-1.1-flash-previewunterstützt die folgenden Werte:"360p""720p""1080p""4k"
gemini-omni-flash-previewunterstützt nur"720p". -
DURATION: Ein String, der die Länge der generierten Videodateien darstellt. Zulässige Strings sind Ganzzahlen zwischen3und10, gefolgt von „s“ für Sekunden. Beispiel:"10s"
HTTP-Methode und URL:
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions
JSON-Text der Anfrage:
{
"model": "MODEL_ID",
"input": [
{
"type": "text",
"text": "TEXT_PROMPT"
},
{
"type": "image",
"uri": "CLOUD_STORAGE_INPUT_URI",
"mime_type": "image/png"
}
],
"response_format": [
{
"type": "video",
"delivery": "uri",
"gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
"aspect_ratio": "ASPECT_RATIO",
"resolution": "OUTPUT_RESOLUTION",
"duration": "DURATION"
}
],
"generation_config": {
"video_config": {
"task": "image_to_video"
}
}
}
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 TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
$headers = @{ "Authorization" = "Bearer TOKEN" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions" | Select-Object -Expand Content
{
"id":"INTERACTION_ID",
"model":"gemini-omni-flash-preview",
"status":"completed",
"usage":{
"total_tokens":479,
"total_input_tokens":26,
"input_tokens_by_modality":[
{
"modality":"text",
"tokens":26
},
{
"modality":"image",
"tokens":124
}
],
"output_tokens_by_modality": [
{
"modality": "video",
"tokens": 28832
}
],
"total_output_tokens":28832,
"total_thought_tokens":453
},
"steps":[
{
"type":"thought",
"summary":[
{
"type":"text",
"text":"MODEL THOUGHTS"
}
],
},
{
"type":"model_output",
"content":[
{
"type":"video",
"uri":"gs://some/output_path/123.mp4",
"mime_type":"video/mp4"
}
]
}
],
"object":"interaction"
"role":"model",
"created":"2026-05-29T02:17:56Z",
"updated":"2026-05-29T02:17:56Z",
}
Synchron: zustandsbehaftet
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
-
PROJECT_ID: Ein String, der Ihre Cloud de Confiance by S3NS -Projekt-ID darstellt. -
MODEL_ID: Ein String, der die zu verwendende Modell-ID darstellt. Folgende Werte sind zulässig:"gemini-omni-1.1-flash-preview"
-
TEXT_PROMPT: Der Text-Prompt, der für die Videogenerierung verwendet wird. -
CLOUD_STORAGE_INPUT_URI: Ein String, der den Cloud Storage-Bucket darstellt, der die Eingabemedien enthält. Beispiel:"gs://video-bucket/input/" -
CLOUD_STORAGE_OUTPUT_URI: Optional: Ein String, der den Cloud Storage-Bucket darstellt, in dem die Ausgabevideos gespeichert werden sollen. Wenn nicht angegeben, werden Videobytes in der Antwort zurückgegeben. Beispiel:"gs://video-bucket/output/" -
ASPECT_RATIO: Optional: Ein String, der das erwartete Seitenverhältnis des Ausgabevideos darstellt. Wenn kein Wert angegeben wird, wird das Seitenverhältnis aus dem Prompt abgeleitet. Folgende Werte sind zulässig:"16:9""9:16"
-
OUTPUT_RESOLUTION:Optional: Ein String, der die Auflösung der Videoausgabe darstellt. Wenn nichts angegeben ist, wird standardmäßig 720p verwendet.
gemini-omni-1.1-flash-previewunterstützt die folgenden Werte:"360p""720p""1080p""4k"
gemini-omni-flash-previewunterstützt nur"720p". -
DURATION: Ein String, der die Länge der generierten Videodateien darstellt. Zulässige Strings sind Ganzzahlen zwischen3und10, gefolgt von „s“ für Sekunden. Beispiel:"10s"
HTTP-Methode und URL:
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions
JSON-Text der Anfrage:
{
"model": "MODEL_ID",
"background": false,
"store": true,
"stream": false,
"input": [
{
"type": "user_input",
"content": [
{
"type": "text",
"text": "TEXT_PROMPT"
},
{
"type": "image",
"uri": "CLOUD_STORAGE_INPUT_URI",
"mime_type": "image/png"
}
]
}
],
"response_format": [
{
"type": "video",
"delivery": "uri",
"gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
"aspect_ratio": "ASPECT_RATIO",
"resolution": "OUTPUT_RESOLUTION",
"duration": "DURATION"
}
]
}
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 TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
$headers = @{ "Authorization" = "Bearer TOKEN" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions" | Select-Object -Expand Content
{
"id":"INTERACTION_ID",
"model":"gemini-omni-flash-preview",
"status":"completed",
"usage":{
"total_tokens":479,
"total_input_tokens":26,
"input_tokens_by_modality":[
{
"modality":"text",
"tokens":26
},
{
"modality":"image",
"tokens":124
}
],
"output_tokens_by_modality": [
{
"modality": "video",
"tokens": 28832
}
],
"total_output_tokens":28832,
"total_thought_tokens":453
},
"steps":[
{
"type":"thought",
"summary":[
{
"type":"text",
"text":"MODEL THOUGHTS"
}
],
},
{
"type":"model_output",
"content":[
{
"type":"video",
"uri":"gs://some/output_path/123.mp4",
"mime_type":"video/mp4"
}
]
}
],
"object":"interaction",
"role":"model",
"created":"2026-05-29T02:17:56Z",
"updated":"2026-05-29T02:17:56Z",
}
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
-
PROJECT_ID: Ein String, der Ihre Projekt-ID in Cloud de Confiance by S3NS darstellt. -
INTERACTION_ID: Die Interaktions-ID aus der asynchronen Anfrage.
HTTP-Methode und URL:
GET https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer TOKEN" \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID"
PowerShell
Führen Sie diesen Befehl aus:
$headers = @{ "Authorization" = "Bearer TOKEN" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID" | Select-Object -Expand Content
{
"id":"INTERACTION_ID",
"model":"gemini-omni-flash-preview",
"status":"completed",
"usage":{
"total_tokens":479,
"total_input_tokens":26,
"input_tokens_by_modality":[
{
"modality":"text",
"tokens":26
},
{
"modality":"image",
"tokens":124
}
],
"output_tokens_by_modality": [
{
"modality": "video",
"tokens": 28832
}
],
"total_output_tokens":28832,
"total_thought_tokens":453
},
"steps":[
{
"type": "user_input",
"content": [
{
"type": "text",
"text": "5 second, 9:16 video. Use the image as the first frame."
},
{
"type": "image",
"uri": "gs://some/path",
"mime_type": "image/png"
}
]
},
{
"type":"thought"
"summary":[
{
"type":"text",
"text":"MODEL THOUGHTS"
}
],
},
{
"type":"model_output",
"content":[
{
"type":"video",
"data":"VIDEO DATA",
"mime_type":"video/mp4"
}
]
}
],
"object":"interaction"
"role":"model",
"created":"2026-05-29T02:17:56Z",
"updated":"2026-05-29T02:17:56Z",
}
Synchron: Stateful Streaming
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
-
PROJECT_ID: Ein String, der Ihre Cloud de Confiance by S3NS -Projekt-ID darstellt. -
MODEL_ID: Ein String, der die zu verwendende Modell-ID darstellt. Folgende Werte sind zulässig:"gemini-omni-1.1-flash-preview"
-
TEXT_PROMPT: Der Text-Prompt, der für die Videogenerierung verwendet wird. -
CLOUD_STORAGE_INPUT_URI: Ein String, der den Cloud Storage-Bucket darstellt, der die Eingabemedien enthält. Beispiel:"gs://video-bucket/input/" -
CLOUD_STORAGE_OUTPUT_URI: Optional: Ein String, der den Cloud Storage-Bucket darstellt, in dem die Ausgabevideos gespeichert werden sollen. Wenn nicht angegeben, werden Videobytes in der Antwort zurückgegeben. Beispiel:"gs://video-bucket/output/" -
ASPECT_RATIO: Optional: Ein String, der das erwartete Seitenverhältnis des Ausgabevideos darstellt. Wenn kein Wert angegeben wird, wird das Seitenverhältnis aus dem Prompt abgeleitet. Folgende Werte sind zulässig:"16:9""9:16"
-
OUTPUT_RESOLUTION:Optional: Ein String, der die Auflösung der Videoausgabe darstellt. Wenn nichts angegeben ist, wird standardmäßig 720p verwendet.
gemini-omni-1.1-flash-previewunterstützt die folgenden Werte:"360p""720p""1080p""4k"
gemini-omni-flash-previewunterstützt nur"720p". -
DURATION: Ein String, der die Länge der generierten Videodateien darstellt. Zulässige Strings sind Ganzzahlen zwischen3und10, gefolgt von „s“ für Sekunden. Beispiel:"10s"
HTTP-Methode und URL:
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions
JSON-Text der Anfrage:
{
"model": "MODEL_ID",
"background": false,
"store": true,
"stream": true,
"input": [
{
"type": "user_input",
"content": [
{
"type": "text",
"text": "TEXT_PROMPT"
},
{
"type": "image",
"uri": "CLOUD_STORAGE_INPUT_URI",
"mime_type": "image/png"
}
]
}
],
"response_format": [
{
"type": "video",
"delivery": "uri",
"gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
"aspect_ratio": "ASPECT_RATIO",
"resolution": "OUTPUT_RESOLUTION",
"duration": "DURATION"
}
]
}
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 TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
$headers = @{ "Authorization" = "Bearer TOKEN" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions" | Select-Object -Expand Content
event: interaction.created
data: {"interaction":{"id":"INTERACTION_ID","status":"in_progress","object":"interaction","model":"gemini-omni-flash-preview"},"event_type":"interaction.created"}
event: interaction.status_update
data: {"interaction_id":"INTERACTION_ID","status":"in_progress","event_type":"interaction.status_update"}
event: step.start
data: {"index":0,"step":{"type":"thought"},"event_type":"step.start"}
event: step.delta
data: {"index":0,"delta":{"content":{"text":"MODEL THOUGHTS","type":"text"},"type":"thought_summary"},"event_id":"EVENT_ID","event_type":"step.delta"}
event: step.delta
data: {"index":0,"delta":{"content":{"text":"MODEL THOUGHTS","type":"text"},"type":"thought_summary"},"event_id":"EVENT_ID","event_type":"step.delta"}
event: step.delta
data: {"index":0,"delta":{"signature":"...","type":"thought_signature"},"event_type":"step.delta"}
event: step.stop
data: {"index":0,"event_type":"step.stop"}
event: step.start
data: {"index":1,"step":{"type":"model_output"},"event_type":"step.start"}
event: step.delta
data: {"index":1,"delta":{"mime_type":"video/mp4","uri":"gs://some/output_path/123.mp4","type":"video"},"event_id":"EVENT_ID","event_type":"step.delta"}
event: step.stop
data: {"index":1,"event_type":"step.stop"}
event: interaction.completed
data: {"interaction":{"id":"INTERACTION_ID","status":"completed","usage":{"total_tokens":17812,"total_input_tokens":21,"input_tokens_by_modality":[{"modality":"text","tokens":21}],"total_output_tokens":17376,"output_tokens_by_modality":[{"modality":"video","tokens":17376}],"total_thought_tokens":415},"created":"2026-08-12T21:26:20Z","updated":"2026-08-12T21:26:20Z","event_id":"EVENT_ID","object":"interaction","model":"gemini-omni-flash-preview"},"event_id":"EVENT_ID","event_type":"interaction.completed"}
event: done
data: [DONE]
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
-
PROJECT_ID: Ein String, der Ihre Cloud de Confiance by S3NS Projekt-ID darstellt. -
INTERACTION_ID: Die Interaktions-ID aus der Anfrage.
HTTP-Methode und URL:
GET https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID?stream=true
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer TOKEN" \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID?stream=true"
PowerShell
Führen Sie diesen Befehl aus:
$headers = @{ "Authorization" = "Bearer TOKEN" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID?stream=true" | Select-Object -Expand Content
event: interaction.created
data: {"interaction":{"id":"INTERACTION_ID","status":"in_progress","object":"interaction","model":"gemini-omni-flash-preview"},"event_type":"interaction.created"}
event: interaction.status_update
data: {"interaction_id":"INTERACTION_ID","status":"in_progress","event_type":"interaction.status_update"}
event: step.start
data: {"index":0,"step":{"type":"thought"},"event_type":"step.start"}
event: step.delta
data: {"index":0,"delta":{"content":{"text":"MODEL THOUGHTS","type":"text"},"type":"thought_summary"},"event_id":"EVENT_ID","event_type":"step.delta"}
event: step.delta
data: {"index":0,"delta":{"content":{"text":"MODEL THOUGHTS","type":"text"},"type":"thought_summary"},"event_id":"EVENT_ID","event_type":"step.delta"}
event: step.delta
data: {"index":0,"delta":{"signature":"...","type":"thought_signature"},"event_type":"step.delta"}
event: step.stop
data: {"index":0,"event_type":"step.stop"}
event: step.start
data: {"index":1,"step":{"type":"model_output"},"event_type":"step.start"}
event: step.delta
data: {"index":1,"delta":{"mime_type":"video/mp4","uri":"gs://some/output_path/123.mp4","type":"video"},"event_id":"EVENT_ID","event_type":"step.delta"}
event: step.stop
data: {"index":1,"event_type":"step.stop"}
event: interaction.completed
data: {"interaction":{"id":"INTERACTION_ID","status":"completed","usage":{"total_tokens":17664,"total_input_tokens":21,"input_tokens_by_modality":[{"modality":"text","tokens":21}],"total_output_tokens":17376,"output_tokens_by_modality":[{"modality":"video","tokens":17376}],"total_thought_tokens":267},"created":"2026-08-12T21:33:08Z","updated":"2026-08-12T21:33:08Z","event_id":"EVENT_ID","object":"interaction","model":"gemini-omni-flash-preview"},"event_id":"EVENT_ID","event_type":"interaction.completed"}
event: done
data: [DONE]
Asynchron
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
-
PROJECT_ID: Ein String, der Ihre Cloud de Confiance by S3NS Projekt-ID darstellt. -
MODEL_ID: Ein String, der die zu verwendende Modell-ID darstellt. Folgende Werte sind zulässig:"gemini-omni-1.1-flash-preview"
-
TEXT_PROMPT: Der Text-Prompt, der für die Videogenerierung verwendet wird. -
CLOUD_STORAGE_INPUT_URI: Ein String, der den Cloud Storage-Bucket darstellt, der die Eingabemedien enthält. Beispiel:"gs://video-bucket/input/" -
CLOUD_STORAGE_OUTPUT_URI: Optional: Ein String, der den Cloud Storage-Bucket darstellt, in dem die Ausgabevideos gespeichert werden sollen. Wenn nicht angegeben, werden Videobytes in der Antwort zurückgegeben. Beispiel:"gs://video-bucket/output/" -
ASPECT_RATIO: Optional: Ein String, der das erwartete Seitenverhältnis des Ausgabevideos darstellt. Wenn kein Wert angegeben wird, wird das Seitenverhältnis aus dem Prompt abgeleitet. Folgende Werte sind zulässig:"16:9""9:16"
-
OUTPUT_RESOLUTION:Optional: Ein String, der die Auflösung der Videoausgabe darstellt. Wenn nichts angegeben ist, wird standardmäßig 720p verwendet.
gemini-omni-1.1-flash-previewunterstützt die folgenden Werte:"360p""720p""1080p""4k"
gemini-omni-flash-previewunterstützt nur"720p". -
DURATION: Ein String, der die Länge der generierten Videodateien darstellt. Zulässige Strings sind Ganzzahlen zwischen3und10, gefolgt von „s“ für Sekunden. Beispiel:"10s"
HTTP-Methode und URL:
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions
JSON-Text der Anfrage:
{
"model": "MODEL_ID",
"input": [
{
"background": true,
"type": "text",
"text": "TEXT_PROMPT"
},
{
"type": "image",
"uri": "CLOUD_STORAGE_INPUT_URI",
"mime_type": "image/png"
}
],
"response_format": [
{
"type": "video",
"delivery": "uri",
"gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
"aspect_ratio": "ASPECT_RATIO",
"resolution": "OUTPUT_RESOLUTION",
"duration": "DURATION"
}
],
"generation_config": {
"video_config": {
"task": "image_to_video"
}
}
}
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 TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
$headers = @{ "Authorization" = "Bearer TOKEN" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions" | Select-Object -Expand Content
{
"id":"INTERACTION_ID",
"status":"in_progress",
"object":"interaction"
}
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
-
PROJECT_ID: Ein String, der Ihre Cloud de Confiance by S3NS -Projekt-ID darstellt. -
INTERACTION_ID: Die Interaktions-ID aus der asynchronen Anfrage.
HTTP-Methode und URL:
GET https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer TOKEN" \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID"
PowerShell
Führen Sie diesen Befehl aus:
$headers = @{ "Authorization" = "Bearer TOKEN" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID" | Select-Object -Expand Content
{
"id":"INTERACTION_ID",
"model":"gemini-omni-flash-preview",
"status":"completed",
"usage":{
"total_tokens":479,
"total_input_tokens":26,
"input_tokens_by_modality":[
{
"modality":"text",
"tokens":26
},
{
"modality":"image",
"tokens":124
}
],
"output_tokens_by_modality": [
{
"modality": "video",
"tokens": 28832
}
],
"total_output_tokens":28832,
"total_thought_tokens":453
},
"steps":[
{
"type": "user_input",
"content": [
{
"type": "text",
"text": "5 second, 9:16 video. Use the image as the first frame."
},
{
"type": "image",
"uri": "gs://some/path",
"mime_type": "image/png"
}
]
},
{
"type":"thought"
"summary":[
{
"type":"text",
"text":"MODEL THOUGHTS"
}
],
},
{
"type":"model_output",
"content":[
{
"type":"video",
"data":"VIDEO DATA",
"mime_type":"video/mp4"
}
]
}
],
"object":"interaction"
"role":"model",
"created":"2026-05-29T02:17:56Z",
"updated":"2026-05-29T02:17:56Z",
}
Mit Veo Videos aus einem Bild generieren
| Beispieleingabe | Beispielausgabe: |
|---|---|
|
|
1 Bild, das mit dem Prompt Ein gehäkelter Elefant mit aufwendigen Mustern, der in der Savanne läuft generiert wurde
Sie können neue Videos nur mit einem Bild als Eingabe oder mit einem Bild und beschreibendem Text als Eingaben generieren. Die folgenden Beispiele enthalten grundlegende Anleitungen zum Generieren von Videos aus Bildern und Text.
Console
Rufen Sie in der Cloud de Confiance Console die Seite Agent Platform > Media Studio auf.
Klicken Sie auf Video.
Wählen Sie im Menü Aufgabe die Option Bild zu Video aus.
Wählen Sie im Menü Modell eine der angezeigten Optionen aus.
Geben Sie im Feld Prompt einen Text-Prompt ein, der die zu generierenden Videos beschreibt.
Klicken Sie im Bereich Eingabebilder auf Start, um ein Bild für den ersten Frame hochzuladen.
Optional: Klicken Sie auf Ende, um ein Bild für den letzten Frame hochzuladen.
Optional: Passen Sie die folgenden Parameter an:
Seitenverhältnis: Wählen Sie entweder 16:9 oder 9:16 aus.
Anzahl der Ergebnisse: Sie können den Schieberegler anpassen oder einen Wert zwischen 1 und 4 eingeben.
Videolänge: Wählen Sie im Menü eine Videolänge aus.
Ausgabeverzeichnis: Klicken Sie auf Durchsuchen, um einen Cloud Storage-Bucket zum Speichern der generierten Dateien zu erstellen oder auszuwählen.
Klicken Sie auf Ausführen.
Python
Installieren
pip install --upgrade google-genai
Weitere Informationen finden Sie in der SDK-Referenzdokumentation.
Umgebungsvariablen für die Verwendung des Google 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_ENTERPRISE=True
Go
Go installieren oder aktualisieren
Weitere Informationen finden Sie in der SDK-Referenzdokumentation.
Umgebungsvariablen für die Verwendung des Google 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_ENTERPRISE=True
Node.js
Installieren
npm install @google/genai
Weitere Informationen finden Sie in der SDK-Referenzdokumentation.
Umgebungsvariablen für die Verwendung des Google 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_ENTERPRISE=True
Java
Java installieren oder aktualisieren
Weitere Informationen finden Sie in der SDK-Referenzdokumentation.
Umgebungsvariablen für die Verwendung des Google 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_ENTERPRISE=True
REST
Weitere Informationen zur Veo API finden Sie hier:
- Methode:
endpoints.predict VideoGenerationModelInstanceVideoGenerationModelParamsVideoGenerationModelResult
Verwenden Sie den folgenden Befehl, um eine Anfrage zur Videogenerierung zu senden. Diese Anfrage startet einen Vorgang mit langer Ausführungszeit und speichert die Ausgabe in einem von Ihnen angegebenen Cloud Storage-Bucket.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
-
PROJECT_ID: Ein String, der Ihre Cloud de Confiance by S3NS Projekt-ID darstellt. -
MODEL_ID: Ein String, der die zu verwendende Modell-ID darstellt. Folgende Werte sind zulässig:- Veo 2:
veo-2.0-generate-001 - Veo 3:
veo-3.0-generate-001 - Veo 3.1:
veo-3.1-generate-001 - Veo 3.1:
veo-3.1-fast-generate-001
- Veo 2:
-
TEXT_PROMPT: Der Text-Prompt, der für die Videogenerierung verwendet wird. -
INPUT_IMAGE: Ein base64-codierter String, der das Eingabebild darstellt. Für eine optimale Qualität empfehlen wir, dass das Eingabebild eine Auflösung von 720p (1280 × 720 Pixel) oder höher und ein Seitenverhältnis von 16:9 oder 9:16 hat. Bilder mit anderen Seitenverhältnissen oder Größen werden beim Hochladen möglicherweise in der Größe angepasst oder mittig zugeschnitten. -
MIME_TYPE: Ein String, der den MIME-Typ des Eingabebilds darstellt. Nur Bilder mit den folgenden MIME-Typen werden unterstützt:"image/jpeg""image/png"
-
OUTPUT_STORAGE_URI: Optional: Ein String, der den Cloud Storage-Bucket darstellt, in dem die Ausgabevideos gespeichert werden sollen. Wenn nicht angegeben, werden Videobytes in der Antwort zurückgegeben. Beispiel:"gs://video-bucket/output/". -
RESIZE_MODE: Ein String, der den zu verwendenden Skalierungsmodus darstellt. Folgende Werte werden akzeptiert:"crop": Das Video wird auf die neue Größe zugeschnitten."pad": Das Video wird so angepasst, dass es der neuen Größe entspricht.
-
RESPONSE_COUNT: Die Anzahl der zu generierenden Videodateien. Der zulässige Wertebereich ist1–4. -
DURATION: Eine Ganzzahl, die die Länge der generierten Videodateien darstellt. Im Folgenden sind die zulässigen Werte für jedes Modell aufgeführt:- Veo 2-Modelle:
5–8. Der Standardwert ist8. - Veo 3-Modelle:
4,6oder8. Der Standardwert ist8.
- Veo 2-Modelle:
-
Zusätzliche optionale Parameter
Verwenden Sie je nach Anwendungsfall die folgenden optionalen Variablen. Fügen Sie dem
"parameters": {}-Objekt einige oder alle der folgenden Parameter hinzu."parameters": { "aspectRatio": "ASPECT_RATIO", "negativePrompt": "NEGATIVE_PROMPT", "personGeneration": "PERSON_SAFETY_SETTING", // "resolution": RESOLUTION, // Veo 3 models only "sampleCount": RESPONSE_COUNT, "seed": SEED_NUMBER }-
ASPECT_RATIO: Optional: Ein Stringwert, der das Seitenverhältnis der generierten Videos beschreibt. Sie können die folgenden Werte verwenden:"16:9"für Querformat"9:16"für Hochformat
Der Standardwert ist
"16:9". -
NEGATIVE_PROMPT: Optional: Ein Stringwert, der Inhalte beschreibt, die das Modell nicht generieren soll. -
PERSON_SAFETY_SETTING: Optional: Ein Stringwert, der die Sicherheitseinstellung für die Generierung von Personen oder Gesichtern steuert. Sie können die folgenden Werte verwenden:-
"allow_adult": Nur Generierung von Erwachsenen und Gesichtern zulassen. -
"disallow": Es werden keine Personen oder Gesichter generiert.
Der Standardwert ist
"allow_adult". -
-
RESOLUTION: Optional: Ein Stringwert, der die Auflösung des generierten Videos steuert. Wird nur von Veo 3-Modellen unterstützt. Sie können die folgenden Werte verwenden:"720p""1080p""4k"(nur Veo 3.1-Vorabversionen)
Der Standardwert ist
"720p". -
RESPONSE_COUNT: Optional. Ein Ganzzahlwert, der die Anzahl der zu generierenden Videos beschreibt. Der zulässige Wertebereich ist1–4. -
SEED_NUMBER: Optional. Ein uint32-Wert, den das Modell zum Generieren deterministischer Videos verwendet. Wenn Sie eine Quell-Nummer in Ihrer Anfrage angeben, ohne andere Parameter zu ändern, wird das Modell angewiesen, dieselben Videos zu erstellen. Der zulässige Wertebereich ist0–4294967295.
-
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 "resizeMode": "RESIZE_MODE" } }Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
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.curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.jsonund 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.jsonund 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{ "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8" }-
Optional: Prüfen Sie den Status des Vorgangs mit langer Ausführungszeit für die Videogenerierung.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Cloud de Confiance by S3NS Projekt-ID.
- MODEL_ID: Die zu verwendende Modell-ID.
- OPERATION_ID: Die eindeutige Vorgangs-ID, die in der ursprünglichen Anfrage zum Generieren von Videos 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:
Diese Anfrage gibt Informationen zum Vorgang zurück, einschließlich der Frage, ob der Vorgang noch ausgeführt wird oder abgeschlossen ist.curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.jsonund 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.jsonund 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