はじめに
Kling Avatar 2.0 のトーキングアバターは、ポートレート(image_url)と話し言葉または歌の音声ファイル(audio_url)を受け取り、その人物が音声を届ける動画を返します。クリップの長さは音声自体によって決まります――独立した duration のフィールドはなく、上限はおよそ 5 分です。任意の prompt は、音声が語る内容とは別に、雰囲気、ジェスチャー、視線の向きを指示します。
主な機能とハイライト
音声が長さを決める
このエンドポイントに duration のパラメータはありません。送る前に、完成したクリップを走らせたい長さに音声をトリミングしてください。話し言葉と歌唱のどちらもソース音声として使えます。
プロンプトが演技を指示し、音声が言葉を運ぶ
prompt は任意で、パフォーマンスがどう感じられるべきか――雰囲気、ジェスチャー、視線の向き――を描写し、実際に話される、あるいは歌われる内容は audio_url が供給します。この 2 つを分けておくことで、当社のテストクリップは特定の演出に従いながらも、届けられたセリフを元の音声と一語一句一致させられました。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
prompt | いいえ | パフォーマンスのための任意の演出:雰囲気、ジェスチャー、視線の向き。音声が語る内容とは別です。 2500 文字以内 |
image_url | はい | アニメーション化するポートレート。JPEG か PNG のみ。 |
audio_url | はい | アバターが演じる話し言葉または歌。クリップはこの音声とまったく同じ長さになり、独立した duration のフィールドはありません。 |
resolution | いいえ | 720p か 1080p。1080p は音声秒あたりより高くなります。 |
料金
送った音声の秒数ごとに、選んだ解像度で課金されます。可灵が拒否したポートレートやリクエストには課金されません。
| 仕様 | 料金 |
|---|---|
| $0.0512 / 秒 |
| $0.1024 / 秒 |
ユースケース
脚本に顔を与える
録音または生成したセリフをポートレートと組み合わせて、話すクリップを作ってください。ナレーション付きのイントロ、証言、すでに顔を決めたキャラクターのセリフに便利です。
静止画から歌唱パフォーマンスを演出する
歌われた音声トラックを、言葉そのものではなくパフォーマンス(観客、エネルギー、手のジェスチャー)を描写する短いプロンプトとともにポートレートに添えて送ってください。
プロンプトガイドと実践のヒント
1 つの雰囲気ではなく展開を書く
「一度視線を落とし、それからまたレンズへ戻って最後に照れ笑い」のような演出は、クリップ全体を通して 1 つの静的な表情を保つのではなく、アバターに小さな一連の演技をさせます。
鮮明で正面を向いたポートレートを選ぶ
よく照らされ正面を向いた写真が、もっとも信頼できるリップシンクと表情を与えます。横向き、隠れた顔、極端なクローズクロップは、クリップが進むにつれてずれやすくなります。
クリップは音声より少し長くなると想定する
当社のテストでは、完成した動画は一貫して元の音声より少し長く仕上がりました――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 リファレンスを参照してください。











