modèles

ByteDance: Seedance 2.0

Markdown · JSON

ByteDance: Seedance 2.0

Seedance 2.0 génère et modifie des vidéos à l’aide de texte, d’images et de références vidéo et audio. Il peut prolonger des séquences existantes et générer un son synchronisé, avec une durée de 4 à 15 secondes, une sortie 480p ou 720p et des rôles de référence explicites.

À 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 génère une vidéo à partir d’une scène écrite ou d’une combinaison de références image, vidéo et audio. Le sélecteur exact doubao-seedance-2-0-260128 identifie le profil 2.0 standard. Ses processus documentés comprennent la génération de nouvelles vidéos, la modification et le prolongement de séquences existantes. Utilisez des références pour communiquer l’apparence, le mouvement, le langage de caméra et le son, puis indiquez les parties de la scène qu’elles doivent contrôler.

Le texte peut être fourni seul. Les combinaisons multimodales documentées acceptent aussi des images ou une vidéo avec du texte facultatif, des images avec de l’audio, une vidéo avec de l’audio, et des images, une vidéo et de l’audio ensemble. L’audio accompagne donc des médias visuels dans ces combinaisons répertoriées ; il n’est pas décrit comme une requête audio-vers-vidéo autonome. Décrivez clairement le résultat voulu même lorsque le texte est facultatif, afin que le rôle de chaque référence soit explicite plutôt que déduit de ressources sans lien.

Le tableau content distingue les éléments text, image_url, video_url et audio_url. Les références multimodales utilisent des rôles tels que reference_image, reference_video et reference_audio. Une image peut définir la personne, l’objet, le lieu ou le style visuel. Une vidéo peut montrer une interprétation, un mouvement ou une vue de caméra, et l’audio peut établir une piste ou un rythme temporel. Indiquez cette répartition dans le brief : gardez le sujet de l’image, suivez la vue de caméra de la vidéo et utilisez l’audio comme fond sonore. Ne demandez pas à chaque référence de définir toutes les propriétés à la fois.

L’exemple publicitaire documenté combine deux images de produit avec une vidéo et une référence audio. Il décrit une vue initiale, une séquence d’action, un détail rapproché du produit et une composition finale, tout en gardant la voix de fond cohérente. La même structure peut organiser une courte présentation : introduire l’objet, montrer une action et terminer sur sa caractéristique reconnaissable. Pour une modification, identifiez la séquence source et l’élément à changer ; pour un prolongement, expliquez l’action qui continue au-delà de la scène existante en préservant le sujet et la direction du mouvement.

Le profil 2.0 documente une durée en secondes entières de quatre à quinze, ou -1 pour une durée choisie automatiquement dans cette plage. La valeur par défaut est de cinq secondes. Ses options de résolution sont 480p et 720p, avec 720p par défaut ; 1080p est exclu pour 2.0. Les rapports d’aspect fixes comprennent 16:9, 4:3, 1:1, 3:4, 9:16 et 21:9. Le rapport d’aspect adaptatif peut choisir le cadrage à partir du prompt ou de la référence : un travail à partir d’une première image suit l’image initiale, et un travail multimodal utilise la scène voulue ou le premier média pertinent, la vidéo ayant priorité sur les images. Vérifiez le rapport d’aspect et la durée réels dans le résultat de la tâche.

Le son généré est réglé séparément des médias de référence. generate_audio=true demande des voix, des effets et une musique de fond synchronisés à partir du texte et du contenu visuel ; false demande une vidéo sans son. La valeur par défaut documentée est true, et les dialogues entre guillemets sont recommandés pour la parole. Précisez qui parle et comment le son se rapporte à l’action visible, puis vérifiez les paroles réelles, l’attribution des voix et leur placement dans le temps. Fournir une référence audio et activer le son généré sont des choix de requête distincts.

Le guide 2.0 exclut les anciens réglages frames et camera_fixed et ne prend pas en charge le traitement hors ligne flex. Utilisez le champ duration et décrivez le mouvement de caméra dans la scène elle-même. La graine aléatoire et le filigrane restent des réglages documentés ; le guide indique que la même requête et la même graine peuvent produire des résultats similaires sans garantir une identité exacte. Ne considérez pas une graine comme une preuve de reproductibilité, ni une requête répétée comme un clip déjà vérifié.

L’utilisation en tokens vidéo est calculée ainsi : (durée de la vidéo d’entrée + durée de la vidéo de sortie) × largeur de sortie × hauteur de sortie × cadence de sortie / 1024. Les requêtes contenant une vidéo d’entrée et celles sans vidéo d’entrée relèvent de catégories de facturation distinctes. La consultation de tâche rapporte usage.completion_tokens et usage.total_tokens ; conservez ces quantités rapportées avec le clip achevé.

Le processus est asynchrone : la soumission renvoie un identifiant de tâche, et la tâche achevée fournit content.video_url avec la durée, la résolution, le rapport d’aspect, la cadence et l’utilisation en tokens rapportés. Conservez l’identifiant et enregistrez la vidéo achevée avec les références et le prompt d’origine. Le champ d’expiration vaut 172 800 secondes par défaut et accepte de 3 600 à 259 200 secondes depuis la création de la tâche ; une tâche qui dépasse ce délai expire. Vérifiez toute la sortie, y compris la jonction de modification ou de prolongement, pour l’apparence des personnages, les détails des objets, les relations spatiales, la continuité de caméra et la synchronisation entre son et image.

Ailoot Ultra · Vidéo POST /v1/videos doubao-seedance-2-0-260128

doubao-seedance-2-0-260128

ByteDance /doubao-seedance-2-0-260128

Premiers pas

Seedance 2.0 génère et modifie des vidéos à l’aide de texte, d’images et de références vidéo et audio. Il peut prolonger des séquences existantes et générer un son synchronisé, avec une durée de 4 à 15 secondes, une sortie 480p ou 720p et des rôles de référence explicites.

Entrées acceptées
Texte · Images · Vidéo · Audio
Résultats
Vidéo

Disponible dans Ailoot · entrées et méthodes

Ailoot Ultra · Vidéo POST /v1/videos
Types d’entrée
text, image, video, audio
Types de sortie
video
ChampTypeExigenceValeurs et limitesPar défaut
ChampmodelTypestringExigenceObligatoireValeurs et limites
doubao-seedance-2-0-260128
Par défaut—
ChampcontentTypearrayExigenceObligatoireValeurs et limites
Conditions: Objets natifs de texte ou de média ; le tableau externe doit être non vide. Les types des nœuds imbriqués ne sont pas validés par ce constructeur générique Ailoot.
Par défaut—
Champgenerate_audioTypebooleanExigenceFacultatifValeurs et limites
Conditions: Son synchronisé intégré à la vidéo.
Par défauttrue
ChampdurationTypeintegerExigenceFacultatifValeurs et limites
Conditions: Entier 4–15 ou -1 ; la durée réelle de sortie est renvoyée.
Par défaut5
ChampresolutionTypestringExigenceFacultatifValeurs et limites
480p, 720p
Conditions: 1080p est explicitement non pris en charge pour 2.0/fast.
Par défaut720p
ChampratioTypestringExigenceFacultatifValeurs et limites
16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive
Conditions: Le réglage adaptive est explicitement limité à 2.0/fast/1.5 ; l’exemple 2.5 utilise uniquement 16:9.
Par défautadaptive
ChampwatermarkTypebooleanExigenceFacultatifValeurs et limitesPar défautfalse
ChampseedTypeintegerExigenceFacultatifValeurs et limites
Minimum: -1
Maximum: 4 294 967 295
Par défaut-1
Champexecution_expires_afterTypeintegerExigenceFacultatifValeurs et limites
Minimum: 3 600
Maximum: 259 200
Unité: secondes
Par défaut172 800
Champservice_tierTypestringExigenceFacultatifValeurs et limites
default
Conditions: 2.0/fast excluent le mode flex hors ligne ; le périmètre de 2.5 n’est pas établi.
Par défautdefault
Champsafety_identifierTypestringExigenceFacultatifValeurs et limitesPar défaut—
ChamptoolsTypeobjectExigenceFacultatifValeurs et limites
Conditions: Uniquement 2.0/fast ; type=web_search documenté.
Par défaut—
Combinaisons d’éléments d’entrée

Paramètres et cycle de vie de la méthode
ParamètreContrat
Paramètrecontent_typeContratapplication/json
ParamètrerequiredContratcontent, model
ParamètreoptionalContratgenerate_audio, duration, resolution, ratio, watermark, seed, execution_expires_after, service_tier, safety_identifier, tools
Paramètrematerial_typesContrattext, image, video, audio
Paramètreadditional_propertiesContrattrue
Paramètrevalidation_scopeContratAiloot vérifie les types des champs obligatoires ainsi qu’un champ model et un tableau content non vides. Les autres champs de requête sont conservés pour le modèle sélectionné.
Paramètrematerial_combinationsContrattext, image, video, image, audio, image, video, video, audio, image, video, audio
Paramètreoptional_text_with_mediaContrattrue
Paramètrereference_media_count_and_size_limitsContratnull

Alias de méthode : /v1/videos/generations

Cycle de vie : submit_once_poll_original

GET /v1/videos/{request_id}

GET /v1/videos/generations/{request_id}

GET /v1/videos/{request_id}/content

GET /v1/videos/generations/{request_id}/content

Créez une seule fois et conservez les valeurs publiques id/polling_url renvoyées.

Interrogez la tâche d’origine ; téléchargez le contenu réel content.video_url vous appartenant après succeeded.

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.

ConfigurationBarème tarifaireQuantité prévisionnelleUnité de facturationCoût
ConfigurationTarifs de base par jetonBarème tarifaireTarif de baseQuantité prévisionnelle—Unité 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
ConfigurationL’entrée contient une vidéo.Barème tarifaire—Quantité prévisionnelle—Unité de facturationpar 1K tokens vidéoCoût
Sortie · Estimation à des fins de comparaison uniquement $0.0096 par 1K tokens vidéo
ConfigurationL’entrée ne contient pas de vidéo.Barème tarifaire—Quantité prévisionnelle—Unité de facturationpar 1K tokens vidéoCoût
Sortie · Estimation à des fins de comparaison uniquement $0.015768 par 1K tokens vidéo
ConfigurationCoût de génération estiméBarème tarifaire—Quantité prévisionnelleEstimation pour une générationUnité de facturation—Coût
Sortie · Coût estimé de génération · Estimation à des fins de comparaison uniquement $0.822402 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 →

Exemples de requêtes

Ailoot Ultra · Vidéo

curl · créer une vidéocurl · lire la tâche d’originecurl · télécharger votre vidéo
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"doubao-seedance-2-0-260128","content":[{"type":"text","text":"女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动"}]}
JSON_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
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_POLL'
import json
from pathlib import Path
from urllib.parse import quote,urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
i=r.get("id")
if not isinstance(i,str) or not i.startswith("native302_"):raise SystemExit("Keep original response/headers/id; do not resubmit creation.")
u=urljoin("https://api.ailoot.ai",r.get("polling_url") or "/v1/videos/"+quote(i,safe=""))
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/videos/"):raise SystemExit("Use actual Ailoot lookup path.")
Path("poll-url.txt").write_text(u)
PY_POLL
curl --fail-with-body --silent --show-error "$(cat poll-url.txt)" -H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
set -eu
python3 - <<'PY_ASSETS'
import json
from pathlib import Path
from urllib.parse import urlsplit
r=json.loads(Path("status.json").read_text())
if r.get("status")!="succeeded":raise SystemExit("Poll same original job until an owned result is returned.")
u=r.get("content",{}).get("video_url")
urls=[u] if isinstance(u,str) else u
if not isinstance(urls,list) or not urls:raise SystemExit("No completed video URL.")
for u in urls:
    if not isinstance(u,str):raise SystemExit("Invalid returned URL.")
    p=urlsplit(u)
    if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/media/assets/") or not p.path.endswith("/content") or not p.query:raise SystemExit("Wait for actual Ailoot-owned signed result.")
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_ASSETS
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" -o "video-${index}.bin"
  index=$((index + 1))
done < asset-urls.txt

Recevoir et enregistrer les résultats

Ailoot Ultra · Vidéo

JSON natif avec id/polling_url publics. Après publication, content.video_url contient une ou plusieurs URL signées appartenant à Ailoot ; avant publication, les URL de sortie sélectionnées sont vidées.

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/videos/generations/{request_id}/content
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 URL réelle dans content.video_url ; index doit identifier une sortie réelle renvoyée.

Si la réponse d’origine doit être vérifiée

Conservez la réponse, les en-têtes et l’id d’origine, puis interrogez cette opération ; ne soumettez jamais à nouveau une création dont l’issue est inconnue.

Champs de la réponse
ChampType
ChampidTypestring
Champprovider_task_idTypestring
Champpolling_urlTypestring
ChampstatusTypestring when supplied
Champcontent.video_urlTypestring|string[]
ChampusageTypeobject when supplied
Erreurs et étapes suivantes
RéponseConditionÉtape suivante
Réponse400 · invalid_request_errorConditionJSON/model, types des champs obligatoires ou index de contenu non valides.Étape suivante
Réponse401 · authentication_errorConditionClé API Ailoot non valide.Étape suivante
Réponse404 · not_found_errorConditionTâche ou sortie absente, ou n’appartenant pas au même utilisateur, à la même clé API ou au même groupe.Étape suivante
Réponse502 · result_pending_checkConditionSoumission ou statut d’origine incomplet ; conservez l’identifiant d’origine, sans soumettre à nouveau.Étape suivante
Réponse503 · result_pending_checkConditionLe média, la route ou le règlement d’origine est en cours de vérification ; poursuivez l’opération d’origine.Étape suivante

Alias

Alias du modèle

Ailoot Ultra doubao-seedance-2-0-260128

Alias des chemins de méthode

/v1/videos/generations

ID d’appel associés

doubao-seedance-2-0-260128

FAQ · ByteDance: Seedance 2.0
Quelles entrées et quels résultats sont disponibles ?

POST /v1/videos · doubao-seedance-2-0-260128: text, image, video, audio → video

Quels champs la requête utilise-t-elle ?

POST /v1/videos · doubao-seedance-2-0-260128: model, content, generate_audio, duration, resolution, ratio, watermark, seed, execution_expires_after, service_tier, safety_identifier, tools

Quelles limites s’appliquent ?

POST /v1/videos · doubao-seedance-2-0-260128: seed.minimum: -1; seed.maximum: 4294967295; execution_expires_after.minimum: 3600; execution_expires_after.maximum: 259200

Plus de détails

Connectez Ailoot à Claude Code, OpenCode, Hermes ou à votre application.

L’entreprise et son portefeuille de projets

L’entreprise et son portefeuille de projets : des millions de clients ; des ventes qui se chiffrent en milliards chaque mois.

Achetez des tokens à prix réduit.

Une remise d’abonnement pour le travail régulier. Des codes promo jusqu’à 50% sur l’achat de tokens.

Abonnement
Choisissez une offre à tarif réduit pour vos requêtes régulières.
Code promo jusqu’à 50%
Saisissez le code à l’achat. Le prix est recalculé selon la promotion en cours.
Dépenses dans l’historique
Modèle, tokens et montant sont enregistrés pour chaque requête.

Choisir un abonnement · Voir les prix des modèles

Connectez l’API au produit que vous vendez.

SaaS, applications et bots selon l’offre officielle et le contrat de licence Ailoot. Pour la revente, demandez une licence revendeur.

Application commerciale
Intégrez la génération de texte, d’images, de vidéo et de son aux fonctions payantes de votre service.
Licence revendeur
Envoyez la description du projet et le mode d’accès. Demandez des conditions écrites d’utilisation et de revente.
Documents sur le site
L’offre officielle, le contrat de licence et la politique de traitement des données sont accessibles avant connexion.

Demander une licence revendeur · Offre officielle et contrat de licence