models

ByteDance: Seedance 2.5

Markdown · JSON

ByteDance: Seedance 2.5

Seedance 2.5 crée une vidéo à partir de texte et de références image, vidéo ou audio, avec des processus documentés de modification et de prolongement. Son exemple propre à 2.5 combine une image de produit avec plusieurs références de mouvement et active le son généré pour une séquence publicitaire coordonnée.

À 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.5 crée une vidéo à l’aide d’une scène écrite et de références multimodales. Le sélecteur exact doubao-seedance-2-5-260628 possède sa propre opération documentée et son propre exemple. Cette opération décrit la génération, la modification et le prolongement de vidéos, avec des images, de la vidéo, de l’audio et du texte comme médias d’entrée. Utilisez les références pour communiquer l’apparence du sujet, l’action, le mouvement de caméra, le style et le son, puis expliquez le résultat à créer à partir de ces éléments.

Les combinaisons d’entrée comprennent le texte seul, 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. Les combinaisons répertoriées associent l’audio à des médias visuels plutôt que de décrire une requête contenant uniquement de l’audio. Organisez chaque élément selon son rôle : une image établit un sujet ou un style visuel, une vidéo montre un mouvement ou une scène existante, et l’audio fournit une référence sonore. Indiquez quel rôle compte pour le plan demandé afin qu’une référence d’arrière-plan ne soit pas confondue avec le personnage principal.

L’exemple propre à 2.5 est une séquence publicitaire de produit. Il fournit une image et plusieurs références vidéo, puis décrit un point d’intérêt initial, des dispositions ordonnées de produits, des plans de détail, une action au ralenti et une composition finale de marque. La requête attribue les rôles reference_image et reference_video et utilise les différentes références pour la composition, le mouvement, le travail de caméra et l’impact. Cela donne une structure pratique pour un concept de campagne : planifiez les temps forts visibles, identifiez la référence de chacun et précisez la disposition finale.

Une séquence écrite peut distinguer ce qui se passe de la manière dont cela est filmé. Décrivez d’abord l’action du produit, puis l’échelle de plan, le trajet de caméra, le rythme et la transition vers la vue suivante. Si une référence définit le produit et une autre montre un mouvement de caméra, nommez ces responsabilités distinctes. Pour une scène avec plusieurs objets, expliquez leurs positions et l’ordre des interactions. Vérifiez la forme, la disposition et le mouvement réels du produit dans le résultat généré plutôt que de supposer que chaque détail de référence apparaît sans changement.

Pour une modification, identifiez la vidéo existante et l’élément à réviser, comme le décor, une action ou le style visuel, tout en indiquant la continuité à conserver. Pour un prolongement, décrivez comment la scène doit continuer à partir de la séquence fournie. Vérifiez la jonction ainsi que le nouveau segment : l’apparence du sujet, la direction du mouvement, la position de caméra et le placement du son dans le temps déterminent tous si le résultat se lit comme une seule scène. Gardez ensemble la vidéo d’origine et la révision achevée pour vérifier le changement par rapport à la continuité voulue.

L’exemple multimodal documenté de 2.5 définit generate_audio=true et demande une séquence de quinze secondes avec un cadrage 16:9. Ces valeurs décrivent cet exemple, et non un plafond universel de durée ou une limite de ressources de référence. Donnez à la scène demandée une intention sonore claire, notamment la relation entre la musique, les effets et l’action visible, puis évaluez la sortie audiovisuelle réelle. Une référence sonore et la bande-son générée doivent être vérifiées ensemble pour le rythme et l’interprétation voulus.

Choisissez la durée, le cadrage et la résolution parmi les réglages proposés pour ce profil exact. Gardez la configuration demandée avec le prompt et comparez-la aux champs réellement renvoyés par la tâche. Utilisez la durée, la résolution et le rapport d’aspect renvoyés pour préparer le clip achevé à sa destination. Préservez l’identifiant exact du profil dans l’historique de révision afin qu’une comparaison ultérieure utilise la même édition sélectionnée.

L’utilisation en jetons 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é.

La génération est asynchrone. La soumission renvoie un identifiant, et le processus de tâche configuré fournit l’état, puis content.video_url après réussite. Enregistrez le clip achevé avec les médias sources et la description de la séquence. Vérifiez tous les temps forts prévus, les interactions entre objets, l’apparence des personnages, le cadrage et l’alignement du son sur tout le résultat. Pour une révision, identifiez le détail concret manquant et préservez les parties réussies de la scène au lieu de remplacer toute la consigne par des instructions sans rapport.

Ailoot Ultra · Vidéo POST /v1/videos doubao-seedance-2-5-260628

doubao-seedance-2-5-260628

ByteDance /doubao-seedance-2-5-260628

Pour commencer

Seedance 2.5 crée une vidéo à partir de texte et de références image, vidéo ou audio, avec des processus documentés de modification et de prolongement. Son exemple propre à 2.5 combine une image de produit avec plusieurs références de mouvement et active le son généré pour une séquence publicitaire coordonnée.

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
Entrée
text, image, video, audio
Sortie
video
ChampTypeExigenceValeurs et limitesPar défaut
ChampmodelTypestringExigenceObligatoireValeurs et limites
doubao-seedance-2-5-260628
Par défaut—
ChampcontentTypearrayExigenceObligatoireValeurs et limites
Conditions: Objets natifs de texte et de média; le tableau externe ne doit pas être vide. Ce constructeur générique Ailoot ne valide pas les types des nœuds imbriqués.
Par défaut—
Champgenerate_audioTypebooleanExigenceFacultatifValeurs et limites
Conditions: L’exemple 2.5 définit true, mais la description copiée du sélecteur indique seulement 2.0/fast/1.5; aucune garantie plus large de réglage ou de valeur par défaut.
Par défaut—
ChampdurationTypeintegerExigenceFacultatifValeurs et limites
Conditions: La valeur littérale 15 de l’exemple 2.5 n’est ni un maximum ni une valeur par défaut.
Par défaut—
ChampresolutionTypestringExigenceFacultatifValeurs et limites
Conditions: Aucune valeur par défaut ni énumération propre à 2.5 n’est déduite des descriptions copiées.
Par défaut—
ChampratioTypestringExigenceFacultatifValeurs et limites
Conditions: Le mode adaptatif est explicitement limité à 2.0/fast/1.5; l’exemple 2.5 utilise seulement 16:9.
Par défaut—
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
Conditions: 2.0/fast excluent flex hors ligne; la portée pour 2.5 n’est pas établie.
Par défaut—
Champsafety_identifierTypestringExigenceFacultatifValeurs et limitesPar 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
Paramètrematerial_typesContrattext, image, video, audio
Paramètreadditional_propertiesContrattrue
Paramètrevalidation_scopeContratAiloot vérifie les types des champs requis ainsi qu’un modèle et un tableau de contenu non vides. Les autres champs de la demande 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 retournées.

Interrogez la tâche d’origine; téléchargez le contenu content.video_url réel appartenant à votre compte 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 des jetonsBarème tarifaireTarif de baseQuantité prévisionnelle—Unité de facturation—Coût
Entrée · Jetons en entrée · Estimation à des fins de comparaison uniquement — / 1K jetons
Sortie · Jetons en sortie · Estimation à des fins de comparaison uniquement — / 1K jetons
Entrée · Lecture du cache · Estimation à des fins de comparaison uniquement — / 1K jetons
Entrée · Écriture dans le cache · Estimation à des fins de comparaison uniquement — / 1K jetons
Entrée · Écriture dans le cache, 1 h · Estimation à des fins de comparaison uniquement — / 1K jetons
ConfigurationL’entrée contient une vidéo.Barème tarifaire—Quantité prévisionnelle—Unité de facturationpar 1K jetons vidéoCoût
Sortie · Estimation à des fins de comparaison uniquement $0.012 par 1K jetons vidéo
ConfigurationL’entrée ne contient pas de vidéo.Barème tarifaire—Quantité prévisionnelle—Unité de facturationpar 1K jetons vidéoCoût
Sortie · Estimation à des fins de comparaison uniquement $0.02 par 1K jetons 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éez une vidéocurl · consultez la tâche d’originecurl · téléchargez la vidéo qui vous appartient
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"doubao-seedance-2-5-260628","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 la publication, content.video_url contient les URL signées appartenant à Ailoot; avant la 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 désigner une sortie réelle retourné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 de nouveau une création dont l’état est inconnu.

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, modèle, types de champs requis ou indice de contenu invalides.Étape suivante
Réponse401 · authentication_errorConditionClé API Ailoot invalide.É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_checkConditionEnvoi ou état d’origine incomplet; conservez l’identifiant d’origine, sans nouvelle soumission.É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-5-260628

Alias des chemins de méthode

/v1/videos/generations

ID d’appel associés

doubao-seedance-2-5-260628

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

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

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

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

Quelles limites s’appliquent ?

POST /v1/videos · doubao-seedance-2-5-260628: 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