API Sora 2

Construisez sur l'API Sora 2

Expédiez des expériences texte-en-vidéo soutenues par OpenAI Sora 2 et Sora Pro. Authentifiez-vous avec des clés API, interrogez l'état des tâches et livrez des vidéos finales en quelques minutes.

Pourquoi les équipes comptent sur l'API Sora 2

Fournissez des flux de travail de génération de vidéos résilients avec un sondage prévisible, 20 requêtes simultanées et des téléchargements automatiques.

Sora 2 + Sora Pro

Choisissez la chaîne de modèle qui correspond à vos besoins en qualité et en coût : sora-2 ou sora-2-pro.

Sondage prévisible

Créez une tâche, puis interrogez le point de terminaison de vérification des résultats pour garder l'état et le progrès synchronisés sans SSE.

20 requêtes simultanées

Traitez jusqu'à 20 tâches de génération de vidéos simultanément. Contactez-nous pour des limites plus élevées.

Authentification & URL de Base

Tous les points de terminaison vivent sous https://freesoragenerator.com/api. Fournissez la clé API créée dans la console via l'en-tête Authorization.

  • Envoyez l'en-tête Authorization: Bearer YOUR_API_KEY avec chaque requête.
  • Utilisez Content-Type: application/json lors de l'envoi de charges utiles.
  • Chaque demande de génération déduit 20 crédits (sora-2) ou 30 crédits (sora-2-pro) ; les travaux échoués sont remboursés automatiquement.

Points de terminaison principaux

Commencez par créer une tâche de génération, puis interrogez ou écoutez le résultat.

Créer une vidéo Sora 2

Lancez un travail de génération Sora 2 ou Sora Pro avec des invites texte-en-vidéo ou image-en-vidéo optionnelles.

Méthode: POSTChemin: /api/v1/video/sora-video

Paramètres de charge utile

  • Requis. Utilisez "sora-2" ou "sora-2-pro" pour cibler la variante de modèle dont vous avez besoin.
  • Requis. Description en langage naturel de la scène que vous souhaitez que Sora crée.
  • Optionnel (recommandé). URL de données Base64 avec préfixe "data:image/*;base64," pour le mode image-en-vidéo.
  • Optionnel. URL d'image de référence héritée ; toujours prise en charge mais priorité inférieure à imageData.
  • Optionnel. Valeurs prises en charge : "9:16" (par défaut) ou "16:9".
  • Optionnel. Afficher la vidéo publiquement ; la valeur par défaut est true.
  • Optionnel (VIP uniquement). PID de vidéo cible pour les fonctionnalités de continuation/remix.
  • Optionnel (VIP uniquement). Tableau de contrôle des personnages ; chaque élément inclut url et timestamps.
  • Optionnel. Point de terminaison HTTPS qui reçoit la charge utile finale lorsque la tâche réussit.

Remarques

  • Les réponses reviennent immédiatement avec un taskId ; interrogez check-result jusqu'à ce que le statut soit réussi ou échoué.
  • Fournissez un webHook pour recevoir la charge utile finale de manière asynchrone sans exécuter une boucle de sondage.

Requête d'exemple

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
  }'

Réponse d'exemple

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

Vérifier le résultat de la génération

Interrogez le dernier statut d'une tâche de génération pour suivre les progrès et récupérer les résultats.

Méthode: POSTChemin: /api/video-generations/check-result

Paramètres de charge utile

  • Requis. L'identifiant retourné lorsque vous avez créé la tâche de génération.

Remarques

  • Le point de terminaison vérifie que la tâche appartient à votre compte avant de renvoyer des données.
  • Les travaux échoués retournent des crédits automatiquement et exposent des métadonnées de remboursement dans la charge utile de vérification des résultats.

Requête d'exemple

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"
  }'

Réponse d'exemple

{
  "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"
        }
      ]
    }
  }
}

Obtenir les crédits utilisateur et le statut VIP

Interrogez les crédits disponibles de l'utilisateur actuel et le statut d'adhésion VIP.

Méthode: POSTChemin: /api/get-user-credits

Remarques

  • Nécessite une session de connexion valide ou un jeton API pour accéder aux informations utilisateur.
  • Renvoie les champs de statut left_credits, is_recharged, is_pro et is_vip.

Requête d'exemple

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

Réponse d'exemple

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

1. Créer la tâche

Envoyez la demande API Sora2 avec votre invite et l'URL de webhook optionnelle, puis stockez le taskId retourné.

2. Suivre les progrès

Abonnez-vous aux événements de streaming ou appelez le point de terminaison check-result jusqu'à ce que le statut devienne réussi ou échoué.

3. Livrer la vidéo

Utilisez les URL soutenues par le stockage dans result_url/result_urls pour servir ou télécharger la vidéo générée.

Questions Fréquemment Posées

Comment authentifier mes requêtes ?

Créez une clé API dans la console, puis incluez-la comme Authorization: Bearer YOUR_API_KEY. Les clés peuvent être renouvelées à tout moment.

Comment devrais-je interroger les résultats ?

Après avoir appelé create, stockez le taskId. Appelez /api/video-generations/check-result toutes les 3-5 secondes jusqu'à ce que le statut soit réussi ou échoué, puis utilisez result_url/result_urls.

Comment les crédits sont-ils gérés en cas d'échecs ?

Nous remboursons automatiquement les crédits lorsqu'une tâche échoue et retournons refund_trans_no plus credits_refunded=true dans la charge utile de vérification des résultats pour les pistes d'audit.

Ressources Utiles

Lancez avec l'API Sora2 aujourd'hui

Créez votre clé API et commencez à générer des vidéos IA cinématographiques en quelques minutes.