Introduzione
Talking Avatar trasforma un solo ritratto in una clip parlante. Invii il volto in image_url e una registrazione vocale in audio_url; bocca, mascella e piccoli movimenti della testa vengono animati così che la persona sembri dire esattamente ciò che c'è nella registrazione. La clip dura quanto l'audio, da tre a sessanta secondi, e torna con la tua registrazione già sopra, pronta da pubblicare o da portare in montaggio.
Caratteristiche principali
È l'audio a dare il tempo
Ogni forma della bocca nasce dal suono stesso, quindi pause, frasi veloci ed enfasi cadono dove le ha messe chi parla. Non c'è un campo per il copione né tempi da regolare: registra la battuta come deve suonare e il volto la segue secondo per secondo.
Il ritratto resta la scena
Abiti, capelli, sfondo e inquadratura vengono direttamente dall'immagine. Attorno al volto non si rigenera nulla, per cui un presentatore, un personaggio o un volto del brand resta riconoscibile da una clip all'altra. L'output è compatto, circa 0,2 megapixel a 25 fotogrammi al secondo (una foto 16:9 è tornata a 640×352, un ritratto 3:4 a 400×544): pensa ai feed e alle finestre di chat più che allo schermo intero.
Parametri della richiesta
| Parametro | Obbligatorio | Nota |
|---|---|---|
image_url | Sì | Il volto che parlerà. Una sola persona, rivolta più o meno verso l'obiettivo, con luce uniforme; un mezzo busto funziona meglio. almeno 1 caratteri |
audio_url | Sì | La voce da sincronizzare, da 3 a 60 secondi, in MP3 o WAV. Serve un link diretto al file audio; caricarlo è la strada più affidabile. almeno 1 caratteri |
prompt | No | Facoltativo. Poche parole su espressione o atmosfera: calmo, allegro, serio. al massimo 1000 caratteri |
mask_url | No | Facoltativo. Serve solo se il ritratto mostra più persone: un'immagine in bianco e nero della stessa dimensione, bianca su chi deve parlare. almeno 1 caratteri |
seed | No | Fissalo per confrontare due esecuzioni con lo stesso ritratto e lo stesso audio; lascialo vuoto per una versione nuova ogni volta. |
Prezzi
$0.018 / secondo generato
Addebito per secondo di video consegnato, che dura quanto il tuo audio, arrotondato per eccesso con un minimo di 3 secondi.
Casi d’uso
Clip con presentatore da un'unica foto
Intro di corsi, presentazioni di prodotto e aggiornamenti settimanali possono riusare un ritratto approvato con una registrazione nuova ogni volta. Cambiare lingua significa solo inviare un altro file audio con la stessa immagine, così un presentatore copre più mercati.
Personaggi che rispondono a voce
Le app di compagnia e di gioco di ruolo possono far dire una risposta in camera a un personaggio: tieni un ritratto del personaggio, trasforma la risposta in voce e invia la coppia. Anche una risposta breve richiede uno o due minuti di rendering, quindi avvia l'attività mentre la risposta testuale è già a schermo.
Consigli avanzati
Scegli il ritratto pensando alla bocca
A muoversi è la bocca, quindi dalle pixel: mezzo busto, volto più o meno verso l'obiettivo, luce uniforme e niente davanti alle labbra. Occhiali da sole, profili marcati e volti piccoli in un campo largo sono le cause tipiche di un risultato strano.
Meglio un audio pulito che forte
Esporta la voce senza musica di sottofondo, stanze rimbombanti o voci sovrapposte. Taglia il silenzio all'inizio e alla fine, perché anche il silenzio conta nella durata addebitata. Tieni ogni file tra tre e sessanta secondi e dividi i copioni lunghi nelle pause naturali.
Prompt per l'umore, maschera per chi parla
Il campo prompt orienta un po' l'espressione, calma, allegra o seria, ma non cambia chi parla né dove. Se il ritratto mostra più persone, passa mask_url con chi parla in bianco su nero, della stessa dimensione dell'immagine. Fissa seed per confrontare due registrazioni sullo stesso ritratto.
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": "spicyapi/talking-avatar-v1/talking-avatar",
"input": {
"audio_url": "https://example.com/reference.mp3",
"image_url": "https://example.com/reference.png"
}
}'
# 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.
