はじめに
Kling O3 の画像から動画は、手持ちの開始フレームをアニメーション化します。画像をアップロードし、任意で終了フレームを加えて結末を固定し、その間に起きることを描写してください。prompt フィールドは最大 2,500 文字まで受け付けます。丸 3〜15 秒の長さ、最大 4K の解像度、そして映像と一緒にネイティブ音声を生成するかどうかを選びます。
開始素材で Kling O3 のモードを選ぶ
| 手元にあるもの | モード |
|---|---|
| 書いたシーンだけ | Kling O3 テキストから動画 |
| 承認済みの開始フレーム | Kling O3 画像から動画 |
| 最大 7 枚の参照写真 | Kling O3 参照生成動画 |
| すでにある動画 | Kling O3 video-edit |
主な機能とハイライト
開始フレームには忠実に従う
フレームの中にある人物や物――人物、衣装、部屋――は、クリップが保つものです。当社の傘の例では、5 秒のクリップ全体を通して 2 人の女性の顔が開始フレームと一致し、プロンプトは新しい動作だけを描写すればよかったのです。
任意の終了フレームが結末を固定する
last_image_url を加えると、モデルがそうでなければ止まる場所ではなく、そのフレームへ向けてクリップが作られます。2 枚のフレームの光、角度、フレーミングを近づけておいてください――両者の大きな飛躍が、長いクリップの中間をぶれさせる原因になります。
音は動きと一緒に生成される
generate_audio は、後から別工程で加えるのではなく、描写した動作に合わせたタイミングで、アニメーションと同じ工程でセリフ、効果音、環境音を加えます。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
prompt | はい | 開始フレームの後に起きることだけを描写してください:動作、カメラの動き、そして音声をオンにする場合はセリフと効果音です。フレームはすでに誰が、どこにいるかを設定しています。 1 文字以上 · 2500 文字以内 |
image_url | はい | 開始フレーム。JPEG か PNG。 |
last_image_url | いいえ | クリップが終わるべき任意の終了フレーム。開始フレームと光やフレーミングを近づけておいてください――両者の大きな飛躍は、より長いクリップの中間をずれさせる原因になります。 |
resolution | いいえ | 720p、1080p、4K。上位階層ほど秒あたりの費用が上がります。 |
generate_audio | いいえ | 同じ工程に生成されたサウンドトラック――引用符内のセリフ、効果音、環境音――を加えます。720p と 1080p では無音より秒あたりの料金が高くなりますが、4K では音声の有無で料金は変わりません。 デフォルト値: |
duration_seconds | いいえ | 丸秒単位で 3 から 15。解像度と音声とともに価格を左右します。 |
shot_type | いいえ | single は 1 つの連続したテイクを求めます(Kling O3 はそれでも自らカットすることがあり、重要なら「1 つの連続したショット、カットなし」を加えてください)。multi はプロンプトを複数のショットにカットさせます。 |
multi_prompt | いいえ |
|
料金
出力秒数ごとに課金されます。単価は解像度とネイティブ音声のオン・オフによって変わります。
| 解像度 | 音声を生成: いいえ | 音声を生成: はい |
|---|---|---|
| $0.0672 / 秒 | $0.0896 / 秒 |
| $0.0896 / 秒 | $0.112 / 秒 |
| $0.336 / 秒 | $0.336 / 秒 |
ユースケース
すでに承認したフレームをアニメーション化する
正確な人物、衣装、構図が重要なときは、テキストプロンプトにそのディテールを任せず(実行のたびに新しく描き直されます)、まず静止画を生成または選び、ここに送ってください。
すでにある 2 枚のフレームを橋渡しする
image_url と last_image_url の両方を設定すると、クリップは承認済みの開始と承認済みの結末の間に、信じられる動きの経路を埋めます。特定の最終構図に着地する必要があるシーンに便利です。
すでに気に入っている静止画にセリフを加える
generate_audio をオンにして、動作と一緒にセリフを描写してください。フレームが見た目を供給し、プロンプトが動きと言葉を供給します。
プロンプトガイドと実践のヒント
すでにあるものではなく、その後を描写する
フレームにいる人物や着ているものを描写し直さないでください――画像がすでにそれに答えています。プロンプトは変化するもの――動作、カメラの動き、音――に使ってください。
終了フレームは開始フレームに近づけておく
last_image_url を使うなら、開始画像と似た光とフレーミングのフレームを選ぶか生成してください。近い一致であれば間の動きが信じられるものになり、大きな飛躍はモデルに保てる以上のものを発明させることになります。
連続性が重要なときはテイクを固定する
Shot_type の single は好みであって保証ではありません。カットしてはいけないシーン――例えば 1 つの途切れないリアクション――には、プロンプトの最後に「1 つの連続したショット、カットなし」を加えてください。
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/o3/image-to-video",
"input": {
"duration_seconds": 5,
"generate_audio": false,
"image_url": "https://example.com/reference.png",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "720p",
"shot_type": "single"
}
}'
# 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 リファレンスを参照してください。












