ByteDance: Seedance 1.5 Pro
Seedance 1.5 Pro genera video da testo o da un’immagine e può creare voci, effetti e musica di sottofondo sincronizzati. L’audio può essere attivato o disattivato; il profilo documentato offre scene di 4–12 secondi, inquadratura adattiva ed elaborazione online o flex.
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.5 Pro genera video da testo o da un’immagine e può generare il suono insieme alle immagini. Il selettore esatto è doubao-seedance-1-5-pro-251215. Il controllo audio lo distingue dai profili Seedance 1.0 senza audio: generate_audio=true richiede audio sincronizzato, mentre false richiede un video senza audio. Usate una scena scritta per un concetto nuovo oppure un’immagine per stabilire il soggetto iniziale e la composizione.
Descrivete l’azione visiva e il suono come parti della stessa scena. Identificate soggetto, ambientazione, movimento e camera, poi spiegate le voci, gli effetti sonori o la musica di sottofondo desiderati. Una scena di ritratto potrebbe mostrare una persona che apre gli occhi mentre la camera arretra lentamente, con vento nell’ambiente. Per una scena di prodotto, collegate il suono all’evento visibile, come l’apertura di un coperchio o un oggetto che tocca una superficie, anziché aggiungere un elenco di effetti non correlati.
Il modello può generare voci, effetti e musica di sottofondo dal prompt e dal contenuto visivo. La guida raccomanda di inserire il dialogo parlato tra virgolette doppie. Mantenete il parlato abbastanza breve per l’azione e le pause richieste e distinguete chi parla quando ci sono più personaggi. Verificate le parole effettive, l’attribuzione delle voci e la sincronizzazione con le immagini. Un’istruzione sonora guida l’esecuzione generata; non è un ingresso separato con una voce di riferimento caricata nella richiesta documentata di questo profilo.
La generazione video da immagini usa un elemento image_url insieme al testo. Fornite un URL di immagine accessibile oppure un URL di dati Base64 in formato JPEG, PNG, WEBP, BMP, TIFF o GIF. I limiti documentati delle immagini sono meno di 30 MB, entrambe le dimensioni strettamente comprese tra 300 e 6000 pixel e rapporto tra larghezza e altezza strettamente compreso tra 0.4 e 2.5. Preparate chiaramente il ritaglio e il soggetto desiderati, poi descrivete il movimento a partire da quella composizione. L’esempio con immagine usa il rapporto adattivo per seguire il riferimento.
La guida alla durata specifica del profilo elenca secondi interi da quattro a dodici oppure -1 affinché il modello scelga una durata in quell’intervallo. La durata predefinita è cinque secondi. Seedance 1.5 Pro ha 720p come valore predefinito e la tabella del profilo conservata documenta 480p e 720p; la guida operativa dedicata non offre 1080p per 1.5 Pro. Le scelte di rapporto fisso comprendono 16:9, 4:3, 1:1, 3:4, 9:16 e 21:9, con adaptive come valore predefinito documentato per 1.5. Esaminate la durata e le proporzioni effettive della clip anziché trattare i valori richiesti come un artefatto già restituito.
La richiesta espone due livelli di elaborazione. service_tier=default seleziona l’elaborazione online, mentre flex seleziona l’elaborazione offline per lavori che tollerano un ritardo maggiore. Il livello non può essere modificato dopo l’invio dell’attività. Sceglietelo in base alle esigenze temporali del flusso di lavoro e conservate la selezione nella registrazione della richiesta. Modalità audio e livello di elaborazione sono scelte separate: una clip senza audio non è automaticamente un’attività offline e l’attivazione dell’audio non seleziona un livello di elaborazione.
Mantenete le istruzioni su seed, filigrana e camera coerenti con la scena. I comandi sui parametri inseriti nel testo hanno precedenza sui parametri opzionali separati. Il controllo di camera fissa è escluso nello scenario con immagine di riferimento e non garantisce un blocco visivo dove si applica. Per un’animazione guidata da un’immagine, spiegate direttamente il movimento desiderato anziché presumere che un controllo della camera elimini la necessità di descrivere l’inquadratura.
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. Audio attivato o disattivato ed elaborazione online o flex restano categorie distinte nell’addebito basato sull’utilizzo.
L’invio restituisce un identificatore di attività asincrona. Seguite l’attività fino al completamento, poi salvate il video fornito in content.video_url. La conservazione documentata dei file generati è di sette giorni. Il controllo di scadenza è misurato dalla creazione, ha 172 800 secondi come valore predefinito e accetta valori da 3 600 a 259 200 secondi; un’attività non conclusa passa allo stato expired dopo l’intervallo configurato. Tenete insieme la clip finale, l’immagine originale e la descrizione visiva e sonora esatta, poi verificate l’intero risultato per azione, identità, continuità della camera e allineamento del suono.
Ailoot Ultra · Generazione video POST /v1/videos doubao-seedance-1-5-pro-251215
doubao-seedance-1-5-pro-251215
doubao-seedance-1-5-pro-251215Introduzione
Seedance 1.5 Pro genera video da testo o da un’immagine e può creare voci, effetti e musica di sottofondo sincronizzati. L’audio può essere attivato o disattivato; il profilo documentato offre scene di 4–12 secondi, inquadratura adattiva ed elaborazione online o flex.
- Input accettati
- Testo · Immagini
- Risultati
- Video
Disponibile in Ailoot · input e metodi
Ailoot Ultra · Generazione video POST /v1/videos
- Tipi di input
text,image- Tipi di output
video
| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObbligatorio | Valori e limiti doubao-seedance-1-5-pro-251215 | 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 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 Condizioni: Seedance 1.5 Pro supporta 480p e 720p; 1080p è escluso. La risoluzione predefinita documentata è 720p. | Predefinito720p |
Camporatio | Tipostring | RequisitoFacoltativo | Valori e limiti 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive Condizioni: Il rapporto d'aspetto predefinito documentato per Seedance 1.5 Pro è adaptive. Le opzioni di rapporto fisso restano invariate. | Predefinitoadaptive |
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 |
Campogenerate_audio | Tipoboolean | RequisitoFacoltativo | Valori e limiti Condizioni: Audio sincronizzato incorporato nel video generato, solo per 1.5. | Predefinitotrue |
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, generate_audio |
Parametromaterial_types | Contrattotext, image |
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. |
Parametroimage_constraints | Contratto{"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 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 | Genera audio | Livello di servizio | Unità di fatturazione | Costo |
|---|---|---|---|---|---|---|
| ConfigurazioneTariffe base dei token | Listino delle tariffeTariffa base | Quantità prevista— | Genera audio— | Livello di servizio— | 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 |
| ConfigurazioneLivello di servizio offline (flex). Uscita con audio sincronizzato. | Listino delle tariffe— | Quantità prevista— | Genera audioCon audio | Livello di servizioflex | Unità di fatturazioneper 1K token video | Costo Output · Stima solo a fini di confronto $0.0024 per 1K token video |
| ConfigurazioneLivello di servizio offline (flex). Uscita senza audio sincronizzato. | Listino delle tariffe— | Quantità prevista— | Genera audioSenza audio | Livello di servizioflex | Unità di fatturazioneper 1K token video | Costo Output · Stima solo a fini di confronto $0.0012 per 1K token video |
| ConfigurazioneLivello di servizio online (default). Uscita con audio sincronizzato. | Listino delle tariffe— | Quantità prevista— | Genera audioCon audio | Livello di serviziodefault | Unità di fatturazioneper 1K token video | Costo Output · Stima solo a fini di confronto $0.0048 per 1K token video |
| ConfigurazioneLivello di servizio online (default). Uscita senza audio sincronizzato. | Listino delle tariffe— | Quantità prevista— | Genera audioSenza audio | Livello di serviziodefault | Unità di fatturazioneper 1K token video | Costo Output · Stima solo a fini di confronto $0.0024 per 1K token video |
| ConfigurazioneCosto stimato della generazione | Listino delle tariffe— | Quantità previstastima per una generazione | Genera audio— | Livello di servizio— | Unità di fatturazione— | Costo Output · Costo di generazione stimato · Stima solo a fini di confronto $0.1152 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-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
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-5-pro-251215
Alias dei percorsi dei metodi
/v1/videos/generations
ID di chiamata correlati
FAQ · ByteDance: Seedance 1.5 Pro
- Quali input e risultati sono disponibili?
POST /v1/videos·doubao-seedance-1-5-pro-251215:text,image→video- Quali campi usa la richiesta?
POST /v1/videos·doubao-seedance-1-5-pro-251215:model,content,duration,resolution,ratio,service_tier,seed,camerafixed,watermark,execution_expires_after,generate_audio- Quali limiti si applicano?
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