Passer au contenu principal
Cet article présentera une documentation sur l’API de génération de vidéos Sora, qui permet de générer des vidéos officielles de Sora en entrant des paramètres personnalisés.

Processus de demande

Pour utiliser l’API, vous devez d’abord vous rendre sur la page correspondante de l’API de génération de vidéos Sora pour demander le service correspondant. Une fois sur la page, cliquez sur le bouton « Acquire », comme indiqué dans l’image ci-dessous : 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 vous être connecté ou inscrit, vous serez automatiquement renvoyé à la page actuelle. Lors de la première demande, un quota gratuit sera offert, vous permettant d’utiliser l’API gratuitement.

Utilisation de base

Tout d’abord, comprenons la méthode d’utilisation de base, qui consiste à entrer le mot-clé prompt, un tableau de liens d’images de référence image_urls et le modèle model, ce qui vous permettra d’obtenir le résultat traité. Les détails sont les suivants :

Nous pouvons voir ici que nous avons défini les en-têtes de la 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 de génération de vidéos, principalement sora-2 et sora-2-pro. Actuellement, sora-2 et sora-2-pro permettent de choisir les paramètres size et duration pour la vidéo, où sora-2-pro peut supporter une durée de 25 secondes, tandis que sora-2 ne supporte que des vidéos de 10 ou 15 secondes.
  • size : la clarté de la tâche de génération de vidéo, qui peut être small ou large.
  • image_urls : les liens d’images de référence à télécharger ou un tableau encodé en Base64.
  • duration : la durée de la tâche de génération de vidéo, qui peut être de 10s, 15s ou 25s, actuellement seul sora-2-pro supporte 25s.
  • character_start/character_end : la position de départ et d’arrivée du personnage dans l’image (0-1), utilisée pour contrôler la position du sujet.
  • orientation : l’orientation de l’image, supportant landscape, portrait ou square.
  • prompt : le mot-clé.
  • callback_url : l’URL pour recevoir le résultat.
Après avoir fait votre sélection, vous pouvez voir que le code correspondant a également été généré à droite, comme indiqué dans l’image ci-dessous :

Cliquez sur le bouton « Try » pour effectuer un test, comme le montre l’image ci-dessus, et nous avons obtenu le résultat suivant :
{
  "success": true,
  "task_id": "6bf7fb83-5814-4e3e-a4ad-bfa0c26c0b33",
  "trace_id": "96166698-4b66-478d-a26b-77a7269c9e01",
  "data": [
    {
      "id": "sora-2:task_01k7770rgsevxsmtpbn7xnm5gh",
      "video_url": "https://filesystem.site/gptimage/vg-assets/assets%2Ftask_01k7770rgsevxsmtpbn7xnm5gh%2Ftask_01k7770rgsevxsmtpbn7xnm5gh_genid_0bf958d3-cae7-4298-b7b6-99ae439a1ea6_25_10_10_14_06_975715%2Fvideos%2F00000%2Fsrc.mp4?st=2025-10-10T12%3A30%3A38Z&se=2025-10-16T13%3A30%3A38Z&sks=b&skt=2025-10-10T12%3A30%3A38Z&ske=2025-10-16T13%3A30%3A38Z&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skoid=8ebb0df1-a278-4e2e-9c20-f2d373479b3a&skv=2019-02-02&sv=2018-11-09&sr=b&sp=r&spr=https%2Chttp&sig=jigY6Z5qp8%2BTXYobaW0EAJ4%2Fbx6G7t6V1P0iyDeUq48%3D&az=oaivgprodscus",
      "state": "succeeded"
    }
  ]
}
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 le suivant :
curl -X POST 'https://api.acedata.cloud/sora/videos' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "size": "large",
  "duration": 15,
  "orientation": "landscape",
  "prompt": "cat running on the river",
  "model": "sora-2"
}'

Tâche de génération de vidéo à partir d’images

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 les liens d’images de référence, ce qui vous permettra de spécifier le contenu suivant :
  • image_urls : le tableau de liens d’images de référence utilisé pour cette tâche de génération de vidéo.
Un exemple de saisie est le suivant :

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

Le code correspondant :
import requests

url = "https://api.acedata.cloud/sora/videos"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "size": "large",
    "duration": 15,
    "orientation": "landscape",
    "prompt": "cat running on the river",
    "model": "sora-2",
    "image_urls": ["https://cdn.acedata.cloud/11wfp4.png"]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
En cliquant sur exécuter, vous pouvez constater que vous obtiendrez immédiatement un résultat, comme suit :
{
  "success": true,
  "task_id": "dd392ff0-dcb7-4c7a-afd0-9bd4f65c803a",
  "trace_id": "04fd151c-e942-4c1c-a6ab-9a1b1fe54172",
  "data": [
    {
      "id": "sora-2:task_01k777af4hfmg9g7yfvwsc6zws",
      "video_url": "https://filesystem.site/gptimage/vg-assets/assets%2Ftask_01k777af4hfmg9g7yfvwsc6zws%2Ftask_01k777af4hfmg9g7yfvwsc6zws_genid_92bae0c5-1703-4a5f-9d9f-c9ed2f9e7176_25_10_10_14_12_924695%2Fvideos%2F00000%2Fsrc.mp4?st=2025-10-10T12%3A37%3A32Z&se=2025-10-16T13%3A37%3A32Z&sks=b&skt=2025-10-10T12%3A37%3A32Z&ske=2025-10-16T13%3A37%3A32Z&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skoid=aa5ddad1-c91a-4f0a-9aca-e20682cc8969&skv=2019-02-02&sv=2018-11-09&sr=b&sp=r&spr=https%2Chttp&sig=5j4dibeaSsDmEka5c%2B9CKHZhRPdqfClQ0tIh03TWXsM%3D&az=oaivgprodscus",
      "state": "succeeded"
    }
  ]
}
On peut voir que l’effet généré est une vidéo créée à partir d’images, le résultat est similaire au texte ci-dessus.

Tâche de génération de vidéo de personnage

Si vous souhaitez générer une 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 que la vidéo ne doit pas contenir de vraies personnes, sinon cela échouera, vous pouvez spécifier le contenu suivant :
  • character_url : lien vidéo nécessaire à la création du personnage, notez que la vidéo ne doit pas contenir de vraies personnes, sinon cela échouera.
Exemple de remplissage ci-dessous :

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

Le code correspondant :
import requests

url = "https://api.acedata.cloud/sora/videos"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "size": "small",
    "duration": 10,
    "orientation": "landscape",
    "prompt": "chat courant sur la rivière",
    "character_url": "https://cdn.acedata.cloud/pdidf5.mp4",
    "model": "sora-2",
    "character_end": 3,
    "character_start": 1
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
En cliquant sur exécuter, vous pouvez constater que vous obtiendrez immédiatement un résultat, comme suit :
{
  "success": true,
  "task_id": "d9bf5461-29b5-47fd-be90-1fe9197df259",
  "trace_id": "b7992643-9207-40d6-956b-7577728acc67",
  "data": [
    {
      "id": "sora-2:task_01k8ykrztefavaypw6xanw305b",
      "video_url": "https://filesystem.site/cdn/20251101/bee4eeeb4c4660b46dac4548a1ffbc.mp4",
      "state": "succeeded"
    }
  ]
}
On peut voir que l’effet généré est une vidéo de personnage, le résultat est similaire au texte ci-dessus.

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, donc 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 d’information 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, qui inclut également le champ task_id, permettant ainsi de relier le résultat de la tâche par ID. Voyons comment procéder à travers 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. Ici, pour des raisons de démonstration, nous utilisons un site Web de modèle Webhook public https://webhook.site/, en ouvrant ce site, vous obtiendrez une URL Webhook, comme illustré : 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é comme suit :

En cliquant sur exécuter, vous pouvez constater que vous obtiendrez immédiatement un résultat, comme suit :
{
  "task_id": "b8976e18-32dc-4718-9ed8-1ea090fcb6ea"
}
Après un moment, vous pouvez observer le résultat de la chanson générée sur https://webhook.site/eb238c4f-da3b-47a5-a922-a93aa5405daa, comme illustré : Le contenu est le suivant :
```json
{
    "success": true,
    "task_id": "b8976e18-32dc-4718-9ed8-1ea090fcb6ea",
    "trace_id": "fb751e1e-4705-49ea-9fd4-5024b7865ea2",
    "data": [
        {
            "id": "sora-2:task_01k777hjrbfrgs2060q5zvf2a5",
            "video_url": "https://filesystem.site/gptimage/vg-assets/assets%2Ftask_01k777hjrbfrgs2060q5zvf2a5%2Ftask_01k777hjrbfrgs2060q5zvf2a5_genid_b8e2e5d1-a579-49ca-a21c-cb3869685cce_25_10_10_14_15_147334%2Fvideos%2F00000%2Fsrc.mp4?st=2025-10-10T12%3A38%3A49Z&se=2025-10-16T13%3A38%3A49Z&sks=b&skt=2025-10-10T12%3A38%3A49Z&ske=2025-10-16T13%3A38%3A49Z&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skoid=aa5ddad1-c91a-4f0a-9aca-e20682cc8969&skv=2019-02-02&sv=2018-11-09&sr=b&sp=r&spr=https%2Chttp&sig=p4aMqXqkP%2FI1IhOVGCB9JL8vUUvfNBBF12ESpKhKXOk%3D&az=oaivgprodscus",
            "state": "succeeded"
        }
    ]
}
On peut voir qu’il y a un champ task_id dans le résultat, les autres champs étant similaires à ceux mentionnés précédemment, ce champ permet d’associer 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

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "échec de la récupération"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Conclusion

Grâce à ce document, vous avez compris comment utiliser l’API de génération de vidéos Sora, qui permet de générer des vidéos à partir de mots-clés d’entrée et d’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.