01
Crear una API key
Abre Dashboard > API Keys y prepara una clave server-side. Los clientes de navegador deben llamar a tu backend y no exponer la clave.
Documentación preview
Esta guía muestra el flujo planeado de Veo 4 API: crear una tarea de video, consultar estado, recibir webhooks y presupuestar créditos antes del lanzamiento público.
Flujo de integración
Usa este flujo para preparar la integración backend. Guarda la clave en servidor, envía jobs asincrónicos y almacena URLs cuando terminen.
01
Abre Dashboard > API Keys y prepara una clave server-side. Los clientes de navegador deben llamar a tu backend y no exponer la clave.
02
Envía una solicitud text-to-video o image-to-video con prompt, mode, aspect ratio, quality y webhook URL opcional.
03
Consulta el task endpoint con task_id hasta que llegue a succeeded o failed. Webhooks reduce polling en producción.
04
Cuando la tarea tenga éxito, guarda video_url y thumbnail_url en tu CMS, editor, pipeline o registro de proyecto.
Contrato preview
Los ejemplos son concretos para que los equipos diseñen clientes desde ahora. Trátalos como contrato borrador hasta el anuncio de lanzamiento.
Usa HTTPS desde tu servidor. El lanzamiento puede introducir un dominio versionado o endpoints regionales.
https://veo4api.net/api/video/veo4Cada solicitud usa Bearer token. Guarda API keys en server secrets, nunca en bundles frontend públicos.
Authorization: Bearer YOUR_API_KEYhttps://veo4api.net/api/video/veo4/generatePuede cambiarCrea una nueva tarea asincrónica de video Veo 4. La respuesta devuelve task_id inmediatamente mientras el render continúa en segundo plano.
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
prompt | string | Sí | Instrucción en lenguaje natural para el clip. Incluye sujeto, movimiento de cámara, estilo y restricciones. |
image_urls | string[] | No | Imágenes fuente públicamente accesibles para jobs image-to-video. El proxy actual acepta image_urls y aliases compatibles de URL de imagen. |
aspect_ratio | string | No | Valores planeados: 16:9, 9:16 y 1:1. |
extend_task_id | string | No | task_id opcional de un video completado existente al solicitar un workflow de extensión. |
seeds | number | No | Seed numérico opcional para resultados más repetibles. El rango actual es 10000 a 99999. |
watermark | string | No | Etiqueta watermark opcional enviada al backend de generación de video. |
enableTranslation | boolean | No | Booleano opcional que controla la traducción del prompt antes de generar. Por defecto true. |
public | boolean | No | Booleano opcional que indica si el resultado puede aparecer en superficies públicas de showcase. |
curl -X POST "https://veo4api.net/api/video/veo4/generate" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A cinematic dolly shot of a glass greenhouse during sunrise",
"aspect_ratio": "16:9",
"watermark": "veo4api",
"enableTranslation": true
}'const response = await fetch("https://veo4api.net/api/video/veo4/generate", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
prompt: "Animate this product photo into a smooth studio orbit shot",
image_urls: ["https://cdn.example.com/input/product.png"],
aspect_ratio: "1:1",
seeds: 12345,
public: false
})
});
const data = await response.json();
console.log(data.task_id);{
"task_id": "veo4_task_01j9example",
"status": "queued",
"model": "veo-4",
"credits_estimated": 180,
"created_at": "2026-05-17T08:00:00Z"
}{
"task_id": "veo4_task_01j9example",
"status": "succeeded",
"progress": 100,
"video_url": "https://cdn.veo4api.net/results/veo4_task_01j9example.mp4",
"thumbnail_url": "https://cdn.veo4api.net/results/veo4_task_01j9example.jpg",
"completed_at": "2026-05-17T08:03:42Z"
}
// Poll the task with:
// GET https://veo4api.net/api/video/veo4/status?task_id={task_id}Entrega asíncrona
La entrega webhook está planeada para el contrato público de la API. Hasta que esté habilitada, consulta el status endpoint y prepara tu backend para un futuro campo webhook_url.
Los detalles de firma webhook aún no son finales. Planea verificar un futuro signature header, guardar task_id e ignorar eventos duplicados.
{
"event": "video.succeeded",
"task_id": "veo4_task_01j9example",
"status": "succeeded",
"model": "veo-4",
"video_url": "https://cdn.veo4api.net/results/veo4_task_01j9example.mp4",
"credits_charged": 180,
"created_at": "2026-05-17T08:00:00Z",
"completed_at": "2026-05-17T08:03:42Z"
}Confiabilidad
Construye clientes con estados explícitos y fallos retryable. La generación es asíncrona, por lo que 200 solo significa que la tarea fue aceptada.
| Estado | Significado |
|---|---|
queued | La solicitud fue aceptada y espera capacidad. |
processing | El modelo está renderizando o postprocesando el video. |
succeeded | El video está listo y las URLs de resultado están disponibles. |
failed | La generación falló. Muestra el error y permite revisar prompt o reintentar. |
canceled | La tarea fue cancelada antes de completarse. |
| Código | Manejo recomendado |
|---|---|
400 | Valida prompt length, image_urls, aspect_ratio, seeds y public visibility antes de reintentar. |
401 | API key ausente, expirada o inválida. Pide crear una nueva clave. |
402 | Créditos insuficientes. Envía a billing o baja quality antes de reintentar. |
409 | Solicitud de tarea en conflicto. Cuando la plataforma devuelva conflicto, obtén la tarea existente. |
429 | Rate limited. Aplica exponential backoff y evita polling agresivo. |
500 | Error temporal de plataforma o modelo. Reintenta después y conserva el registro original. |
Planificación de créditos
Las etiquetas actuales de precios usan estos números para capacidad Veo 4. No son compromisos finales de facturación antes del lanzamiento.
Job de video standard
180
Créditos estimados por generación de video Veo 4 standard.
Job de video HD
240
Créditos estimados por generación de video Veo 4 HD.
Usa estas cifras solo para planificación. Los límites reales, tiers de calidad y facturación pueden ajustarse.