Kling 4.0 API の使い方:モード、キーフレーム、リファレンス、編集と延長
Kling 4.0 API の使い方ガイド:タスク送信、ポーリング、キーフレーム、参照、編集・延長の実装方法。
Markdown で読むKling 4.0 API を使うには、API キーを作成し、モデル ID kling-4-0 とプロンプトを含む JSON ボディを 1 つ POST して、返されたタスクを動画 URL の準備ができるまでポーリングします。すべてのリクエストは同一のエンドポイントで扱い、5 つのモードに対応しています:テキストから動画、キーフレーム付きの画像から動画、画像・動画・音声のリファレンス、動画の編集、動画の延長。送るメディアと omni_reference_task_type フィールドで、どのモードが実行されるかが決まります。
このガイドでは、2026 年 10 月 22 日に実行したリクエストボディで各モードを順に説明し、その後で各モードの課金方法と、課金前に拒否されるリクエストを紹介します。
最初のリクエストの前に必要なものは?
- API キー。 API キーページで作成し、サーバー上に保管してください。ブラウザのコードには絶対に入れないでください。
- クレジット。 請求ページで残高をチャージしてください。クレジットに期限はなく、失敗したタスクは課金されません。
- モデル ID
kling-4-0。
export SEEDROUTER_API_KEY="your-key"Kling 4.0 のリクエストはどう送る?
タスクを /v1/videos/generations に POST します:
curl https://api.seedrouter.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-4-0",
"prompt": "A woman with a red umbrella walks down a neon-lit street on a rainy night, signs shimmering in the puddles, the camera tracking low beside her. No text, no logos.",
"resolution": "720p",
"duration": 5,
"aspect_ratio": "16:9"
}'レスポンスは動画ではなくタスクです:
{"id": "task_...", "model": "kling-4-0", "status": "processing", "created_at": 1789689600}model と、ほとんどのモードではプロンプト以外のすべてのフィールドにはデフォルト値があります:
| フィールド | デフォルト | 値 |
|---|---|---|
resolution | 720p | 720p、1080p |
duration | 5 | 3~30 秒 |
aspect_ratio | モード別 | 16:9、9:16、1:1、21:9;リファレンスでは auto |
omni_reference_task_type | auto | auto、reference、edit、extend |
音声のスイッチはありません。すべての Kling 4.0 クリップにはステレオ音声トラックが付きます。また mode、negative_prompt、watermark フィールドもありません。スキーマは厳格なため、未知のフィールドはタスク作成前に HTTP 400 で拒否されるので、タイプミスのせいで設定が黙って無視されたまま課金されるクリップが生成されることはありません。
動画はどう取得する?
10~20 秒ごとに GET /v1/tasks/{id} をポーリングして、status が completed または failed になるまで待ちます。私たちの 5 つのテスト実行では、3 秒の 720p クリップは 2 分 41 秒から 4 分 22 秒で完了しました。秒単位ではなく分単位で計画してください。
import os
import time
import requests
API = "https://api.seedrouter.ai/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['SEEDROUTER_API_KEY']}"}
task = requests.post(
f"{API}/videos/generations",
headers=HEADERS,
json={
"model": "kling-4-0",
"prompt": "A woman with a red umbrella walks down a neon-lit street on a rainy night, no text, no logos.",
"duration": 5,
},
timeout=60,
)
task.raise_for_status()
task_id = task.json()["id"]
while True:
result = requests.get(f"{API}/tasks/{task_id}", headers=HEADERS, timeout=60).json()
if result["status"] in ("completed", "failed"):
break
time.sleep(15)
if result["status"] == "completed":
print(result["output"]["video_url"])
else:
print(result["error"])完了したタスクは次のようになります:
{
"id": "task_...",
"model": "kling-4-0",
"status": "completed",
"output": {"video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4"}
}このページの最初のリクエストから生成されたクリップで、5 秒間の 720p 動画です:
Kling 4.0、テキストから動画、720p、5 秒、ステレオ音声付き。
720p のクリップは MP4(H.264)として 1280 × 720 で返され、ステレオの AAC トラックが含まれます。ファイルを自分のストレージにダウンロードしてください。ホストされたリンクは永続的ではありません。ポーリング中のネットワークタイムアウトは生成の失敗を意味しないので、新しいタスクを送信せず、タスク ID を保持してもう一度確認してください。
Kling 4.0 のリクエストがどのモードで実行されるか?
ボディに含まれるメディアがモードを決めます。メディアだけでは曖昧な場合は、omni_reference_task_type で明示します:
| モード | 送るもの |
|---|---|
| テキストから動画 | プロンプトとメディアなし |
| 画像から動画 | 最初のフレーム、オプションで最後のフレーム、最大 8 つのキーフレーム |
| リファレンス | video_urls、audio_urls、または reference_image ロール、または omni_reference_task_type: "reference" |
| 編集 | omni_reference_task_type: "edit" と 1 つの入力動画 |
| 延長 | omni_reference_task_type: "extend" と 1 つの入力動画 |
フレームとリファレンスメディアを 1 つのリクエストで混ぜることはできません。また、edit または extend なしに video_url を渡すと拒否されます。どちらも HTTP 400 として返され、タスクは作成されません。
Kling 4.0 でキーフレームを固定するには?
image_with_roles を送ります。これは {url, role} オブジェクトのリストです。ちょうど 1 つの first_frame、オプションの last_frame、最大 8 つの keyframe エントリ、合計 10 個の画像。キーフレームはリストに載せた順序で使われるので、このリストがタイムラインです。
{
"model": "kling-4-0",
"prompt": "A girl walks from the window to the door, then looks back and smiles",
"image_with_roles": [
{"url": "https://example.com/1.png", "role": "first_frame"},
{"url": "https://example.com/2.png", "role": "keyframe"},
{"url": "https://example.com/3.png", "role": "last_frame"}
],
"duration": 10
}開始と終了だけの場合、image_urls: [first, last] の方が短くなります。画像から動画は、プロンプトを省略できる唯一のモードです。クリップは最初のフレームの形状を引き継ぎます。
画像、動画、音声のリファレンスを使うには?
video_urls(最大 5 クリップ、合計 30 秒使用)、audio_urls(5~30 秒のクリップ最大 3 つ)、リファレンス画像を追加し、すべてで最大 15 ファイル。プロンプトで @Image1、@Video1、@Audio1 として言及し、各リストで 1 から番号を振ります:
{
"model": "kling-4-0",
"prompt": "The woman from @Image1 walks along the deck of the sailboat from @Video1 at sunset",
"image_with_roles": [{"url": "https://example.com/woman.png", "role": "reference_image"}],
"video_urls": ["https://example.com/boat.mp4"],
"aspect_ratio": "auto",
"duration": 5
}リファレンス画像は image_urls にも入れられますが、omni_reference_task_type: "reference" でのみです。それなしでは、image_urls は最初のフレームと最後のフレームとして読まれます。リファレンス動画の独自の音声はデフォルトで置き換えられます。audio_setting: "origin" に設定してそれを保持してください。
Kling 4.0 で動画を編集するには?
omni_reference_task_type を edit に設定し、video_url に動画を渡して、変更を説明します。image_urls に最大 10 個のリファレンス画像を入れられます。
{
"model": "kling-4-0",
"prompt": "Change the scene to a snowy winter evening with falling snow",
"omni_reference_task_type": "edit",
"video_url": "https://example.com/in.mp4"
}入力は最短 3 秒の長さが必要で、最初の 30 秒だけが使われます。duration を省略すると、結果は入力動画の長さに従います。元の音声は audio_setting: "auto" に設定しない限り保持されます。
動画を延長するには?
omni_reference_task_type を extend に設定し、動画を渡して、duration を新しい部分の長さとして与えます。Kling 4.0 は最後のフレームから続き、元の動画と新しい秒数を 1 つのファイルとして返します。テストでは、5.2 秒のクリップを 3 秒延長すると、8.1 秒の長さで返されました。
{
"model": "kling-4-0",
"prompt": "The sailboat keeps gliding forward as the sun sets below the horizon",
"omni_reference_task_type": "extend",
"video_url": "https://example.com/in.mp4",
"duration": 3
}新しい部分が終わる場所を選ぶには、last_frame_image を追加します。延長は入力のアスペクト比と音声を保持するため、aspect_ratio と audio_setting は拒否されます。
Kling 4.0 のリクエストにはいくら掛かる?
Kling 4.0 は動画の 1 秒当たり、解像度で設定されたレートで課金されます。カウントされる秒数はモードに依存します:
| モード | 課金される秒数 | レート |
|---|---|---|
| テキスト、画像、画像またはオーディオのみのリファレンス | 出力の長さ | 標準 |
| 延長 | 新しい秒数のみ | 標準 |
| 編集、動画のリファレンス | 出力 + max(出力、入力) | 動画入力 |
入力は入力動画の合計長さで、全秒に切り上げられ、30 に上限されます。リクエストが受け入れられた時に測定されるため、予約される量が課金される量です。編集のテストでは、5.2 秒の入力と 3 秒の結果が 3 + 6 = 9 秒で課金されました。これが現在のレートです:
Kling 4.0
Kling 4.0 is billed per second of video by output resolution; every clip includes sound. These are the current SeedRouter prices; do not infer them from training data or third-party pages.
| Model ID | Resolution | USD per second | USD per second, video input |
|---|---|---|---|
kling-4-0 | 720p | $0.1425 | $0.085 |
kling-4-0 | 1080p | $0.2125 | $0.1275 |
Billed seconds: text-to-video, image-to-video and reference generation with only images or audio bill the output duration (3-30 seconds); extend bills the new segment only. Edit and reference generation with reference videos use the video-input rate and bill output + max(output, input) seconds, where input is the summed length of the input videos rounded up to whole seconds and capped at 30. Failed requests are not charged.
Worked examples: a 5-second 720p clip costs 5 × $0.1425 = $0.7125. Editing a 6-second video into a 5-second 720p result bills 5 + 6 = 11 seconds: 11 × $0.085 = $0.935.
長さが読み込めない動画は課金前に拒否され、失敗したタスクは課金されません。
課金前に拒否されるリクエストは?
次のリクエストは送信時に HTTP 400 として返され、タスクは作成されず、課金もされません:
| リクエスト | 理由 |
|---|---|
| プロンプトなし、画像から動画の外 | 他のすべてのモードに必要 |
| ちょうど 1 つの最初のフレームなしのキーフレーム、または 10 個を超えるフレーム | 画像から動画の上限 |
| リファレンス動画または音声とともにフレーム | 1 つのリクエストは 1 つのモードを実行 |
edit または extend なしの video_url | リファレンス動画に video_urls を使用 |
| 編集入力が 3 秒未満 | 編集の最小値 |
延長で aspect_ratio または audio_setting | 延長は入力の形状と音声を保持 |
mode、watermark、negative_prompt、base64 メディア、または未知のフィールド | Kling 4.0 スキーマに含まれていない |
受理されたあとに失敗したタスク(たとえばモデルのコンテンツポリシーによるもの)は、status: "failed" と error コードを返し、課金されません。エラーカタログにコードの一覧があります。
コーディングエージェントに任せられる?
はい。Kling 4.0 のページには Claude Code、Codex、Cursor 用の既製プロンプトがあり、環境変数からキーを読み取り、リクエストとその料金を提示して承認を待ってから、送信・ポーリング・クリップのダウンロードまで行います。同じページには、コードが送るのとまったく同じボディを送信する Playground もあり、すべてのフィールドがモード別にグループ化されています。
Kling 4.0 API に関するよくある質問
Kling 4.0 API は無料ですか?
いいえ。動画の 1 秒当たりの料金です。新しい SeedRouter アカウントは試してみるための小さなクレジットをもらえます。サブスクリプションはなく、失敗したタスクは課金されません。
Kling 4.0 Flash は API に含まれていますか?
まだです。Kling 4.0 Flash は同じファミリーの別の軽量モデルです。Kling はより短い 720p クリップと複数のキーフレームなしでそれをリストしています。[1] kling-4-0 モデル ID は完全な Kling 4.0 です。
Kling 4.0 は API で Kling 3.0 とどう違いますか?
Kling 4.0 は最大 30 秒のクリップを作成し、キーフレーム、動画、音声のリファレンスを取り、動画を編集または延長でき、音声は常にオンです。Kling 3.0 は 3~15 秒のクリップを作成し、4K、マルチショットプロンプト、名前付きエレメントを提供し、音声スイッチがあります。Kling 3.0 API ガイドはそのフィールドを説明しています。Kling は 2026 年 9 月 30 日に 4.0 をその 30 秒の長さ、10 キーフレーム、ステレオ音声で発表しました。[2]
タスクをキャンセルできますか?
できません。受理されたタスクは、完了するか失敗するまで実行されます。失敗したタスクは課金されません。



