Skip to main content
Cet article présentera les instructions pour l’intégration de l’API Sora Videos Generation. Grâce à cette API, vous pouvez entrer des paramètres personnalisés pour générer des vidéos officielles de Sora. Cette API prend en charge deux modes de version :
  • Version 1 (mode classique) : prend en charge duration (10/15/25 secondes), orientation (paysage/portrait), size (petite/grande définition), image de référence image_urls, lien ### character_url, etc.
  • Version 2 (mode partenaire) : prend en charge seconds (4/8/12 secondes), résolution au niveau des pixels size (comme 1280x720), image de référence input_reference, etc.

Processus de demande

Pour utiliser l’API Sora Videos Generation, commencez par obtenir votre API Token sur le tableau de bord Ace Data Cloud pour le garder en réserve. Si vous n’êtes pas encore connecté ou inscrit, vous serez automatiquement redirigé vers la page de connexion pour vous inviter à vous inscrire et à vous connecter, après quoi vous serez automatiquement renvoyé à la page actuelle. Un seul API Token suffit pour appeler tous les services de la plateforme, il n’est pas nécessaire de demander un pour chaque service. La première demande vous donnera un quota gratuit pour une expérience sans frais ; lorsque le quota est insuffisant, vous pouvez recharger le solde général dans le tableau de bord.
📘 Documentation complète : Sora Videos Generation API →

Utilisation de base (Version 1)

Tout d’abord, comprenez la méthode d’utilisation de base de la Version 1, qui consiste à entrer le mot-clé prompt, un tableau de liens d’images de référence image_urls et le modèle model, pour obtenir le résultat traité, le contenu spécifique est comme suit :

Nous pouvons voir ici que nous avons défini les en-têtes de requête, y compris :
  • accept : le format de réponse souhaité, ici rempli avec application/json, c’est-à-dire au format JSON.
  • authorization : la clé pour appeler l’API, que vous pouvez sélectionner directement après la demande.
De plus, nous avons défini le corps de la requête, y compris :
  • model : le modèle pour générer la vidéo, prenant en charge sora-2 (mode standard) et sora-2-pro (mode haute définition). Le sora-2-pro peut prendre en charge une duration de 25 secondes, tandis que le sora-2 ne prend en charge que 10 et 15 secondes.
  • size : la clarté de la vidéo, small pour la clarté standard, large pour la clarté HD (uniquement Version 1).
  • duration : la durée de la vidéo, prenant en charge 10, 15, 25 secondes, dont 25 secondes uniquement prises en charge par sora-2-pro (uniquement Version 1).
  • orientation : l’orientation de l’image, prenant en charge landscape (paysage), portrait (portrait) (uniquement Version 1).
  • image_urls : tableau de liens d’images de référence, utilisé pour générer des vidéos (uniquement Version 1).
  • character_url : lien ###, les vidéos ne peuvent pas contenir de vraies personnes (uniquement Version 1).
  • character_start/character_end : secondes de début et de fin de l’apparition du personnage, avec une plage de différence de 1 à 3 secondes (uniquement Version 1).
  • prompt : mot-clé (obligatoire).
  • callback_url : URL pour le retour asynchrone des résultats.
  • async : optionnel, si défini sur true, l’interface renvoie immédiatement task_id, sans avoir besoin de fournir callback_url, puis vous pouvez interroger le résultat via l’interface de requête de tâche correspondante.
  • version : version de l’API, "1.0" (par défaut) ou "2.0".
Après avoir fait votre choix, vous pouvez voir que le code correspondant a également été généré à droite, comme illustré ci-dessous :

Cliquez sur le bouton « Essayer » pour effectuer un test, comme le montre l’image ci-dessus, et nous avons obtenu le résultat suivant :
Le résultat de retour contient plusieurs champs, décrits comme suit :
  • success, l’état de la tâche de génération de vidéo à ce moment.
  • task_id, l’ID de la tâche de génération de vidéo à ce moment.
  • trace_id, l’ID de suivi de la génération de vidéo à ce moment.
  • data, la liste des résultats de la tâche de génération de vidéo à ce moment.
    • id, l’ID de la vidéo de la tâche de génération de vidéo à ce moment.
    • video_url, le lien de la vidéo de la tâche de génération de vidéo à ce moment.
    • state, l’état de la tâche de génération de vidéo à ce moment.
Nous pouvons voir que nous avons obtenu des informations vidéo satisfaisantes, il nous suffit de récupérer la vidéo Sora générée à partir de l’adresse du lien vidéo dans data. De plus, si vous souhaitez générer le code d’intégration correspondant, vous pouvez le copier directement, par exemple, le code CURL est comme suit :

Tâche de génération de vidéo à partir d’images (Version 1)

Si vous souhaitez effectuer une tâche de génération de vidéo à partir d’images, le paramètre image_urls doit d’abord être passé avec des liens d’images de référence, vous pouvez spécifier le contenu suivant :
  • image_urls : tableau de liens d’images de référence utilisés pour cette tâche de génération de vidéo. Notez qu’il ne faut pas transmettre de véritables images de personnes avec des visages, sinon cela pourrait entraîner l’échec de la tâche.
Exemple de saisie comme suit :

Une fois rempli, le code suivant a été généré automatiquement :

Le code correspondant :
Cliquez sur exécuter, vous pouvez voir que vous obtiendrez immédiatement un résultat, comme suit :
On peut voir que l’effet généré est un vidéo générée par image, le résultat est similaire à ce qui précède.

Tâche de génération de vidéo de personnage (Version 1)

Si vous souhaitez effectuer une tâche de génération de vidéo de personnage, le paramètre character_url doit d’abord être passé avec le lien vidéo nécessaire à la création du personnage, notez qu’il ne doit pas y avoir de vraies personnes dans la vidéo, sinon cela échouera, vous pouvez spécifier le contenu suivant :
  • character_url : lien vidéo nécessaire à la création du personnage, notez qu’il ne doit pas y avoir de vraies personnes dans la vidéo, sinon cela échouera.
Exemple de remplissage ci-dessous :

Après avoir rempli, le code généré automatiquement est comme suit :

Le code correspondant :
Cliquez sur exécuter, vous pouvez voir que vous obtiendrez immédiatement un résultat, comme suit :
On peut voir que l’effet généré est une vidéo générée par personnage, le résultat est similaire à ce qui précède.

Mode Version 2.0

En plus du mode Version 1.0 ci-dessus, cette API prend également en charge le mode Version 2.0, qui peut être activé en définissant le paramètre version sur "2.0". Le mode Version 2.0 prend en charge une durée vidéo plus courte et un contrôle de résolution au niveau des pixels.

Description des paramètres de la Version 2.0

Exemple de base

Le code Python correspondant :
Le code JavaScript correspondant :
Le format de résultat est le même que la Version 1.

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ètre image_urls pour guider la génération de vidéos (en utilisant uniquement la première image) :
Remarque : La taille des images de référence doit correspondre au paramètre size, par exemple lorsque size est 1280x720, la taille de l’image de référence doit être de 1280×720.

Comparaison des paramètres Version 1.0 et Version 2.0

Rappel asynchrone

Étant donné que le temps de génération de l’API Sora Videos Generation est relativement long, environ 1 à 2 minutes, si l’API ne répond pas pendant longtemps, la requête HTTP maintiendra la connexion, entraînant une consommation supplémentaire de ressources système. Par conséquent, cette API propose également un support de rappel asynchrone. Le processus global est le suivant : lorsque le client initie une requête, il spécifie un champ callback_url supplémentaire. Après que le client ait lancé la requête API, l’API renverra immédiatement un résultat contenant un champ task_id, représentant l’ID de la tâche actuelle. Lorsque la tâche est terminée, le résultat de la vidéo générée sera envoyé au callback_url spécifié par le client sous forme de POST JSON, incluant également le champ task_id, permettant ainsi de relier les résultats de la tâche par ID. Voyons comment procéder avec un exemple. Tout d’abord, le rappel Webhook est un service capable de recevoir des requêtes HTTP, les développeurs doivent le remplacer par l’URL de leur propre serveur HTTP. Pour des raisons de démonstration, nous utiliserons un site Web de Webhook public https://webhook.site/, en ouvrant ce site, vous obtiendrez une URL Webhook, comme illustré ci-dessous : Copiez cette URL, vous pouvez l’utiliser comme Webhook, l’exemple ici est https://webhook.site/eb238c4f-da3b-47a5-a922-a93aa5405daa. Ensuite, nous pouvons définir le champ callback_url sur l’URL Webhook ci-dessus, tout en remplissant les paramètres correspondants, le contenu spécifique est illustré ci-dessous :

En cliquant sur exécuter, vous pouvez constater que vous obtiendrez immédiatement un résultat, comme suit :
Après un moment, vous pouvez observer le résultat de la vidéo générée sur https://webhook.site/eb238c4f-da3b-47a5-a922-a93aa5405daa, comme illustré ci-dessous : Le contenu est le suivant :
On peut voir que le résultat contient un champ task_id, les autres champs étant similaires à ceux mentionnés ci-dessus, ce champ permet de relier les tâches.

Gestion des erreurs

Lors de l’appel de l’API, si une erreur se produit, l’API renverra le code d’erreur et les informations correspondantes. Par exemple :
  • 400 token_mismatched : Mauvaise requête, probablement en raison de paramètres manquants ou invalides.
  • 400 api_not_implemented : Mauvaise requête, probablement en raison de paramètres manquants ou invalides.
  • 401 invalid_token : Non autorisé, jeton d’autorisation invalide ou manquant.
  • 429 too_many_requests : Trop de requêtes, vous avez dépassé la limite de taux.
  • 500 api_error : Erreur interne du serveur, quelque chose s’est mal passé sur le serveur.

Exemple de réponse d’erreur

Conclusion

Grâce à ce document, vous avez compris comment utiliser l’API de génération de vidéos Sora pour générer des vidéos en saisissant des mots-clés et des images de référence. Nous espérons que ce document vous aidera à mieux intégrer et utiliser cette API. Si vous avez des questions, n’hésitez pas à contacter notre équipe de support technique.