Saltar al contenido principal

Endpoints

MétodoEndpointDescripció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)
callback_url
string
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.
input
object
requerido
Parámetros de entrada del modelo
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

taskId
string
Identificador único de la tarea.
state
string
Estado actual: pending, processing, success o failed.
resultJson
string
Cadena JSON que contiene el array resultUrls. Solo presente en éxito. Parsea con JSON.parse().
failCode
string
Código de error. Solo presente cuando state es failed. Consulta Códigos de error.
failMsg
string
Mensaje de error legible. Solo presente cuando state es failed.
createTime
integer
Marca temporal de creación (Unix milisegundos).
completeTime
integer
Marca temporal de finalización (Unix milisegundos).
costTime
integer
Duración del procesamiento en milisegundos.

Códigos de error

CódigoDescripción
400Parámetros inválidos o error de solicitud
401Clave de API inválida o ausente
429Límite de tasa superado
Código de falloDescripció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ímiteValor
Solicitudes10000 / minuto
Tareas simultáneas1000

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