Introduzione
Seedance 1.5 Pro testo in video costruisce l’intera inquadratura dal prompt e genera la colonna sonora nella stessa passata. camera_fixed decide se il modello inventa un movimento di camera o tiene l’inquadratura assolutamente ferma.
ByteDance Seedance 1.5 Pro pubblica due endpoint, testo in video e immagine in video. Entrambi restituiscono clip da 4 a 12 secondi a 480p, 720p o 1080p con audio nativo, ed entrambi hanno l’interruttore camera_fixed.
Scegli la modalità di Seedance 1.5 Pro in base al materiale di partenza
| Materiale di partenza | Modalità |
|---|---|
| Un’immagine iniziale approvata | Seedance 1.5 Pro Immagine in video |
| Una sceneggiatura o la descrizione di una scena | Seedance 1.5 Pro Testo in video |
Caratteristiche principali
camera_fixed tiene ferma l’inquadratura
Con false, il valore di default, il modello inventa i propri movimenti: una deriva, un avanzamento, un’orbita lenta. Con true la camera si ferma mentre il soggetto continua a muoversi nell’inquadratura. Un’inquadratura bloccata si può tracciare, scontornare, comporre o mettere in loop, e né Seedance 2.0 né 2.5 hanno questo interruttore.
Audio nella stessa passata
generate_audio è true di default e genera ambiente, effetti di movimento e voce sincronizzati con i fotogrammi. Sposta la richiesta su una fascia di prezzo più alta, quindi spegnilo per i loop di prodotto e per le riprese che verranno sonorizzate dopo.
Un limite chiaro
Le clip durano da 4 a 12 secondi interi a 480p, 720p o 1080p, in sei formati fissi con 16:9 di default e senza opzione adattiva. Non c’è un endpoint per i riferimenti; seed è disponibile a 480p e 720p. I lavori che richiedono 4K, riprese più lunghe o un cast da più immagini vanno su Seedance 2.0 o 2.5; ciò che 1.5 Pro conserva è la camera bloccata.
Parametri della richiesta
| Parametro | Obbligatorio | Nota |
|---|---|---|
prompt | Sì | È l'unica fonte di ciò che appare sullo schermo. almeno 3 caratteri |
aspect_ratio | No | Sceglie l'inquadratura tra sei valori fissi, con 16:9 come predefinito. Cambia solo il taglio – mai la durata né la nitidezza. |
resolution | No | Risoluzione dell'output, 720p per impostazione predefinita e 1080p al massimo; su questo endpoint non viene offerto nulla di più alto. |
duration_seconds | No | Durata della clip finita in secondi interi, da 4 a 12, con 5 come valore predefinito. È la quantità addebitata: raddoppia la durata e raddoppi all'incirca il costo. |
generate_audio | No | Indica se rendere una traccia audio nativa sincronizzata con le immagini. Predefinito: |
camera_fixed | No | Blocca la camera, false per impostazione predefinita. Lasciato a false, il modello aggiunge movimenti suoi. Predefinito: |
seed | No | Intero da 0 a 2147483647 per la partenza casuale; se lo ometti, ogni esecuzione ne estrae uno proprio. |
Prezzi
| Risoluzione | Genera l’audio: No | Genera l’audio: Sì |
|---|---|---|
| $0.0112 / secondo | $0.0223 / secondo |
| $0.0227 / secondo | $0.0454 / secondo |
| $0.0491 / secondo | $0.0982 / secondo |
Casi d’uso
Riprese bloccate per il compositing
Attiva camera_fixed e descrivi un movimento che avviene dentro l’inquadratura. L'esempio pubblicato è un campo largo statico in cui si muovono solo il tessuto e il respiro del soggetto: filmato utilizzabile per keying, tracking o loop.
Un confronto controllato tra prompt
Blocca la camera, lascia invariati tutti gli altri campi e cambia una frase per passata: la fonte di luce, l’obiettivo, una singola azione. Fissa anche seed (480p e 720p) e resta ferma anche la partenza casuale; seed serve a confrontare e non garantisce fotogrammi identici, quindi confronta qualche ripresa per versione: con la camera bloccata la differenza sta nella formulazione.
Look pittorici e stilizzati
Il prompt decide il look oltre all’azione. Uno degli esempi di questo endpoint chiede una resa da dipinto a olio in chiaroscuro illuminata solo da candele, con un carrello molto lento e camera_fixed spento.
Consigli avanzati
Decidi prima la camera
camera_fixed è la prima decisione in questa generazione. Se il risultato va tracciato, scontornato, messo in loop o montato con riprese reali, impostalo su true e ripeti il blocco nel prompt. Se vuoi un movimento, lascialo su false e dagli un nome: avanzamento, panoramica, inclinazione o orbita.
Scrivi aggirando i rifiuti di Seedance
Non rivediamo la formulazione, ma il livello di sicurezza di Seedance ne scarta una parte prima del rendering. Il bacio lo fa scattare con certezza; un sussurro all’orecchio o fronti che si toccano passano. Quando la scena deve essere letterale, parti da un tuo fotogramma in immagine in video invece che dal prompt.
Adatta l’esempio incluso
L’esempio pubblicato usa aspect_ratio 16:9, camera_fixed true, duration_seconds 5, generate_audio true e resolution 720p.
Locked-off static wide shot, camera never moves. An adult woman lies on her back across white hotel sheets in a pale blue camisole, ankles crossed and lifted in the foreground, one foot slowly rocking side to side, her hand tracing a lazy circle on the duvet. Blown-out window light, high-key minimal composition, only the sheets and her breathing move.
Il blocco è nel campo e viene ripetuto nella prima frase del prompt. Ogni movimento appartiene al soggetto o al tessuto.
Bozze economiche, poi consegna
resolution e duration_seconds determinano il prezzo, e generate_audio alza la fascia. Lavora la formulazione a 480p senza audio, poi alza risoluzione e suono solo per la ripresa da consegnare.
Avvio rapido dell’API
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "bytedance/seedance-1.5-pro/text-to-video",
"input": {
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": true,
"duration_seconds": 5
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
Nel riferimento dell’API trovi autenticazione, schema completo, polling e gestione degli errori.
















