ByteDance: Seedance 1.0 Lite Text-to-Video
Seedance 1.0 Lite Text-to-Video trasforma una scena scritta in un video senza audio. Questo specifico selettore Lite usa testo anziché un’immagine di riferimento, con durata di 2–12 secondi, 24 fps e inquadratura orizzontale, verticale, quadrata o cinematografica.
Informazioni sul modello
Questa descrizione illustra le funzionalità del modello. Gli input, gli output e le opzioni disponibili in Ailoot per il metodo selezionato sono elencati di seguito.
Seedance 1.0 Lite Text-to-Video genera un video da una scena scritta. Il selettore esatto doubao-seedance-1-0-lite-t2v-250428 è il componente dell’edizione Lite per la generazione di video da testo. Usatelo quando soggetto, ambientazione e movimento possono essere descritti direttamente: un prodotto su un tavolo, una veduta d’insieme di un luogo o una breve azione di un personaggio. L’uscita è una clip video; il profilo 1.0 non genera audio sincronizzato.
Scrivete la scena nell’ordine in cui lo spettatore deve vederla. Identificate il soggetto e il suo aspetto, il luogo, l’azione, l’ampiezza dell’inquadratura e il movimento della camera, poi descrivete la composizione finale. Una richiesta utile per un prodotto potrebbe mostrare una bottiglia su un piedistallo in pietra chiara, la luce del sole che attraversa l’etichetta e un lento avvicinamento al tappo. Sono istruzioni per una scena nuova, non un’affermazione che il modello riproduca una fotografia del prodotto fornita. Mantenete l’azione visibile adeguata alla durata selezionata della clip.
Questo selettore di generazione video da testo è distinto dal selettore Lite per video da immagini, denominato separatamente. Il contenuto è fornito come elemento testuale nell’array content. Una frase può descrivere una persona, un oggetto o uno stile, ma non allega un’immagine di riferimento né stabilisce un’identità visiva esatta da un file non visto. Per una scena la cui composizione iniziale deve provenire da un’immagine esistente, scegliete un profilo che accetti immagini invece di presumere che l’identità Lite t2v cambi modalità quando si aggiunge un campo multimediale.
L’intervallo di durata documentato per 1.0 è da due a dodici secondi, con cinque secondi come valore predefinito e frequenza fissa di 24 fps. Lite offre livelli di risoluzione 480p, 720p e 1080p, con 720p come valore predefinito documentato. I rapporti d’aspetto fissi comprendono 16:9, 4:3, 1:1, 3:4, 9:16 e 21:9. Scegliete il formato in base alla destinazione prima della generazione: verticale per una presentazione verticale, quadrato per un riquadro compatto dedicato a un prodotto oppure orizzontale per una scena ampia. Livelli di risoluzione e rapporti d’aspetto descrivono l’uscita richiesta; esaminate la clip scaricata per verificarne dimensioni effettive in pixel e inquadratura.
La richiesta espone controlli per seed, filigrana e camera. Il seed è un intero da -1 a 2^32-1, con -1 che seleziona la casualità. Una richiesta a camera fissa aggiunge un’istruzione di camera fissa e la documentazione dice esplicitamente che l’effetto non è garantito. Mantenete coerente la direzione della camera tra la scena scritta e il controllo separato. Le istruzioni sui parametri inserite nel testo hanno precedenza sui parametri opzionali separati: evitate quindi istruzioni in conflitto su durata, risoluzione o inquadratura nei due punti.
L’utilizzo si misura in token video: larghezza dell’uscita × altezza dell’uscita × frequenza dei fotogrammi × durata dell’uscita / 1024. L’attività completata riporta questa quantità come usage.completion_tokens. Conservate l’utilizzo riportato insieme alla clip completata e alle impostazioni richieste.
La generazione è asincrona. L’invio restituisce un identificatore dell’attività e la consultazione dell’attività ne fornisce lo stato di elaborazione e, dopo il successo, l’URL del video in content.video_url. Conservate l’identificatore mentre l’attività è in coda o in esecuzione e salvate la clip completata per la revisione successiva. Il periodo documentato di conservazione dei file generati è di sette giorni. La richiesta ha anche un intervallo di scadenza, misurato dalla creazione dell’attività, dopo il quale un’attività non conclusa passa allo stato expired; il valore predefinito documentato è 172 800 secondi, con valori da 3 600 a 259 200 secondi.
Verificate l’intera clip rispetto alla richiesta: se compare il soggetto previsto, se l’azione avviene nell’ordine corretto, se la camera segue la direzione richiesta e se il fotogramma finale è utilizzabile. Per la versione successiva cambiate un’istruzione specifica mantenendo la struttura della scena riuscita. Per una serie di inquadrature, conservate ogni prompt, le impostazioni richieste e il video completato, affinché la scena successiva possa essere pianificata a partire dal risultato reale.
Ailoot Ultra · Generazione video POST /v1/videos doubao-seedance-1-0-lite-t2v-250428
doubao-seedance-1-0-lite-t2v-250428
doubao-seedance-1-0-lite-t2v-250428Introduzione
Seedance 1.0 Lite Text-to-Video trasforma una scena scritta in un video senza audio. Questo specifico selettore Lite usa testo anziché un’immagine di riferimento, con durata di 2–12 secondi, 24 fps e inquadratura orizzontale, verticale, quadrata o cinematografica.
- Input accettati
- Testo
- Risultati
- Video
Disponibile in Ailoot · input e metodi
Ailoot Ultra · Generazione video POST /v1/videos
- Tipi di input
text- Tipi di output
video
| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObbligatorio | Valori e limiti doubao-seedance-1-0-lite-t2v-250428 | Predefinito— |
Campocontent | Tipoarray | RequisitoObbligatorio | Valori e limiti Condizioni: Oggetti nativi di testo o contenuti multimediali; l'array esterno non deve essere vuoto. Questo costruttore generico Ailoot non convalida i tipi dei nodi annidati. | Predefinito— |
Campoduration | Tipointeger | RequisitoFacoltativo | Valori e limiti Minimo: 2 Massimo: 12 Condizioni: Schema principale 1.x: 2–12; una descrizione condivisa successiva indica per 1.5 l'intervallo 4–12 oppure -1. L'esempio usa 5, documentato in entrambi i casi. | Predefinito5 |
Camporesolution | Tipostring | RequisitoFacoltativo | Valori e limiti 480p, 720p, 1080p Condizioni: Enumerazione condivisa; 1080p è escluso con immagini di riferimento e con 1.5. La descrizione inline di pro elenca 480p/1080p, mentre l'enumerazione principale include 720p; il supporto di 720p per pro non è chiarito né garantito. | Predefinito720p |
Camporatio | Tipostring | RequisitoFacoltativo | Valori e limiti 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive Condizioni: Valori predefiniti dipendenti dalla scena o dal modello; la documentazione dell'input con immagini consiglia adaptive. | Predefinito— |
Camposervice_tier | Tipostring | RequisitoFacoltativo | Valori e limiti default, flex Condizioni: default=online, flex=offline; scegli prima della creazione. | Predefinitodefault |
Camposeed | Tipointeger | RequisitoObbligatorio | Valori e limiti Minimo: -1 Massimo: 4.294.967.295 | Predefinito-1 |
Campocamerafixed | Tipoboolean | RequisitoObbligatorio | Valori e limiti Condizioni: Obbligatorio per Ailoot; il controllo della videocamera con immagine di riferimento è documentato come non supportato e il suo effetto non è garantito. | Predefinitofalse |
Campowatermark | Tipoboolean | RequisitoObbligatorio | Valori e limiti | Predefinitofalse |
Campoexecution_expires_after | Tipointeger | RequisitoObbligatorio | Valori e limiti Minimo: 3600 Massimo: 259.200 Unità: secondi | Predefinito172.800 |
Combinazioni di materiali in input
Parametri e ciclo di vita del metodo
| Parametro | Contratto |
|---|---|
Parametrocontent_type | Contrattoapplication/json |
Parametrorequired | Contrattocamerafixed, content, execution_expires_after, model, seed, watermark |
Parametrooptional | Contrattoduration, resolution, ratio, service_tier |
Parametromaterial_types | Contrattotext |
Parametroadditional_properties | Contrattotrue |
Parametrovalidation_scope | ContrattoAiloot verifica i tipi dei campi obbligatori e che model/content sia un array non vuoto. Gli altri campi della richiesta vengono conservati per il modello selezionato. |
Alias del metodo: /v1/videos/generations
Ciclo di vita: 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
Crea una sola volta e conserva id/polling_url pubblici restituiti.
Interroga periodicamente l'attività originale; scarica content.video_url effettivo di tua proprietà dopo succeeded.
Tariffe
Calcolo del costo finale
Le tariffe visualizzate stimano il costo prima della generazione. L'addebito finale viene calcolato in base al costo registrato per la generazione originale. La durata misurata dell'output e le quantità previste non costituiscono la quantità finale fatturabile.
Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.
- Modalità rapida
- Non specificato Quando è selezionata la modalità rapida
- Modalità flex
- Non specificato Quando è selezionata la modalità flex
- Sforzo massimo di ragionamento
- Non specificato Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)
Tariffe stimate per il confronto
Prezzi per configurazione
Associa ogni costo alle condizioni indicate. Usa una sola tariffa per ogni insieme di configurazioni alternative.
| Configurazione | Listino delle tariffe | Quantità prevista | Unità di fatturazione | Costo |
|---|---|---|---|---|
| ConfigurazioneTariffe base dei token | Listino delle tariffeTariffa base | Quantità prevista— | Unità di fatturazione— | Costo Input · Token in input · Stima solo a fini di confronto — / 1K token Output · Token in output · Stima solo a fini di confronto — / 1K token Input · Lettura dalla cache · Stima solo a fini di confronto — / 1K token Input · Scrittura nella cache · Stima solo a fini di confronto — / 1K token Input · Scrittura nella cache, 1 ora · Stima solo a fini di confronto — / 1K token |
| ConfigurazioneUltra | Listino delle tariffe— | Quantità prevista— | Unità di fatturazioneper 1K token video | Costo Output · Stima solo a fini di confronto $0.003 per 1K token video |
| ConfigurazioneCosto stimato della generazione | Listino delle tariffe— | Quantità previstastima per una generazione | Unità di fatturazione— | Costo Output · Costo di generazione stimato · Stima solo a fini di confronto $0.144 stima prima della generazione Questa stima non è un addebito aggiuntivo né una tariffa fissa per la generazione completata. |
Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. Come funzionano la prenotazione e l’addebito finale →
Esempi di richieste
Ailoot Ultra · Generazione video
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
Ricevi e salva i risultati
Ailoot Ultra · Generazione video
JSON nativo con id/polling_url pubblici. Dopo la pubblicazione content.video_url contiene uno o più URL firmati di proprietà di Ailoot; prima della pubblicazione gli URL dei risultati selezionati sono vuoti.
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Conserva tutti i risultati completati
Salva ogni video completato o file restituito; recupera ogni URL di risorsa effettivamente restituito.
Conserva ogni URL effettivo in content.video_url; index deve identificare un risultato reale restituito.
Se occorre verificare la risposta originale
Conserva risposta, intestazioni e id originali e interroga periodicamente quell'operazione; non inviare mai nuovamente una creazione dall'esito sconosciuto.
Campi della risposta
| Campo | Tipo |
|---|---|
Campoid | Tipostring |
Campoprovider_task_id | Tipostring |
Campopolling_url | Tipostring |
Campostatus | Tipostring when supplied |
Campocontent.video_url | Tipostring|string[] |
Campousage | Tipoobject when supplied |
Errori e passaggi successivi
| Risposta | Condizione | Passaggio successivo |
|---|---|---|
Risposta400 · invalid_request_error | CondizioneJSON, modello, tipi dei campi obbligatori o indice del contenuto non validi. | Passaggio successivo |
Risposta401 · authentication_error | CondizioneChiave API Ailoot non valida. | Passaggio successivo |
Risposta404 · not_found_error | CondizioneAttività o risultato assente oppure non appartenente allo stesso utente, alla stessa chiave API o allo stesso gruppo. | Passaggio successivo |
Risposta502 · result_pending_check | CondizioneInvio o stato originale incompleto; conserva l'ID originale e non inviare nuovamente la richiesta. | Passaggio successivo |
Risposta503 · result_pending_check | CondizioneIl contenuto multimediale, la rotta o il conguaglio dell'addebito originale è in verifica; prosegui con l'operazione originale. | Passaggio successivo |
Alias
Alias del modello
Ailoot Ultra doubao-seedance-1-0-lite-t2v-250428
Alias dei percorsi dei metodi
/v1/videos/generations
ID di chiamata correlati
FAQ · ByteDance: Seedance 1.0 Lite Text-to-Video
- Quali input e risultati sono disponibili?
POST /v1/videos·doubao-seedance-1-0-lite-t2v-250428:text→video- Quali campi usa la richiesta?
POST /v1/videos·doubao-seedance-1-0-lite-t2v-250428:model,content,duration,resolution,ratio,service_tier,seed,camerafixed,watermark,execution_expires_after- Quali limiti si applicano?
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