ByteDance: Seedance 2.0
ByteDance Seedance 2.0 associe une génération native audio-vidéo à des références d’images, de vidéo et de son. Dirigez de nouvelles scènes, modifiez des séquences existantes ou prolongez une séquence ; l’édition standard comprend des sorties documentées en 1080p et en 4K de 10 bits.
À propos du modèle
Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.
Seedance 2.0 est le modèle standard de ByteDance Seed pour la création multimodale audio-vidéo. Il combine texte, images, vidéos et audio dans une architecture de génération conjointe, avec des processus créatifs distincts pour les scènes guidées par références, la modification vidéo et la prolongation vidéo. Il convient lorsque le cahier des charges nécessite une interprétation cohérente et des informations visuelles ou sonores précises issues de matériaux préparés.
Référence multimodale et direction
Les images peuvent définir l’apparence du sujet, le style visuel et la composition. Les références vidéo peuvent guider l’action, le mouvement de caméra et les effets. L’audio peut guider le timbre vocal, la musique ou le dialogue. Définissez le rôle de chaque matériau, puis décrivez la scène qui doit en résulter. Le fabricant met l’accent sur le contrôle de l’interprétation, de l’éclairage, des ombres et du langage de caméra.
Pour une histoire produit, préparez une image du produit, une référence de mouvement de caméra et un indice audio. Un cahier des charges pourrait être : « Preserve the blue glass vase from Image 1. Use the slow sideways tracking movement from Video 1. The vase sits on a sunlit shelf, with soft instrumental music based on Audio 1. » La sortie visée est une scène nouvellement mise en place qui combine des informations choisies des références.
Les entrées de référence peuvent combiner image et audio, image et vidéo, vidéo et audio ou les trois. L’entrée exclusivement audio et le texte avec audio sans image ni vidéo ne sont pas pris en charge. Le texte-vidéo traditionnel, la génération à première image et la génération à première et dernière images sont aussi documentés. Si des compositions fixes d’ouverture et de clôture importent, utilisez le processus dédié aux images limites : nommer une image de référence comme une limite dans un prompt à références omni n’est qu’une manière indirecte de la guider.
Modifier une séquence
Le modèle peut remplacer un sujet, ajouter ou supprimer des objets, changer des éléments et redessiner ou réparer des parties d’une vidéo. Décrivez le changement précis et identifiez la séquence source. Pour un ajout, incluez l’instant et la position d’apparition ; pour une suppression ou un remplacement, indiquez précisément l’objet et nommez ce qui doit rester.
Par exemple : « Replace the desk lamp in Video 1 with the brass lamp in Image 1. Keep the camera movement, desk arrangement and lighting direction. » Le résultat souhaité est une version modifiée de la scène avec la substitution visée. Examinez les zones inchangées et le nouvel objet, particulièrement lors des occultations, des mouvements et des changements de plans.
Prolonger et relier une séquence
Seedance 2.0 peut prolonger une vidéo vers l’avant ou l’arrière et relier jusqu’à trois extraits fournis par des transitions générées. Précisez la direction temporelle et le nouvel événement. Pour une liaison, ordonnez les extraits et décrivez la transition entre chaque paire, par exemple une caméra entrant par une porte dans un plan et arrivant dans l’environnement suivant.
Une prolongation simple renvoie généralement la continuation développée autour de la séquence source ; incluez une instruction claire si le résultat final doit aussi répéter le segment d’origine. Lors de la création d’une liaison entre deux ou trois extraits, le processus documenté peut inclure le matériau d’origine et de nouveaux contenus de transition. Cela sert à développer une ouverture ou une fin ou à relier des scènes préparées sans laisser l’action de jonction indéfinie.
Sortie de l’édition standard et 4K
L’édition standard documente du MP4 à 24 fps et des durées de 4 à 15 secondes. Les niveaux de sortie sont 480p, 720p et 1080p avec une profondeur de couleur de 8 bits, ainsi que 4K avec une profondeur de couleur de 10 bits. Les rapports pris en charge sont 21:9, 16:9, 4:3, 1:1, 3:4 et 9:16. Le cadrage adaptatif et la sélection automatique de durée sont aussi documentés. L’édition Fast possède sa propre spécification de sortie plus restreinte en 480p/720p.
La sortie 4K utilise l’encodage H.265/HEVC. L’encodage de 10 bits préserve des gradations tonales supplémentaires et des transitions de couleur plus douces, ce qui compte pour les matériaux comportant une lumière subtile ou des dégradés de couleur. Vérifiez que l’environnement de lecture et de montage visé peut décoder ce format ; certains navigateurs et appareils ne le lisent pas directement. Un conteneur compatible n’assure pas à lui seul un décodage vidéo compatible.
Le modèle peut générer un son synchronisé ou une vidéo silencieuse et renvoyer la dernière image générée pour une scène ultérieure. L’audio généré est mono. La famille 2.0 ne prend pas en charge le mode distinct d’aperçu Draft en deux étapes ; cette fonction d’aperçu ne doit donc pas être déduite d’une autre édition Seedance.
Préparation des références et limites substantielles
La capacité documentée de références atteint neuf images, trois vidéos et trois extraits audio. Les téléversements directs d’images ou de vidéos de référence contenant de vrais visages humains ne sont pas acceptés dans ce profil documenté du producteur ; le travail de portrait utilise son processus pris en charge d’éléments de portrait. Chaque extrait vidéo et audio doit durer de 2 à 15 secondes. Toutes les références vidéo doivent tenir ensemble dans 15 secondes et toutes les références audio possèdent leur propre total de 15 secondes. Les fichiers vidéo utilisent MP4 ou MOV à 24–60 fps, jusqu’à 200 MB chacun ; les fichiers audio utilisent WAV ou MP3, jusqu’à 15 MB chacun. Les formats d’image répertoriés sont JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC et HEIF. Les images doivent être inférieures à 30 MB chacune et le corps de requête ne doit pas dépasser 64 MB. Dans le profil documenté d’entrée de références, la largeur et la hauteur des images doivent chacune être strictement comprises entre 300 et 6000 pixels, avec un rapport largeur-hauteur strictement compris entre 0.4 et 2.5. Les vidéos de référence autorisent de 300 à 6000 pixels dans chaque dimension et des rapports de 0.4 à 2.5, bornes incluses, avec 407 696 à 8 295 044 pixels au total. Les vidéos MP4 ou MOV utilisent la vidéo H.264/AVC ou H.265/HEVC et l’audio AAC ou MP3.
Ordonnez délibérément les fichiers et désignez chacun par son type de média et son numéro : Image 1, Video 1 et Audio 1. Le numéro suit l’ordre parmi les fichiers de ce type. Expliquez les caractéristiques à transférer et le contenu source qui ne doit pas définir la nouvelle scène. Les langues documentées de prompt comprennent l’anglais, l’espagnol, l’indonésien, le portugais et le japonais. Gardez la langue parlée cohérente dans un dialogue ; le guide déconseille le mélange de langues, sauf pour les noms propres. Pour un travail guidé par la voix, séparez le locuteur, la phrase exacte et l’indication d’interprétation.
Préparez les première et dernière images avec des cadrages compatibles. Une différence entre l’image d’entrée et les dimensions de sortie peut provoquer un recadrage ou un changement visuel brusque ; des dimensions correspondantes et le cadrage adaptatif sont des solutions documentées. Gardez la description concentrée sur l’événement et les rôles des références. Le fabricant avertit que les longs prompts peuvent disperser les informations et faire ignorer des détails. Vérifiez le mouvement obtenu, la continuité des références, l’interprétation audio et les jonctions entre scènes comme des parties distinctes du résultat créatif.
Planification des plans et direction du texte
Pour une scène complexe, organisez le cahier des charges en Shot 1, Shot 2 et Shot 3, en précisant dans l’ordre la caméra, l’action du sujet, la position et le son. Le guide recommande un mouvement de caméra par plan et de privilégier des actions lentes et reliées. Les horodatages précis par plan sont instables ; une séquence d’événements est donc une meilleure commande que l’imposition de plusieurs fenêtres temporelles exactes.
Le modèle génère aussi du texte courant, dont des slogans, des sous-titres et des bulles de dialogue. Vous pouvez diriger la couleur, le traitement visuel, l’emplacement et l’apparition du texte. Utilisez des caractères courants plutôt que des caractères rares ou des symboles spéciaux et vérifiez la formulation en mouvement. Pour les références de sujets, liez clairement chaque élément au personnage ou à l’objet visés. Les points de vue d’un produit peuvent apporter des informations visuelles différentes ; les collages de vues d’un personnage peuvent brouiller son identité faciale. Un portrait de tête clair distinct et une image en pied sont la recommandation documentée de référence de personnage.
Comportements à examiner avant une modification
Le guide documente les sous-titres indésirables, les logos, les personnages en double et la dérive de style. Des sources propres, des libellés cohérents et des contraintes explicites réduisent ces risques, mais ne garantissent pas la disparition du texte indésirable ou des figures en double. Plus de quatre personnes de référence sont présentées comme un risque de stabilité, distinct du nombre de fichiers accepté par le modèle.
La prolongation vidéo peut créer un saut ou un retour en arrière à la jonction et des continuations répétées peuvent cumuler la dégradation de qualité d’image. Examinez les images limites et limitez les prolongations empilées. Une voix de référence peut différer du timbre source ; la narration peut se terminer par un clic ou une coupure brusque, pour lesquels un fondu audio est une solution documentée. Les caractères chinois polyphoniques, peu courants ou de formes similaires peuvent être mal prononcés. Pour un effet animé précis, tel qu’un compte à rebours, une référence de mouvement est plus informative qu’une demande verbale seule. Ce sont des raisons concrètes de vérifier séparément l’identité, le texte, le mouvement et le son lors du choix de l’extrait.
Ailoot Ultra · Vidéo POST /v1/videos bytedance/seedance-2.0
bytedance/seedance-2.0Premiers pas
ByteDance Seedance 2.0 associe une génération native audio-vidéo à des références d’images, de vidéo et de son. Dirigez de nouvelles scènes, modifiez des séquences existantes ou prolongez une séquence ; l’édition standard comprend des sorties documentées en 1080p et en 4K de 10 bits.
- Entrées acceptées
- Texte · Images · Audio
- Résultats
- Vidéo
Disponible dans Ailoot · entrées et méthodes
Ailoot Ultra · Vidéo POST /v1/videos
- Entrée
text,image,audio- Sortie
video- Format de sortie
- Octets MP4 d’origine ; sans normalisation ni transcodage
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites bytedance/seedance-2.0 | Par défaut— |
Champprompt | Typestring | ExigenceObligatoire | Valeurs et limites | Par défaut— |
Champduration | Typeinteger | ExigenceObligatoire | Valeurs et limites 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 Minimum: 1 Maximum: 600 | Par défaut— |
Champresolution | Typestring | ExigenceFacultatif | Valeurs et limites 480p, 720p, 1080p, 4K | Par défaut— |
Champaspect_ratio | Typestring | ExigenceFacultatif | Valeurs et limites 1:1, 3:4, 9:16, 4:3, 16:9, 21:9, 9:21 | Par défaut— |
Champgenerate_audio | Typeboolean | ExigenceFacultatif | Valeurs et limites false, true Conditions: En 480p et 720p, l’omission de generate_audio sélectionne le tarif avec audio et false sélectionne le tarif sans audio. En 1080p et 4K, le tarif de la résolution s’applique aux deux réglages. Vérifiez has_audio dans le résultat pour connaître la piste audio renvoyée. | Par défaut— |
Champframe_images | Typearray | ExigenceFacultatif | Valeurs et limites Nombre minimal d’éléments: 1 Nombre maximal d’éléments: 2 Contenu en entrée: Tableau d’objets d’image. Chacun contient type=image_url, image_url contenant url et frame_type=first_frame ou last_frame. Chaque rôle apparaît au maximum une fois. Utilisez des liens HTTPS publics. Clés exactes: type, image_url, frame_type Conditions: Ces clés s’appliquent à chaque objet d’image. Omettez frame_images pour une requête contenant uniquement du texte. | Par défaut— |
Champinput_references | Typearray | ExigenceFacultatif | Valeurs et limites Contenu en entrée: Tableau d’objets de référence image ou audio. Définissez type sur image_url ou audio_url et fournissez l’objet URL correspondant contenant url. Les références vidéo restent impossibles à tarifer. Conditions: Omettez frame_images pour utiliser le mode de référence. Utilisez des liens HTTPS publics. | Par défaut— |
Champsize | Typestring | ExigenceFacultatif | Valeurs et limites 480x480, 480x640, 480x854, 640x480, 854x480, 1120x480, 720x720, 720x960, 720x1280, 720x1680, 960x720, 1280x720, 1680x720, 1080x1080, 1080x1440, 1080x1920, 1440x1080, 1920x1080, 2520x1080, 3840x2160, 2160x3840, 2160x2160, 2880x2160, 2160x2880, 5040x2160 Motif: ^[1-9][0-9]*x[1-9][0-9]*$ | Par défaut— |
Champseed | Typeinteger | ExigenceFacultatif | Valeurs et limites Minimum: -9'223'372'036'854'775'808 Maximum: 9'223'372'036'854'775'807 | Par défaut— |
Champcallback_url | Typestring | ExigenceFacultatif | Valeurs et limites Motif: ^https:// | Par défaut— |
Champsession_id | Typestring | ExigenceFacultatif | Valeurs et limites | Par défaut— |
Champtrace | Typeobject | ExigenceFacultatif | Valeurs et limites | Par défaut— |
Champuser | Typestring | ExigenceFacultatif | Valeurs et limites | Par défaut— |
Combinaisons d’éléments d’entrée
Texte vers vidéo · Une consigne écrite. · Obligatoire : model, prompt, duration
Fournissez une consigne textuelle et une durée prise en charge en secondes entières. Utilisez une taille exacte répertoriée, ou une résolution et un rapport largeur/hauteur correspondant à des dimensions répertoriées.
model: Type : string · bytedance/seedance-2.0
prompt: Type : string · Nombre maximal d’octets UTF-8: 10'000 · Caractères autres que des espaces requis: Oui
Image vers vidéo · Une consigne écrite et une image clé. · Obligatoire : model, prompt, duration, frame_images
frame_images est un tableau d’objets avec type=image_url, image_url contenant url et frame_type. Utilisez une URL d’image HTTPS publique ; first_frame et last_frame peuvent apparaître une fois chacun. Utilisez une taille de sortie répertoriée ou des dimensions compatibles. N’ajoutez pas de références vidéo.
Clés exactes : type, image_url, frame_type
model: Type : string · bytedance/seedance-2.0
prompt: Type : string · Nombre maximal d’octets UTF-8: 10'000 · Caractères autres que des espaces requis: Oui
Reference to video · Une consigne écrite et des références image ou audio. · Obligatoire : model, prompt, duration, input_references
input_references est un tableau. Chaque objet contient type=image_url ou type=audio_url et un objet URL correspondant contenant url. Utilisez des liens HTTPS publics. Omettez frame_images pour sélectionner le mode de référence. Les références vidéo ne peuvent pas être tarifées.
model: Type : string · bytedance/seedance-2.0
prompt: Type : string · Nombre maximal d’octets UTF-8: 10'000 · Caractères autres que des espaces requis: Oui
Paramètres et cycle de vie de la méthode
| Paramètre | Contrat |
|---|---|
Paramètrecontent_type | Contratapplication/json |
Paramètrerequired | Contratmodel, prompt, duration |
Paramètrematerial_types | Contrattext, image, audio |
Paramètreadditional_properties | Contratfalse |
Paramètreoptional_controls | Contratresolution, aspect_ratio, generate_audio, frame_images, input_references, size, seed, callback_url, session_id, trace, user |
Cycle de vie : submit_once_poll_original
GET /v1/videos/{public_id}
GET /v1/videos/{public_id}/content
Tarifs
Calcul du coût final
Les tarifs affichés servent à estimer le coût avant la génération. Le montant final est calculé à partir du coût enregistré pour la génération d’origine. La durée mesurée du résultat et les quantités prévisionnelles ne constituent pas la quantité finale facturable.
Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.
- Mode rapide
- Non précisé Lorsque le mode rapide est sélectionné
- Mode Flex
- Non précisé Lorsque le mode flex est sélectionné
- Effort de raisonnement maximal
- Non précisé Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)
Tarifs estimés à des fins de comparaison
Prix par configuration
Associez chaque coût aux conditions indiquées. Utilisez un seul tarif pour chaque ensemble de configurations alternatives.
| Configuration | Barème tarifaire | Quantité prévisionnelle | Unité de facturation | Conditions de facturation | Coût |
|---|---|---|---|---|---|
| ConfigurationTarifs de base des jetons | Barème tarifaireTarif de base | Quantité prévisionnelle— | Unité de facturation— | Conditions de facturation— | Coût Entrée · Tokens en entrée · Estimation à des fins de comparaison uniquement — / 1K tokens Sortie · Tokens en sortie · Estimation à des fins de comparaison uniquement — / 1K tokens Entrée · Lecture du cache · Estimation à des fins de comparaison uniquement — / 1K tokens Entrée · Écriture dans le cache · Estimation à des fins de comparaison uniquement — / 1K tokens Entrée · Écriture dans le cache, 1 h · Estimation à des fins de comparaison uniquement — / 1K tokens |
| ConfigurationTarif des jetons vidéo | Barème tarifaire— | Quantité prévisionnelle— | Unité de facturationpar 1K tokens vidéo | Conditions de facturationCette clé de tarification ne déclare aucune condition supplémentaire. | Coût Sortie · Tarif des jetons vidéo · Estimation à des fins de comparaison uniquement $0.014 par 1K tokens vidéo Le tarif des jetons vidéo constitue la référence de prix principale. Les estimations par seconde mises en avant servent de références distinctes et ne constituent pas des frais supplémentaires. |
| ConfigurationTarif des jetons vidéo | Barème tarifaire— | Quantité prévisionnelle— | Unité de facturationpar 1K tokens vidéo | Conditions de facturationresolution: 1080p | Coût Sortie · Tarif des jetons vidéo · Estimation à des fins de comparaison uniquement $0.0154 par 1K tokens vidéo Le tarif des jetons vidéo constitue la référence de prix principale. Les estimations par seconde mises en avant servent de références distinctes et ne constituent pas des frais supplémentaires. |
| ConfigurationTarif des jetons vidéo | Barème tarifaire— | Quantité prévisionnelle— | Unité de facturationpar 1K tokens vidéo | Conditions de facturationentrée : with_video_input; résolution : 1080p | Coût reference · Tarif des jetons vidéo · Estimation à des fins de comparaison uniquement $0.0094 par 1K tokens vidéo Le tarif des jetons vidéo constitue la référence de prix principale. Les estimations par seconde mises en avant servent de références distinctes et ne constituent pas des frais supplémentaires. |
| ConfigurationTarif des jetons vidéo | Barème tarifaire— | Quantité prévisionnelle— | Unité de facturationpar 1K tokens vidéo | Conditions de facturationresolution: 4k | Coût Sortie · Tarif des jetons vidéo · Estimation à des fins de comparaison uniquement $0.008 par 1K tokens vidéo Le tarif des jetons vidéo constitue la référence de prix principale. Les estimations par seconde mises en avant servent de références distinctes et ne constituent pas des frais supplémentaires. |
| ConfigurationTarif des jetons vidéo | Barème tarifaire— | Quantité prévisionnelle— | Unité de facturationpar 1K tokens vidéo | Conditions de facturationentrée : with_video_input; résolution : 4k | Coût reference · Tarif des jetons vidéo · Estimation à des fins de comparaison uniquement $0.0048 par 1K tokens vidéo Le tarif des jetons vidéo constitue la référence de prix principale. Les estimations par seconde mises en avant servent de références distinctes et ne constituent pas des frais supplémentaires. |
| ConfigurationTarif des jetons vidéo | Barème tarifaire— | Quantité prévisionnelle— | Unité de facturationpar 1K tokens vidéo | Conditions de facturationentrée : with_video_input | Coût reference · Tarif des jetons vidéo · Estimation à des fins de comparaison uniquement $0.0086 par 1K tokens vidéo Le tarif des jetons vidéo constitue la référence de prix principale. Les estimations par seconde mises en avant servent de références distinctes et ne constituent pas des frais supplémentaires. |
| ConfigurationTarif des jetons vidéo | Barème tarifaire— | Quantité prévisionnelle— | Unité de facturationpar 1K tokens vidéo | Conditions de facturationson : without_audio | Coût Sortie · Tarif des jetons vidéo · Estimation à des fins de comparaison uniquement $0.014 par 1K tokens vidéo Le tarif des jetons vidéo constitue la référence de prix principale. Les estimations par seconde mises en avant servent de références distinctes et ne constituent pas des frais supplémentaires. |
| ConfigurationCoût estimé de la génération | Barème tarifaire— | Quantité prévisionnelleEstimation pour une génération | Unité de facturation— | Conditions de facturation— | Coût Sortie · Coût estimé de génération · Estimation à des fins de comparaison uniquement $0.3024 estimation avant génération Cette estimation ne constitue ni des frais supplémentaires ni un tarif fixe pour la génération terminée. |
Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. Fonctionnement de la réservation et du débit →
Détails du tarif de référence
Les barèmes de référence du modèle ne modifient ni la sélection de méthode, ni les devis, ni les coûts. Les frais actifs utilisent les tarifs de la méthode Ailoot sélectionnée.
Références tarifaires des configurations vidéo
Prix par configuration
Associez chaque coût aux conditions indiquées. Utilisez un seul tarif pour chaque ensemble de configurations alternatives.
| Configuration | Conditions de facturation | Coût |
|---|---|---|
| ConfigurationTarif des jetons vidéo | Conditions de facturationCette clé de tarification ne déclare aucune condition supplémentaire. | Coût Sortie · Tarif des jetons vidéo $0.014 par 1K tokens vidéo Le tarif des jetons vidéo constitue la référence de prix principale. Les estimations par seconde mises en avant servent de références distinctes et ne constituent pas des frais supplémentaires. |
| ConfigurationTarif des jetons vidéo | Conditions de facturationresolution: 4k | Coût Sortie · Tarif des jetons vidéo $0.008 par 1K tokens vidéo Le tarif des jetons vidéo constitue la référence de prix principale. Les estimations par seconde mises en avant servent de références distinctes et ne constituent pas des frais supplémentaires. |
| ConfigurationTarif des jetons vidéo | Conditions de facturationresolution: 1080p | Coût Sortie · Tarif des jetons vidéo $0.0154 par 1K tokens vidéo Le tarif des jetons vidéo constitue la référence de prix principale. Les estimations par seconde mises en avant servent de références distinctes et ne constituent pas des frais supplémentaires. |
| ConfigurationTarif des jetons vidéo | Conditions de facturationson : without_audio | Coût Sortie · Tarif des jetons vidéo $0.014 par 1K tokens vidéo Le tarif des jetons vidéo constitue la référence de prix principale. Les estimations par seconde mises en avant servent de références distinctes et ne constituent pas des frais supplémentaires. |
| ConfigurationTarif des jetons vidéo | Conditions de facturationentrée : with_video_input | Coût reference · Tarif des jetons vidéo $0.0086 par 1K tokens vidéo Le tarif des jetons vidéo constitue la référence de prix principale. Les estimations par seconde mises en avant servent de références distinctes et ne constituent pas des frais supplémentaires. |
| ConfigurationTarif des jetons vidéo | Conditions de facturationentrée : with_video_input; résolution : 4k | Coût reference · Tarif des jetons vidéo $0.0048 par 1K tokens vidéo Le tarif des jetons vidéo constitue la référence de prix principale. Les estimations par seconde mises en avant servent de références distinctes et ne constituent pas des frais supplémentaires. |
| ConfigurationTarif des jetons vidéo | Conditions de facturationentrée : with_video_input; résolution : 1080p | Coût reference · Tarif des jetons vidéo $0.0094 par 1K tokens vidéo Le tarif des jetons vidéo constitue la référence de prix principale. Les estimations par seconde mises en avant servent de références distinctes et ne constituent pas des frais supplémentaires. |
Exemples de requêtes
Ailoot Ultra · Vidéo
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
from pathlib import Path
Path('request.json').write_text('{"model":"bytedance/seedance-2.0","prompt":"A serene mountain landscape at sunset","duration":4,"resolution":"480p","size":"480x480","generate_audio":false}', encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Recevoir et enregistrer les résultats
Ailoot Ultra · Vidéo
liens de contenu signés dont vous êtes propriétaire
GET /v1/videos/{public_id}GET /v1/videos/{public_id}/content
Vérifier l’état de la tâche
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
-H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Autres lectures de contenu
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
urls.append((str(i),u))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
Conserver tous les résultats terminés
Enregistrez chaque vidéo terminée ou fichier renvoyé ; récupérez chaque URL de ressource effectivement renvoyée.
Conservez chaque résultat réel dont vous êtes propriétaire et les métadonnées mesurées renvoyées avec celui-ci.
Si la réponse d’origine doit être vérifiée
503 result_pending_check + identifiant d’origine + X-Should-Retry:false ; ne répétez jamais l’envoi d’origine
Champs de la réponse
| Champ | Type | Signification |
|---|---|---|
Champindex | Typeinteger | SignificationPosition de cette vidéo dans la liste des résultats, avec une indexation à partir de zéro. |
Champcontent_url | Typestring | SignificationURL HTTPS signée de téléchargement de cette vidéo terminée. |
Champsha256 | Typestring | null | SignificationEmpreinte SHA-256 des octets vidéo d’origine ; null si elle est indisponible. |
Champsize_bytes | Typeinteger | null | SignificationTaille du fichier vidéo d’origine en octets ; null si elle est indisponible. |
Champduration_ms | Typeinteger | null | SignificationDurée mesurée de la vidéo en millisecondes ; null si elle est indisponible. |
Champwidth | Typeinteger | null | SignificationLargeur de la vidéo en pixels ; null si elle est indisponible. |
Champheight | Typeinteger | null | SignificationHauteur de la vidéo en pixels ; null si elle est indisponible. |
Champvideo_codec | Typestring | null | SignificationIdentifiant du codec vidéo ; null s’il n’a pas été enregistré. |
Champhas_audio | Typeboolean | null | SignificationIndique si la vidéo contient une piste audio ; null si cela n’a pas été mesuré. |
Champaudio_codec | Typestring | null | SignificationIdentifiant du codec audio ; null si aucun identifiant n’a été enregistré. |
Erreurs et étapes suivantes
| Réponse | Condition | Étape suivante |
|---|---|---|
Réponse404 · not_found_error | ConditionL’accès à la vidéo est indisponible, ou cet identifiant vidéo est introuvable. | Étape suivanteVérifiez l’accès à la vidéo. Pour une vidéo existante, utilisez son identifiant public d’origine et la même clé API. |
Réponse401 · authentication_error | ConditionLa clé API ne correspond pas au compte authentifié. | Étape suivanteVérifiez votre clé API et l’accès au compte avant l’envoi. |
Réponse400 · invalid_request_error | ConditionLa requête n’a pas pu être lue, ou l’indice de téléchargement est invalide. | Étape suivanteCorrigez le corps de la requête. Pour un téléchargement, choisissez un indice de sortie renvoyé par la tâche d’origine. |
Réponse422 · price_unavailable | ConditionLa configuration vidéo sélectionnée ne peut pas être tarifée. | Étape suivanteChoisissez une configuration vidéo prise en charge et renseignez toutes ses options obligatoires avant d’envoyer une demande corrigée. |
Réponse422 · invalid_request_error | ConditionUne entrée vidéo ou une tâche d’origine à prolonger est invalide. | Étape suivanteUtilisez des entrées HTTPS valides. Pour une prolongation, utilisez l’identifiant vidéo public de votre vidéo d’origine terminée avec la même clé API. |
Réponse402 · billing_error | ConditionLe solde disponible ou les limites ne permettent pas de réserver le montant. | Étape suivanteVérifiez votre solde disponible et vos limites avant d’envoyer une nouvelle demande. |
Réponse503 · server_error | ConditionLa vérification vidéo, le stockage ou l’accès au service est temporairement indisponible. | Étape suivanteAttendez que le service soit disponible. Si vous avez déjà un identifiant vidéo, vérifiez cette tâche d’origine au lieu de lancer une nouvelle génération. |
Réponse503 · result_pending_check | ConditionLe résultat vidéo d’origine et sa facturation doivent être vérifiés. | Étape suivanteConservez l’identifiant vidéo renvoyé et vérifiez cette tâche. N’envoyez pas de demande de génération de remplacement pendant sa vérification. |
Réponse503 · owned_result_unavailable | ConditionLe téléchargement de la vidéo existante est temporairement indisponible. | Étape suivanteVérifiez ultérieurement cette même tâche vidéo et téléchargez son résultat existant. Une nouvelle génération crée une opération distincte. |
Réponse409 · video_not_ready | ConditionLe contenu vidéo n’a pas été publié. | Étape suivanteVérifiez l’état de la tâche d’origine. Téléchargez le résultat lorsqu’elle indique completed ; si elle indique failed, suivez son avis de vérification de facturation. |
Alias
Alias du modèle
Ailoot Ultra bytedance/seedance-2.0
Alias des chemins de méthode
Utilisez les chemins de méthode indiqués ci-dessus.
ID d’appel associés
FAQ · ByteDance: Seedance 2.0
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/videos·bytedance/seedance-2.0:text,image,audio→video- Quels champs la requête utilise-t-elle ?
POST /v1/videos·bytedance/seedance-2.0:model,prompt,duration,resolution,aspect_ratio,generate_audio,frame_images,input_references,size,seed,callback_url,session_id,trace,user- Quelles limites s’appliquent ?
POST /v1/videos·bytedance/seedance-2.0:duration.minimum:1;duration.maximum:600;frame_images.max_items:2;frame_images.min_items:1;seed.minimum:-9223372036854775808;seed.maximum:9223372036854775807