Introduzione
Kling Avatar 2.0 Avatar parlante prende un ritratto (image_url) e un file audio di voce o canto (audio_url) e restituisce un video di quella persona che consegna l'audio. La durata della clip è impostata dall'audio stesso: non c'è un campo durata separato, fino a circa 5 minuti. Un prompt opzionale dirige l'atmosfera, i gesti e dove vanno gli occhi, separatamente da ciò che dice l'audio.
Caratteristiche principali
L'audio imposta la durata
Non c'è un parametro durata su questo endpoint: taglia il tuo audio alla lunghezza che vuoi far durare la clip finita prima di inviarlo. Sia la voce che il canto funzionano come audio sorgente.
Il prompt dirige la performance, l'audio guida le parole
prompt è opzionale e descrive come dovrebbe sentirsi la performance, un'atmosfera, un gesto, dove vanno gli occhi, mentre audio_url fornisce ciò che viene effettivamente detto o cantato. Tenere i due separati è ciò che ha permesso alle nostre clip di test di far corrispondere il dialogo consegnato all'audio sorgente parola per parola pur seguendo una regia specifica.
Parametri della richiesta
| Parametro | Obbligatorio | Nota |
|---|---|---|
prompt | No | Regia opzionale per la performance: atmosfera, gesti, dove vanno gli occhi. Separato da ciò che dice l'audio. al massimo 2500 caratteri |
image_url | Sì | Ritratto da animare. Solo JPEG o PNG. |
audio_url | Sì | Voce o canto che l'avatar esegue. La clip dura esattamente quanto questo audio: non c'è un campo durata separato. |
resolution | No | 720p o 1080p. 1080p costa di più al secondo di audio. |
Prezzi
Fatturato al secondo dell'audio che invii, alla risoluzione che scegli. Un ritratto o una richiesta rifiutati da Kling non vengono addebitati.
| Specifiche | Prezzo |
|---|---|
| $0.0512 / secondo |
| $0.1024 / secondo |
Casi d’uso
Dai un volto a uno script
Abbina una battuta registrata o generata a un ritratto per produrre una clip parlata: utile per intro narrate, testimonianze, o dialogo per un personaggio il cui volto hai già definito.
Dirigi una performance cantata da un'istantanea
Invia una traccia audio cantata insieme a un ritratto e un breve prompt che descrive la performance (pubblico, energia, un gesto della mano) invece delle parole stesse.
Consigli avanzati
Scrivi un arco, non un'unica atmosfera
Una regia come "sguardo in basso una volta, poi di nuovo verso l'obiettivo con una risata timida alla fine" dà all'avatar una piccola sequenza da eseguire, invece di mantenere un'unica espressione statica per tutta la clip.
Scegli un ritratto chiaro e frontale
Una foto ben illuminata e frontale dà la sincronizzazione labiale e l'espressione più affidabili. Angolazioni laterali, volti nascosti o ritagli estremamente ravvicinati hanno più probabilità di divagare man mano che la clip procede.
Aspettati che la clip duri un po' più a lungo dell'audio
Nei nostri test il video finito durava sistematicamente un po' più a lungo dell'audio sorgente: una battuta di 11,4 secondi tornava come una clip di 12,27 secondi, quindi prevedi un piccolo margine invece di aspettarti un tempismo esatto al fotogramma alla fine. La fatturazione segue la durata dell'audio, non quella della clip finita.
Taglia il silenzio da entrambe le estremità dell'audio
Un file che si apre o si chiude con una lunga pausa dà all'avatar un tempo morto senza nulla da recitare. Taglia l'audio vicino al punto in cui il parlato o il canto inizia e finisce davvero, prima di inviarlo.
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": "kling/avatar-2.0/talking-avatar",
"input": {
"audio_url": "https://example.com/reference.mp3",
"image_url": "https://example.com/reference.png",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"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.











