Video
Kling 3.0
Kling 3.0 で、テキストまたは最初と最後のフレームから 3〜15 秒のクリップを生成。ネイティブ音声、マルチショットのプロンプト、再利用できるエレメントに対応し、タスクとして受け取れます。
Kling 3.0 は Kuaishou の動画生成モデルです。1 回のリクエストで、プロンプトから、または最初のフレームと任意の最後のフレームから 3〜15 秒のクリップを生成します。品質モードは 3 つ(std、pro、4K)で、指定すればネイティブ音声も付けられます。クリップは最大 5 つのショットで構成することもでき、各ショットに独自のプロンプトと長さを指定できます。リクエストを送信し、返されたタスク ID を保持して、完成した動画をタスクから読み取ってください。画像は URL で渡します。
モデル ID
| モデル ID | 入力 | モード | 長さ |
|---|---|---|---|
kling-3-0 | テキスト、最初と最後のフレーム、エレメント | std、pro、4K | 3〜15 秒 |
現在の料金はモデルページをご覧ください。
クイックサンプル
curl https://api.seedrouter.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-3-0",
"prompt": "A red paper boat drifting on a calm pond at sunrise, soft mist on the water, slow push-in, no text, no logos.",
"mode": "pro",
"duration": 5,
"aspect_ratio": "16:9"
}'エンドポイント
POST https://api.seedrouter.ai/v1/videos/generations| ヘッダー | 値 |
|---|---|
| Authorization | Bearer YOUR_API_KEY |
| Content-Type | application/json |
レスポンスはタスク({"id": "task_...", "status": "processing"})であり、完成した動画ではありません。結果は GET /v1/tasks/{task_id} をポーリングして取得してください。API キーはサーバー側のコードで保持してください。
パラメータ
| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
model | string | 必須 | kling-3-0 |
prompt | string | 単一ショットでは必須 | 最大 2,500 文字。マルチショットモードでは任意。 |
image_urls | URL の配列 | なし | 最大 2 枚:1 枚目が最初のフレーム、2 枚目が最後のフレーム。画像がない場合はテキストから動画になります。 |
mode | enum | pro | std、pro、4K(K は大文字)。 |
duration | integer | 5 | 3〜15 秒。 |
aspect_ratio | enum | 16:9 | 16:9、9:16、1:1。 |
sound | boolean | false | 動画と一緒にネイティブ音声を生成します。 |
multi_shots | boolean | false | multi_prompt のショットからクリップを作ります。 |
multi_prompt | array | なし | 最大 5 ショット。各ショットは {"prompt", "duration"}:最大 500 文字のプロンプトと、1〜12 の整数秒。multi_shots が true のときは必須。 |
kling_elements | array | なし | 最大 3 つのエレメント。各エレメントは {"name", "description", "element_input_urls"} で、画像 URL を 2〜4 個指定します。 |
スキーマは厳格です。未知のフィールドは無視されず、拒否されます。callback_url は利用できません。代わりにタスクをポーリングしてください。
マルチショットのクリップ
multi_shots を true にして、multi_prompt に各ショットを記述します。ショットの長さの合計は 3〜15 秒でなければなりません。その合計がクリップの長さになり、duration は使われません。prompt は省略するか、すべてのショットに共通する内容に使えます。
{
"model": "kling-3-0",
"mode": "pro",
"multi_shots": true,
"multi_prompt": [
{"prompt": "A red paper boat on a calm pond at sunrise, wide shot", "duration": 3},
{"prompt": "The boat drifts under a small wooden bridge, low angle", "duration": 3}
]
}エレメント
エレメントとは、モデルがクリップ全体で一貫して保つ被写体で、人物、商品、キャラクターなどです。name、短い description、その被写体の画像 2〜4 枚を指定し、プロンプトでは名前で言及します(例:@hero)。
{
"model": "kling-3-0",
"prompt": "@hero slowly turns toward the camera in soft window light",
"kling_elements": [
{
"name": "hero",
"description": "a young woman with short black hair and a yellow raincoat",
"element_input_urls": ["https://example.com/hero-front.png", "https://example.com/hero-side.png"]
}
]
}メディア入力
すべての画像は公開されている HTTP(S) URL です。Base64 の data URI は受け付けません。ファイルを自分のストレージにアップロードし、その URL を渡してください。画像は 10 MB 以下の JPG または PNG を使用してください。
料金の要素
現在のレートはモデルの料金セクションをご覧ください。Kling 3.0 は動画の秒数で課金され、レートはモードと sound がオンかどうかで決まります:
billed seconds = duration (single shot)
billed seconds = Σ multi_prompt[].duration (multi_shots: true)
cost = billed seconds × rate per second課金される秒数はリクエストの受理時に確定するため、確保される金額がそのまま課金額になります。最終的な課金額はアカウントの利用履歴で確認できます。失敗したタスクは課金されません。
出力スキーマ
送信するとタスクが返されます:
{"id": "task_...", "model": "kling-3-0", "status": "processing", "created_at": 1789689600}タスクを取得する
GET https://api.seedrouter.ai/v1/tasks/{task_id}status が completed または failed になるまで、10〜20 秒ごとにポーリングしてください。ポーリング中のネットワークタイムアウトは生成の失敗を意味しません。タスク ID を保持して確認を再開してください。進捗確認のために別のタスクを作成しないでください。
完了したタスク
{
"id": "task_...",
"model": "kling-3-0",
"status": "completed",
"created_at": 1789689600,
"finished_at": 1789689710,
"output": {
"video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4"
}
}私たちのテストでは、3 秒の std クリップが MP4(H.264)、1280 × 720 で返り、sound をオンにした 5 秒の pro クリップは 1920 × 1080 で音声トラック付きで返りました。どちらもおよそ 2〜3 分かかりました。
エラー
タスク作成前に拒否されたリクエストは、HTTP エラーと error オブジェクトを返し、課金されません。受理後に失敗したタスクは、照会時に HTTP 200 と status: "failed"、そして error オブジェクトを返します。
コード・HTTP ステータス・リトライの指針は共通エラーカタログを参照してください。
{
"id": "task_...",
"model": "kling-3-0",
"status": "failed",
"error": {
"code": 60001,
"message": "The request was rejected by the content policy. Please revise the prompt or input images."
}
}送信自体がタイムアウトした場合は、再送信の前にタスクを確認してください。最初のリクエストが受理されている可能性があります。
ヒント
- 被写体、場所、カメラの動き、光をそれぞれ 1 文で記述してください。Kling は「slow push-in」(ゆっくりとしたプッシュイン)や「low angle」(ローアングル)のようなカメラ用語に従います。
stdで下書きし、最終ショットは同じリクエストをproまたは4Kでレンダリングしてください。- 最初と最後のフレームで、ショットの始まりと終わりを制御してください。
- 1 つのプロンプトで複数のカットを説明するのではなく、
multi_promptでシーンをショットに分けてください。 - 勝手なマークが入らないよう、
no text, no logosを加えてください。
