Endpoints
Método Endpoint Descripción POST /api/v1/generateTask/sora-2Crear tarea de generación GET /api/v1/statusTask/sora-2Consultar estado de la tarea
Autenticación
Todas las solicitudes requieren una clave de API en el encabezado:
Authorization: Bearer YOUR_API_KEY
Cuerpo de la solicitud
{
"request_type" : "async" ,
"callback_url" : "https://..." ,
"provider" : "official" ,
"input" : {
"mode" : "text-to-video" ,
"prompt" : "..." ,
"duration" : 12 ,
"aspect_ratio" : "landscape" ,
"image_urls" : [ "..." ],
"remove_watermark" : true
}
}
Parámetros
request_type
string
predeterminado: "async"
async (polling) o callback (webhook)
URL de callback, requerida cuando request_type=callback (condicional)
provider
string
predeterminado: "official"
Estrategia de enrutamiento. Solo official está soportado; establece provider=official explícitamente.
Parámetros de entrada del modelo mode
string
predeterminado: "text-to-video"
requerido
text-to-video o image-to-video
Descripción de texto, 1-10000 caracteres
duration
integer
predeterminado: "8"
requerido
Duración del vídeo en segundos: 4, 8 o 12
Imagen de referencia, máx. 1 (requerido para image-to-video) (condicional)
aspect_ratio
string
predeterminado: "landscape"
portrait o landscape
remove_watermark
boolean
predeterminado: "true"
Si eliminar la marca de agua
Opciones de modo:
text-to-video — Generar vídeo desde texto
image-to-video — Generar vídeo desde imagen
Ejemplo
Text-to-Video
curl -X POST "https://api.apixo.ai/api/v1/generateTask/sora-2" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"request_type": "async",
"provider": "official",
"input": {
"mode": "text-to-video",
"prompt": "a cinematic flyover of a futuristic city at sunrise, golden hour lighting, slow camera movement revealing towering skyscrapers with holographic advertisements",
"duration": 12,
"aspect_ratio": "landscape",
"remove_watermark": true
}
}'
Image-to-Video
curl -X POST "https://api.apixo.ai/api/v1/generateTask/sora-2" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"request_type": "callback",
"callback_url": "https://your-server.com/callback",
"provider": "official",
"input": {
"mode": "image-to-video",
"prompt": "extend this scene into a smooth camera pan with dramatic lighting, the character slowly turns to face the camera with emotional expression",
"duration": 8,
"aspect_ratio": "portrait",
"image_urls": ["https://example.com/ref.jpg"],
"remove_watermark": true
}
}'
Respuesta
POST /api/v1/generateTask/sora-2
Devuelve taskId en caso de éxito.
Éxito:
{
"code" : 200 ,
"message" : "success" ,
"data" : {
"taskId" : "task_12345678"
}
}
Error:
{
"code" : 400 ,
"message" : "Insufficient credits" ,
"data" : null
}
GET /api/v1/statusTask/sora-2
Consulta el estado de ejecución y resultados vía taskId.
curl -X GET "https://api.apixo.ai/api/v1/statusTask/sora-2?taskId=task_12345678" \
-H "Authorization: Bearer YOUR_API_KEY"
Éxito:
{
"code" : 200 ,
"message" : "success" ,
"data" : {
"taskId" : "task_12345678" ,
"state" : "success" ,
"resultJson" : "{ \" resultUrls \" :[ \" https://r2.apixo.ai/video.mp4 \" ]}" ,
"createTime" : 1767965610929 ,
"completeTime" : 1767965652317 ,
"costTime" : 41388
}
}
Fallido:
{
"code" : 200 ,
"message" : "success" ,
"data" : {
"taskId" : "task_12345678" ,
"state" : "failed" ,
"failCode" : "CONTENT_VIOLATION" ,
"failMsg" : "Content does not meet safety guidelines"
}
}
Campos de respuesta de estado
Identificador único de la tarea.
Estado actual: pending, processing, success o failed.
Cadena JSON que contiene el array resultUrls. Solo presente en éxito. Parsea con JSON.parse().
Código de error. Solo presente cuando state es failed. Consulta Códigos de error .
Mensaje de error legible. Solo presente cuando state es failed.
Marca temporal de creación (Unix milisegundos).
Marca temporal de finalización (Unix milisegundos).
Duración del procesamiento en milisegundos.
Códigos de error
Código Descripción 400 Parámetros inválidos o error de solicitud 401 Clave de API inválida o ausente 429 Límite de tasa superado
Código de fallo Descripción CONTENT_VIOLATIONEl contenido viola directrices de seguridad INVALID_IMAGE_URLNo se puede acceder a la URL de imagen proporcionada
Límites de tasa
Límite Valor Solicitudes 10000 / minuto Tareas simultáneas 1000
Consejos
Tiempo de generación : Vídeo 4s ~2-4 min, 8s ~3-5 min, 12s ~4-6 min. Usa siempre modo callback .
Calidad cinemática : Sora 2 destaca por alta calidad y capacidades narrativas.
Modo callback : Recomendado por tiempos largos (varios minutos).
Caducidad : URLs válidas 15 días.
Proporción : landscape apaisado, portrait vertical.
Marca de agua : remove_watermark: true elimina marca de agua (recomendado).
Prompts largos : Soporta hasta 10000 caracteres.
Image-to-video : Extiende una imagen en vídeo; describe efectos de animación y movimiento de cámara en el prompt.
La generación de vídeo tarda más que las imágenes — usa modo callback para producción. Las URLs caducan tras 15 días; descarga con prontitud.
Relacionado