소개
Kling Avatar 2.0 말하는 아바타는 인물 사진(image_url)과 발화 또는 노래 오디오 파일(audio_url)을 받아 그 사람이 오디오를 전달하는 영상을 돌려줍니다. 클립 길이는 별도의 길이 필드가 아니라 오디오 자체가 정하며 최대 약 5분입니다. 선택적인 prompt는 오디오가 말하는 내용과 별개로 분위기, 몸짓, 시선을 연출합니다.
핵심 기능 및 하이라이트
오디오가 길이를 정합니다
이 엔드포인트에는 길이 매개변수가 없습니다. 보내기 전에 완성된 클립이 실행되길 원하는 길이로 오디오를 잘라내세요. 발화와 노래 모두 소스 오디오로 작동합니다.
프롬프트는 퍼포먼스를, 오디오는 대사를 이끕니다
prompt는 선택 사항으로 퍼포먼스가 어떻게 느껴져야 할지—분위기, 몸짓, 시선—를 설명하고, audio_url은 실제로 말하거나 노래하는 내용을 제공합니다. 둘을 분리해서 유지한 덕분에 저희 테스트 클립은 특정 연출을 따르면서도 전달된 대사가 소스 오디오와 한 글자도 다르지 않았습니다.
요청 파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
prompt | 아니요 | 퍼포먼스를 위한 선택적 연출입니다: 분위기, 몸짓, 시선입니다. 오디오가 말하는 내용과는 별개입니다. 2500자 이하 |
image_url | 예 | 애니메이션화할 인물 사진입니다. JPEG 또는 PNG만 가능합니다. |
audio_url | 예 | 아바타가 연기할 발화나 노래입니다. 클립은 이 오디오와 정확히 같은 길이이며 별도의 길이 필드는 없습니다. |
resolution | 아니요 | 720p 또는 1080p입니다. 1080p는 오디오 초당 비용이 더 듭니다. |
요금
보내는 오디오의 초당, 선택한 해상도로 과금됩니다. Kling이 거부한 인물 사진이나 요청은 과금되지 않습니다.
| 사양 | 요금 |
|---|---|
| $0.0512 / 초 |
| $0.1024 / 초 |
활용 사례
대본에 얼굴 부여하기
녹음하거나 생성한 대사를 인물 사진과 짝지어 말하는 클립을 만드세요. 내레이션 인트로, 후기, 이미 얼굴을 정한 캐릭터의 대사에 유용합니다.
스틸 사진에서 노래하는 퍼포먼스 연출하기
노래하는 오디오 트랙을 인물 사진과 함께 보내고, 가사 자체가 아니라 퍼포먼스(관중, 에너지, 손짓)를 설명하는 짧은 프롬프트를 더하세요.
프롬프트 가이드 및 실전 팁
하나의 분위기가 아니라 흐름을 쓰세요
"한 번 내려다보고, 다시 렌즈를 보며 마지막에 수줍게 웃는다" 같은 연출은 클립 내내 하나의 정적인 표정을 유지하는 대신 아바타에게 연기할 작은 시퀀스를 줍니다.
선명하고 정면을 향한 인물 사진을 고르세요
조명이 좋고 정면을 향한 사진이 가장 안정적인 립싱크와 표정을 줍니다. 옆모습, 가려진 얼굴, 극단적으로 타이트한 크롭은 클립이 진행될수록 흔들릴 가능성이 더 큽니다.
클립이 오디오보다 조금 더 길게 나올 것으로 예상하세요
저희 테스트에서는 완성된 영상이 소스 오디오보다 일관되게 조금 더 길게 나왔습니다—11.4초짜리 대사가 12.27초 클립으로 돌아왔습니다—그러니 끝부분에서 프레임 단위로 정확한 타이밍을 기대하기보다 약간의 여유를 두고 설계하세요. 과금은 완성된 클립이 아니라 오디오 길이를 따릅니다.
오디오 양 끝의 무음을 잘라내세요
긴 정적으로 시작하거나 끝나는 파일은 아바타에게 연기할 것이 없는 빈 시간을 줍니다. 보내기 전에 실제로 말이나 노래가 시작되고 끝나는 지점에 가깝게 오디오를 잘라내세요.
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"
인증, 전체 스키마, 폴링과 오류 처리는 API 레퍼런스에서 확인하세요.











