ByteDance: Seedance 2.0 Fast
Seedance 2.0 Fast est le profil multimodal Fast pour la génération, la modification et le prolongement de vidéos. Il accepte du texte et des références image, vidéo et audio, permet une sortie avec son synchronisé ou sans son, et documente des clips de 4 à 15 secondes en 480p ou 720p.
À 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 Fast est le profil Fast nommé séparément, sélectionné avec doubao-seedance-2-0-fast-260128. Il permet la génération, la modification et le prolongement de vidéos à l’aide de texte, d’images et de références vidéo et audio. Ce profil convient lorsque la description de scène doit communiquer davantage qu’une description d’apparence : les médias existants peuvent aussi transmettre une interprétation, un langage de caméra et un son. Le nom Fast distingue l’identité de la requête ; il ne promet pas qu’une tâche asynchrone donnée se termine dans un délai fixe.
Commencez par l’élément qui doit définir le nouveau plan. Le texte peut à lui seul décrire une nouvelle scène. Une image peut établir un personnage, un produit ou une composition ; une vidéo peut fournir un mouvement ou une séquence existante à modifier ou à prolonger. Les combinaisons de contenu documentées comprennent des images avec de l’audio, une vidéo avec de l’audio et des images, une vidéo et de l’audio ensemble, avec du texte facultatif aux côtés des médias visuels. Ces combinaisons ne décrivent pas une requête autonome contenant uniquement de l’audio : associez donc les références sonores à la source visuelle qu’elles doivent guider.
Gardez les rôles de référence explicites dans le tableau content et dans la consigne. Les éléments image_url, video_url et audio_url peuvent porter les rôles reference_image, reference_video et reference_audio. Décrivez quelle image fournit le sujet, quelle vidéo fournit la caméra ou l’action et quel audio fournit la bande-son. Pour un plan de produit, une image peut définir l’emballage tandis qu’une vidéo illustre un mouvement le long de l’objet. Précisez la fin voulue afin que la courte séquence présente une vue finale utile au lieu de s’arrêter au milieu d’une action.
Pour une modification, identifiez la séquence source, le changement et la continuité à conserver. Un changement de décor ou d’éclairage doit garder clairement précisés le sujet et l’action voulus. Pour un prolongement, expliquez ce qui se passe ensuite et comment le nouveau mouvement se raccorde à la scène existante. Les références guident la génération ; vérifiez la jonction réelle et tout le clip pour l’apparence, la direction du mouvement et le déroulement temporel plutôt que de supposer que le prolongement préserve chaque détail de chaque image.
La plage documentée pour 2.0 Fast va de quatre à quinze secondes entières, avec -1 pour une durée choisie par le modèle dans cette plage. La durée par défaut est de cinq secondes. La résolution de sortie est 480p ou 720p, avec 720p par défaut et 1080p exclu. Choisissez parmi les cadrages fixes 16:9, 4:3, 1:1, 3:4, 9:16 et 21:9, ou le cadrage adaptatif. Le cadrage adaptatif suit le contexte du prompt ou de la référence pertinente ; un plan à partir d’une première image suit son image initiale, tandis que le cadrage multimodal peut donner priorité à la vidéo sur les images. Consultez les champs renvoyés par la tâche pour connaître la durée et le rapport d’aspect réels.
Utilisez generate_audio pour choisir si la vidéo générée comprend un son synchronisé. La valeur par défaut documentée est true ; false demande une vidéo sans son. Lorsque le son est activé, le profil génère des voix, des effets ou une musique de fond à partir du prompt et du contenu visuel, et le guide recommande de placer les dialogues entre guillemets doubles. Indiquez le locuteur et la relation voulue entre le son et l’action. Faites vérifier la parole par une personne qui maîtrise la langue et contrôlez l’alignement du son sur tout le clip, y compris tout segment modifié ou prolongé.
Le guide 2.0 Fast exclut les anciens réglages frames et camera_fixed et ne prend pas en charge le traitement hors ligne flex. Décrivez le comportement de caméra dans la scène et utilisez duration pour la longueur du clip. Les options de graine aléatoire et de filigrane restent documentées. La même graine ne garantit pas une sortie identique : conservez donc le résultat achevé pour comparer les révisions au lieu de vous appuyer uniquement sur les réglages de requête.
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 soumission renvoie un identifiant de tâche avant que la vidéo achevée soit disponible. Suivez l’état de traitement, puis récupérez content.video_url après réussite et gardez la durée, la résolution, le rapport d’aspect, la cadence et l’utilisation rapportés avec le résultat. Le délai d’expiration est mesuré depuis la création de la tâche, vaut 172 800 secondes par défaut et va de 3 600 à 259 200 secondes. Enregistrez le clip final avec ses références et son prompt, puis vérifiez l’identité du sujet, le contact entre les objets, la continuité de caméra et le placement du son dans le temps sur toute la séquence.
Ailoot Ultra · Vidéo POST /v1/videos doubao-seedance-2-0-fast-260128
doubao-seedance-2-0-fast-260128
doubao-seedance-2-0-fast-260128Pour commencer
Seedance 2.0 Fast est le profil multimodal Fast pour la génération, la modification et le prolongement de vidéos. Il accepte du texte et des références image, vidéo et audio, permet une sortie avec son synchronisé ou sans son, et documente des clips de 4 à 15 secondes en 480p ou 720p.
- 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
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites doubao-seedance-2-0-fast-260128 | Par défaut— |
Champcontent | Typearray | ExigenceObligatoire | Valeurs 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_audio | Typeboolean | ExigenceFacultatif | Valeurs et limites Conditions: Son synchronisé intégré à la vidéo. | Par défauttrue |
Champduration | Typeinteger | ExigenceFacultatif | Valeurs et limites Conditions: Entier 4–15 ou -1; la durée réelle de sortie est retournée. | Par défaut5 |
Champresolution | Typestring | ExigenceFacultatif | Valeurs et limites 480p, 720p Conditions: 1080p explicitement non pris en charge pour 2.0/fast. | Par défaut720p |
Champratio | Typestring | ExigenceFacultatif | Valeurs et limites 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive Conditions: Le mode adaptatif est explicitement limité à 2.0/fast/1.5; l’exemple 2.5 utilise seulement 16:9. | Par défautadaptive |
Champwatermark | Typeboolean | ExigenceFacultatif | Valeurs et limites | Par défautfalse |
Champseed | Typeinteger | ExigenceFacultatif | Valeurs et limites Minimum: -1 Maximum: 4 294 967 295 | Par défaut-1 |
Champexecution_expires_after | Typeinteger | ExigenceFacultatif | Valeurs et limites Minimum: 3 600 Maximum: 259 200 Unité: secondes | Par défaut172 800 |
Champservice_tier | Typestring | ExigenceFacultatif | Valeurs et limites default Conditions: 2.0/fast excluent flex hors ligne; la portée pour 2.5 n’est pas établie. | Par défautdefault |
Champsafety_identifier | Typestring | ExigenceFacultatif | Valeurs et limites | Par défaut— |
Champtools | Typeobject | ExigenceFacultatif | Valeurs et limites Conditions: Seulement 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ètre | Contrat |
|---|---|
Paramètrecontent_type | Contratapplication/json |
Paramètrerequired | Contratcontent, model |
Paramètreoptional | Contratgenerate_audio, duration, resolution, ratio, watermark, seed, execution_expires_after, service_tier, safety_identifier, tools |
Paramètrematerial_types | Contrattext, image, video, audio |
Paramètreadditional_properties | Contrattrue |
Paramètrevalidation_scope | ContratAiloot 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_combinations | Contrattext, image, video, image, audio, image, video, video, audio, image, video, audio |
Paramètreoptional_text_with_media | Contrattrue |
Paramètrereference_media_count_and_size_limits | Contratnull |
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.
| Configuration | Barème tarifaire | Quantité prévisionnelle | Unité de facturation | Coût |
|---|---|---|---|---|
| ConfigurationTarifs de base des jetons | Barème tarifaireTarif de base | Quantité 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éo | Coût Sortie · Estimation à des fins de comparaison uniquement $0.007536 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éo | Coût Sortie · Estimation à des fins de comparaison uniquement $0.013032 par 1K jetons vidéo |
| ConfigurationCoût de génération estimé | Barème tarifaire— | Quantité prévisionnelleestimation pour une génération | Unité 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
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"doubao-seedance-2-0-fast-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 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}/contentGET /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
| Champ | Type |
|---|---|
Champid | Typestring |
Champprovider_task_id | Typestring |
Champpolling_url | Typestring |
Champstatus | Typestring when supplied |
Champcontent.video_url | Typestring|string[] |
Champusage | Typeobject when supplied |
Erreurs et étapes suivantes
| Réponse | Condition | Étape suivante |
|---|---|---|
Réponse400 · invalid_request_error | ConditionJSON, modèle, types de champs requis ou indice de contenu invalides. | Étape suivante |
Réponse401 · authentication_error | ConditionClé API Ailoot invalide. | Étape suivante |
Réponse404 · not_found_error | ConditionTâ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_check | ConditionEnvoi ou état d’origine incomplet; conservez l’identifiant d’origine, sans nouvelle soumission. | Étape suivante |
Réponse503 · result_pending_check | ConditionLe 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-fast-260128
Alias des chemins de méthode
/v1/videos/generations
ID d’appel associés
FAQ · ByteDance: Seedance 2.0 Fast
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/videos·doubao-seedance-2-0-fast-260128:text,image,video,audio→video- Quels champs la requête utilise-t-elle ?
POST /v1/videos·doubao-seedance-2-0-fast-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-fast-260128:seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200