はじめに
Kling 2.1 Master の画像から動画は、開始フレームを 1080p、5 秒か 10 秒のクリップにアニメーション化します。音声トラックはなく、このエンドポイントに終了フレームのオプションもありません――image_url のみです。
開始素材で Kling 2.1 Master のモードを選ぶ
| 手元にあるもの | モード |
|---|---|
| 書いたシーン | Kling 2.1 Master テキストから動画 |
| 承認済みの開始フレーム | Kling 2.1 Master 画像から動画 |
主な機能とハイライト
フレームは保たれ、プロンプトが動きを与える
開始フレームの衣装、ポーズ、照明、舞台は送ったとおり正確に保たれます。プロンプトは次に何が起き、カメラがどこへ向かうかだけを描写すれば十分です。当社のテストでは、凍りついた大波と水中の舞踏会のドレスの両方が、構図と衣装をそのままに、1 枚の静止画から違和感なく動き出しました。
このエンドポイントに終了フレームはない
Kling 2.1 の標準の画像から動画とは異なり、Master の画像から動画は image_url のみを受け付け、last_image_url は受け付けません。特定の結末のポーズが重要な場合は、2 枚目のフレームがそれを固定してくれると期待するのではなく、プロンプト自体に結末を描写してモデルにそこへ向かわせてください。
縦長フレームでは顔が小さく映ることがある
開始フレームが縦長の切り抜きの場合、レンダリングもその形式に従います。当社のテストの 1 件では、横長フレームのときより顔が小さく、やや粗く映りました。縦長の開始フレームで顔をより寄りで切り抜くと、完成したクリップにより多くのディテールが残ります。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
prompt | はい | 開始フレームの後に起きることだけを描写してください:動作とカメラの動きです。 1 文字以上 · 5000 文字以内 |
image_url | はい | 開始フレーム。JPEG か PNG のみ。 |
duration_seconds | いいえ | 丸秒単位で 5 か 10。価格を左右します。 |
negative_prompt | いいえ | クリップが避けるべき要素の短いリスト。複雑なカメラワークでよくあるレンダリングの不具合を避けるのに役立ちます。 500 文字以内 |
guidance_scale | いいえ | 0 から 1。高いほどプロンプトの文言に忠実になり、低いほどモデルに自由度を与えます。 |
料金
$0.216 / 秒
出力クリップの秒数ごとに課金されます。可灵が拒否したアップロードには課金されません。
ユースケース
特定の静止画を最高品質の動きへ
開始フレームがすでに正確に決まっていて(照明、衣装、ポーズ)、レンダリングを他の安価なテイクと比較する下書きではなく、本番として保存したいときにこの階層を使ってください。
布地、水、炎、塵の大気表現
なびくガウン、巻き上がる波、漂う霧、揺れるシャンデリアは、静止フレームと動きを描写するプロンプトから当社のテストで自然にレンダリングされました。会話や速い動きよりも雰囲気を軸にしたショットに向いています。
同じプロジェクト内でのもう 1 本の高品質クリップ
このエンドポイントは Text to video と同じ Master の高い価格を共有しているため、同じように扱ってください。すでに他所で承認済みのショットのために取っておき、文言は先に安価な階層で固めましょう。
プロンプトガイドと実践のヒント
静止フレームの要素にいつ動くかを伝える
シーン全体を描写し直すのではなく、フレームにすでにあるもの(波、ポーズ、衣装)を指し示し、それがどの順番で動き出すべきかを描写してください。モデルはすでに画像がどう見えるかを把握しています。
周回または漂うカメラには negative_prompt を組み合わせる
たとえばぼやけた顔や歪んだ手を名指しする短い negative_prompt は、ゆっくりとした周回や水中のような漂う動きを、このモデルによくあるレンダリングの不具合から遠ざける安上がりな方法です。特にクリップが 10 秒フルに達すると効果があります。
縦長フレームでは顔をやや寄りで切り抜く
開始フレームが縦長の切り抜きの場合、横長のショットより顔を近くに寄せて構図を取ってください。縦長フレームの切り抜きが広すぎると、クリップが動き出したときに顔が小さく映ることがあります。当社の縦長フレームのテストの 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/2.1-master/image-to-video",
"input": {
"duration_seconds": 5,
"image_url": "https://example.com/reference.png",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise"
}
}'
# 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 リファレンスを参照してください。











