Documentos para desarrolladores UlazAI
Google Veo 3.1 Generación de vídeo API
Google Veo 3.1 Generación de vídeo API
Genere videos con Veo 3.1 utilizando los controles de fotogramas admitidos y el flujo de trabajo de estado del trabajo.
✨ NUEVO: Veo 3.1 Lite, Fast y Quality están disponibles con control del primer y último fotograma.
✨ Características de Veo 3.1
✅ Tres opciones de modelo - Lite, rápido y de calidad
✅ Control de marco - Establecer imágenes del primer y último fotograma
✅ Texto a vídeo y imagen a video
✅ vídeos de 8 segundos con audio nativo
✅ Soporte de marca de agua - Agregar texto de marca
✅ Modo alternativo opcional para un segundo intento de modelo
✅ Traducción automática al ingles
✅ Múltiples relaciones de aspecto (16:9, 9:16, automático)
💰 Precios
💸 Veo 3.1 Lite
40 créditos
Modo de mejor valor
Texto a vídeo + imagen a vídeo
⚡ Veo 3.1 Fast
100 créditos
~$0,92 por vídeo
El tiempo varía según la cola.
💎 Calidad Veo 3.1
220 créditos
~$2.31 por video
El tiempo varía según la cola.
🛡️ Modo alternativo
+200 créditos
Complemento opcional
El retroceso no garantiza el éxito
/veo31/api/generate/
Generar vídeo Veo 3.1
Cree un vídeo de 8 segundos con Google Veo 3.1 utilizando texto prompt y marcos de imagen opcionales.
Cuerpo de solicitud
{
"prompt": "A golden retriever running through a field of flowers at sunset",
"model": "veo3_lite", // Options: "veo3_lite", "veo3_fast", "veo3"
"aspectRatio": "16:9", // Options: "16:9", "9:16", "Auto"
"imageUrls": [], // Optional: Array of 1-2 image URLs
"seeds": 42069, // Optional: 10000-99999 for reproducible results
"watermark": "UlazAI", // Optional: Max 50 characters
"enableFallback": false, // Optional fallback attempt; check current extra credits
"enableTranslation": true // Optional: Auto-translate to English
}
Parámetros
prompt * (cadena)
Descripción de texto del vídeo a generar. Máximo 5000 caracteres. Sea descriptivo sobre las acciones, los movimientos de la cámara y la atmósfera.
modelo * (cadena)
Modelo a utilizar: veo3_lite (40 créditos), veo3_fast (100 créditos), o veo3 (220 créditos)
relación de aspecto (cadena)
Relación de aspecto del vídeo: 16:9 (paisaje), 9:16 (retrato), Auto (automático). Por defecto: 16:9
URL de imagen (matriz)
Matriz opcional de 1 o 2 URL de imágenes para control de fotogramas:
• 1 imagen: el vídeo se centra en esta imagen.
• 2 imágenes: el vídeo pasa del primer al último fotograma
Máximo 10 MB por imagen, solo JPG/PNG
semillas (entero)
Semilla opcional para resultados reproducibles. Rango: 10000-99999
marca de agua (cadena)
Texto de marca de agua opcional para superponer en video. Máximo 50 caracteres. Genial para la marca.
habilitarFallback (booleano)
Habilite un intento de modelo de copia de seguridad opcional. Verifique el costo del crédito adicional actual; el respaldo no garantiza la finalización. Por defecto: false
habilitarTraducción (booleano)
Traduzca automáticamente prompt al inglés para obtener mejores resultados. Soporta todos los idiomas. Predeterminado: true
Respuesta exitosa (201)
{
"success": true,
"data": {
"task_id": "veo31_abc123def456",
"status": "processing",
"model": "veo3_fast",
"credits_charged": 100,
"credits_remaining": 900,
"estimated_time": "varies by queue",
"message": "Veo 3.1 video generation started successfully"
}
}
Respuesta de error (400)
{
"success": false,
"error": "Insufficient credits. Required: 100, Available: 50"
}
Ejemplo de cURL: texto a vídeo
curl -X POST https://ulazai.com/veo31/api/generate/ \
-H "Authorization: Token YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A golden retriever running through a field of flowers at sunset, slow motion, cinematic lighting",
"model": "veo3_fast",
"aspectRatio": "16:9",
"watermark": "MyBrand",
"enableTranslation": true
}'
Ejemplo de cURL: imagen a vídeo con control de fotogramas
curl -X POST https://ulazai.com/veo31/api/generate/ \
-H "Authorization: Token YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "The character slowly turns their head and smiles at the camera",
"model": "veo3",
"aspectRatio": "16:9",
"imageUrls": ["https://your-domain.com/start-frame.jpg"],
"seeds": 42069,
"enableFallback": true
}'
Ejemplo de Python
import requests
import time
API_KEY = "your_api_key_here"
BASE_URL = "https://ulazai.com"
# Generate video
response = requests.post(
f"{BASE_URL}/veo31/api/generate/",
headers={
"Authorization": f"Token {API_KEY}",
"Content-Type": "application/json"
},
json={
"prompt": "A serene mountain lake at sunrise with mist rising from the water",
"model": "veo3_fast",
"aspectRatio": "16:9",
"watermark": "MyBrand"
}
)
data = response.json()
if data["success"]:
task_id = data["data"]["task_id"]
print(f"Task created: {task_id}")
# Poll for completion
while True:
status_response = requests.get(
f"{BASE_URL}/veo31/api/status/{task_id}/",
headers={"Authorization": f"Token {API_KEY}"}
)
status_data = status_response.json()
if status_data["data"]["status"] == "completed":
video_url = status_data["data"]["video_url"]
print(f"Video ready: {video_url}")
break
elif status_data["data"]["status"] == "failed":
print(f"Generation failed: {status_data['data']['error_message']}")
break
time.sleep(5) # Poll every 5 seconds
else:
print(f"Error: {data['error']}")
/veo31/api/status/<task_id>/
Verificar estado de generación
Verifique el estado de una tarea de generación de video Veo 3.1.
Respuesta - Procesamiento
{
"success": true,
"data": {
"task_id": "veo31_abc123def456",
"status": "processing",
"model": "veo3_fast",
"prompt": "A golden retriever running through flowers",
"credits_charged": 100
}
}
Respuesta - Completada
{
"success": true,
"data": {
"task_id": "veo31_abc123def456",
"status": "completed",
"video_url": "https://cdn.ulazai.com/videos/veo31_abc123.mp4",
"thumbnail_url": "https://cdn.ulazai.com/videos/veo31_abc123_thumb.jpg",
"resolution": "1080p",
"duration": 8,
"aspect_ratio": "16:9",
"fallback_used": false,
"credits_charged": 100
}
}
Respuesta: fallida
{
"success": true,
"data": {
"task_id": "veo31_abc123def456",
"status": "failed",
"error_message": "Content policy violation. Enable fallback mode to retry.",
"credits_refunded": 100
}
}
Ejemplo de rizo
curl -X GET https://ulazai.com/veo31/api/status/veo31_abc123def456/ \
-H "Authorization: Token YOUR_API_KEY"
/veo31/api/upload-frame/
Subir imagen de marco
Cargue una imagen para el control del cuadro (primer o último cuadro). Devuelve una URL para usar en el punto final de generación.
Solicitud (multiparte/datos de formulario)
Content-Type: multipart/form-data
image: (binary file data)
Parámetros
imagen * (archivo)
Archivo de imagen para cargar. Máximo 10 MB. Formatos soportados: JPG, PNG. Resolución recomendada: 1920x1080 o superior.
Respuesta exitosa (200)
{
"success": true,
"url": "https://cdn.ulazai.com/uploads/frame_abc123.jpg",
"message": "Image uploaded successfully"
}
Ejemplo de rizo
curl -X POST https://ulazai.com/veo31/api/upload-frame/ \
-H "Authorization: Token YOUR_API_KEY" \
-F "image=@/path/to/your/image.jpg"
Códigos de estado
200 bien - Solicitud exitosa
201 creado - Tarea de generación creada exitosamente.
400 Solicitud incorrecta - Parámetros no válidos o créditos insuficientes
401 No autorizado - Clave API faltante o no válida
404 no encontrado - ID de tarea no encontrada
413 Carga útil demasiado grande - La imagen supera el límite de 10 MB
429 Demasiadas solicitudes - Límite de tarifa excedido
500 Error interno del servidor - Error del servidor, póngase en contacto con el soporte
Valores de estado de tarea
pendiente - Tarea creada, esperando para comenzar.
procesamiento - Se está generando vídeo.
completado - Generación de video exitosa, video_url disponible
falló - Generación fallida, créditos reembolsados automáticamente
💡 Mejores prácticas
Utilice prompt descriptivos
Incluye detalles sobre acciones, movimientos de cámara, iluminación y atmósfera. Ejemplo: "primer plano en cámara lenta de gotas de agua cayendo, retroiluminadas por una puesta de sol dorada, poca profundidad de campo"
Habilitar respaldo para contenido importante
Para trabajos importantes, considere el intento de respaldo opcional y aún así maneje las generaciones fallidas o rechazadas en su flujo de trabajo.
Use semillas para darle consistencia
Si necesita regenerar videos similares, use el mismo valor inicial (10000-99999) para obtener resultados más consistentes.
Control de marco para branding
Sube 1 imagen para centrar tu video alrededor de ella, o 2 imágenes para crear una transición suave. Perfecto para vídeos consistentes de personajes o productos.
Estado de la encuesta de manera eficiente
Encuesta cada 5 segundos para el modo Rápido, 10 segundos para el modo Calidad. No realice encuestas con más frecuencia para evitar límites de tarifas.
📝 Ejemplo Prompt
✅ Bueno Prompt
"Un águila majestuosa vuela sobre montañas cubiertas de nieve al amanecer, una luz dorada ilumina sus alas, una cámara en cámara lenta sigue una toma desde abajo, una composición cinematográfica"
✅ Bueno Prompt
"Primer plano de un barista sirviendo café con leche, vapor saliendo de la taza, iluminación cálida del café, poca profundidad de campo, perspectiva de lente macro"
❌ Pobre Prompt
"águila volando"
Demasiado vago: faltan detalles sobre la configuración, el movimiento y el ángulo de la cámara.
¿Necesita ayuda?
¿Tiene problemas con el Veo 3.1 API? ¡Estamos aquí para ayudar!