Para obtener buenos resultados con modelos de Inteligencia Artificial generativa para video, como Veo en Vertex AI, es crucial estructurar tu prompt con principios cinematográficos, incluyendo detalles sobre el sujeto, contexto, acción, estilo, cinematografía y audio, pudiendo usar formato JSON para mayor control a través de la API. La documentación de Vertex AI guía sobre cómo crear prompts descriptivos y claros, identificando elementos clave y ofreciendo una estructura recomendada con prefijos para etiquetar la información.
Los textos introductorios más efectivos son concisos pero descriptivos, con detalles clave sobre el tema, la acción, el contexto y el estilo visual.La estructura central de la solicitudGoogle y los expertos en IA sugieren un enfoque modular, o de «rellenar los espacios en blanco», para estructurar las indicaciones de Veo.
- Tema: Identificar el personaje principal, el objeto o el foco de atención.
- Contexto (Escenario y Tiempo): Describa el entorno y la hora del día.
- Acción: Detalle lo que está haciendo el sujeto, desde acciones simples hasta acciones complejas.
- Estilo y ambiente: Define el estilo, la estética visual y la iluminación.
- Cinematografía: Utilice términos profesionales para composición (ej.,
wide shot,close-up), movimiento de cámara (ej.,slow dolly-in,crane shot) y ángulo de cámara (ej.,low angle,high angle). - Audio: Describa los efectos de sonido deseados (por ejemplo,
rain tapping against window), el ruido ambiental (por ejemplo,distant traffic hum) y el diálogo (por ejemplo, «El personaje dice: ‘Tenemos que irnos ahora'»). - Indicaciones negativas: Especifique los elementos que desea excluir enumerándolos.
Ejemplo de una solicitud estructurada de VeoLas indicaciones pueden estructurarse como un párrafo descriptivo o utilizando un formato modular.
Ejemplo con un párrafo:
Un plano general cinematográfico muestra a un explorador solitario caminando sobre un puente brumoso y escarchado al amanecer. La cámara comienza a la altura de los ojos y se aleja lentamente para revelar un vasto y silencioso paisaje. La escena está iluminada por la tenue luz matutina, y el crujido de pasos y el graznido lejano de un cuervo resuenan en la quietud.

Ejemplo con formato modular:
- Asunto: Un explorador solitario.
- Contexto: Un puente brumoso y cubierto de escarcha al amanecer.
- Acción: Caminar lentamente por el puente.
- Estilo y ambiente: Cinematográfico, tranquilo, con un aire naturalista. La pálida luz de la mañana brilla tenuemente a través de una suave niebla.
- Fotografía: Plano general, a la altura de los ojos. La cámara se aleja lentamente.
- Audio: Crujidos de pasos sobre la escarcha, el graznido lejano de un cuervo, respiraciones pausadas en el aire frío.
Consejos para obtener los mejores resultados
- Sea descriptivo: utilice un lenguaje vívido.
- Céntrate en un solo punto: Describe una sola toma o un solo momento.
- Utilice el lenguaje cinematográfico: La terminología específica ofrece un control preciso.
- Itera gradualmente: Ajusta los elementos de uno en uno o de dos en dos.
- Utilice imágenes de referencia: Emplee la función de conversión de imagen a vídeo para lograr coherencia.
Opciones para estructurar el prompt en Veo
Aunque el modelo de IA subyacente para Veo funciona con datos estructurados, los usuarios generalmente envían los prompts a Veo usando texto descriptivo. La clave es estructurar ese texto de una manera que la IA lo entienda mejor, incluyendo los principios cinematográficos.
Sin embargo, para los desarrolladores y la automatización a través de API, sí es posible y a menudo más efectivo utilizar formatos estructurados como JSON.
1. Prompt de texto en lenguaje natural (para usuarios generales)
Este es el método más común en la interfaz de usuario de Veo. La clave es organizar el texto siguiendo la estructura recomendada, que la IA interpreta de manera efectiva.
Ejemplo:
[Cinematografía] + [Sujeto] + [Acción] + [Contexto] + [Estilo y ambiente]
Ejemplo de prompt:
Una toma angular baja de un astronauta flotando lentamente en el espacio. El casco refleja las estrellas. Luz suave y ambiental. Estilo de ciencia ficción épica y melancólica.
2. Prompt estructurado con JSON (para desarrolladores)
Quienes acceden a Veo a través de la API, como Vertex AI o Gemini API, pueden enviar indicaciones en formato JSON. Este método permite un control más preciso sobre la generación de video, ya que asigna cada elemento cinematográfico a una clave específica.
Ejemplo de indicación en formato JSON:JSON
{
"prompt": "Un astronauta flotando lentamente en el espacio. El casco refleja las estrellas.",
"camera": {
"type": "low angle shot",
"motion": "slow float"
},
"lighting": {
"type": "soft and ambient",
"tone": "melancholic"
},
"style": "epic sci-fi",
"audio": {
"effects": "faint humming of spacesuit"
}
}

¿Por qué ambos métodos funcionan?
El modelo de IA de Veo está entrenado para entender tanto el lenguaje natural como los datos estructurados.
- Enfoque general (texto): El modelo procesa y desglosa el texto descriptivo, asignando los elementos a sus «variables» internas (sujeto, acción, estilo, etc.). Es adecuado para la mayoría de los casos y es ideal para la experimentación.
- Enfoque avanzado (JSON): JSON proporciona información preestructurada directamente al modelo, lo que elimina la ambigüedad y puede producir resultados más precisos y consistentes. Es adecuado para flujos de trabajo de producción, automatización y cuando se requiere control absoluto sobre cada aspecto.
Este es un ejemplo básico de Python para crear un video usando el modelo generativo mas reciente veo-3.1-generate-preview (asegúrate de usar la versión más reciente de google-genai):
import time
from google import genai
from google.genai import types
# --- prompt estructurado ---
structured_prompt = {
"prompt": "Un astronauta flotando lentamente en el espacio. El casco refleja las estrellas.",
"camera": {
"type": "low angle shot",
"motion": "slow float"
},
"lighting": {
"type": "soft and ambient",
"tone": "melancholic"
},
"style": "epic sci-fi",
"audio": {
"effects": "faint humming of spacesuit"
}
}
# --- Generar el prompt de texto único ---
# Combina la descripción principal con los detalles cinematográficos.
prompt_text = (
f"{structured_prompt['prompt']} "
f"Cámara: {structured_prompt['camera']['type']}, con movimiento de {structured_prompt['camera']['motion']}. "
f"Iluminación: {structured_prompt['lighting']['type']} y tono {structured_prompt['lighting']['tone']}. "
f"Estilo: {structured_prompt['style']}. "
f"Sonido: {structured_prompt['audio']['effects']}."
)
# Puedes limpiar o simplificar el texto final si es demasiado largo
print(f"Prompt final generado: {prompt_text}")
# >> Prompt final generado: Un astronauta flotando lentamente en el espacio. El casco refleja las estrellas. Cámara: low angle shot, con movimiento de slow float. Iluminación: soft and ambient y tono melancholic. Estilo: epic sci-fi. Sonido: faint humming of spacesuit.
# --- Código para generar el video (usando el prompt de texto) ---
client = genai.Client()
operation = client.models.generate_videos(
model="veo-3.1-generate-preview",
# Usamos la cadena de texto combinada
prompt=prompt_text,
config=types.GenerateVideosConfig(
# Puedes añadir un negative_prompt si quieres evitar algo específico
negative_prompt="visualmente ruidoso, borroso, fuera de foco",
aspect_ratio="16:9", # Cambiado a 16:9 que es más común para "epic sci-fi"
resolution="1080p", # Usamos 1080p para mejor calidad si está disponible
),
)
# Esperando que se genere el/los video(s)
while not operation.done:
time.sleep(20)
operation = client.operations.get(operation)
print(operation)
# Descargar y guardar
generated_video = operation.response.generated_videos[0]
client.files.download(file=generated_video.video)
generated_video.video.save("astronauta_espacio.mp4")
Para empezar con prompts textuales estructurados, consulta la guía de Veo en Veo on Vertex AI video generation prompt guide.
Recomendamos seguir el tutorial en Notebook Veo 3 Video Generation.