Puoi utilizzare Gemini Omni Flash o Veo su Gemini Enterprise Agent Platform per guidare la generazione di video utilizzando immagini o video di riferimento.
I seguenti modelli supportano le immagini di riferimento:
Gemini Omni Flash
Gemini Omni Flash ti consente di utilizzare immagini o video di riferimento per fornire input aggiuntivi al modello durante la generazione di un video.
Fai clic per espandere i modelli supportati
Veo
Veo su Gemini Enterprise Agent Platform ti consente di utilizzare immagini di riferimento del soggetto per indirizzare il video generato. Fornisci fino a tre immagini di una singola persona, personaggio o prodotto. Veo mantiene l'aspetto del soggetto nel video di output.
Fai clic per espandere i modelli supportati
Per saperne di più su come scrivere prompt testuali efficaci per la generazione di video, consulta la guida ai prompt per la generazione di video.
Prova Gemini Omni Flash in Colab
Prima di iniziare
-
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.-
Configura l'autenticazione per il tuo ambiente.
Seleziona la scheda relativa a come prevedi di utilizzare i campioni in questa pagina:
Console
Quando utilizzi la console Cloud de Confiance per accedere ai servizi e alle API Cloud de Confiance by S3NS , non devi configurare l'autenticazione.
Python
Per utilizzare gli esempi di Python in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
-
Installa Google Cloud CLI.
-
Configura gcloud CLI per utilizzare la tua identità federata.
Per ulteriori informazioni, vedi Accedi a gcloud CLI con la tua identità federata.
-
Crea credenziali di autenticazione locali per il tuo account utente:
gcloud auth application-default login
Se viene restituito un errore di autenticazione, verifica di aver eseguito l'accesso a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Configura ADC per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Cloud de Confiance .
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Cloud de Confiance .
-
Utilizzare Gemini Omni Flash e i riferimenti per generare video
REST
La generazione di video può richiedere più di un minuto. Puoi scegliere tra diverse modalità di interazione a seconda del tuo workflow:
- Sincrono: senza stato: genera un video in un'unica richiesta senza mantenere lo stato dell'interazione sul server.
- Sincrona: stateful: imposta
storesutrueper rendere persistente lo stato dell'interazione, in modo da poter recuperare il risultato in un secondo momento o fare riferimento all'ID interazione per l'editing video multi-turno. - Sincrono: streaming stateful: imposta sia
storechestreamsutrueper ricevere i pensieri del modello in modo incrementale man mano che vengono generati, seguiti dal video di output. - Asincrono: imposta
backgroundsutrueper eseguire la generazione di video in background e recuperare il risultato in un secondo momento utilizzando l'ID interazione.
Le interazioni archiviate e asincrone vengono conservate per un massimo di 14 giorni.
Per saperne di più sull'utilizzo dell'API Gemini Omni Flash, consulta l'API Interactions.
Sincrona: stateless
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
-
PROJECT_ID: una stringa che rappresenta il tuo Cloud de Confiance by S3NS ID progetto. -
MODEL_ID: una stringa che rappresenta l'ID del modello da utilizzare. I seguenti sono valori accettati:"gemini-omni-1.1-flash-preview"
-
TEXT_PROMPT: il prompt testuale utilizzato per guidare la generazione di video. -
CLOUD_STORAGE_IMAGE_URI: Una stringa che rappresenta il bucket Cloud Storage che contiene l'immagine di input. Ad esempio:"gs://video-bucket/input/". -
IMAGE_MIME: Una stringa che rappresenta un tipo MIME di immagine. I seguenti sono i valori accettati:image/pngimage/jpegimage/webpimage/heicimage/heif
-
CLOUD_STORAGE_VIDEO_URI: Una stringa che rappresenta il bucket Cloud Storage che contiene il video di input. Ad esempio:"gs://video-bucket/input/". -
VIDEO_MIME: una stringa che rappresenta un tipo MIME video. I seguenti sono valori accettati:video/3gppvideo/mp4video/mpegvideo/quicktimevideo/webmvideo/x-flvvideo/x-ms-wmv
-
CLOUD_STORAGE_OUTPUT_URI: (Facoltativo) Una stringa che rappresenta il bucket Cloud Storage in cui archiviare i video di output. Se non viene fornito, i byte del video vengono restituiti nella risposta. Ad esempio:"gs://video-bucket/output/". -
ASPECT_RATIO: (Facoltativo) Una stringa che rappresenta le proporzioni previste del video di output. Se non viene fornito, le proporzioni vengono dedotte dal prompt. I seguenti sono valori accettati:"16:9""9:16"
-
OUTPUT_RESOLUTION:(Facoltativo) Una stringa che rappresenta la risoluzione di output del video. Se non fornito, l'output è impostato su 720p per impostazione predefinita.
gemini-omni-1.1-flash-previewsupporta i seguenti valori:"360p""720p""1080p""4k"
gemini-omni-flash-previewsupporta solo"720p". -
DURATION: una stringa che rappresenta la durata dei file video generati. Le stringhe consentite sono numeri interi compresi tra3e10, seguiti da "s" per i secondi. Ad esempio:"10s".
Metodo HTTP e URL:
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions
Corpo JSON della richiesta:
{
"model": "MODEL_ID",
"input": [
{
"type": "text",
"text": "TEXT_PROMPT Use the image(s) as references to
generate the video."
},
{
"type": "image",
"uri": "CLOUD_STORAGE_IMAGE_URI",
"mime_type": "IMAGE_MIME"
},
{
"type": "video",
"uri": "CLOUD_STORAGE_VIDEO_URI",
"mime_type": "VIDEO_MIME"
}
],
"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": "reference_to_video"
}
}
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
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
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$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",
}
Sincrono: stateful
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
-
PROJECT_ID: una stringa che rappresenta il tuo Cloud de Confiance by S3NS ID progetto. -
MODEL_ID: una stringa che rappresenta l'ID modello da utilizzare. I seguenti sono i valori accettati:"gemini-omni-1.1-flash-preview"
-
TEXT_PROMPT: il prompt testuale utilizzato per guidare la generazione di video. -
CLOUD_STORAGE_IMAGE_URI: Una stringa che rappresenta il bucket Cloud Storage che contiene l'immagine di input. Ad esempio:"gs://video-bucket/input/". -
IMAGE_MIME: Una stringa che rappresenta un tipo MIME di immagine. I seguenti sono i valori accettati:image/pngimage/jpegimage/webpimage/heicimage/heif
-
CLOUD_STORAGE_VIDEO_URI: Una stringa che rappresenta il bucket Cloud Storage che contiene il video di input. Ad esempio:"gs://video-bucket/input/". -
VIDEO_MIME: una stringa che rappresenta un tipo MIME video. I seguenti sono valori accettati:video/3gppvideo/mp4video/mpegvideo/quicktimevideo/webmvideo/x-flvvideo/x-ms-wmv
-
CLOUD_STORAGE_OUTPUT_URI: (Facoltativo) Una stringa che rappresenta il bucket Cloud Storage in cui archiviare i video di output. Se non viene fornito, i byte del video vengono restituiti nella risposta. Ad esempio:"gs://video-bucket/output/". -
ASPECT_RATIO: (Facoltativo) Una stringa che rappresenta le proporzioni previste del video di output. Se non viene fornito, le proporzioni vengono dedotte dal prompt. I seguenti sono valori accettati:"16:9""9:16"
-
OUTPUT_RESOLUTION:(Facoltativo) Una stringa che rappresenta la risoluzione di output del video. Se non fornito, l'output è impostato su 720p per impostazione predefinita.
gemini-omni-1.1-flash-previewsupporta i seguenti valori:"360p""720p""1080p""4k"
gemini-omni-flash-previewsupporta solo"720p". -
DURATION: una stringa che rappresenta la durata dei file video generati. Le stringhe consentite sono numeri interi compresi tra3e10, seguiti da "s" per i secondi. Ad esempio:"10s".
Metodo HTTP e URL:
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions
Corpo JSON della richiesta:
{
"model": "MODEL_ID",
"background": false,
"store": true,
"stream": false,
"input": [
{
"type": "user_input",
"content": [
{
"type": "text",
"text": "TEXT_PROMPT Use the image(s) as references to generate the video."
},
{
"type": "image",
"uri": "CLOUD_STORAGE_IMAGE_URI",
"mime_type": "IMAGE_MIME"
},
{
"type": "video",
"uri": "CLOUD_STORAGE_VIDEO_URI",
"mime_type": "VIDEO_MIME"
}
]
}
],
"response_format": [
{
"type": "video",
"delivery": "uri",
"gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
"aspect_ratio": "ASPECT_RATIO",
"resolution": "OUTPUT_RESOLUTION",
"duration": "DURATION"
}
]
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
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
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$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",
}
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
-
PROJECT_ID: una stringa che rappresenta l'ID progetto Cloud de Confiance by S3NS . -
INTERACTION_ID: l'ID interazione della richiesta asincrona.
Metodo HTTP e URL:
GET https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer TOKEN" \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID"
PowerShell
Esegui questo comando:
$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",
}
Sincrono: streaming stateful
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
-
PROJECT_ID: una stringa che rappresenta il tuo Cloud de Confiance by S3NS ID progetto. -
MODEL_ID: una stringa che rappresenta l'ID del modello da utilizzare. I seguenti sono i valori accettati:"gemini-omni-1.1-flash-preview"
-
TEXT_PROMPT: il prompt testuale utilizzato per guidare la generazione di video. -
CLOUD_STORAGE_IMAGE_URI: Una stringa che rappresenta il bucket Cloud Storage che contiene l'immagine di input. Ad esempio:"gs://video-bucket/input/". -
IMAGE_MIME: Una stringa che rappresenta un tipo MIME di immagine. I seguenti sono i valori accettati:image/pngimage/jpegimage/webpimage/heicimage/heif
-
CLOUD_STORAGE_VIDEO_URI: Una stringa che rappresenta il bucket Cloud Storage che contiene il video di input. Ad esempio:"gs://video-bucket/input/". -
VIDEO_MIME: una stringa che rappresenta un tipo MIME video. I seguenti sono valori accettati:video/3gppvideo/mp4video/mpegvideo/quicktimevideo/webmvideo/x-flvvideo/x-ms-wmv
-
CLOUD_STORAGE_OUTPUT_URI: (Facoltativo) Una stringa che rappresenta il bucket Cloud Storage in cui archiviare i video di output. Se non viene fornito, i byte del video vengono restituiti nella risposta. Ad esempio:"gs://video-bucket/output/". -
ASPECT_RATIO: (Facoltativo) Una stringa che rappresenta le proporzioni previste del video di output. Se non viene fornito, le proporzioni vengono dedotte dal prompt. I seguenti sono valori accettati:"16:9""9:16"
-
OUTPUT_RESOLUTION:(Facoltativo) Una stringa che rappresenta la risoluzione di output del video. Se non fornito, l'output è impostato su 720p per impostazione predefinita.
gemini-omni-1.1-flash-previewsupporta i seguenti valori:"360p""720p""1080p""4k"
gemini-omni-flash-previewsupporta solo"720p". -
DURATION: una stringa che rappresenta la durata dei file video generati. Le stringhe consentite sono numeri interi compresi tra3e10, seguiti da "s" per i secondi. Ad esempio:"10s".
Metodo HTTP e URL:
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions
Corpo JSON della richiesta:
{
"model": "MODEL_ID",
"background": false,
"store": true,
"stream": true,
"input": [
{
"type": "user_input",
"content": [
{
"type": "text",
"text": "TEXT_PROMPT Use the image(s) as references to generate the video."
},
{
"type": "image",
"uri": "CLOUD_STORAGE_IMAGE_URI",
"mime_type": "IMAGE_MIME"
},
{
"type": "video",
"uri": "CLOUD_STORAGE_VIDEO_URI",
"mime_type": "VIDEO_MIME"
}
]
}
],
"response_format": [
{
"type": "video",
"delivery": "uri",
"gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
"aspect_ratio": "ASPECT_RATIO",
"resolution": "OUTPUT_RESOLUTION",
"duration": "DURATION"
}
]
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
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
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$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]
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
-
PROJECT_ID: una stringa che rappresenta l'ID progetto Cloud de Confiance by S3NS . -
INTERACTION_ID: l'ID interazione della richiesta.
Metodo HTTP e URL:
GET https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID?stream=true
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer TOKEN" \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID?stream=true"
PowerShell
Esegui questo comando:
$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]
Asincrona
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
-
PROJECT_ID: una stringa che rappresenta il tuo Cloud de Confiance by S3NS ID progetto. -
MODEL_ID: una stringa che rappresenta l'ID del modello da utilizzare. I seguenti sono valori accettati:"gemini-omni-1.1-flash-preview"
-
TEXT_PROMPT: il prompt testuale utilizzato per guidare la generazione di video. -
CLOUD_STORAGE_IMAGE_URI: Una stringa che rappresenta il bucket Cloud Storage che contiene l'immagine di input. Ad esempio:"gs://video-bucket/input/". -
IMAGE_MIME: Una stringa che rappresenta un tipo MIME di immagine. I seguenti sono i valori accettati:image/pngimage/jpegimage/webpimage/heicimage/heif
-
CLOUD_STORAGE_VIDEO_URI: Una stringa che rappresenta il bucket Cloud Storage che contiene il video di input. Ad esempio:"gs://video-bucket/input/". -
VIDEO_MIME: una stringa che rappresenta un tipo MIME video. I seguenti sono valori accettati:video/3gppvideo/mp4video/mpegvideo/quicktimevideo/webmvideo/x-flvvideo/x-ms-wmv
-
CLOUD_STORAGE_OUTPUT_URI: (Facoltativo) Una stringa che rappresenta il bucket Cloud Storage in cui archiviare i video di output. Se non viene fornito, i byte del video vengono restituiti nella risposta. Ad esempio:"gs://video-bucket/output/". -
ASPECT_RATIO: (Facoltativo) Una stringa che rappresenta le proporzioni previste del video di output. Se non viene fornito, le proporzioni vengono dedotte dal prompt. I seguenti sono valori accettati:"16:9""9:16"
-
OUTPUT_RESOLUTION:(Facoltativo) Una stringa che rappresenta la risoluzione di output del video. Se non fornito, l'output è impostato su 720p per impostazione predefinita.
gemini-omni-1.1-flash-previewsupporta i seguenti valori:"360p""720p""1080p""4k"
gemini-omni-flash-previewsupporta solo"720p". -
DURATION: una stringa che rappresenta la durata dei file video generati. Le stringhe consentite sono numeri interi compresi tra3e10, seguiti da "s" per i secondi. Ad esempio:"10s".
Metodo HTTP e URL:
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions
Corpo JSON della richiesta:
{
"model": "MODEL_ID",
"input": [
{
"background": true,
"type": "text",
"text": "TEXT_PROMPT Use the image(s) as references to
generate the video."
},
{
"type": "image",
"uri": "CLOUD_STORAGE_IMAGE_URI",
"mime_type": "IMAGE_MIME"
},
{
"type": "video",
"uri": "CLOUD_STORAGE_VIDEO_URI",
"mime_type": "VIDEO_MIME"
}
],
"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": "reference_to_video"
}
}
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
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
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$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"
}
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
-
PROJECT_ID: una stringa che rappresenta il tuo Cloud de Confiance by S3NS ID progetto. -
INTERACTION_ID: l'ID interazione della richiesta asincrona.
Metodo HTTP e URL:
GET https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer TOKEN" \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID"
PowerShell
Esegui questo comando:
$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",
}
Utilizza Veo e le immagini degli asset per generare video
Segui questi passaggi:
Console
Nella console Cloud de Confiance , vai alla pagina Agent Platform > Agent Platform Studio .
Fai clic su Genera contenuti multimediali.
Fai clic su Video.
Nel menu Attività, seleziona Riferimento al video (soggetto).
Nel menu Modello, seleziona un modello tra le opzioni disponibili.
Nella sezione Immagini del soggetto, fai clic su Aggiungi.
Viene visualizzata una finestra di dialogo di selezione dei file. Scegli da una a tre immagini sul tuo computer da caricare.
(Facoltativo) Nella sezione Parametri, modifica le seguenti impostazioni:
- Proporzioni: seleziona 16:9 o 9:16.
- Numero di risultati: regola il cursore o inserisci un valore compreso tra 1 e 4.
- Durata video: seleziona 8, 6 o 4 secondi.
- Risoluzione output: seleziona una delle seguenti opzioni:
- 720p
- 1080p
- 4k
(Facoltativo) Nella sezione Sicurezza, seleziona una delle seguenti impostazioni di generazione di persone:
Consenti (solo adulti): valore predefinito. Genera solo persone o volti adulti. Non generare persone o volti di giovani o bambini.
Non consentire: non generare persone o volti.
(Facoltativo) Nella sezione Opzioni avanzate, inserisci un valore Seed per randomizzare la generazione dei video.
Nel campo del prompt Prompt, inserisci il prompt testuale che descrive i video da generare.
Fai clic su Esegui.
Python
Installa
pip install --upgrade google-genai
Per saperne di più, consulta la documentazione di riferimento dell'SDK.
Imposta le variabili di ambiente per utilizzare l'SDK Google Gen AI con Vertex AI:
# 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
Per saperne di più sull'API Veo, consulta le seguenti risorse:
- Metodo:
endpoints.predict VideoGenerationModelInstanceVideoGenerationModelParamsVideoGenerationModelResult
Utilizza i seguenti comandi per inviare una richiesta di generazione di video. Questa richiesta avvia un'operazione a lunga esecuzione e archivia l'output in un bucket Cloud Storage da te specificato.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
-
PROJECT_ID: il tuo ID progetto Cloud de Confiance by S3NS . -
MODEL_ID: una stringa che rappresenta l'ID del modello da utilizzare. Sono supportati i seguenti modelli:veo-3.1-generate-preview previewveo-3.1-generate-001veo-3.1-fast-generate-preview previewveo-3.1-fast-generate-001
-
TEXT_PROMPT: il prompt testuale utilizzato per guidare la generazione di video. -
BASE64_ENCODED_IMAGE: un'immagine del soggetto codificata in base64. Puoi ripetere questo campo emimeTypeper specificare fino a tre immagini del soggetto. -
IMAGE_MIME_TYPE: il tipo MIME dell'immagine di input. Solo uno dei seguenti elementi:image/jpegimage/png
Puoi ripetere questo campo e
bytesBase64Encodedper specificare fino a tre immagini del soggetto. -
ASPECT_RATIO: (Facoltativo) Le proporzioni del video generato. Solo uno dei seguenti elementi:"16:9""9:16"
Il valore predefinito è
"16:9". -
OUTPUT_STORAGE_URI: (facoltativo) il bucket Cloud Storage in cui archiviare i video di output. Se non fornito, nella risposta viene restituito un video codificato in Base64. Ad esempio:gs://video-bucket/output/. -
RESPONSE_COUNT: Il numero di file video che vuoi generare. Valori interi accettati: 1-4. -
VIDEO_RESOLUTION: (Facoltativo) La risoluzione del video generato. Solo uno dei seguenti:"720p""1080p""4k"(solo modelli di anteprima di Veo 3.1)
Il valore predefinito è
"720p". -
Parametri facoltativi aggiuntivi
Utilizza le seguenti variabili facoltative a seconda del tuo caso d'uso. Aggiungi alcuni o tutti i seguenti parametri nell'oggetto
"parameters": {}."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: (Facoltativo) Un valore stringa che descrive le proporzioni dei video generati. Puoi utilizzare i seguenti valori:"16:9"per l'orientamento orizzontale"9:16"per il formato verticale
Il valore predefinito è
"16:9" -
NEGATIVE_PROMPT: (Facoltativo) un valore stringa che descrive i contenuti che vuoi impedire al modello di generare. -
PERSON_SAFETY_SETTING: (Facoltativo) Un valore stringa che controlla l'impostazione di sicurezza per la generazione di persone o volti. Puoi utilizzare i seguenti valori:-
"allow_adult": consente solo la generazione di persone e volti adulti. -
"disallow": non genera persone o volti.
Il valore predefinito è
"allow_adult". -
-
RESOLUTION: (Facoltativo) Un valore stringa che controlla la risoluzione del video generato. Supportato solo dai modelli Veo 3. Puoi utilizzare i seguenti valori:"720p""1080p""4k"(solo modelli di anteprima Veo 3.1)
Il valore predefinito è
"720p". -
RESPONSE_COUNT: (Facoltativo) Un valore intero che descrive il numero di video da generare. L'intervallo di valori accettato è1-4. -
SEED_NUMBER: (Facoltativo) Un valore uint32 che il modello utilizza per generare video deterministici. Se specifichi un numero seed con la richiesta senza modificare altri parametri, il modello genera gli stessi video. L'intervallo di valori accettato è0-4294967295.
-
Metodo HTTP e URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning
Corpo JSON della richiesta:
{ "instances": [ { "prompt": "TEXT_PROMPT", // The following fields can be repeated for up to three total // images. "referenceImages": [ { "image": { "bytesBase64Encoded": "BASE64_ENCODED_IMAGE", "mimeType": "IMAGE_MIME_TYPE" }, "referenceType": "asset" } ] } ], "parameters": { "aspectRatio":, "ASPECT_RATIO, "durationSeconds": 8, "storageUri": "OUTPUT_STORAGE_URI", "sampleCount": RESPONSE_COUNT, "resolution": "VIDEO_RESOLUTION } }Per inviare la richiesta, scegli una di queste opzioni:
Questa richiesta restituisce un nome completo dell'operazione con un ID operazione univoco. Utilizza questo nome completo dell'operazione per eseguire il polling dello stato della richiesta di generazione di video.curl
Salva il corpo della richiesta in un file denominato
request.json, quindi esegui il comando seguente: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
Salva il corpo della richiesta in un file denominato
request.json, quindi esegui il comando seguente:$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" }-
(Facoltativo) Controlla lo stato dell'operazione a lunga esecuzione di generazione di video.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: il tuo Cloud de Confiance by S3NS ID progetto.
- MODEL_ID: l'ID del modello da utilizzare.
- OPERATION_ID: l'ID operazione univoco restituito nella richiesta di generazione video originale.
Metodo HTTP e URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:fetchPredictOperation
Corpo JSON della richiesta:
{ "operationName": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID" }Per inviare la richiesta, scegli una di queste opzioni:
Questa richiesta restituisce informazioni sull'operazione, tra cui se è ancora in esecuzione o se è stata completata.curl
Salva il corpo della richiesta in un file denominato
request.json, quindi esegui il comando seguente: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
Salva il corpo della richiesta in un file denominato
request.json, quindi esegui il comando seguente:$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