Tutoriale
Prompt di compositing per adesivi 2D di Seedance 2.0 Ext: analisi completa
Una mano solleva una giacca anti-UV grigio chiaro da una tote bag appoggiata su una panchina della metropolitana — di per sé niente di speciale. Ciò che rende memorabile questo breve video di 10 secondi è il sole cartoon 2D piatto incollato come un adesivo nella parte superiore dell'inquadratura: all'inizio rimbalza, cotto dal caldo; quando viene mostrato il tessuto UPF della giacca va nel panico; all'ultimo battito è completamente raffreddato in azzurro pallido, con gli occhi chiusi, che abbraccia soddisfatto un cubetto di ghiaccio 2D, appiccicato accanto al cappuccio della giacca. Tutta la gag si basa su una struttura di prompt a doppia immagine di riferimento per Seedance 2.0 Ext, che vale la pena analizzare perché questa tecnica si può estendere praticamente a qualsiasi spot pubblicitario di «prodotto reale + reazione di una mascotte cartoon».
Il prompt completo
Questo è il prompt che abbiamo usato per generare il breve video, riportato integralmente qui sotto (la generazione originale è avvenuta in cinese; il contenuto seguente non è stato semplificato né riassunto in alcun modo):
Scenario: vita reale, stile ripresa a mano. Davanti all'ingresso di una stazione della metropolitana urbana, una mano tiene sollevata una giacca anti-UV UPF grigio chiaro sopra una tote bag nera appoggiata su una panchina. Luce naturale del giorno, autentica
atmosfera di strada, nessuna stilizzazione applicata alle riprese reali stesse.
Composita un personaggio sole cartoon 2D piatto (design del personaggio in @image1 —
non modificarne le proporzioni, la palette di colori o lo spessore
del tratto). Il personaggio è applicato come un adesivo sulle riprese reali:
deve restare sempre perfettamente piatto 2D, ignorando l'illuminazione e le ombre
del mondo reale circostante, non deve mai assorbire alcun chiaroscuro 3D, riflesso o
distorsione prospettica dalle riprese reali.
@image1 — blocca esclusivamente il design del personaggio (la forma dell'icona del sole,
il volto, le fasi cromatiche, le proporzioni). Non ricavare da questa immagine di riferimento dettagli di scena, sfondo, mano o
giacca.
@image2 — blocca esclusivamente la scena reale e il modo in cui la giacca
è indossata/tenuta (posizione della mano, panchina, ingresso della metropolitana, inquadratura della camera). Non
ricavare il design del personaggio da questa immagine di riferimento.
Timeline (4 battute comiche, sincronizzate con i movimenti reali della mano nell'inquadratura):
1. 0-2s: il personaggio sole appare in giallo-arancio brillante, rimbalza con
un'energia «calda» esagerata, sopra la giacca anti-UV piegata.
2. 3-5s: la mano solleva la giacca e mostra il tessuto; il personaggio fa
una reazione di panico esagerata, con gocce di sudore in stile fumetto, il colore vira
verso l'arancione-rosso.
3. 6-8s: la mano dispiega completamente la giacca verso la camera; il personaggio
si raffredda visibilmente, il colore sbiadisce dal rosso all'azzurro pallido, i movimenti rallentano.
4. 8-10s: climax/rivelazione — il personaggio è ormai completamente azzurro pallido, abbraccia un cubetto di ghiaccio
2D piatto (anche al ghiaccio si applica la regola dell'adesivo piatto), si
accoccola soddisfatto accanto al cappuccio della giacca, con gli occhi chiusi, completamente rinfrescato.
Sound design: un leggero «boing» comico al primo rimbalzo del personaggio,
sibili/vapore in stile cartoon nel battito della sudorazione, un soffio
«ah» dolce più un tintinnio delicato nell'ultimo abbraccio rinfrescante. Mantieni i suoni ambientali reali
della metropolitana/strada per tutta la durata — non silenziare l'audio delle riprese reali.
Da evitare: nessun testo leggibile, etichetta di prezzo, elemento UI, sottotitolo,
didascalia o filigrana in nessun punto dell'inquadratura. Testi cinesi o di altro tipo presenti in @image1/@image2 non devono
trapelare nell'immagine composita finale. In nessun momento aggiungere chiaroscuro 3D o
re-illuminazione al personaggio adesivo.
Perché funziona
Due immagini di riferimento, due responsabilità completamente diverse. @image1 è un'immagine pulita multiangolo dell'artwork del personaggio sole — nient'altro. @image2 è l'inquadratura della scena reale (o un'immagine di riferimento simile): mano, giacca, panchina, ingresso della metropolitana. Questa separazione impedisce al modello di «contaminare» il personaggio cartoon con l'illuminazione della scena, o di trascinare oggetti della scena nell'immagine di riferimento del personaggio. A livello di API, questo corrisponde direttamente a due voci nell'array reference_image_urls di Seedance 2.0 Ext — i segnaposto @image1/@image2 nel prompt sono le posizioni con indice a partire da 1 in quell'array (reference_image_urls[0], reference_image_urls[1]).
La regola dell'adesivo è l'intero punto della gag. Chiedere al modello di mantenere il personaggio «perfettamente piatto 2D», senza mai assorbire il chiaroscuro del mondo reale, è esattamente ciò che fa funzionare lo scherzo — il personaggio sembra un adesivo che qualcuno ha applicato sulle riprese reali, non un oggetto CG inserito nella scena. Togli questo vincolo e il personaggio inizierà ad assorbire la luce ambientale e le ombre dell'ingresso della metropolitana, e la gag smette di funzionare.
Il ritmo comico è legato ai movimenti fisici reali nell'inquadratura, non a timestamp arbitrari: rimbalzo → mostra del tessuto → raffreddamento → abbraccio al cubetto di ghiaccio. Poiché ogni battuta è ancorata a ciò che la mano sta effettivamente facendo nell'inquadratura, la reazione cartoon sembra una risposta diretta al prodotto, non un elemento decorativo riprodotto in parallelo.
La lista di elementi negativi funziona davvero. Sia «nessun testo leggibile/prezzo/UI/sottotitolo/filigrana» sia «i testi delle immagini di riferimento non devono trapelare nell'immagine composita finale» sono indispensabili, perché immagini di riferimento così specifiche (foto prodotto in studio, fotografia di strada) contengono spesso insegne sparse, adesivi di prezzo o testi sulle confezioni, che altrimenti il modello inserirebbe volentieri nell'inquadratura finale.
Riprodurlo da soli: chiamata a /v1/tasks
Lo schema di Seedance 2.0 Ext è molto rigido (i campi sconosciuti vengono rifiutati direttamente), quindi ecco i requisiti esatti della richiesta — prompt, aspect_ratio e duration sono obbligatori; resolution, reference_image_urls e generate_audio sono opzionali:
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.0@ext",
"input": {
"prompt": "<the full prompt above>",
"aspect_ratio": "9:16",
"duration": 10,
"resolution": "1080p",
"reference_image_urls": [
"https://your-cdn.example.com/sun-character-turnaround.jpg",
"https://your-cdn.example.com/jacket-scene-reference.jpg"
],
"generate_audio": true
}
}'
Esegui il polling del taskId restituito finché non raggiunge lo stato terminale:
curl -s https://api.hiapi.ai/v1/tasks/{taskId} \
-H "Authorization: Bearer $HIAPI_API_KEY"
reference_image_urls supporta fino a 9 voci — questo breve video ne richiede solo 2. Nel livello 1080p, Seedance 2.0 Ext costa $0.373 al secondo, quindi un breve video di 10 secondi come questo arriva a $3.73 in totale (le tariffe aggiornate sono sempre indicate nella pagina dei prezzi).
Domande frequenti
Qual è la differenza tra la route predefinita di Seedance 2.0 e la route @ext?
@ext è una route separata sullo stesso modello (seedance-2.0@ext rispetto al normale seedance-2.0), con il proprio schema e il proprio livello di prezzo. La route ext è quella che accetta reference_image_urls, ed è proprio ciò che rende possibile la tecnica del doppio riferimento usata in questo prompt. L'analisi completa campo per campo è nella documentazione di Seedance 2.0.
Devo fornire esattamente due immagini di riferimento?
No — il campo accetta fino a 9. Questo prompt ne usa due perché ci sono esattamente due elementi da bloccare in modo indipendente (design del personaggio, stile della scena/dell'abbigliamento). Se la tua mascotte richiede una terza immagine di riferimento (ad esempio un foglio di pose specifico), aggiungi una terza voce e richiamala nel prompt come @image3.
Perché il personaggio adesivo non sembra mai «illuminato» dalla scena? Perché il prompt lo vieta esplicitamente. Senza questa istruzione, il modello spesso cerca di «aiutare», integrando il personaggio con l'illuminazione della scena, rovinando così l'effetto adesivo. Il vincolo va scritto in modo esplicito, non ci si può aspettare che il modello mantenga da solo lo stile piatto.
Posso usarlo sulle foto dei miei prodotti esistenti?
Sì — è proprio questo il senso della separazione delle immagini di riferimento. Usa una foto pulita o un'immagine multiangolo della tua mascotte/personaggio come @image1, e una foto reale o un fotogramma video del prodotto in una scena naturale come @image2. Il modello compone la prima sulla seconda.
generate_audio ha un costo aggiuntivo?
Attualmente non c'è una voce separata nella lista prezzi — la tariffa al secondo sopra riportata riflette già il livello 1080p, con o senza generazione audio. Prima di eseguire in batch, ricontrolla sempre i prezzi in tempo reale, perché i livelli cambiano davvero.
Se vuoi provare questo stile di compositing sulle tue foto prodotto, la pagina del modello Seedance 2.0 Ext contiene lo schema e i prezzi attuali, e la documentazione di avvio rapido ti porta dalla API key al primo task in pochi minuti.
Articoli correlati
Vedi tutti gli articoli →-
Tutoriale
Come chiamare hailuo-2.3-fast/image-to-video tramite l'API HiAPI: pratica con curl e Python
La prima richiesta funzionante per il livello image-to-video veloce ed economico — dall'ID del modello al download di un MP4
-
Tutoriale
Come chiamare hailuo-2.3/text-to-video tramite l'API HiAPI: curl, Python ed esempi di richiesta eseguibili
-
Tutoriale
Utilizzare Kandinsky 6.0 Pro su HiAPI per la generazione di video da testo: tutorial con curl e Python
Dimostrazione pratica guidata dalla richiesta: costruire la chiamata da prompt a clip video, inviare la richiesta, monitorare lo stato di completamento e scaricare il risultato