Você pode usar o Gemini Omni ou o Veo na Gemini Enterprise Agent Platform para gerar novos vídeos usando uma imagem atual como o primeiro frame. O primeiro frame da imagem para o vídeo está disponível no Gemini Enterprise Agent Platform Media Studio ou usando a API de geração de vídeo da Gemini Enterprise Agent Platform.
Os seguintes modelos são compatíveis com a geração de vídeos com base em uma imagem:
Gemini Omni
Clique para abrir os modelos compatíveis
Veo
Clique para abrir os modelos compatíveis
Para mais informações sobre como escrever comandos de texto eficazes para geração de vídeo, consulte o Guia de comandos de geração de vídeo.
Teste o Gemini Omni Flash no Colab
Antes de começar
-
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.-
Configure a autenticação do ambiente.
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o console do Cloud de Confiance para acessar os serviços e as APIs do Cloud de Confiance by S3NS , não é necessário configurar a autenticação.
REST
Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.
Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Cloud de Confiance .
Usar o Gemini Omni para gerar vídeos com base em uma imagem
REST
A geração de vídeo pode levar mais de um minuto para ser concluída. É possível escolher entre vários modos de interação, dependendo do seu fluxo de trabalho:
- Síncrono: sem estado: gere um vídeo em uma única solicitação sem persistir o estado de interação no servidor.
- Síncrono: com estado: defina
storecomotruepara manter o estado da interação, o que permite recuperar o resultado mais tarde ou referenciar o ID da interação para edição de vídeo em várias etapas. - Síncrono: streaming com estado: defina
storeestreamcomotruepara receber os pensamentos do modelo de forma incremental à medida que são gerados, seguidos pelo vídeo de saída. - Assíncrono: defina
backgroundcomotruepara executar a geração de vídeo em segundo plano e recuperar o resultado mais tarde usando o ID de interação.
As interações armazenadas e assíncronas são retidas por até 14 dias.
Para mais informações sobre como usar a API Gemini Omni Flash, consulte API Interactions.
Síncrona: sem estado
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
-
PROJECT_ID: uma string que representa o ID do projeto do Cloud de Confiance by S3NS . -
MODEL_ID: uma string que representa o ID do modelo a ser usado. Os valores aceitos são:"gemini-omni-1.1-flash-preview"
-
TEXT_PROMPT: o comando de texto usado para orientar a geração de vídeo. -
CLOUD_STORAGE_INPUT_URI: uma string que representa o bucket do Cloud Storage que contém a mídia de entrada. Por exemplo,"gs://video-bucket/input/". -
CLOUD_STORAGE_OUTPUT_URI: opcional: uma string que representa o bucket do Cloud Storage para armazenar os vídeos de saída. Se não for fornecido, os bytes de vídeo serão retornados na resposta. Por exemplo,"gs://video-bucket/output/". -
ASPECT_RATIO: Opcional: uma string que representa a proporção de tela esperada do vídeo de saída. Se não for fornecida, a proporção será inferida do comando. Os valores aceitos são:"16:9""9:16"
-
OUTPUT_RESOLUTION:Opcional: uma string que representa a resolução de saída do vídeo. Se não for fornecida, a saída será de 720p por padrão.
gemini-omni-1.1-flash-previewaceita os seguintes valores:"360p""720p""1080p""4k"
O
gemini-omni-flash-previewsó aceita"720p". -
DURATION: uma string que representa a duração dos arquivos de vídeo gerados. As strings permitidas são números inteiros entre3e10, seguidos por "s" para segundos. Por exemplo,"10s".
Método HTTP e URL:
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions
Corpo JSON da solicitação:
{
"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"
}
}
}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:
$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",
}
Síncrona: com estado
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
-
PROJECT_ID: uma string que representa o ID do projeto do Cloud de Confiance by S3NS . -
MODEL_ID: uma string que representa o ID do modelo a ser usado. Os valores aceitos são:"gemini-omni-1.1-flash-preview"
-
TEXT_PROMPT: o comando de texto usado para orientar a geração de vídeo. -
CLOUD_STORAGE_INPUT_URI: uma string que representa o bucket do Cloud Storage que contém a mídia de entrada. Por exemplo,"gs://video-bucket/input/". -
CLOUD_STORAGE_OUTPUT_URI: opcional: uma string que representa o bucket do Cloud Storage para armazenar os vídeos de saída. Se não for fornecido, os bytes de vídeo serão retornados na resposta. Por exemplo,"gs://video-bucket/output/". -
ASPECT_RATIO: Opcional: uma string que representa a proporção de tela esperada do vídeo de saída. Se não for fornecida, a proporção será inferida do comando. Os valores aceitos são:"16:9""9:16"
-
OUTPUT_RESOLUTION:Opcional: uma string que representa a resolução de saída do vídeo. Se não for fornecida, a saída será de 720p por padrão.
gemini-omni-1.1-flash-previewaceita os seguintes valores:"360p""720p""1080p""4k"
O
gemini-omni-flash-previewsó aceita"720p". -
DURATION: uma string que representa a duração dos arquivos de vídeo gerados. As strings permitidas são números inteiros entre3e10, seguidos por "s" para segundos. Por exemplo,"10s".
Método HTTP e URL:
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions
Corpo JSON da solicitação:
{
"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"
}
]
}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:
$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",
}
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
-
PROJECT_ID: uma string que representa o ID do projeto do Cloud de Confiance by S3NS . -
INTERACTION_ID: O ID da interação da solicitação assíncrona.
Método HTTP e URL:
GET https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID
Para enviar a solicitação, escolha uma destas opções:
curl
Execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer TOKEN" \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID"
PowerShell
Execute o seguinte 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",
}
Síncrono: streaming com estado
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
-
PROJECT_ID: uma string que representa o ID do projeto do Cloud de Confiance by S3NS . -
MODEL_ID: uma string que representa o ID do modelo a ser usado. Os valores aceitos são:"gemini-omni-1.1-flash-preview"
-
TEXT_PROMPT: o comando de texto usado para orientar a geração de vídeo. -
CLOUD_STORAGE_INPUT_URI: uma string que representa o bucket do Cloud Storage que contém a mídia de entrada. Por exemplo,"gs://video-bucket/input/". -
CLOUD_STORAGE_OUTPUT_URI: opcional: uma string que representa o bucket do Cloud Storage para armazenar os vídeos de saída. Se não for fornecido, os bytes de vídeo serão retornados na resposta. Por exemplo,"gs://video-bucket/output/". -
ASPECT_RATIO: Opcional: uma string que representa a proporção de tela esperada do vídeo de saída. Se não for fornecida, a proporção será inferida do comando. Os valores aceitos são:"16:9""9:16"
-
OUTPUT_RESOLUTION:Opcional: uma string que representa a resolução de saída do vídeo. Se não for fornecida, a saída será de 720p por padrão.
gemini-omni-1.1-flash-previewaceita os seguintes valores:"360p""720p""1080p""4k"
O
gemini-omni-flash-previewsó aceita"720p". -
DURATION: uma string que representa a duração dos arquivos de vídeo gerados. As strings permitidas são números inteiros entre3e10, seguidos por "s" para segundos. Por exemplo,"10s".
Método HTTP e URL:
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions
Corpo JSON da solicitação:
{
"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"
}
]
}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:
$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]
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
-
PROJECT_ID: uma string que representa o ID do projeto do Cloud de Confiance by S3NS . -
INTERACTION_ID: o ID de interação da solicitação.
Método HTTP e URL:
GET https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID?stream=true
Para enviar a solicitação, escolha uma destas opções:
curl
Execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer TOKEN" \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID?stream=true"
PowerShell
Execute o seguinte 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]
Assíncrono
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
-
PROJECT_ID: uma string que representa o ID do projeto do Cloud de Confiance by S3NS . -
MODEL_ID: uma string que representa o ID do modelo a ser usado. Os valores aceitos são:"gemini-omni-1.1-flash-preview"
-
TEXT_PROMPT: o comando de texto usado para orientar a geração de vídeo. -
CLOUD_STORAGE_INPUT_URI: uma string que representa o bucket do Cloud Storage que contém a mídia de entrada. Por exemplo,"gs://video-bucket/input/". -
CLOUD_STORAGE_OUTPUT_URI: opcional: uma string que representa o bucket do Cloud Storage para armazenar os vídeos de saída. Se não for fornecido, os bytes de vídeo serão retornados na resposta. Por exemplo,"gs://video-bucket/output/". -
ASPECT_RATIO: Opcional: uma string que representa a proporção de tela esperada do vídeo de saída. Se não for fornecida, a proporção será inferida do comando. Os valores aceitos são:"16:9""9:16"
-
OUTPUT_RESOLUTION:Opcional: uma string que representa a resolução de saída do vídeo. Se não for fornecida, a saída será de 720p por padrão.
gemini-omni-1.1-flash-previewaceita os seguintes valores:"360p""720p""1080p""4k"
O
gemini-omni-flash-previewsó aceita"720p". -
DURATION: uma string que representa a duração dos arquivos de vídeo gerados. As strings permitidas são números inteiros entre3e10, seguidos por "s" para segundos. Por exemplo,"10s".
Método HTTP e URL:
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions
Corpo JSON da solicitação:
{
"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"
}
}
}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:
$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"
}
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
-
PROJECT_ID: uma string que representa o ID do projeto do Cloud de Confiance by S3NS . -
INTERACTION_ID: o ID de interação da solicitação assíncrona.
Método HTTP e URL:
GET https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID
Para enviar a solicitação, escolha uma destas opções:
curl
Execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer TOKEN" \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID"
PowerShell
Execute o seguinte 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",
}
Usar o Veo para gerar vídeos com base em uma imagem
| Exemplo de entrada | Exemplo de saída |
|---|---|
|
|
1 Imagem gerada com o comando: Um elefante de crochê com padrões intrincados caminhando na savana
Você pode gerar novos vídeos usando apenas uma imagem como entrada ou uma imagem e um texto descritivo como entradas. Os exemplos a seguir mostram instruções básicas para gerar vídeos com base em imagens e textos.
Console
No console do Cloud de Confiance , acesse a página Agent Platform > Media Studio.
Clique em Vídeo.
No menu Tarefa, selecione Imagem para vídeo.
No menu Modelo, selecione uma das opções exibidas.
Na caixa Comando, insira um comando de texto que descreva os vídeos a serem gerados.
Na seção Imagens de entrada, clique em Iniciar para fazer upload de uma imagem para o primeiro frame.
Opcional: clique em Final para fazer upload de uma imagem para o último frame.
Opcional: ajuste os seguintes parâmetros:
Proporção: escolha 16:9 ou 9:16.
Número de resultados: ajuste o controle deslizante ou insira um valor entre 1 e 4.
Duração do vídeo: selecione uma duração no menu.
Diretório de saída: clique em Procurar para criar ou selecionar um bucket do Cloud Storage para armazenar os arquivos gerados.
Clique em Executar.
Python
Instalar
pip install --upgrade google-genai
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa do Google com a 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
Go
Saiba como instalar ou atualizar o Go.
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa do Google com a 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
Node.js
Instalar
npm install @google/genai
Para mais informações, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa do Google com a 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
Java
Saiba como instalar ou atualizar o Java.
Para mais informações, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa do Google com a 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
Para mais informações sobre a API Veo, consulte:
- Método:
endpoints.predict VideoGenerationModelInstanceVideoGenerationModelParamsVideoGenerationModelResult
Use o comando a seguir para enviar uma solicitação de geração de vídeo. Essa solicitação inicia uma operação de longa duração e armazena a saída em um bucket do Cloud Storage especificado por você.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
-
PROJECT_ID: uma string que representa o ID do projeto do Cloud de Confiance by S3NS . -
MODEL_ID: uma string que representa o ID do modelo a ser usado. Os valores aceitos são:- 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: o comando de texto usado para orientar a geração de vídeo. -
INPUT_IMAGE: uma string codificada em base64 que representa a imagem de entrada. Para ter a melhor qualidade, recomendamos que a resolução da imagem de entrada seja de 720p (1280 x 720 pixels) ou mais alta, e que tenha uma proporção de 16:9 ou 9:16. Imagens com outras proporções ou tamanhos podem ser redimensionadas ou cortadas no centro quando são enviadas. -
MIME_TYPE: uma string que representa o tipo MIME da imagem de entrada. Apenas as imagens dos seguintes tipos MIME são aceitas:"image/jpeg""image/png"
-
OUTPUT_STORAGE_URI: opcional. Uma string que representa o bucket do Cloud Storage para armazenar os vídeos de saída. Se não for fornecido, os bytes de vídeo serão retornados na resposta. Por exemplo,"gs://video-bucket/output/". -
RESIZE_MODE: uma string que representa o modo de redimensionamento a ser usado. Estes são os valores aceitos:"crop": corte o vídeo para se ajustar ao novo tamanho."pad": preenche o vídeo para se ajustar ao novo tamanho.
-
RESPONSE_COUNT: o número de arquivos de vídeo a serem gerados. O intervalo de valores aceito é1-4. -
DURATION: um número inteiro que representa a duração dos arquivos de vídeo gerados. Confira a seguir os valores aceitos para cada modelo:- Modelos do Veo 2:
5-8. O padrão é8. - Modelos do Veo 3:
4,6ou8. O padrão é8.
- Modelos do Veo 2:
-
Outros parâmetros opcionais
Use as seguintes variáveis opcionais, dependendo do seu caso de uso. Adicione alguns ou todos os parâmetros a seguir no objeto
"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: Opcional: um valor de string que descreve a proporção dos vídeos gerados. É possível usar os seguintes valores:"16:9"para paisagem"9:16"para modo retrato
O valor padrão é
"16:9" -
NEGATIVE_PROMPT: opcional. Um valor de string que descreve o conteúdo que você quer impedir que o modelo gere. -
PERSON_SAFETY_SETTING: opcional: um valor de string que controla a configuração de segurança para gerar pessoas ou rostos. Use estes valores:-
"allow_adult": permite apenas a geração de pessoas e rostos adultos. -
"disallow": não gera pessoas nem rostos.
O valor padrão é
"allow_adult". -
-
RESOLUTION: opcional: um valor de string que controla a resolução do vídeo gerado. Compatível apenas com modelos do Veo 3. É possível usar os seguintes valores:"720p""1080p""4k"(somente modelos de pré-lançamento do Veo 3.1)
O valor padrão é
"720p". -
RESPONSE_COUNT: Opcional. Um valor inteiro que descreve o número de vídeos a serem gerados. O intervalo de valores aceito é1-4. -
SEED_NUMBER: Opcional. Um valor uint32 que o modelo usa para gerar vídeos determinísticos. Especificar um número de sugestão com sua solicitação sem mudar outros parâmetros orienta o modelo a produzir os mesmos vídeos. O intervalo de valores aceito é0-4294967295.
-
Método 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 da solicitação:
{ "instances": [ { "prompt": "TEXT_PROMPT", "image": { "bytesBase64Encoded": "INPUT_IMAGE", "mimeType": "MIME_TYPE" } } ], "parameters": { "storageUri": "OUTPUT_STORAGE_URI", "sampleCount": RESPONSE_COUNT "resizeMode": "RESIZE_MODE" } }Para enviar a solicitação, escolha uma destas opções:
Essa solicitação retorna um nome de operação completo com um ID de operação exclusivo. Use esse nome completo para consultar o status da solicitação de geração de vídeo.curl
Salve o corpo da solicitação em um arquivo com o nome
request.jsone execute o comando abaixo: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
Salve o corpo da solicitação em um arquivo com o nome
request.jsone execute o comando abaixo:$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" }-
Opcional: verifique o status da operação de longa duração de geração de vídeo.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto do Cloud de Confiance by S3NS .
- MODEL_ID: o ID do modelo que será usado.
- OPERATION_ID: o ID exclusivo da operação retornado na solicitação original de geração de vídeo.
Método 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 da solicitação:
{ "operationName": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID" }Para enviar a solicitação, escolha uma destas opções:
Essa solicitação retorna informações sobre a operação, incluindo se ela ainda está em execução ou se foi concluída.curl
Salve o corpo da solicitação em um arquivo com o nome
request.jsone execute o comando abaixo: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
Salve o corpo da solicitação em um arquivo com o nome
request.jsone execute o comando abaixo:$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