ByteDance: Seedance 2.5
Seedance 2.5 crea video da testo e riferimenti immagine, video o audio, con flussi di lavoro documentati per modifica ed estensione. Il suo esempio specifico 2.5 combina un’immagine di prodotto con diversi riferimenti di movimento e attiva il suono generato per una sequenza pubblicitaria coordinata.
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 2.5 crea video usando una scena scritta e riferimenti multimodali. Il selettore esatto doubao-seedance-2-5-260628 ha una propria operazione e un proprio esempio documentati. L’operazione descrive generazione, modifica ed estensione di video, con immagini, video, audio e testo come contenuti in ingresso. Usate i riferimenti per comunicare aspetto del soggetto, azione, movimento della camera, stile e suono, poi spiegate il risultato da creare a partire da essi.
Le combinazioni di ingresso comprendono solo testo, immagini o video con testo opzionale, immagini con audio, video con audio e immagini, video e audio insieme. Le combinazioni elencate associano l’audio a contenuti visivi anziché descrivere una richiesta di solo audio. Organizzate ogni elemento secondo il suo ruolo: un’immagine stabilisce un soggetto o un aspetto, un video mostra un movimento o una scena esistente e l’audio fornisce un riferimento sonoro. Indicate quale ruolo è importante per l’inquadratura richiesta affinché un riferimento di sfondo non venga scambiato per il personaggio principale.
L’esempio specifico di 2.5 è una sequenza pubblicitaria di prodotto. Fornisce un’immagine e diversi riferimenti video, poi descrive una messa a fuoco iniziale, disposizioni ordinate dei prodotti, inquadrature di dettaglio, un’azione al rallentatore e una composizione finale del marchio. La richiesta assegna i ruoli reference_image e reference_video e usa i singoli riferimenti per composizione, movimento, lavoro di camera e impatto. Questo offre una struttura pratica per un concetto di campagna: pianificate i passaggi visivi, identificate il riferimento per ciascuno e specificate la disposizione finale.
Una sequenza scritta può distinguere ciò che accade da come viene ripreso. Descrivete prima l’azione del prodotto, poi l’ampiezza dell’inquadratura, il percorso della camera, il ritmo e la transizione alla vista successiva. Se un riferimento definisce il prodotto e un altro mostra un movimento della camera, indicate queste responsabilità separate. Per una scena con diversi oggetti, spiegate le loro posizioni e l’ordine delle interazioni. Esaminate il risultato generato per forma effettiva del prodotto, disposizione e movimento, anziché presumere che ogni dettaglio dei riferimenti compaia invariato.
Per una modifica, identificate il video esistente e l’elemento da rivedere, come l’ambientazione, un’azione o lo stile visivo, indicando al contempo la continuità da conservare. Per un’estensione, descrivete come la scena deve proseguire dal filmato fornito. Verificate il raccordo oltre al nuovo segmento: aspetto del soggetto, direzione del movimento, posizione della camera e tempi del suono influiscono tutti sulla percezione del risultato come un’unica scena. Tenete insieme il video originale e la revisione completata per poter verificare la modifica rispetto alla continuità desiderata.
L’esempio multimodale documentato di 2.5 imposta generate_audio=true e richiede una sequenza di quindici secondi con inquadratura 16:9. Questi valori descrivono quell’esempio, non un limite universale di durata o dei materiali di riferimento. Date alla scena richiesta un obiettivo sonoro chiaro, compresa la relazione tra musica, effetti e azione visibile, poi valutate l’uscita audiovisiva effettiva. Un riferimento sonoro e la colonna sonora generata devono essere verificati insieme rispetto al ritmo e all’esecuzione desiderati.
Scegliete durata, inquadratura e risoluzione tra le impostazioni offerte per questo profilo specifico. Conservate la configurazione richiesta con il prompt e confrontatela con i campi effettivamente restituiti dall’attività. Usate durata, risoluzione e rapporto restituiti quando preparate la clip completata per la sua destinazione. Preservate l’identificatore esatto del profilo nella registrazione della revisione affinché un confronto successivo usi la stessa edizione selezionata.
L’utilizzo di token video si calcola come (durata del video in ingresso + durata del video in uscita) × larghezza dell’uscita × altezza dell’uscita × frequenza dei fotogrammi dell’uscita / 1024. Le richieste contenenti video in ingresso e quelle senza video in ingresso appartengono a categorie di fatturazione distinte. La consultazione dell’attività riporta usage.completion_tokens e usage.total_tokens; conservate queste quantità riportate insieme alla clip completata.
La generazione è asincrona. L’invio restituisce un identificatore e il flusso configurato dell’attività fornisce lo stato, seguito da content.video_url dopo il successo. Salvate la clip completata insieme ai contenuti di origine e alla descrizione della sequenza. Verificate tutti i passaggi pianificati, le interazioni degli oggetti, l’aspetto dei personaggi, l’inquadratura e l’allineamento del suono nell’intero risultato. Per una revisione, identificate il dettaglio concreto non riuscito e preservate le parti riuscite della scena anziché sostituire l’intera richiesta con istruzioni non correlate.
Ailoot Ultra · Generazione video POST /v1/videos doubao-seedance-2-5-260628
doubao-seedance-2-5-260628Introduzione
Seedance 2.5 crea video da testo e riferimenti immagine, video o audio, con flussi di lavoro documentati per modifica ed estensione. Il suo esempio specifico 2.5 combina un’immagine di prodotto con diversi riferimenti di movimento e attiva il suono generato per una sequenza pubblicitaria coordinata.
- Input accettati
- Testo · Immagini · Video · Audio
- Risultati
- Video
Disponibile in Ailoot · input e metodi
Ailoot Ultra · Generazione video POST /v1/videos
- Tipi di input
text,image,video,audio- Tipi di output
video
| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObbligatorio | Valori e limiti doubao-seedance-2-5-260628 | 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— |
Campogenerate_audio | Tipoboolean | RequisitoFacoltativo | Valori e limiti Condizioni: L'esempio per 2.5 imposta true, ma la descrizione copiata del selettore elenca solo 2.0/fast/1.5; non vi è una garanzia più ampia sulle impostazioni o sui valori predefiniti. | Predefinito— |
Campoduration | Tipointeger | RequisitoFacoltativo | Valori e limiti Condizioni: Il valore letterale 15 nell'esempio per 2.5 non è un massimo né un valore predefinito. | Predefinito— |
Camporesolution | Tipostring | RequisitoFacoltativo | Valori e limiti Condizioni: Dalle descrizioni copiate non si deducono valori predefiniti o enumerazioni specifici per 2.5. | Predefinito— |
Camporatio | Tipostring | RequisitoFacoltativo | Valori e limiti Condizioni: Adaptive è esplicitamente limitato a 2.0/fast/1.5; l'esempio per 2.5 usa solo 16:9. | Predefinito— |
Campowatermark | Tipoboolean | RequisitoFacoltativo | Valori e limiti | Predefinitofalse |
Camposeed | Tipointeger | RequisitoFacoltativo | Valori e limiti Minimo: -1 Massimo: 4.294.967.295 | Predefinito-1 |
Campoexecution_expires_after | Tipointeger | RequisitoFacoltativo | Valori e limiti Minimo: 3600 Massimo: 259.200 Unità: secondi | Predefinito172.800 |
Camposervice_tier | Tipostring | RequisitoFacoltativo | Valori e limiti Condizioni: 2.0/fast escludono flex offline; l'ambito per 2.5 non è stabilito. | Predefinito— |
Camposafety_identifier | Tipostring | RequisitoFacoltativo | Valori e limiti | Predefinito— |
Combinazioni di materiali in input
Parametri e ciclo di vita del metodo
| Parametro | Contratto |
|---|---|
Parametrocontent_type | Contrattoapplication/json |
Parametrorequired | Contrattocontent, model |
Parametrooptional | Contrattogenerate_audio, duration, resolution, ratio, watermark, seed, execution_expires_after, service_tier, safety_identifier |
Parametromaterial_types | Contrattotext, image, video, audio |
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. |
Parametromaterial_combinations | Contrattotext, image, video, image, audio, image, video, video, audio, image, video, audio |
Parametrooptional_text_with_media | Contrattotrue |
Parametroreference_media_count_and_size_limits | Contrattonull |
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 |
| ConfigurazioneL’ingresso contiene video. | Listino delle tariffe— | Quantità prevista— | Unità di fatturazioneper 1K token video | Costo Output · Stima solo a fini di confronto $0.012 per 1K token video |
| ConfigurazioneL’ingresso non contiene video. | Listino delle tariffe— | Quantità prevista— | Unità di fatturazioneper 1K token video | Costo Output · Stima solo a fini di confronto $0.02 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.822402 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-2-5-260628","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
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-2-5-260628
Alias dei percorsi dei metodi
/v1/videos/generations
ID di chiamata correlati
FAQ · ByteDance: Seedance 2.5
- Quali input e risultati sono disponibili?
POST /v1/videos·doubao-seedance-2-5-260628:text,image,video,audio→video- Quali campi usa la richiesta?
POST /v1/videos·doubao-seedance-2-5-260628:model,content,generate_audio,duration,resolution,ratio,watermark,seed,execution_expires_after,service_tier,safety_identifier- Quali limiti si applicano?
POST /v1/videos·doubao-seedance-2-5-260628:seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200