Puedes usar Gemini Omni Flash o Veo en Gemini Enterprise Agent Platform para generar videos nuevos a partir de una instrucción de texto. Las interfaces compatibles incluyen la consola de Cloud de Confiance y la API de Agent Platform.
Los siguientes modelos admiten la generación de videos a partir de una instrucción de texto:
Gemini Omni Flash
Haz clic para expandir los modelos compatibles
Veo
Haz clic para expandir los modelos compatibles
Para obtener más información sobre cómo escribir instrucciones de texto eficaces para la generación de videos, consulta la guía de instrucciones para la generación de videos.
Prueba Gemini Omni Flash en un Colab
Antes de comenzar
-
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 la autenticación para tu entorno.
Selecciona la pestaña según cómo planeas usar las muestras de esta página:
Console
Cuando usas la consola de Cloud de Confiance para acceder a los servicios y las APIs de Cloud de Confiance by S3NS , no necesitas configurar la autenticación.
REST
Para usar las muestras de la API de REST incluidas en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la gcloud CLI.
Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada.
Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Cloud de Confiance .
Genera videos con Gemini Omni Flash
Para generar videos con Gemini Omni Flash, consulta los siguientes ejemplos. Si bien se centran en la conversión de texto a video, estos ejemplos también se pueden extender a otros casos de uso, como proporcionar una imagen inicial para guiar la generación.
REST
La generación de video puede tardar más de un minuto en completarse. Puedes elegir entre varios modos de interacción según tu flujo de trabajo:
- Síncrono: sin estado: Genera un video en una sola solicitud sin conservar el estado de interacción en el servidor.
- Síncrono: con estado: Establece
storeentruepara conservar el estado de la interacción, lo que te permite recuperar el resultado más adelante o hacer referencia al ID de interacción para la edición de video de varios turnos. - Síncrono: transmisión con estado: Establece
storeystreamentruepara recibir los pensamientos del modelo de forma incremental a medida que se generan, seguidos del video de salida. - Asíncrono: Establece
backgroundentruepara ejecutar la generación de video en segundo plano y recuperar el resultado más tarde con el ID de interacción.
Las interacciones almacenadas y asíncronas se conservan durante un máximo de 7 días.
Para obtener más información sobre el uso de la API de Gemini Omni Flash, consulta la API de Interactions.
Síncrona: Sin estado
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
-
PROJECT_ID: Es una cadena que representa el ID de tu proyecto de Cloud de Confiance by S3NS . -
MODEL_ID: Es una cadena que representa el ID del modelo que se usará. Los siguientes son valores aceptados:"gemini-omni-1.1-flash-preview""gemini-omni-flash-preview"
-
TEXT_PROMPT: Es la instrucción de texto que se usa para guiar la generación de video. -
CLOUD_STORAGE_OUTPUT_URI: Opcional: Es una cadena que representa el bucket de Cloud Storage en el que se almacenarán los videos de salida. Si no se proporciona, se devuelven los bytes de video en la respuesta. Por ejemplo:"gs://video-bucket/output/". -
ASPECT_RATIO: Opcional: Es una cadena que representa la relación de aspecto esperada del video de salida. Si no se proporciona, la relación de aspecto se infiere de la instrucción. Los siguientes son valores aceptados:"16:9""9:16"
-
OUTPUT_RESOLUTION:Opcional: Es una cadena que representa la resolución de salida del video. Si no se proporciona, el valor predeterminado de la salida es 720p.
gemini-omni-1.1-flash-previewadmite los siguientes valores:"360p""720p""1080p""4k"
gemini-omni-flash-previewsolo admite"720p". -
DURATION: Es una cadena que representa la duración de los archivos de video generados. Las cadenas permitidas son números enteros entre3y10, seguidos de la letra "s" para indicar segundos. Por ejemplo,"10s".
HTTP method and URL:
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions
Cuerpo JSON de la solicitud:
{
"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 tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:
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
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$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íncrono: Con estado
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
-
PROJECT_ID: Es una cadena que representa el ID de tu proyecto de Cloud de Confiance by S3NS . -
MODEL_ID: Es una cadena que representa el ID del modelo que se usará. Los siguientes son valores aceptados:"gemini-omni-1.1-flash-preview"
-
TEXT_PROMPT: Es la instrucción de texto que se usa para guiar la generación de video. -
CLOUD_STORAGE_OUTPUT_URI: Opcional: Es una cadena que representa el bucket de Cloud Storage en el que se almacenarán los videos de salida. Si no se proporciona, se devuelven los bytes de video en la respuesta. Por ejemplo:"gs://video-bucket/output/". -
ASPECT_RATIO: Opcional. Es una cadena que representa la relación de aspecto esperada del video de salida. Si no se proporciona, la relación de aspecto se infiere a partir de la instrucción. Los siguientes son valores aceptados:"16:9""9:16"
-
DURATION: Es una cadena que representa la duración de los archivos de video generados. Las cadenas permitidas son números enteros entre3y10, seguidos de la letra "s" para indicar segundos. Por ejemplo,"10s"
Método HTTP y URL:
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions
Cuerpo JSON de la solicitud:
{
"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 tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:
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
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$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 cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
-
PROJECT_ID: Es una cadena que representa el ID de tu proyecto de Cloud de Confiance by S3NS . -
INTERACTION_ID: Es el ID de interacción de la solicitud asíncrona.
Método HTTP y URL:
GET https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer TOKEN" \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID"
PowerShell
Ejecuta el siguiente 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íncrona: transmisión con estado
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
-
PROJECT_ID: Es una cadena que representa el ID de tu proyecto de Cloud de Confiance by S3NS . -
MODEL_ID: Es una cadena que representa el ID del modelo que se usará. Los siguientes son valores aceptados:"gemini-omni-1.1-flash-preview"
-
TEXT_PROMPT: Es la instrucción de texto que se usa para guiar la generación de video. -
CLOUD_STORAGE_OUTPUT_URI: Opcional: Es una cadena que representa el bucket de Cloud Storage en el que se almacenarán los videos de salida. Si no se proporciona, se devuelven los bytes de video en la respuesta. Por ejemplo:"gs://video-bucket/output/". -
ASPECT_RATIO: Opcional. Es una cadena que representa la relación de aspecto esperada del video de salida. Si no se proporciona, la relación de aspecto se infiere a partir de la instrucción. Los siguientes son valores aceptados:"16:9""9:16"
-
DURATION: Es una cadena que representa la duración de los archivos de video generados. Las cadenas permitidas son números enteros entre3y10, seguidos de la letra "s" para indicar segundos. Por ejemplo,"10s"
Método HTTP y URL:
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions
Cuerpo JSON de la solicitud:
{
"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 tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:
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
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$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 cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
-
PROJECT_ID: Es una cadena que representa el ID del proyecto de Cloud de Confiance by S3NS . -
INTERACTION_ID: Es el ID de interacción de la solicitud.
Método HTTP y URL:
GET https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID?stream=true
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer TOKEN" \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID?stream=true"
PowerShell
Ejecuta el siguiente 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]
Asíncrono
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
-
PROJECT_ID: Es una cadena que representa el ID del proyecto de Cloud de Confiance by S3NS . -
MODEL_ID: Es una cadena que representa el ID del modelo que se usará. Los siguientes son valores aceptados:"gemini-omni-flash-preview""gemini-omni-1.1-flash-preview"
-
TEXT_PROMPT: Es la instrucción de texto que se usa para guiar la generación de video. -
CLOUD_STORAGE_OUTPUT_URI: Opcional: Es una cadena que representa el bucket de Cloud Storage en el que se almacenarán los videos de salida. Si no se proporciona, se devuelven los bytes de video en la respuesta. Por ejemplo:"gs://video-bucket/output/". -
ASPECT_RATIO: Opcional: Es una cadena que representa la relación de aspecto esperada del video de salida. Si no se proporciona, la relación de aspecto se infiere de la instrucción. Los siguientes son valores aceptados:"16:9""9:16"
-
OUTPUT_RESOLUTION:Opcional: Es una cadena que representa la resolución de salida del video. Si no se proporciona, el valor predeterminado de la salida es 720p.
gemini-omni-1.1-flash-previewadmite los siguientes valores:"360p""720p""1080p""4k"
gemini-omni-flash-previewsolo admite"720p". -
DURATION: Es una cadena que representa la duración de los archivos de video generados. Las cadenas permitidas son números enteros entre3y10, seguidos de la letra "s" para indicar segundos. Por ejemplo,"10s".
HTTP method and URL:
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions
Cuerpo JSON de la solicitud:
{
"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 tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:
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
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$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 cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
-
PROJECT_ID: Es una cadena que representa el ID de tu proyecto de Cloud de Confiance by S3NS . -
INTERACTION_ID: Es el ID de interacción de la solicitud asíncrona.
Método HTTP y URL:
GET https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer TOKEN" \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions/INTERACTION_ID"
PowerShell
Ejecuta el siguiente 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",
}
Genera videos con Veo
En los siguientes ejemplos, se muestra cómo puedes usar instrucciones de texto para generar videos con Veo:
Console
En la consola de Cloud de Confiance , ve a la página Agent Platform > Media Studio.
Haz clic en Video.
En el menú Tarea, selecciona Texto a video.
En el menú Modelo, selecciona un modelo de las opciones que se muestran.
En el cuadro Instrucción, ingresa una instrucción de texto que describa los videos que se generarán.
Opcional: Ajusta los siguientes parámetros:
Relación de aspecto: Elige 16:9 o 9:16.
Cantidad de resultados: Ajusta el control deslizante o ingresa un valor entre 1 y 4.
Duración del video: Selecciona una duración del video en el menú.
Directorio de salida: Haz clic en Explorar para crear o seleccionar un bucket de Cloud Storage en el que se almacenarán los archivos generados.
Haz clic en Ejecutar.
Python
Instalar
pip install --upgrade google-genai
Para obtener más información, consulta la documentación de referencia del SDK.
Establece variables de entorno para usar el SDK de IA generativa de Google 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
Go
Obtén información para instalar o actualizar el Go.
Para obtener más información, consulta la documentación de referencia del SDK.
Establece variables de entorno para usar el SDK de IA generativa de Google 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
Node.js
Instalar
npm install @google/genai
Para obtener más información, consulta la documentación de referencia del SDK.
Establece variables de entorno para usar el SDK de IA generativa de Google 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
Java
Obtén información para instalar o actualizar el Java.
Para obtener más información, consulta la documentación de referencia del SDK.
Establece variables de entorno para usar el SDK de IA generativa de Google 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
Para obtener más información sobre la API de Veo, consulta los siguientes vínculos:
- Método:
endpoints.predict VideoGenerationModelInstanceVideoGenerationModelParamsVideoGenerationModelResult
Usa el siguiente comando para enviar una solicitud de generación de video. Esta solicitud inicia una operación de larga duración y almacena el resultado en un bucket de Cloud Storage que especifiques.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
-
PROJECT_ID: Es una cadena que representa el ID del proyecto de Cloud de Confiance by S3NS . -
MODEL_ID: Es una cadena que representa el ID del modelo que se usará. Se aceptan los siguientes valores:- 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"(versión preliminar) - Veo 3:
"veo-3.0-fast-generate-preview"(versión preliminar) - Veo 3.1:
"veo-3.1-generate-001" - Veo 3.1:
"veo-3.1-fast-generate-001"
- Veo 2:
-
TEXT_PROMPT: Es la instrucción de texto que se usa para guiar la generación de video. -
OUTPUT_STORAGE_URI: Es opcional. Es una cadena que representa el bucket de Cloud Storage para almacenar los videos de salida. Si no se proporciona, se devuelven los bytes de video en la respuesta. Por ejemplo:"gs://video-bucket/output/" -
RESPONSE_COUNT: Es la cantidad de archivos de video que se generarán. El rango de valores aceptado es de1a4. -
DURATION: Es un número entero que representa la duración de los archivos de video generados. A continuación, se indican los valores aceptados para cada modelo:- Modelos de Veo 2:
5-8. El valor predeterminado es8. - Modelos de Veo 3:
4,6o8. El valor predeterminado es8.
- Modelos de Veo 2:
-
Parámetros opcionales adicionales
Usa las siguientes variables opcionales según tu caso de uso. Agrega algunos o todos los parámetros siguientes en el 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: Es un valor de cadena que describe la relación de aspecto de los videos generados. Puedes usar los siguientes valores:"16:9"para horizontal"9:16"para el modo Retrato
El valor predeterminado es
"16:9". -
NEGATIVE_PROMPT: Opcional. Es un valor de cadena que describe el contenido que deseas evitar que genere el modelo. -
PERSON_SAFETY_SETTING: Opcional: Es un valor de cadena que controla el parámetro de configuración de seguridad para generar personas o rostros. Puedes usar los siguientes valores:-
"allow_adult": Solo permite la generación de personas y rostros adultos. -
"disallow": No genera personas ni rostros.
El valor predeterminado es
"allow_adult". -
-
RESOLUTION: Opcional: Es un valor de cadena que controla la resolución del video generado. Solo es compatible con los modelos de Veo 3. Puedes usar los siguientes valores:"720p""1080p""4k"(solo para modelos de la versión preliminar de Veo 3.1)
El valor predeterminado es
"720p". -
RESPONSE_COUNT: Opcional. Es un valor entero que describe la cantidad de videos que se generarán. El rango de valores aceptado es de1a4. -
SEED_NUMBER: Opcional. Es un valor uint32 que el modelo usa para generar videos determinísticos. Especificar un número de origen con tu solicitud sin cambiar otros parámetros guía al modelo para que produzca los mismos videos. El rango de valores aceptado es de0a4294967295.
-
Método HTTP y URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning
Cuerpo JSON de la solicitud:
{ "instances": [ { "prompt": "TEXT_PROMPT" } ], "parameters": { "storageUri": "OUTPUT_STORAGE_URI", "sampleCount": "RESPONSE_COUNT" } }Para enviar tu solicitud, elige una de estas opciones:
Esta solicitud devuelve un nombre de operación completo con un ID de operación único. Usa este nombre de operación completo para sondear el estado de la solicitud de generación de video.curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.jsony ejecuta el siguiente comando: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
Guarda el cuerpo de la solicitud en un archivo llamado
request.jsony ejecuta el siguiente comando:$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: Verifica el estado de la operación de larga duración de generación de video.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es el Cloud de Confiance by S3NS ID del proyecto.
- MODEL_ID: Es el ID del modelo que se usará.
- OPERATION_ID: Es el ID de operación único que se devolvió en la solicitud original de generación de video.
Método HTTP y URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:fetchPredictOperation
Cuerpo JSON de la solicitud:
{ "operationName": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID" }Para enviar tu solicitud, elige una de estas opciones:
Esta solicitud devuelve información sobre la operación, incluido si la operación aún se está ejecutando o si ya finalizó.curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.jsony ejecuta el siguiente comando: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
Guarda el cuerpo de la solicitud en un archivo llamado
request.jsony ejecuta el siguiente comando:$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