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.io
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
# Opcional: fijar un proveedor. Si lo omites, la plataforma enruta por ti # "provider": { "type": "byteplus" } curl -X POST https://api.ofox.io/v1/videos \ -H "Authorization: Bearer $OFOX_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "bytedance/seedance-2.5", "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.io/v1/videos/9bcf3c60-7db2-4e1a-a1b2-c3d4e5f60718" }

2. Consulta hasta que se complete

Terminal
curl https://api.ofox.io/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

Fijar un proveedor

Un modelo de vídeo puede estar servido por más de un proveedor. Pasa provider.type en el nivel superior del cuerpo de la petición para fijar la tarea a uno:

{ "model": "bytedance/seedance-2.0-mini", "prompt": "...", "provider": { "type": "byteplus" } }

Sin ese campo, la tarea se reparte con un peso. Los proveedores disponibles están en Enrutamiento de proveedores.

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