models

ByteDance: Seedance 1.5 Pro

Markdown · JSON

ByteDance: Seedance 1.5 Pro

Seedance 1.5 Pro génère une vidéo à partir de texte ou d’une image et peut créer des voix, des effets et une musique de fond synchronisés. Le son peut être activé ou désactivé ; le profil documenté propose des scènes de 4 à 12 secondes, un cadrage adaptatif et un traitement en ligne ou flex.

À 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 1.5 Pro génère une vidéo à partir de texte ou d’une image et peut générer le son avec l’image. Le sélecteur exact est doubao-seedance-1-5-pro-251215. Son réglage audio le distingue des profils Seedance 1.0 sans son : generate_audio=true demande un son synchronisé, tandis que false demande une vidéo sans son. Utilisez une scène écrite pour un nouveau concept ou une image pour établir le sujet et la composition initiale.

Décrivez l’action visuelle et le son comme les éléments d’une même scène. Identifiez le sujet, le décor, le mouvement et la caméra, puis expliquez les voix, les effets sonores ou la musique de fond voulus. Une scène de portrait peut montrer une personne ouvrant les yeux tandis que la caméra recule lentement, avec du vent dans l’environnement. Pour une scène de produit, reliez le son à l’événement visible, comme l’ouverture d’un couvercle ou le contact d’un objet avec une surface, plutôt que d’ajouter une liste d’effets sans rapport.

Le modèle peut générer des voix, des effets et une musique de fond à partir du prompt et du contenu visuel. Le guide recommande de placer les dialogues parlés entre guillemets doubles. Gardez des répliques assez courtes pour l’action et les pauses demandées, et distinguez qui parle lorsque plusieurs personnages interviennent. Vérifiez les paroles réelles, l’attribution des voix et la synchronisation avec l’image. Une instruction sonore guide l’interprétation générée ; elle ne constitue pas une entrée distincte de référence vocale téléversée dans la requête documentée de ce profil.

La génération image-vers-vidéo utilise un élément image_url avec le texte. Fournissez une URL d’image accessible ou une URL de données Base64 au format JPEG, PNG, WEBP, BMP, TIFF ou GIF. Les limites documentées pour l’image sont un poids inférieur à 30 MB, les deux dimensions strictement comprises entre 300 et 6 000 pixels et un rapport largeur/hauteur strictement compris entre 0,4 et 2,5. Préparez clairement le cadrage et le sujet voulus, puis décrivez le mouvement à partir de cette composition. L’exemple avec image utilise un rapport d’aspect adaptatif pour suivre la référence.

Le guide de durée propre au profil indique des secondes entières de quatre à douze, ou -1 pour laisser le modèle choisir une durée dans cette plage. La durée par défaut est de cinq secondes. Seedance 1.5 Pro utilise 720p par défaut, et le tableau de profil retenu documente 480p et 720p ; le guide d’utilisation dédié ne propose pas 1080p pour 1.5 Pro. Les rapports d’aspect fixes comprennent 16:9, 4:3, 1:1, 3:4, 9:16 et 21:9, avec adaptive comme valeur par défaut documentée pour 1.5. Vérifiez la durée et les proportions du clip réel plutôt que de considérer les valeurs demandées comme un résultat déjà renvoyé.

La requête propose deux niveaux de traitement. service_tier=default sélectionne le traitement en ligne, tandis que flex sélectionne le traitement hors ligne pour les travaux qui tolèrent un délai plus long. Le niveau ne peut pas être modifié après la soumission de la tâche. Choisissez-le selon les besoins de délai du processus et conservez cette sélection dans l’historique de requête. Le mode audio et le niveau de traitement sont des choix distincts : un clip sans son n’est pas automatiquement une tâche hors ligne, et l’activation du son ne sélectionne pas un niveau de traitement.

Gardez les instructions de graine aléatoire, de filigrane et de caméra cohérentes avec la scène. Les commandes de paramètres intégrées au texte prennent le pas sur les paramètres facultatifs distincts. Le réglage de caméra fixe est exclu dans le cas d’une image de référence et ne garantit pas un verrouillage visuel lorsqu’il s’applique. Pour une animation guidée par une image, expliquez directement le mouvement voulu plutôt que de supposer qu’un réglage de caméra dispense de décrire le plan.

L’utilisation est mesurée en tokens vidéo : largeur de sortie × hauteur de sortie × cadence d’images × durée de sortie / 1024. La tâche achevée rapporte cette quantité dans usage.completion_tokens. Conservez l’utilisation rapportée avec le clip achevé et les réglages demandés. Le son activé ou désactivé et le traitement en ligne ou flex restent des catégories distinctes dans la facturation à l’utilisation.

La soumission renvoie un identifiant de tâche asynchrone. Suivez la tâche jusqu’à son achèvement, puis enregistrez la vidéo fournie dans content.video_url. La durée documentée de conservation des fichiers générés est de sept jours. Le délai d’expiration est mesuré depuis la création, vaut 172 800 secondes par défaut et accepte des valeurs de 3 600 à 259 200 secondes ; une tâche inachevée expire à l’issue du délai configuré. Gardez ensemble le clip final, l’image d’origine et le brief visuel et sonore exact, puis vérifiez tout le résultat pour l’action, l’identité, la continuité de caméra et l’alignement du son.

Ailoot Ultra · Vidéo POST /v1/videos doubao-seedance-1-5-pro-251215

doubao-seedance-1-5-pro-251215

ByteDance /doubao-seedance-1-5-pro-251215

Premiers pas

Seedance 1.5 Pro génère une vidéo à partir de texte ou d’une image et peut créer des voix, des effets et une musique de fond synchronisés. Le son peut être activé ou désactivé ; le profil documenté propose des scènes de 4 à 12 secondes, un cadrage adaptatif et un traitement en ligne ou flex.

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

Disponible dans Ailoot · entrées et méthodes

Ailoot Ultra · Vidéo POST /v1/videos
Entrée
text, image
Sortie
video
ChampTypeExigenceValeurs et limitesPar défaut
ChampmodelTypestringExigenceObligatoireValeurs et limites
doubao-seedance-1-5-pro-251215
Par défaut—
ChampcontentTypearrayExigenceObligatoireValeurs et limites
Conditions: Objets natifs de texte ou de média ; le tableau externe ne peut pas être vide. Ce constructeur générique Ailoot ne valide pas les types des nœuds imbriqués.
Par défaut—
ChampdurationTypeintegerExigenceFacultatifValeurs et limites
Conditions: Schéma principal 1.x : 2–12 ; une description commune ultérieure indique 4–12 ou -1 pour 1.5. L’exemple utilise 5, documenté dans les deux cas.
Par défaut5
ChampresolutionTypestringExigenceFacultatifValeurs et limites
480p, 720p
Conditions: Seedance 1.5 Pro prend en charge 480p et 720p ; 1080p est exclu. La résolution par défaut documentée est 720p.
Par défaut720p
ChampratioTypestringExigenceFacultatifValeurs et limites
16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive
Conditions: Le rapport largeur/hauteur par défaut documenté pour Seedance 1.5 Pro est adaptive. Les choix de rapports fixes restent inchangés.
Par défautadaptive
Champservice_tierTypestringExigenceFacultatifValeurs et limites
default, flex
Conditions: default=online, flex=offline ; choisissez avant la création.
Par défautdefault
ChampseedTypeintegerExigenceObligatoireValeurs et limites
Minimum: -1
Maximum: 4 294 967 295
Par défaut-1
ChampcamerafixedTypebooleanExigenceObligatoireValeurs et limites
Conditions: Requis par Ailoot ; le contrôle de caméra à partir d’une image de référence est documenté comme non pris en charge et son effet n’est pas garanti.
Par défautfalse
ChampwatermarkTypebooleanExigenceObligatoireValeurs et limitesPar défautfalse
Champexecution_expires_afterTypeintegerExigenceObligatoireValeurs et limites
Minimum: 3 600
Maximum: 259 200
Unité: secondes
Par défaut172 800
Champgenerate_audioTypebooleanExigenceFacultatifValeurs et limites
Conditions: Son synchronisé intégré à la vidéo générée, uniquement pour 1.5.
Par défauttrue
Combinaisons d’éléments d’entrée

Paramètres et cycle de vie de la méthode
ParamètreContrat
Paramètrecontent_typeContratapplication/json
ParamètrerequiredContratcamerafixed, content, execution_expires_after, model, seed, watermark
ParamètreoptionalContratduration, resolution, ratio, service_tier, generate_audio
Paramètrematerial_typesContrattext, image
Paramètreadditional_propertiesContrattrue
Paramètrevalidation_scopeContratAiloot vérifie les types des champs obligatoires ainsi que la présence d’un modèle non vide et d’un tableau de contenus non vide. Les autres champs de la requête sont conservés pour le modèle sélectionné.
Paramètreimage_constraintsContrat{"formats":["jpeg","png","webp","bmp","tiff","gif"],"aspect_ratio_exclusive":[0.4,2.5],"dimensions_px_exclusive":[300,6000],"file_size_mb_exclusive":30,"mb_bytes_definition":null}

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 périodiquement la tâche d’origine ; téléchargez le contenu réel content.video_url dont vous êtes propriétaire une fois l’état succeeded atteint.

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évisionnelleGénérer de l’audioNiveau de serviceUnité de facturationCoût
ConfigurationTarifs de base des jetonsBarème tarifaireTarif de baseQuantité prévisionnelle—Générer de l’audio—Niveau de service—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
ConfigurationNiveau de service hors ligne (flex). Sortie avec audio synchronisé.Barème tarifaire—Quantité prévisionnelle—Générer de l’audioAvec audioNiveau de serviceflexUnité de facturationpar 1K tokens vidéoCoût
Sortie · Estimation à des fins de comparaison uniquement $0.0024 par 1K tokens vidéo
ConfigurationNiveau de service hors ligne (flex). Sortie sans audio synchronisé.Barème tarifaire—Quantité prévisionnelle—Générer de l’audioSans audioNiveau de serviceflexUnité de facturationpar 1K tokens vidéoCoût
Sortie · Estimation à des fins de comparaison uniquement $0.0012 par 1K tokens vidéo
ConfigurationNiveau de service en ligne (default). Sortie avec audio synchronisé.Barème tarifaire—Quantité prévisionnelle—Générer de l’audioAvec audioNiveau de servicedefaultUnité de facturationpar 1K tokens vidéoCoût
Sortie · Estimation à des fins de comparaison uniquement $0.0048 par 1K tokens vidéo
ConfigurationNiveau de service en ligne (default). Sortie sans audio synchronisé.Barème tarifaire—Quantité prévisionnelle—Générer de l’audioSans audioNiveau de servicedefaultUnité de facturationpar 1K tokens vidéoCoût
Sortie · Estimation à des fins de comparaison uniquement $0.0024 par 1K tokens vidéo
ConfigurationCoût estimé de la générationBarème tarifaire—Quantité prévisionnelleEstimation pour une générationGénérer de l’audio—Niveau de service—Unité de facturation—Coût
Sortie · Coût estimé de génération · Estimation à des fins de comparaison uniquement $0.1152 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-1-5-pro-251215","content":[{"type":"text","text":"女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动"}],"resolution":"480p","ratio":"1:1","duration":5,"service_tier":"default","seed":-1,"camerafixed":false,"watermark":false,"execution_expires_after":172800,"generate_audio":false}
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 un résultat réellement renvoyé.

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 périodiquement cette opération ; ne soumettez jamais de 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, modèle, types des champs obligatoires ou index de contenu invalides.Étape suivante
Réponse401 · authentication_errorConditionClé API Ailoot invalide.Étape suivante
Réponse404 · not_found_errorConditionTâche ou résultat absent, ou n’appartenant pas au même utilisateur, à la même clé API et au même groupe.Étape suivante
Réponse502 · result_pending_checkConditionSoumission ou état d’origine incomplet ; conservez l’ID d’origine et ne soumettez pas de nouveau la requête.Étape suivante
Réponse503 · result_pending_checkConditionLe média, la route ou le règlement d’origine fait l’objet d’une vérification ; poursuivez l’opération d’origine.Étape suivante

Alias

Alias du modèle

Ailoot Ultra doubao-seedance-1-5-pro-251215

Alias des chemins de méthode

/v1/videos/generations

ID d’appel associés

doubao-seedance-1-5-pro-251215

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

POST /v1/videos · doubao-seedance-1-5-pro-251215: text, image → video

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

POST /v1/videos · doubao-seedance-1-5-pro-251215: model, content, duration, resolution, ratio, service_tier, seed, camerafixed, watermark, execution_expires_after, generate_audio

Quelles limites s’appliquent ?

POST /v1/videos · doubao-seedance-1-5-pro-251215: 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