はじめに
Kling 2.1 の画像から動画は、この世代が提供する唯一のモードです。開始フレームと、次に何が起きるかを説明するプロンプトを送り、resolution を 720p(standard)か 1080p(pro)から選ぶと、無音の 5 秒か 10 秒のクリップが返ってきます。終了フレーム(last_image_url)は 1080p でのみ受け付けられます。
予算に応じて解像度を選ぶ
| 欲しいもの | 解像度 |
|---|---|
| このラインナップでもっとも安い階層 | 720p(standard) |
| よりシャープなクリップと任意の終了フレーム | 1080p(pro) |
主な機能とハイライト
終了フレームは 1080p のみ
resolution を 1080p に設定し、開始フレームと一緒に終了フレームを追加すると、クリップは最後のフレームでその正確なポーズに着地するよう構築されます。720p では終了フレームは受け付けられません。これを含むリクエストは実行前に拒否され、課金されません。この階層では終了フレームを送らず、クリップを開始フレームからモデルが停止を決めた場所まで進めてください。
どちらの階層にも音声トラックはない
このモデルは 720p でも 1080p でも音声をまったく生成しません。これは欠陥ではなく、計画に織り込むべき単純な事実です。後から自分でナレーション、音楽、サウンドデザインを加える編集向けの素材に向いています。
開始フレームと終了フレームはきれいにつながる
当社のテストの 1 件では、霧の中で始まり、カメラに近く正面を向いたポーズで終わる桟橋のウォークが、指定した終了フレームにほぼ正確に着地しました。風合いとカラーグレーディングは 5 秒間を通して一貫していました。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
prompt | はい | 開始フレームの後に起きることだけを描写してください:動作とカメラの動きです。 1 文字以上 · 5000 文字以内 |
image_url | はい | 開始フレーム。JPEG か PNG のみ。 |
last_image_url | いいえ | 任意の終了フレーム。1080p でのみ受け付けられます。 |
resolution | いいえ | 720p(standard、もっとも安い階層)か 1080p(pro、終了フレームを受け付ける唯一の階層)。 |
duration_seconds | いいえ | 丸秒単位で 5 か 10。価格を左右します。 |
negative_prompt | いいえ | クリップが避けるべき要素の短いリスト。 500 文字以内 |
guidance_scale | いいえ | 0 から 1。高いほどプロンプトの文言に忠実になり、低いほどモデルに自由度を与えます。 |
料金
出力クリップの秒数ごとに課金されます。1080p pro 階層は 720p standard 階層より秒あたり高くなります。可灵が拒否したアップロードには課金されません。
| 仕様 | 料金 |
|---|---|
| $0.035 / 秒 |
| $0.068 / 秒 |
ユースケース
開始フレームをいちばん安く試す
より高い階層や新しい世代にもっと費用をかける前に、まず 720p standard 階層を実行し、アクションやカメラの動き、フレーミングが狙いどおりに読み取れるか確認してください。
結末を固定した 2 フレーム構成
カット前の最後のショットのように最終ポーズが正確に重要な場合は、image_url と last_image_url の両方を指定して 1080p pro 階層を使ってください。
プロンプトガイドと実践のヒント
最初から最後まで 1 つの連続した動作を描写する
上の屋上での剣術の例は、振りから最終的な構えまでを 1 つの弧として名指ししています。この単一の瞬間に絞った構成は、1 つのプロンプトに複数の異なる動作を詰め込むより、この世代では信頼性が高くなります。
長く引きずるディテールが形を保つとは期待しない
長い髪、引きずる布地、なびく小道具は、この世代が 10 秒の間に見失いがちなディテールです。当社の階段のテストの 1 件では、長いベルベットのトレーンが途中で目に見えて短くなりました。こうしたディテールは短く抑えるか、後で修正パスを計画してください。
ショットに必要なものに合わせて解像度を選ぶ
まだ動作やカメラワークを詰めている段階なら、まず 720p でテストし、任意の終了フレームを使える 1080p の pro 階層は、残しておきたいテイクのために取っておきましょう。
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/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",
"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 リファレンスを参照してください。











