ByteDance: Seedance 1.0 Pro Fast
Seedance 1.0 Pro Fast est le profil Fast nommé séparément pour la génération de vidéos sans son à partir de texte ou d’images. Il accepte une description de scène ou une composition guidée par une image, avec une sortie de 2 à 12 secondes, 24 fps et des réglages explicites de cadrage.
À 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 Pro Fast est le profil Fast identifié par doubao-seedance-1-0-pro-fast-251015. Il génère une vidéo sans son à partir d’une scène écrite ou d’une composition initiale guidée par une image. Le sélecteur exact distingue ce profil de Seedance 1.0 Pro ; le mot Fast ne définit pas un délai de réalisation garanti pour une tâche donnée. Choisissez le mode d’entrée selon ce qui doit établir la scène, puis évaluez le clip renvoyé par rapport à cette consigne.
Un plan guidé par le texte commence par une séquence concise : le sujet et le décor, l’action, le trajet de caméra et la vue finale. Pour mettre en valeur un produit, décrivez l’objet sur son support, la lumière sur sa matière et un mouvement court qui se termine sur la caractéristique présentée. Pour un concept de lieu, passez d’un large plan d’ensemble à un point d’intérêt reconnaissable. Évitez de demander à un seul clip court de réaliser plusieurs scènes sans lien dont tous les sujets et décors doivent être introduits à partir de zéro.
Un plan guidé par une image commence par un élément image_url dans le tableau content et une instruction textuelle de mouvement. Préparez le cadrage, l’arrière-plan et la disposition du sujet dans cette image, puis indiquez quels éléments bougent et comment la caméra se comporte. Une composition fixe peut ainsi devenir une courte scène animée. Ce mode convient à un portrait, à un objet posé sur une table ou à un concept visuel préparé, tandis que le résultat réel doit toujours être vérifié pour l’identité, la forme et le mouvement pendant tout le clip.
Les images d’entrée peuvent être fournies par une URL accessible ou une URL de données Base64. Les formats documentés sont JPEG, PNG, WEBP, BMP, TIFF et GIF ; l’image doit peser moins de 30 MB, avec les deux dimensions strictement comprises entre 300 et 6 000 pixels et un quotient largeur/hauteur strictement compris entre 0,4 et 2,5. Choisissez une source nette où les détails du sujet sont visibles. Le guide des images recommande un cadrage adaptatif : les proportions de la source préparée doivent donc correspondre à la composition à animer.
Le profil 1.0 documente une durée de deux à douze secondes à 24 fps. Pro Fast utilise 1080p comme résolution par défaut, et le tableau de sortie retenu répertorie les niveaux 480p, 720p et 1080p. Le guide d’utilisation exclut 1080p dans le cas d’une image de référence. Les rapports d’aspect fixes comprennent 16:9, 4:3, 1:1, 3:4, 9:16 et 21:9. Choisissez une résolution et un cadrage adaptés au mode d’entrée sélectionné, plutôt que de supposer que toutes les combinaisons sont interchangeables.
Les options de graine aléatoire et de filigrane permettent de garder les réglages de requête explicites. La graine est un entier de -1 à 2^32-1 ; -1 demande un résultat aléatoire. Une consigne de caméra fixe est conditionnelle : le guide l’exclut dans le cas d’une image de référence et ne garantit pas l’effet visuel lorsqu’elle est prise en charge. Les commandes de paramètres intégrées au texte remplacent les paramètres facultatifs distincts. Gardez ces instructions cohérentes, surtout lorsque vous révisez un prompt dont une ancienne commande de durée ou de résolution pourrait sinon rester dans la description de scène.
L’utilisation est mesurée en jetons 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 soumission crée une tâche asynchrone. Enregistrez son identifiant, suivez son état et récupérez la vidéo achevée dans content.video_url après réussite. Les fichiers générés sont documentés comme étant conservés pendant sept jours ; gardez donc le résultat achevé avec son prompt et toute image d’entrée. Vérifiez toute l’action, le mouvement de caméra et le cadrage final ; si un détail ne correspond pas à la consigne, décrivez cette correction précise en conservant les parties réussies.
Ailoot Ultra · Vidéo POST /v1/videos doubao-seedance-1-0-pro-fast-251015
doubao-seedance-1-0-pro-fast-251015
doubao-seedance-1-0-pro-fast-251015Pour commencer
Seedance 1.0 Pro Fast est le profil Fast nommé séparément pour la génération de vidéos sans son à partir de texte ou d’images. Il accepte une description de scène ou une composition guidée par une image, avec une sortie de 2 à 12 secondes, 24 fps et des réglages explicites de cadrage.
- 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
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites doubao-seedance-1-0-pro-fast-251015 | 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— |
Champduration | Typeinteger | ExigenceFacultatif | Valeurs et limites Minimum: 2 Maximum: 12 Conditions: Schéma principal 1.x : 2–12; une description commune ultérieure indique 1.5 comme 4–12 ou -1. L’exemple utilise 5, documenté dans les deux cas. | Par défaut5 |
Champresolution | Typestring | ExigenceFacultatif | Valeurs et limites Conditions: Les valeurs confirmées pour la génération de texte en vidéo sont 480p et 1080p. L’entrée d’image de référence exclut 1080p. La valeur d’énumération commune 720p contredit la description propre au modèle; la prise en charge de 720p reste donc indéterminée dans les deux modes. | Par défaut1080p |
Champratio | Typestring | ExigenceFacultatif | Valeurs et limites 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive Conditions: Les valeurs par défaut dépendent de la scène et du modèle; la documentation sur les images d’entrée recommande adaptive. | Par défaut— |
Champservice_tier | Typestring | ExigenceFacultatif | Valeurs et limites default, flex Conditions: default=online, flex=offline; choisissez avant la création. | Par défautdefault |
Champseed | Typeinteger | ExigenceObligatoire | Valeurs et limites Minimum: -1 Maximum: 4 294 967 295 | Par défaut-1 |
Champcamerafixed | Typeboolean | ExigenceObligatoire | Valeurs et limites Conditions: Requis par Ailoot; le contrôle de la 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 |
Champwatermark | Typeboolean | ExigenceObligatoire | Valeurs et limites | Par défautfalse |
Champexecution_expires_after | Typeinteger | ExigenceObligatoire | Valeurs 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ètre | Contrat |
|---|---|
Paramètrecontent_type | Contratapplication/json |
Paramètrerequired | Contratcamerafixed, content, execution_expires_after, model, seed, watermark |
Paramètreoptional | Contratduration, resolution, ratio, service_tier |
Paramètrematerial_types | Contrattext, image |
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ètreimage_constraints | Contrat{"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 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 |
| ConfigurationUltra | Barème tarifaire— | Quantité prévisionnelle— | Unité de facturationpar 1K jetons vidéo | Coût Sortie · Estimation à des fins de comparaison uniquement $0.0012 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.0576 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-1-0-pro-fast-251015","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 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-1-0-pro-fast-251015
Alias des chemins de méthode
/v1/videos/generations
ID d’appel associés
FAQ · ByteDance: Seedance 1.0 Pro Fast
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/videos·doubao-seedance-1-0-pro-fast-251015:text,image→video- Quels champs la requête utilise-t-elle ?
POST /v1/videos·doubao-seedance-1-0-pro-fast-251015:model,content,duration,resolution,ratio,service_tier,seed,camerafixed,watermark,execution_expires_after- Quelles limites s’appliquent ?
POST /v1/videos·doubao-seedance-1-0-pro-fast-251015:duration.minimum:2;duration.maximum:12;seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200