Skip to Content
APIGeneración de videoResumen

Video API

Una API unificada de generación de video compatible con el estándar OpenRouter Video Generation. Un solo esquema cubre generación de texto a video, imagen a video, primer/último fotograma y generación guiada por referencias. Envía una tarea de forma asíncrona; luego consulta su estado o recibe un webhook cuando termine.

FunciónDetalle
Base URLhttps://api.ofox.ai
Estilo de protocoloCompatible con OpenRouter (envío asíncrono → consulta / webhook)
Modo de generaciónSe infiere implícitamente: sin imágenes = texto a video · frame_images = imagen / primer-último fotograma · input_references = guiado por referencias
Entrega del resultadoConsulta con GET (protegida por límite de tasa) o webhook callback_url (firmado con HMAC, con reintentos)
Almacenamiento de videoURL original upstream (temporal) + espejo CDN opcional (URL firmada persistente)

Autenticación

Cada solicitud lleva tu API Key de ofox (formato sk-xxx…) en el header HTTP:

Authorization: Bearer $OFOX_API_KEY

callback_url debe usar HTTPS. Los destinos de webhook se validan contra SSRF: se rechazan direcciones privadas, de bucle local y de metadatos cloud. Una dirección no HTTPS o interna falla al crear la tarea con 400 invalid_callback_url.

Quickstart

1. Envía una tarea

Terminal
curl -X POST https://api.ofox.ai/v1/videos \ -H "Authorization: Bearer $OFOX_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "google/veo-3.1", "prompt": "A golden retriever running on the beach at sunset", "duration": 5, "resolution": "1080p", "aspect_ratio": "16:9", "generate_audio": true }'

La llamada devuelve 202 inmediatamente con una URL de consulta:

{ "id": "9bcf3c60-7db2-4e1a-a1b2-c3d4e5f60718", "status": "pending", "polling_url": "https://api.ofox.ai/v1/videos/9bcf3c60-7db2-4e1a-a1b2-c3d4e5f60718" }

2. Consulta hasta que se complete

Terminal
curl https://api.ofox.ai/v1/videos/9bcf3c60-7db2-4e1a-a1b2-c3d4e5f60718 \ -H "Authorization: Bearer $OFOX_API_KEY"

Sigue consultando hasta que status llegue a un estado terminal: completed, failed, cancelled o expired. No consultes más de una vez por segundo, o pasa un callback_url al crear la tarea para recibir un webhook en lugar de consultar. Consulta Obtener estado del video y Webhooks.

Endpoints

MétodoEndpointDescripción
POST/v1/videosCrear una tarea de video
GET/v1/videos/{id}Obtener el estado y resultado de la tarea
DELETE/v1/videos/{id}Cancelar una tarea

Precio por segundo

Los modelos de vídeo se facturan por tiempo, no por tokens. La entrada correspondiente de pricing.video_pricing.tiers define la tarifa en USD por segundo según la resolución, el tipo de entrada y las opciones de audio. pricing.output_video_per_second es solo el precio inicial más bajo del modelo. La estimación es tarifa del nivel × duración solicitada; al finalizar, usa usage.video_seconds y usage.video_cost de la respuesta como segundos facturados y coste real. En tareas de vídeo a vídeo, los segundos facturados pueden incluir la duración del vídeo de entrada.

Siguiente

Last updated on