models

ByteDance: Seedance 1.0 Lite Text-to-Video

Markdown · JSON

ByteDance: Seedance 1.0 Lite Text-to-Video

Seedance 1.0 Lite Text-to-Video transforme une scène écrite en vidéo sans son. Ce sélecteur Lite précis utilise du texte plutôt qu’une image de référence, avec une durée de 2 à 12 secondes, 24 fps et un cadrage paysage, portrait, carré ou cinématographique.

À 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.0 Lite Text-to-Video génère une vidéo à partir d’une scène écrite. Le sélecteur exact doubao-seedance-1-0-lite-t2v-250428 est la variante texte-vers-vidéo de l’édition Lite. Utilisez-le lorsque le sujet, le décor et le mouvement peuvent être décrits directement : un produit sur une table, un plan d’ensemble d’un lieu ou une brève action d’un personnage. La sortie est un clip vidéo ; ce profil 1.0 ne génère pas d’audio synchronisé.

Écrivez la scène dans l’ordre où le spectateur doit la voir. Identifiez le sujet et son apparence, le lieu, l’action, l’échelle de plan et le mouvement de caméra, puis décrivez la composition finale. Une consigne de produit utile peut montrer une bouteille sur un socle en pierre claire, la lumière du soleil se déplaçant sur l’étiquette et un lent travelling avant vers le bouchon. Ce sont des instructions pour une nouvelle scène, sans promesse de reproduire une photographie fournie du produit. Adaptez l’action visible à la durée sélectionnée du clip.

Ce sélecteur texte-vers-vidéo est distinct du sélecteur Lite image-vers-vidéo nommé séparément. Son contenu est fourni comme un élément de type text dans le tableau content. Une phrase peut décrire une personne, un objet ou un style, mais elle ne joint pas d’image de référence et n’établit pas une identité visuelle exacte à partir d’un fichier non consulté. Pour une scène dont la composition initiale doit provenir d’une image existante, choisissez un profil acceptant les images au lieu de supposer que l’ajout d’un champ média change le mode du sélecteur Lite t2v.

La durée documentée pour la version 1.0 va de deux à douze secondes, avec cinq secondes par défaut et une cadence fixe de 24 fps. Lite propose les niveaux de résolution 480p, 720p et 1080p, avec 720p comme valeur par défaut documentée. Les rapports d’aspect fixes comprennent 16:9, 4:3, 1:1, 3:4, 9:16 et 21:9. Choisissez le cadrage selon sa destination avant la génération : portrait pour une présentation verticale, carré pour une fiche produit compacte ou paysage pour une scène large. Les niveaux de résolution et les rapports d’aspect décrivent la sortie demandée ; vérifiez les dimensions réelles en pixels et le cadrage du clip téléchargé.

La requête propose des réglages seed, watermark et de caméra. seed est un entier de -1 à 2^32-1, -1 sélectionnant un résultat aléatoire. Une demande de caméra fixe ajoute une consigne de caméra immobile, et la documentation précise explicitement que l’effet n’est pas garanti. Gardez la direction de caméra cohérente entre la scène écrite et le réglage distinct. Les instructions de paramètres intégrées au texte prennent le pas sur les paramètres facultatifs distincts : évitez donc les instructions contradictoires de durée, de résolution ou de cadrage aux deux endroits.

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.

La génération est asynchrone. La soumission renvoie un identifiant de tâche, et la consultation de la tâche fournit son état de traitement puis, après réussite, l’URL de la vidéo dans content.video_url. Conservez cet identifiant tant que la tâche est en attente ou en cours et enregistrez le clip achevé pour la révision suivante. La durée documentée de conservation des fichiers générés est de sept jours. La requête possède aussi un délai d’expiration, mesuré à partir de la création de la tâche, après lequel une tâche inachevée expire ; la valeur par défaut documentée est de 172 800 secondes, avec des valeurs allant de 3 600 à 259 200 secondes.

Vérifiez tout le clip à partir de la consigne : présence du sujet voulu, ordre correct de l’action, direction de caméra conforme à la demande et dernière image utilisable. Modifiez une instruction précise pour la version suivante tout en conservant la structure de scène réussie. Pour une série de plans, gardez chaque prompt, les réglages demandés et la vidéo achevée pour planifier la scène suivante à partir du résultat réel.

Ailoot Ultra · Vidéo POST /v1/videos doubao-seedance-1-0-lite-t2v-250428

doubao-seedance-1-0-lite-t2v-250428

ByteDance /doubao-seedance-1-0-lite-t2v-250428

Premiers pas

Seedance 1.0 Lite Text-to-Video transforme une scène écrite en vidéo sans son. Ce sélecteur Lite précis utilise du texte plutôt qu’une image de référence, avec une durée de 2 à 12 secondes, 24 fps et un cadrage paysage, portrait, carré ou cinématographique.

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

Disponible dans Ailoot · entrées et méthodes

Ailoot Ultra · Vidéo POST /v1/videos
Entrée
text
Sortie
video
ChampTypeExigenceValeurs et limitesPar défaut
ChampmodelTypestringExigenceObligatoireValeurs et limites
doubao-seedance-1-0-lite-t2v-250428
Par défaut—
ChampcontentTypearrayExigenceObligatoireValeurs et limites
Conditions: Objets natifs de texte ou de médias ; le tableau externe doit être non vide. Ce constructeur générique Ailoot ne valide pas les types des nœuds imbriqués.
Par défaut—
ChampdurationTypeintegerExigenceFacultatifValeurs et limites
Minimum: 2
Maximum: 12
Conditions: Le schéma principal 1.x indique 2–12 ; une description partagée ultérieure indique 4–12 ou -1 pour 1.5. L’exemple utilise 5, valeur documentée dans les deux cas.
Par défaut5
ChampresolutionTypestringExigenceFacultatifValeurs et limites
480p, 720p, 1080p
Conditions: Énumération partagée ; 1080p est exclu avec les images de référence et 1.5. La description intégrée de pro répertorie 480p/1080p, tandis que l’énumération de niveau supérieur inclut 720p ; aucune garantie de prise en charge de 720p pour pro n’est établie.
Par défaut720p
ChampratioTypestringExigenceFacultatifValeurs et limites
16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive
Conditions: Valeurs par défaut selon la scène et le modèle ; la documentation relative aux images d’entrée recommande adaptive.
Par défaut—
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: Obligatoire pour Ailoot ; la documentation indique que le contrôle de caméra à partir d’une image de référence n’est pas 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
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
Paramètrematerial_typesContrattext
Paramètreadditional_propertiesContrattrue
Paramètrevalidation_scopeContratAiloot vérifie les types des champs obligatoires, ainsi qu’un champ model non vide et un tableau content non vide. Les autres champs de la requête sont conservés pour le modèle sélectionné.

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.

Consultez périodiquement la tâche d’origine ; téléchargez le contenu réel content.video_url dont vous êtes propriétaire après l’état 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 · 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
ConfigurationUltraBarème tarifaire—Quantité prévisionnelle—Unité de facturationpar 1K tokens vidéoCoût
Sortie · Estimation à des fins de comparaison uniquement $0.003 par 1K tokens vidéo
ConfigurationCoût estimé de la générationBarè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.144 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-1-0-lite-t2v-250428","content":[{"type":"text","text":"女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动"}],"resolution":"480p","ratio":"1:1","duration":5,"service_tier":"default","seed":-1,"camerafixed":false,"watermark":false,"execution_expires_after":172800}
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 les valeurs publiques id/polling_url. Après publication, content.video_url contient les URL signées appartenant à Ailoot ; avant publication, les URL des résultats sélectionnés 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’identifiant d’origine et consultez périodiquement cette opération ; ne renvoyez jamais une demande de 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 indice 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 ou au même groupe.Étape suivante
Réponse502 · result_pending_checkConditionEnvoi ou état d’origine incomplet ; conservez l’identifiant d’origine, sans renvoyer la demande.Étape suivante
Réponse503 · result_pending_checkConditionLe média, la route ou la facturation définitive 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-1-0-lite-t2v-250428

Alias des chemins de méthode

/v1/videos/generations

ID d’appel associés

doubao-seedance-1-0-lite-t2v-250428

FAQ · ByteDance: Seedance 1.0 Lite Text-to-Video
Quelles entrées et quels résultats sont disponibles ?

POST /v1/videos · doubao-seedance-1-0-lite-t2v-250428: text → video

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

POST /v1/videos · doubao-seedance-1-0-lite-t2v-250428: model, content, duration, resolution, ratio, service_tier, seed, camerafixed, watermark, execution_expires_after

Quelles limites s’appliquent ?

POST /v1/videos · doubao-seedance-1-0-lite-t2v-250428: duration.minimum: 2; duration.maximum: 12; 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