Introduzione
Seedance 1.5 Pro Spicy immagine in video trasforma l’immagine che invii nel primo fotogramma e la anima fino a 12 secondi. Con camera_fixed attivo, la composizione che hai fornito è la composizione dell’intera clip.
Seedance 1.5 Pro Spicy è la variante senza censura tarata con LoRA della generazione Seedance 1.5 Pro di ByteDance, pubblicata come unico endpoint immagine in video. image_url è l’unico campo obbligatorio, e le clip durano da 4 a 12 secondi a 480p, 720p o 1080p, con audio generato nella stessa passata.
Caratteristiche principali
Un’inquadratura bloccata lascia che un piccolo movimento regga la clip
Imposta camera_fixed su true e l’inquadratura si ferma mentre il soggetto continua a muoversi al suo interno. Nelle riprese ravvicinate e senza fretta, ciò che conta: una camera errante trasforma uno sguardo fisso in un videoclip, mentre un'inquadratura bloccata lascia che un respiro, una caviglia che si sposta o una mano su un piumone reggano tutta la clip.
Ciò che mostra l’immagine è già nella clip
Abiti, posa, pelle ed esposizione arrivano con l’immagine prima ancora che il prompt venga letto. Per questo il lavoro guidato dall’immagine regge brief che una pagina bianca non reggerebbe, e un’immagine nitida e ben esposta vale più di qualsiasi correzione del prompt fatta dopo.
Limiti fissi da conoscere
Questa generazione si ferma a 1080p e dodici secondi e non ha un endpoint per i riferimenti. Se una ripresa richiede 4K o trenta secondi, Seedance 2.5 Spicy ci arriva, ma senza camera bloccabile. aspect_ratio è adaptive di default e segue il formato della tua immagine.
Parametri della richiesta
| Parametro | Obbligatorio | Nota |
|---|---|---|
image_url | Sì | Obbligatorio, ed è l’unico campo obbligatorio. |
prompt | No | Qui è facoltativo e, con |
last_image_url | No | Ultimo fotogramma facoltativo. Decide l’immagine su cui la ripresa atterra: una transizione, una coppia prima-e-dopo o un loop che si apre e si chiude sullo stesso fermo immagine. |
aspect_ratio | No | Inquadratura in uscita, adaptive per impostazione predefinita: segue le proporzioni del fotogramma che hai fornito e ti risparmia un ritaglio preventivo. |
duration_seconds | No | Durata del clip finito in secondi interi, da 4 a 12, 5 per impostazione predefinita, ed è la quantità fatturata. |
resolution | No | Risoluzione in uscita: 480p, 720p per impostazione predefinita, oppure 1080p. |
generate_audio | No | Indica se generare una colonna sonora nativa sincronizzata con l’immagine. Attivo per impostazione predefinita, sposta la richiesta in una fascia tariffaria più alta. Predefinito: |
camera_fixed | No | Disattivato per impostazione predefinita. Predefinito: |
seed | No | Seed intero; se lo ometti, ogni esecuzione ne estrae uno proprio. Fissalo tenendo costante tutto il resto per giudicare che cosa ha davvero cambiato una modifica al prompt. |
Prezzi
| Risoluzione | Genera l’audio: No | Genera l’audio: Sì |
|---|---|---|
| $0.012 / secondo | $0.024 / secondo |
| $0.026 / secondo | $0.052 / secondo |
| $0.052 / secondo | $0.104 / secondo |
Casi d’uso
Clip in prima persona e in soggettiva
Piedi in fondo al letto, una mano sul piumone, uno sguardo fisso nell’obiettivo: riprese che funzionano solo se la camera si comporta come una persona sdraiata immobile. camera_fixed rende tutto questo possibile, non approssimativo.
Loop che non derivano
Invia la stessa immagine come image_url e last_image_url, attiva camera_fixed e limita il movimento a un respiro o a uno spostamento di peso. Un’inquadratura bloccata con un piccolo movimento torna vicino al punto di partenza, quindi il taglio verso l’inizio non si vede.
Una modifica del cliente senza rigirare
Fissa il seed di una ripresa approvata, cambia una frase, per esempio la mano che va a sinistra invece che a destra o una luce più calda, e rigenera. Con la camera bloccata e l’inquadratura fissa, la seconda versione è riconoscibilmente la stessa ripresa.
Consigli avanzati
Componi il fotogramma iniziale come una ripresa bloccata
Inquadra l’immagine come vuoi l’intera clip, perché con camera_fixed ottieni esattamente questo. Lascia abbastanza aria perché il soggetto possa muoversi senza l’aiuto della camera. Ogni lato deve misurare tra 300 e 6000 pixel.
Ogni verbo appartiene al soggetto
Con la camera bloccata, il prompt descrive solo movimenti dentro l’inquadratura: un respiro, una mano, una caviglia, uno sguardo trattenuto. Un’istruzione di camera e una camera bloccata si contraddicono. Il livello di Seedance rifiuta ancora una ristretta fascia di formulazioni, soprattutto il bacio, quindi metti quel momento nell’immagine e non nella frase.
Adatta l’esempio incluso
L’esempio pubblicato usa camera_fixed true, duration_seconds 5, generate_audio true e resolution 720p.
Camera stays locked off. Her crossed ankles rock slowly and one foot flexes. She slides one hand out from behind her head and rests it on her stomach, her fingers tracing a slow circle on the camisole, while her other hand stays tucked behind her head. Her chest rises with a long breath. Nothing else in frame moves except the light shifting on the sheets.
Il fotogramma iniziale fornisce composizione e guardaroba, camera_fixed mantiene l'inquadratura completamente ferma e il prompt muove solo le sue caviglie, la sua mano e il suo respiro.
Prova in breve prima di pagare dodici secondi
Una ripresa guidata da un solo fotogramma deriva sempre di più man mano che dura, quindi verifica prima il movimento a 4 o 5 secondi. generate_audio sposta la richiesta su una fascia di prezzo più alta; spegnilo finché controlli solo l’inquadratura.
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-spicy/image-to-video",
"input": {
"aspect_ratio": "adaptive",
"duration_seconds": 5,
"generate_audio": true,
"image_url": "https://example.com/reference.png",
"resolution": "720p"
}
}'
# 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.
















