Introducción
Kling Avatar 2.0 Avatar hablante toma un retrato (image_url) y un archivo de audio de habla o canción (audio_url) y devuelve un video de esa persona entregando el audio. La duración del clip la fija el propio audio: no hay un campo de duración aparte, hasta unos 5 minutos aproximadamente. Un prompt opcional dirige el ánimo, los gestos y hacia dónde miran los ojos, aparte de lo que dice el audio.
Funciones y aspectos destacados
El audio fija la duración
Este endpoint no tiene un parámetro de duración: recorta tu audio a la duración que quieras que corra el clip terminado antes de enviarlo. Tanto el habla como el canto funcionan como audio fuente.
El prompt dirige la actuación, el audio impulsa las palabras
prompt es opcional y describe cómo debe sentirse la actuación (un ánimo, un gesto, hacia dónde miran los ojos), mientras que audio_url aporta lo que realmente se dice o canta. Mantener ambos separados es lo que permitió que nuestros clips de prueba igualaran el diálogo entregado con el audio fuente palabra por palabra mientras seguían una dirección específica.
Parámetros de la solicitud
| Parámetro | Obligatorio | Descripción |
|---|---|---|
prompt | No | Dirección opcional para la actuación: ánimo, gestos, hacia dónde miran los ojos. Aparte de lo que dice el audio. máximo 2500 caracteres |
image_url | Sí | Retrato a animar. Solo JPEG o PNG. |
audio_url | Sí | El habla o la canción que interpreta el avatar. El clip dura exactamente lo mismo que este audio: no hay un campo de duración aparte. |
resolution | No | 720p o 1080p. 1080p cuesta más por segundo de audio. |
Precios
Se cobra por segundo del audio que envías, en la resolución que elijas. Un retrato o solicitud que Kling rechaza no se cobra.
| Especificación | Precio |
|---|---|
| $0.0512 / segundo |
| $0.1024 / segundo |
Casos de uso
Dale una cara a un guion
Combina una línea grabada o generada con un retrato para producir un clip hablado: útil para intros narradas, testimonios, o diálogo de un personaje cuya cara ya definiste.
Dirige una actuación cantada a partir de una foto fija
Envía una pista de audio cantada junto con un retrato y un prompt corto que describa la actuación (audiencia, energía, un gesto de mano) en lugar de las palabras mismas.
Guía de prompts y consejos prácticos
Escribe un arco, no un solo ánimo
Una dirección como "glancing down once, then back into the lens with a shy laugh at the end" le da al avatar una pequeña secuencia que actuar, en lugar de sostener una expresión estática durante todo el clip.
Elige un retrato claro y de frente
Una foto bien iluminada y de frente da la sincronía labial y la expresión más confiables. Los ángulos laterales, las caras ocultas o los recortes extremos tienen más probabilidad de desviarse a medida que corre el clip.
Espera que el clip dure un poco más que el audio
En nuestras pruebas, el video terminado corrió sistemáticamente un poco más que el audio fuente: una línea de 11,4 segundos volvió como un clip de 12,27 segundos, así que deja un pequeño margen en lugar de esperar un ajuste exacto al fotograma al final. La facturación sigue la duración del audio, no la del clip terminado.
Recorta el silencio de ambos extremos del audio
Un archivo que abre o cierra con una pausa larga le da al avatar tiempo muerto sin nada que actuar. Recorta el audio cerca de donde el habla o el canto realmente empieza y termina antes de enviarlo.
Inicio rápido de la 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"
Consulta la referencia de la API para autenticación, el esquema completo, sondeo y gestión de errores.











