- Version 1 (mode classique) : prend en charge les paramètres
duration(10/15/25 secondes),orientation(paysage/portrait),size(small/large résolution), images de référenceimage_urls, lien de personnagecharacter_url, etc. - Version 2 (mode partenaire) : prend en charge les paramètres
seconds(4/8/12 secondes), résolution en pixelssize(par exemple 1280x720), images de référenceinput_reference, etc.
Processus de demande
Pour utiliser l’API, vous devez d’abord faire une demande de service sur la page correspondante de Sora Videos Generation API. Une fois sur la page, cliquez sur le bouton « Acquire », comme illustré ci-dessous :
Si vous n’êtes pas encore connecté ou inscrit, vous serez automatiquement redirigé vers la page de connexion pour vous inscrire et vous connecter. Après connexion, vous serez ramené automatiquement à cette page.
Lors de la première demande, un quota gratuit est offert, vous permettant d’utiliser l’API gratuitement.
Utilisation de base (Version 1)
Commençons par comprendre l’utilisation de base de la Version 1, qui consiste à fournir un mot-cléprompt, un tableau de liens d’images de référence image_urls et un modèle model pour obtenir le résultat traité. Le détail est le suivant :

accept: format de réponse souhaité, iciapplication/json(format JSON).authorization: clé d’API pour appeler l’API, sélectionnable dans la liste déroulante après demande.
model: modèle de génération vidéo, supportesora-2(mode standard) etsora-2-pro(mode HD).sora-2-prosupporte unedurationde 25 secondes, tandis quesora-2supporte seulement 10 et 15 secondes.size: résolution vidéo,smallpour résolution standard,largepour HD (uniquement Version 1).duration: durée de la vidéo, supporte 10, 15, 25 secondes, 25 secondes uniquement avecsora-2-pro(uniquement Version 1).orientation: orientation de l’image, supportelandscape(paysage),portrait(portrait) (uniquement Version 1).image_urls: tableau de liens d’images de référence, utilisé pour la génération vidéo à partir d’image (uniquement Version 1).character_url: lien de personnage, la vidéo ne doit pas contenir de personnes réelles (uniquement Version 1).character_start/character_end: secondes de début et fin d’apparition du personnage, plage de 1 à 3 secondes (uniquement Version 1).prompt: mot-clé (obligatoire).callback_url: URL pour le rappel asynchrone des résultats.version: version de l’API,"1.0"(par défaut) ou"2.0".

success: état de la tâche de génération vidéo.task_id: ID de la tâche de génération vidéo.trace_id: ID de suivi de la tâche.data: liste des résultats de la tâche.id: ID de la vidéo générée.video_url: URL de la vidéo générée.state: état de la tâche.
data.
Pour générer le code d’intégration correspondant, vous pouvez copier directement, par exemple le code CURL :
Tâche de génération vidéo à partir d’images (Version 1)
Pour une tâche de génération vidéo à partir d’images, le paramètreimage_urls doit contenir les liens des images de référence, permettant de spécifier :
image_urls: tableau de liens d’images de référence utilisées pour la génération vidéo. Ne pas fournir d’images réelles contenant des visages humains, cela pourrait entraîner l’échec de la tâche.


Tâche de génération vidéo de personnage (Version 1)
Pour une tâche de génération vidéo de personnage, le paramètrecharacter_url doit contenir le lien vidéo nécessaire à la création du personnage. La vidéo ne doit pas contenir de personnes réelles, sinon la tâche échouera. Les paramètres sont :
character_url: lien vidéo pour créer le personnage, sans personnes réelles dans la vidéo.


Mode Version 2.0
En plus du mode Version 1.0, cette API prend également en charge le mode Version 2.0, activé en réglant le paramètreversion à "2.0". Le mode Version 2.0 supporte des durées vidéo plus courtes et un contrôle de résolution au niveau pixel.
Description des paramètres Version 2.0
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
version | string | Oui | Doit être réglé sur "2.0" |
prompt | string | Oui | Mot-clé pour générer la vidéo |
model | string | Non | sora-2 (par défaut) ou sora-2-pro |
duration | integer | Non | Durée vidéo : 4 (par défaut), 8, 12 secondes |
size | string | Non | Résolution : 720x1280 (par défaut), 1280x720, 1024x1792, 1792x1024 |
image_urls | array | Non | Tableau d’URL d’images de référence, seule la première image est utilisée, la taille doit correspondre à size |
callback_url | string | Non | URL pour rappel asynchrone |
Exemple de base
Utilisation d’images de référence (Version 2.0)
En mode Version 2.0, vous pouvez passer des images de référence via le paramètreimage_urls pour guider la génération vidéo (seule la première image est utilisée) :
Remarque : la taille de l’image de référence doit correspondre au paramètresize. Par exemple, sisizeest1280x720, l’image doit mesurer 1280×720 pixels.
Comparaison des paramètres Version 1.0 et Version 2.0
| Paramètre | Version 1.0 | Version 2.0 |
|---|---|---|
version | 1.0 (par défaut) | 2.0 |
prompt | ✅ | ✅ |
model | ✅ sora-2 / sora-2-pro | ✅ sora-2 / sora-2-pro |
duration | ✅ 10/15/25 secondes | ✅ 4/8/12 secondes |
orientation | ✅ landscape/portrait | ❌ |
size | ✅ small/large | ✅ 720x1280/1280x720/1024x1792/1792x1024 |
image_urls | ✅ plusieurs images | ✅ seule la première image |
character_url | ✅ | ❌ |
callback_url | ✅ | ✅ |
Rappel asynchrone
La génération vidéo avec l’API Sora Videos Generation prend environ 1 à 2 minutes. Si l’API ne répond pas rapidement, la requête HTTP reste ouverte, consommant des ressources système supplémentaires. C’est pourquoi l’API propose également un support de rappel asynchrone. Le processus est le suivant : le client envoie la requête en spécifiant un champcallback_url. L’API retourne immédiatement un résultat contenant un task_id représentant l’ID de la tâche. Une fois la tâche terminée, le résultat de la vidéo générée est envoyé en POST JSON à l’URL callback_url du client, incluant également le champ task_id pour associer le résultat à la tâche.
Voyons un exemple concret.
Tout d’abord, un webhook est un service pouvant recevoir des requêtes HTTP. Le développeur doit remplacer par l’URL de son propre serveur HTTP. Pour la démonstration, nous utilisons un site public de webhook https://webhook.site/, qui fournit une URL webhook comme illustré :
Copiez cette URL, par exemple https://webhook.site/eb238c4f-da3b-47a5-a922-a93aa5405daa, qui servira de webhook.
Ensuite, configurez le champ callback_url avec cette URL et remplissez les autres paramètres, comme illustré :

https://webhook.site/eb238c4f-da3b-47a5-a922-a93aa5405daa, comme montré :
Contenu :
task_id permet d’associer les résultats à la tâche correspondante.
Gestion des erreurs
Lors de l’appel à l’API, en cas d’erreur, l’API retourne un code d’erreur et un message correspondant, par exemple :400 token_mismatched: Requête incorrecte, paramètres manquants ou invalides.400 api_not_implemented: Requête incorrecte, paramètres manquants ou invalides.401 invalid_token: Non autorisé, jeton d’autorisation invalide ou manquant.429 too_many_requests: Trop de requêtes, limite de fréquence dépassée.500 api_error: Erreur interne du serveur.

