Arrêt de l’API Sora : exportez vos ressources et migrez vos flux vidéo

L’API Sora s’arrête le 24 septembre 2026. Si votre application soumet encore des tâches Sora, utilisez le temps restant pour conserver les sorties et valider un flux vidéo de remplacement. Les expériences web et application Sora d’OpenAI ont déjà pris fin le 26 avril 2026 ; cette date antérieure est distincte de l’échéance de l’API. L’avis d’arrêt d’OpenAI explique les deux dates et le processus d’export.
Passer à Kling ou Seedance demande davantage que choisir un nouveau modèle. Les corps de requête, entrées de référence, états de tâche, URL de résultat et durées prises en charge peuvent différer. La migration est terminée lorsque votre application peut soumettre, suivre, récupérer et conserver une vidéo acceptable via le nouvel itinéraire.
Documentation vérifiée le 14 septembre 2026. Les exemples ci-dessous ont été vérifiés par rapport aux schémas publiés ; ils ne constituent pas des comptes rendus de tests de génération payants.
Ce qu’il faut sauvegarder avant l’arrêt de l’API Sora
Commencez par inventorier les tâches Sora que votre application doit conserver. Préservez l’ID de tâche du fournisseur, votre ID de tâche interne, le modèle, le prompt, les emplacements des ressources de référence, les paramètres demandés, le statut et la sortie terminée. Conservez ces enregistrements selon vos règles existantes d’accès et de rétention.
Pour les vidéos générées par API, l’API OpenAI actuelle distingue les métadonnées de tâche du média téléchargeable :
| Objectif | Chemin d’API OpenAI |
|---|---|
| Créer une vidéo | POST /v1/videos |
| Récupérer les métadonnées d’une tâche | GET /v1/videos/{video_id} |
| Télécharger le contenu terminé | GET /v1/videos/{video_id}/content |
Les références création, récupération et téléchargement documentent ces opérations. Enregistrez les octets réels du média dans un stockage que vous contrôlez ; une liste d’ID de tâche n’est pas une archive vidéo. Vérifiez que les fichiers téléchargés s’ouvrent et que votre application peut les trouver sans appeler Sora.
Pour le contenu créé dans l’application Sora, utilisez le processus d’export décrit dans l’avis d’OpenAI. Ne supposez pas qu’un export de l’application archive également les tâches API de votre application. OpenAI décrit d’éventuelles fenêtres d’export finales et une notification par e-mail ; l’avis ne permet pas de promettre ni la suppression immédiate de chaque ressource à l’échéance de l’API, ni une récupération indéfinie après celle-ci. Archivez ce dont vous avez besoin tant que c’est accessible.
Choisir un remplacement avec les clips que vous produisez réellement
Commencez par un petit jeu d’évaluation représentant votre production : gros plan de produit, scène en mouvement, plan guidé par référence, dialogue si nécessaire, et prompt difficile que votre flux actuel traite mal. Gardez les ressources d’entrée et les critères d’acceptation identiques entre les candidats.
| Candidat | Capacités documentées à tester | Questions de migration |
|---|---|---|
| Kling 3.0 | Audio natif, génération multi-plan et flux première/dernière image dans le guide officiel du modèle | L’itinéraire API choisi expose-t-il le mode, la durée, les contrôles audio et la gestion des références requis ? |
| Seedance 2.5 | Références multimodales, montage et extension vidéo, et génération jusqu’à 30 secondes | L’itinéraire prend-il en charge la résolution demandée, les rôles de référence et la combinaison de paramètres propre à la tâche ? |
Ce sont des résumés de capacités, non des classements de qualité. Consultez le guide du modèle Kling 3.0 et l’annonce de Seedance 2.5 de ByteDance. Une capacité disponible dans une application fournisseur ne l’est pas automatiquement via chaque API ou passerelle.
Seedance et Seedream sont des familles de modèles différentes. Seedance génère de la vidéo ; Seedream 5.0 Pro est un modèle d’image. Un prix de génération d’image ne peut pas servir de devis vidéo par seconde.
Parcourez le catalogue de modèles Tokenhot pour trouver des itinéraires candidats, puis lisez la page API du modèle sélectionné avant de l’implémenter. Notez l’identifiant exact du modèle et la date d’évaluation afin de pouvoir comparer utilement les résultats ultérieurs.
Adaptez le corps de requête, pas seulement l’URL de base
L’opération de création Sora d’OpenAI utilise des champs tels que prompt, seconds et size, avec ses propres valeurs prises en charge. L’opération documentée Seedance 2.5 de Tokenhot utilise à la place content, duration, ratio et resolution. Le chemin Tokenhot est /v1/video/generations, avec video au singulier.
La soumission texte-vers-vidéo suivante suit la documentation Tokenhot Seedance 2.5. Installez requests, définissez TOKENHOT_API_KEY dans votre environnement, et ne l’exécutez que lorsque vous souhaitez créer une tâche potentiellement facturable.
import json
import os
from pathlib import Path
import requests
record_path = Path("seedance-submission.json")
if record_path.exists():
raise RuntimeError("A submission record exists; inspect it before creating another job.")
response = requests.post(
"https://api.tokenhot.ai/v1/video/generations",
headers={"Authorization": f"Bearer {os.environ['TOKENHOT_API_KEY']}"},
json={
"model": "doubao-seedance-2.5",
"content": [{
"type": "text",
"text": "A ceramic cup on a wooden table, slow camera push-in, soft daylight."
}],
"duration": 5,
"ratio": "16:9",
"resolution": "720p",
"generate_audio": False,
"output_format": "mp4"
},
timeout=(10, 60),
)
response.raise_for_status()
job = response.json()
task_id = job["id"]
record_path.write_text(json.dumps(job, indent=2), encoding="utf-8")
print(f"Submitted task: {task_id}")
Cet exemple soumet une fois et enregistre la réponse. Un délai réseau peut rendre l’issue de la soumission incertaine : le serveur peut avoir accepté une tâche même si le client n’a pas reçu son ID. Examinez la requête existante avant de la soumettre à nouveau. La protection par fichier local est une commodité pour cet exemple, pas un mécanisme d’idempotence de production.
La page actuelle de Seedance 2.5 documente des sorties 480p et 720p, des durées de 4 à 30 secondes ou une valeur adaptative de -1. Le montage vidéo exige duration=-1 et ratio=adaptive ; les tâches première image, première-et-dernière image et extension exigent aussi le ratio adaptatif. Validez les règles de votre type de tâche plutôt que de copier une charge texte-vers-vidéo dans tous les modes. Des combinaisons non prises en charge peuvent échouer après le début du traitement asynchrone. Exigences de paramètres Tokenhot.
Gardez les schémas de soumission et d’interrogation séparés
Une soumission acceptée n’est pas une vidéo terminée. La page de soumission Seedance 2.5 documente un id de niveau supérieur et des statuts dont queued, processing, succeeded et failed.
La page distincte publiée pour l’interrogation de tâche Seedance 2.0 documente GET /v1/video/generations/{task_id} et illustre une réponse imbriquée : data.status vaut SUCCESS, tandis que data.result_url contient l’adresse de sortie. Comme cette page est étiquetée 2.0, confirmez le contrat de requête pour votre itinéraire 2.5 sélectionné avant de réutiliser un analyseur d’interrogation 2.0.
Créez un petit adaptateur pour chaque itinéraire vérifié. Il doit traduire la réponse du fournisseur dans les états propres à votre application, par exemple en attente, en cours, terminé et échoué. Conservez l’ID de tâche brut et les détails d’erreur pour le dépannage. Les états inconnus doivent déclencher une enquête plutôt que d’être traités comme un succès.
Votre worker doit avoir un intervalle d’interrogation borné, une échéance globale et une gestion explicite des erreurs d’authentification, de limitation et de serveur transitoires. Lorsqu’une échéance d’interrogation locale expire, conservez l’ID de tâche afin qu’un autre worker puisse reprendre la vérification. Ne soumettez pas une tâche de remplacement simplement parce que l’originale prend plus de temps que prévu.
Lorsqu’une tâche réussit, récupérez rapidement le résultat et enregistrez-le selon la politique de rétention de votre application. Traitez les URL de sortie signées comme des mécanismes d’accès temporaires sauf documentation explicite du service contraire. Une tâche fournisseur terminée et une ressource client conservée en sécurité sont deux jalons distincts.
Comparer le coût par clip accepté
Comparez les prix pour la même résolution, durée, configuration audio, mode d’entrée et itinéraire d’accès. Les crédits d’application fournisseur, prix API directs et devis de passerelle peuvent appliquer des règles de facturation différentes. Notre comparaison de tarifs API explique comment garder distinctes les unités de facturation et les routes fournisseur.
Une mesure d’évaluation utile est :
Cost per accepted clip = total billed evaluation cost / accepted clips
Par exemple, si une évaluation coûte $12 et produit huit clips répondant à vos exigences, le coût observé est $1.50 par clip accepté. Il s’agit d’un calcul illustratif, pas d’un devis Kling ou Seedance. Incluez les essais rejetés facturés dans le numérateur et comptabilisez séparément le stockage, le montage et la revue humaine s’ils influencent votre décision.
Suivez le temps de réalisation et le taux d’échec avec la qualité visuelle. Un faible prix catalogue aide peu si votre flux régénère à répétition des sorties inutilisables.
Basculez avant le 24 septembre
- Archivez les sorties Sora requises et vérifiez leur lecture depuis votre propre stockage.
- Sélectionnez un itinéraire de remplacement avec des clips représentatifs et des critères d’acceptation explicites.
- Vérifiez la validation des requêtes, les enregistrements de soumission, l’analyse des requêtes, les tâches échouées et la récupération des sorties.
- Dirigez une part contrôlée du nouveau travail vers le remplacement et surveillez les ressources terminées, le coût et les échecs.
- Arrêtez de créer de nouvelles tâches Sora assez tôt pour traiter le travail restant avant l’échéance.
- Gardez les anciens enregistrements de tâche lisibles après la bascule et documentez une solution de repli qui ne dépend pas de la disponibilité continue de Sora.
Si vous choisissez aussi une passerelle, le guide des alternatives à OpenRouter couvre la sélection d’itinéraire et les contrôles de compatibilité. Pour l’implémentation, commencez par la page exacte du modèle vidéo dans la documentation API Tokenhot, puis validez le cycle de vie complet de la tâche dans votre propre environnement.
L’accès à l’API Sora prend fin le 24 septembre 2026. Conservez les vidéos finalisées et les métadonnées des tâches, évaluez Kling et Seedance avec vos propres clips, et migrez tant la soumission que le traitement des tâches. Ce guide distingue les détails d’arrêt confirmés des choix d’implémentation et présente le format documenté de requête Tokenhot Seedance.


