Você pode usar o Gemini Omni Flash ou o Veo na Gemini Enterprise Agent Platform para gerar novos vídeos com base em um comando de texto. As interfaces compatíveis incluem o console Cloud de Confiance e a API da plataforma do agente.
Os seguintes modelos podem gerar vídeos com base em um comando de texto:
Gemini Omni Flash
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 .
Gerar vídeos com o Gemini Omni Flash
Para gerar vídeos usando o Gemini Omni Flash, confira os exemplos a seguir. Embora o foco seja a conversão de texto em vídeo, esses exemplos podem ser estendidos a outros casos de uso, como fornecer uma imagem inicial para orientar a geração.
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 manter o estado da 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é 7 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""gemini-omni-flash-preview"
-
TEXT_PROMPT: o comando de texto usado para orientar a geração de vídeo. -
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"
}
],
"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": "text_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_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"
-
DURATION: uma string que representa a duração dos arquivos de vídeo gerados. As strings permitidas são números inteiros entre3e10, seguidos de "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"
}
]
}
],
"response_format": [
{
"type": "video",
"delivery": "uri",
"gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
"aspect_ratio": "ASPECT_RATIO",
"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",
"status":"completed",
"usage":{
"total_tokens":17615,
"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":218
},
"created":"2026-08-12T21:28:40Z",
"updated":"2026-08-12T21:28:40Z",
"event_id":"EVENT_ID",
"steps":[
{
"signature":"...",
"summary":[
{
"text":"MODEL THOUGHTS",
"type":"text"
},
{
"text":"MODEL THOUGHTS",
"type":"text"
}
],
"type":"thought"
},
{
"content":[
{
"mime_type":"video/mp4",
"uri":"gs://some/output_path/123.mp4",
"type":"video"
}
],
"type":"model_output"
}
],
"object":"interaction",
"model":"gemini-omni-flash-preview"
}
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",
}
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_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"
-
DURATION: uma string que representa a duração dos arquivos de vídeo gerados. As strings permitidas são números inteiros entre3e10, seguidos de "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"
}
]
}
],
"response_format": [
{
"type": "video",
"delivery": "uri",
"gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
"aspect_ratio": "ASPECT_RATIO",
"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":{"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 da 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-flash-preview""gemini-omni-1.1-flash-preview"
-
TEXT_PROMPT: o comando de texto usado para orientar a geração de vídeo. -
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"
}
],
"response_format": [
{
"type": "video",
"delivery": "uri",
"gcs_uri": "CLOUD_STORAGE_OUTPUT_URI",
"aspect_ratio": "ASPECT_RATIO",
"output": "OUTPUT_RESOLUTION",
"duration": "DURATION"
}
],
"generation_config": {
"video_config": {
"task": "text_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",
}
Gerar vídeos usando o Veo
Os exemplos a seguir mostram como usar comandos de texto para gerar vídeos com o Veo:
Console
No console do Cloud de Confiance , acesse a página Agent Platform > Media Studio.
Clique em Vídeo.
No menu Tarefa, selecione Texto 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.
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 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
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:
"veo-3.0-fast-generate-001" - Veo 3:
"veo-3.0-generate-preview"(pré-lançamento) - Veo 3:
"veo-3.0-fast-generate-preview"(pré-lançamento) - 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. -
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/". -
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. Estes são 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 somente 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. Você pode 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 alterar 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" } ], "parameters": { "storageUri": "OUTPUT_STORAGE_URI", "sampleCount": "RESPONSE_COUNT" } }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 a 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