API Sora 2

Construye sobre la API Sora 2

Envía experiencias de texto a video respaldadas por OpenAI Sora 2 y Sora Pro. Autentica con claves API, consulta el estado de la tarea y entrega videos finales en minutos.

Por qué los equipos confían en la API Sora 2

Ofrece flujos de trabajo de generación de video resilientes con polling predecible, 20 solicitudes concurrentes y cargas automáticas de almacenamiento.

Sora 2 + Sora Pro

Elige la cadena de modelo que se ajuste a tus necesidades de calidad y costo: sora-2 o sora-2-pro.

Polling predecible

Crea una tarea, luego consulta el endpoint de check-result para mantener el estado y el progreso en sincronía sin SSE.

20 solicitudes concurrentes

Procesa hasta 20 tareas de generación de video simultáneamente. Contáctanos para límites más altos.

Autenticación & URL Base

Todos los endpoints viven bajo https://freesoragenerator.com/api. Proporciona la clave API creada en la consola a través del encabezado de Autorización.

  • Envía el encabezado Authorization: Bearer YOUR_API_KEY con cada solicitud.
  • Usa Content-Type: application/json al publicar cargas útiles.
  • Cada solicitud de generación deduce 20 créditos (sora-2) o 30 créditos (sora-2-pro); los trabajos fallidos son reembolsados automáticamente.

Endpoints principales

Comienza creando una tarea de generación, luego consulta o escucha el resultado.

Crear video Sora 2

Inicia un trabajo de generación Sora 2 o Sora Pro con mensajes de texto a video o mensajes opcionales de imagen a video.

Método: POSTRuta: /api/v1/video/sora-video

Parámetros de carga

  • Requerido. Usa "sora-2" o "sora-2-pro" para apuntar a la variante de modelo que necesitas.
  • Requerido. Descripción en lenguaje natural de la escena que deseas que Sora cree.
  • Opcional (recomendado). URL de datos Base64 con prefijo "data:image/*;base64," para el modo de imagen a video.
  • Opcional. URL de imagen de referencia heredada; aún compatible pero con menor prioridad que imageData.
  • Opcional. Valores soportados: "9:16" (predeterminado) o "16:9".
  • Opcional. Si mostrar el video públicamente; el valor predeterminado es true.
  • Opcional (solo VIP). PID de video objetivo para funciones de continuación/remix.
  • Opcional (solo VIP). Array de control de personajes; cada elemento incluye url y timestamps.
  • Opcional. Endpoint HTTPS que recibe la carga útil final cuando la tarea tiene éxito.

Notas

  • Las respuestas regresan inmediatamente con un taskId; consulta check-result hasta que el estado sea succeeded o failed.
  • Proporciona webHook para recibir la carga útil final de forma asíncrona sin ejecutar un bucle de polling.

Solicitud de ejemplo

curl -X POST https://freesoragenerator.com/api/v1/video/sora-video \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sora-2-pro",
    "prompt": "A cinematic shot of a futuristic city at sunset, captured in 4K.",
    "imageData": "data:image/png;base64,iVBORw0KGgoAAA...",
    "aspectRatio": "9:16",
    "isPublic": true
  }'

Respuesta de ejemplo

{
  "code": 0,
  "message": "ok",
  "data": {
    "id": "task_1234567890"
  }
}

Consultar resultado de generación

Consulta el último estado de una tarea de generación para rastrear el progreso y recuperar resultados.

Método: POSTRuta: /api/video-generations/check-result

Parámetros de carga

  • Requerido. El identificador devuelto cuando creaste la tarea de generación.

Notas

  • El endpoint verifica que la tarea pertenezca a tu cuenta antes de devolver datos.
  • Los trabajos fallidos devuelven créditos automáticamente y exponen metadatos de reembolso en la respuesta.

Solicitud de ejemplo

curl -X POST https://freesoragenerator.com/api/video-generations/check-result \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "taskId": "task_1234567890"
  }'

Respuesta de ejemplo

{
  "code": 0,
  "message": "Success",
  "data": {
    "status": "running",
    "progress": 35,
    "result_url": "https://your-domain.com/storage/videos/xxx.mp4",
    "result_urls": [
      "https://your-domain.com/storage/videos/xxx.mp4"
    ],
    "failure_reason": "",
    "error_message": null,
    "credits_refunded": false,
    "refund_trans_no": null,
    "result_pid": "s_xxx",
    "result_pids": [
      "s_xxx"
    ],
    "metadata": {
      "remixTargetId": "s_prev",
      "characters": [
        {
          "url": "https://.../hero.mp4",
          "timestamps": "0,3"
        }
      ]
    }
  }
}

Obtener créditos de usuario y estado VIP

Consulta los créditos disponibles del usuario actual y el estado de membresía VIP.

Método: POSTRuta: /api/get-user-credits

Notas

  • Requiere sesión de inicio de sesión válida o token API para acceder a la información del usuario.
  • Devuelve los campos de estado left_credits, is_recharged, is_pro e is_vip.

Solicitud de ejemplo

curl -X POST https://freesoragenerator.com/api/get-user-credits \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Respuesta de ejemplo

{
  "code": 0,
  "message": "ok",
  "data": {
    "left_credits": 120,
    "is_recharged": true,
    "is_pro": true,
    "is_vip": false
  }
}

1. Crea la tarea

Envía la solicitud de la API Sora2 con tu mensaje y URL de webhook opcional, luego guarda el taskId devuelto.

2. Rastrear progreso

Suscríbete a los eventos de streaming o llama al endpoint check-result hasta que el estado se convierta en succeeded o failed.

3. Entregar el video

Usa las URL respaldadas por almacenamiento en result_url/result_urls para servir o descargar el video generado.

Preguntas frecuentes

¿Cómo autentico mis solicitudes?

Crea una clave API en la consola, luego inclúyela como Authorization: Bearer YOUR_API_KEY. Las claves pueden ser rotadas en cualquier momento.

¿Cómo debo consultar los resultados?

Después de llamar a create, guarda el taskId. Llama a /api/video-generations/check-result cada 3-5 segundos hasta que el estado sea succeeded o failed, luego usa result_url/result_urls.

¿Cómo se manejan los créditos para fallos?

Reembolsamos automáticamente los créditos cuando una tarea falla y devolvemos refund_trans_no más credits_refunded=true en la carga útil de check-result para auditorías.

Recursos útiles

Lanza con la API Sora2 hoy

Crea tu clave API y comienza a generar videos AI cinematográficos en minutos.