Kling V4
テキスト、時間順に並べたフレーム、または参照画像・参照動画・参照音声と名前付きのエレメントから、720p または 1080p、3~30 秒の音声付き動画を生成します。料金は秒単位です。
- 非同期です。作成の呼び出しはタスク ID を返し、動画はタスクが成功した時点で得られます。
- 入力方法は 4 通りです。テキストのみ、フレーム(時間順に並べた
images)、参照画像・参照動画・参照音声、そして名前付きのelements(最大 7 つ)です。フレームは参照素材やエレメントと組み合わせられません。 - プロンプトでは各入力をメンションで指定します。
@image_1、@video_1、@voice_1、@とエレメント名、@first_frame、@keyframe_1、@last_frameです。すべての@は同じリクエストの入力を指す必要があります。 - 音声は常に生成されます。
keep_original_soundを使うと、代わりに参照動画そのものの音声を残します。 durationは 3~30 秒(デフォルト 5)、解像度は720p(デフォルト)または1080pです。料金は選んだ解像度での動画の秒数で決まり、失敗したタスクには課金されません。
このモデルをテスト画面で開きます。BeatAPI の API キーを入力するとタスクを作成できます。実際に呼び出され、ご自身の残高から課金されます。
モデル ID
このエンドポイントには Kling の生成モデルが 2 つあります。以下の値はゲートウェイの契約から直接取得しています。参照素材、3 枚以上のフレーム、最大 7 つのエレメントを受け付けるのは Kling V4 だけです。
エンドポイントと認証
POST https://api.beatapi.io/v1/videos/tasks
Authorization
string
必須
BeatAPI の API キーを Bearer <BEATAPI_API_KEY> の形式で送信します。キーはダッシュボードで作成できます。キーはサーバー側で保管し、ブラウザーやモバイルアプリに含めないでください。
ボディは JSON で送信し、Content-Type: application/json を指定します。Idempotency-Key は任意です。論理的に 1 件のリクエストごとに一意の値(255 文字以内)を送り、まったく同じボディを再試行するときだけ再利用してください。24 時間以内に同じキーと同じボディで再試行すると、最初のレスポンスが Idempotent-Replayed: true 付きで再度返されます。同じキーで異なるボディを送ると 409 idempotency_conflict が返ります。2xx 以外のレスポンスは保存されないため、400 や 402 の後の再試行は改めて実行されます。
リクエストの流れ
タスクを作成する
下記のパラメーターをエンドポイントに POST します。201 が返れば、タスクが受け付けられ、料金が残高から仮確保されたことを意味します。処理はバックグラウンドで実行されます。data.id を保存してください。
完了を待つ
GET /v1/tasks/{task_id} を呼び出し、status が succeeded または failed になるまで、呼び出しの間隔を data.poll_after_seconds(画像は 5 秒、動画は 8 秒)だけ空けてください。あるいは task.succeeded と task.failed のWebhookを登録することもできます。処理タイムアウトで停止したタスクはイベントを送信しないため、フォールバックとしてポーリングも続けてください。
入力モード
リクエストパラメーター
model
string
必須
実行するモデルです。
値:kling-v4
値が正しくない場合
- 指定がない場合:
"model" is required - 画像モデルをこのエンドポイントに送った場合:
"model" nano-banana-2 is served by POST /v1/images/tasks, not this endpoint
prompt
string
必須
動画の中で起きること(被写体、動き、カメラワーク、スタイル、音)です。各入力は @ のメンションで指定します。
長さ:1–5000 文字
- 長さは文字数で数えます(CJK 文字も 1 文字として数えます)。
- メンションの書き方:
reference_imagesは@image_1、@image_2…、reference_videosは@video_1…、reference_audiosは@voice_1…、エレメントは@に続けてそのnameを書きます。フレームは@first_frame、@keyframe_1、@keyframe_2… と@last_frameです。 - すべての
@は同じリクエストの入力を指す必要があります。参照画像が 2 枚なのに@image_3と書く、画像が 1 枚なのに@last_frameと書くなど、対応する入力がない番号付きメンションやフレームのメンションは、タスク作成時に拒否されます。
値が正しくない場合
- 指定がない場合:
"prompt" is required - 空、または上限を超える長さの場合:
"prompt" has an unsupported length - リクエストに含まれない入力をメンションした場合:
the prompt names @image_3, which this request does not send
images
string[]
任意
時間順に並べたフレームです。リンク 1 個は開始フレーム、2 個は開始フレームと終了フレームで、それ以上はその間に中間フレームを加えます。
要素数:1–10
各要素は公開されている https:// の URL です。ローカルファイルは先に アップロード(POST /v1/files)し、返された data.url を渡してください。
- リンクが 3 個以上の場合、
images[0]が開始フレーム、最後のリンクが終了フレームで、その間のリンクが中間フレームです。images[1]が@keyframe_1、images[2]が@keyframe_2というように続きます。 - 画像は動画の秒数より最大 1 枚多くまで(
duration+ 1。durationを省略した場合は 5 秒として数えます)で、どの場合も 10 枚を超えられません。 - フレームは
reference_images、reference_videos、reference_audios、elements、aspect_ratioと一緒に送れません。動画は開始フレームの形を引き継ぎます。
値が正しくない場合
- リンクが 10 個を超える場合:
"images" accepts at most 10 items - リンクが
duration+ 1 個を超える場合(この例は 5 秒の動画に 7 個):Kling V4 takes at most 6 images for a 5-second video - いずれかの reference_* フィールドと組み合わせた場合:
Cannot combine "images" with reference inputs in one task elementsと組み合わせた場合:Kling V4 cannot combine elements with imagesaspect_ratioと組み合わせた場合:Kling V4 takes the first frame's shape; do not send aspect_ratio with images- https:// のリンクではない場合:
"images[0]" must be a public HTTPS URL
reference_images
string[]
任意
動画の内容、キャラクター、商品、スタイルを導く画像です。プロンプトではリストの順に @image_1、@image_2 … と書きます。
要素数:1–10
各要素は公開されている https:// の URL です。ローカルファイルは先に アップロード(POST /v1/files)し、返された data.url を渡してください。
imagesとは組み合わせられません。- 参照素材とエレメントの合計 15 個の上限に含まれます。
値が正しくない場合
- 上限を超える場合:
"reference_images" accepts at most 10 items - 参照素材とエレメントが合計 15 個を超える場合:
Kling V4 takes at most 15 reference inputs and elements together
reference_videos
string[]
任意
動き、カメラワーク、内容を取り入れる動画です。プロンプトではリストの順に @video_1、@video_2 … と書きます。
要素数:1–5
各要素は公開されている https:// の URL です。ローカルファイルは先に アップロード(POST /v1/files)し、返された data.url を渡してください。
- 各クリップは 2~30 秒、すべてのクリップの合計は 30 秒以内です。ゲートウェイはタスク作成前に各クリップを測定し、上限を外れたクリップはどれかを示したうえで拒否します。
- 参照動画と動画エレメントは合計 5 個までで、参照素材とエレメントの合計 15 個の上限にも含まれます。
- 完成した動画には生成された音声が付きます。
keep_original_sound: trueを送ると、参照動画そのものの音声を残します。
値が正しくない場合
- 上限を超える場合:
"reference_videos" accepts at most 5 items - クリップが 2 秒より短い、または 30 秒より長い場合:
reference_videos[0] is 35 seconds long; this model takes reference video of 2 to 30 seconds. - クリップの合計が 30 秒を超える場合:
The reference videos run 36 seconds in total; this model takes at most 30. - 参照動画と動画エレメントが合計 5 個を超える場合:
Kling V4 takes at most 5 reference videos and video elements together
reference_audios
string[]
任意
動画で使う声です。プロンプトではリストの順に @voice_1、@voice_2 … と書きます。
要素数:1–3
各要素は公開されている https:// の URL です。ローカルファイルは先に アップロード(POST /v1/files)し、返された data.url を渡してください。
imagesとは組み合わせられません。- 参照素材とエレメントの合計 15 個の上限に含まれます。
値が正しくない場合
- 上限を超える場合:
"reference_audios" accepts at most 3 items
elements
object[]
任意
キャラクター、動物、小道具、衣装、シーン、エフェクトなど、名前を付けた被写体を最大 7 つ定義します。それぞれ一度だけ定義し、プロンプトでは @ に続けてその name を書きます。
要素数:≤ 7
- 最大 7 個のオブジェクトからなる配列です。各オブジェクトは次のキーだけを受け付けます。
elements[].name(文字列、必須):英字、数字、アンダースコア、漢字の 1~20 文字で、同じリクエスト内で大文字と小文字を区別せずに重複できません。image_N、video_N、voice_N、keyframe_N、object_N、audio_N、first_frame、last_frameは使えません。elements[].element_input_urls(文字列の配列):エレメントを写した画像の公開 HTTPS リンク 2~4 個です。最初の画像がメインビューです。elements[].element_input_video_urls(文字列の配列):キャラクターを写した 3~8 秒のワンショット動画の公開 HTTPS リンクをちょうど 1 個です。element_input_urlsとはどちらか一方だけを送ります。elements[].element_input_audio_urls(文字列の配列、任意):キャラクターのエレメントの声となる公開 HTTPS 音声リンクをちょうど 1 個です。elements[].tag(文字列、任意):エレメントの種類です。動画エレメント、または声を持つエレメントはキャラクターである必要があります。tagを省略するか、characterを送ってください。elements[].description(文字列、任意):エレメントの説明で、最大 100 文字です。- 動画エレメントは最大 3 個、
reference_videosとの合計は最大 5 個です。すべてのエレメントが参照素材とエレメントの合計 15 個の上限に含まれます。 - エレメントは
imagesと一緒に送れません。
値が正しくない場合
- エレメントが 7 個を超える場合:
"elements" accepts at most 7 items - エレメントがオブジェクトではない場合:
"elements[0]" must be an object - エレメントに
nameがない場合:"name" is required in "elements[0]" nameが空、または 20 文字を超える場合:"elements[0].name" has an unsupported lengthnameに他の文字が含まれる、または予約名を使った場合:elements[0].name "image_1" is not a name Kling V4 accepts- 同じ
nameが 2 回出てくる場合(大文字と小文字は区別しません):elements[1].name "Hero" is used twice - 画像と動画の両方がある、またはどちらもない場合:
elements[0] takes either element_input_urls or element_input_video_urls - 画像が 2 枚未満の場合:
"elements[0].element_input_urls" requires at least 2 item - 画像が 4 枚を超える場合:
"elements[0].element_input_urls" accepts at most 4 items - 動画エレメントの
tagがcharacterではない場合:elements[0] is a video element, which is always a character tagがcharacterではないエレメントに声がある場合:elements[0] has a voice, which only a character element takestagが一覧にない値の場合:"elements[0].tag" must be one of: [character animal prop costume scene effect others]descriptionが 100 文字を超える場合:"elements[0].description" has an unsupported length- エレメントが受け付けないキーがある場合:
field "start_time" is not supported in "elements[0]" - 動画エレメントが 3 個を超える場合:
Kling V4 takes at most 3 video elements imagesと組み合わせた場合:Kling V4 cannot combine elements with images
duration
integer
任意デフォルト: 5
動画の長さ(秒、整数)です。課金はこの値に基づきます。
デフォルト:5
範囲:3–30
- 省略すると
5が使われ、その分が課金されます。 - フレームを使う場合は画像の枚数の上限にもなります。最大
duration+ 1 枚で、10 枚を超えられません。
値が正しくない場合
- 範囲外、整数ではない、または文字列として送った場合:
"duration" is outside its supported range
aspect_ratio
string
任意デフォルト: 16:9
動画の形(幅:高さ)です。
指定できる値:16:9, 9:16, 1:1, 21:9
デフォルト:16:9
- 省略すると
16:9になります。 imagesと一緒に送らないでください。動画は開始フレームの形を引き継ぎます。
値が正しくない場合
- 一覧にない値の場合:
"aspect_ratio" must be one of: [16:9 9:16 1:1 21:9] imagesと一緒に送った場合:Kling V4 takes the first frame's shape; do not send aspect_ratio with images
resolution
string
任意デフォルト: 720p
出力解像度です。1080p は 720p より秒単価が高くなります。
指定できる値:720p, 1080p
デフォルト:720p
- 省略すると
720pが使われ、その分が課金されます。 - このモデルでは 4K は使えません。
値が正しくない場合
- 一覧にない値の場合(例:
4Kやpro):"resolution" must be one of: [720p 1080p]
keep_original_sound
boolean
任意
生成された音声の代わりに、参照動画そのものの音声を完成した動画に残します。
reference_videosと一緒の場合だけ有効です。参照動画なしで送ると、falseであっても拒否されます。- 省略すると、動画には生成された音声が付きます。音声をオフにするフィールドはありません。
値が正しくない場合
- true または false ではない場合:
"keep_original_sound" must be a boolean reference_videosなしで送った場合:"keep_original_sound" needs reference_videos
ゲートウェイはタスク作成前に、次の組み合わせも確認します。
imagesと参照メディアのフィールドは同時に使用できません。imagesは時間順に並べたフレームです。1 枚は開始フレーム、2 枚は開始フレームと終了フレームで、それ以上はその間に中間フレームを加えます。プロンプトではそれぞれ@first_frame、@keyframe_1、@keyframe_2… と@last_frameと書きます。- 画像は動画の秒数より最大 1 枚多くまでで、どの場合も 10 枚を超えられません。
- プロンプトでは、
reference_imagesを@image_1、@image_2…、reference_videosを@video_1…、reference_audiosを@voice_1…、エレメントを@とその名前で指定します。プロンプト内のすべての@は、同じリクエストの入力を指す必要があります。 - 参照動画は各 2~30 秒、合計 30 秒までです。参照動画と動画エレメントは合計 5 個まで、そのうち動画エレメントは 3 個までです。
reference_images、reference_videos、reference_audios、elementsは合計 15 個までです。 - エレメントは、
element_input_urlsの画像 2~4 枚(1 枚目がメインビュー)か、element_input_video_urlsの 3~8 秒のワンショットのキャラクター動画 1 本で構成します。element_input_audio_urlsはキャラクターのエレメントに声を与えます。 - エレメント名は英字、数字、アンダースコア、漢字の 1~20 文字で、大文字と小文字を区別せずに重複できません。
image_N、video_N、voice_N、keyframe_N、object_N、audio_N、first_frame、last_frameは使えません。 elementsとaspect_ratioはimagesと一緒に送れません。出力は開始フレームの形を引き継ぎます。imagesがない場合、aspect_ratioの既定値は 16:9 です。keep_original_soundは参照動画そのものの音声を残し、reference_videosが必要です。それ以外の場合、動画には生成された音声が付きます。
入力メディアの上限
ゲートウェイはタスク作成前にすべての入力を読み取り、次の上限を超えるものは、その入力を示す 400 bad_request で拒否します。課金はされません。
- ゲートウェイはタスク作成前に
images、reference_images、reference_videosを測定し、上限を外れた入力を、リストと位置を示すメッセージで拒否します。例:reference_videos[0] is 35 seconds long; this model takes reference video of 2 to 30 seconds.課金はされません。 - エレメントのリンクと
reference_audiosについては、タスク作成前には公開 HTTPS リンクかどうかだけを確認します。エレメントの動画は 3~8 秒である必要があります。 - ローカルのファイルを使う場合は、
POST /v1/filesでアップロードし、返されたdata.urlを渡してください。
プロンプトのメンション
入力の種類ごとにメンションがあり、リストの順に 1 から番号を付けます。
- 対応する入力がない番号付きメンションやフレームのメンションは、タスク作成時に拒否されます。例:
the prompt names @last_frame, which this request does not send
組み合わせのルール
以下はタスク作成時に確認されます。いずれかに違反したリクエストは 400 bad_request で拒否され、課金されません。
このモデルが受け付けないフィールド
次のフィールドを送ると、無視されるのではなく、課金前に拒否されます。
sound、generate_audio、seed、multi_shots、multi_prompt、quality、watermark、task_type、output_format→field "sound" is not supported by model kling-v4(送ったフィールド名が入ります)。- その他の不明なフィールド →
unknown field: <name>。
リクエスト例
テキストから動画
生成音声付きの 5 秒、16:9、720p のクリップです。
開始フレームと終了フレーム
1080p で 1 枚目の画像から 2 枚目の画像へ移り、開始フレームの形を引き継ぎます。
参照画像と声
参照画像 2 枚と声 1 つを使い、それぞれをプロンプトでメンションします。
元の音声を残す参照動画
プレースホルダーを 2~30 秒の自分のクリップに置き換えてください。keep_original_sound で、生成音声の代わりにその音声を残します。
名前付きのエレメント
キャラクターと小道具を、それぞれ 2 枚の画像(1 枚目がメインビュー)で定義します。プレースホルダーのリンクは自分の画像に置き換えてください。
レスポンス
タスクの作成(201)
タスクオブジェクトです。タスクが成功するまで output は null です。「実行中」と記載されたフィールドは、タスクの完了後に表示されなくなります。
完了したタスク
GET /v1/tasks/{task_id} は HTTP 200 と status: "succeeded" を返し、結果は data.output に入ります。
出力フィールド
失敗したタスク
失敗したタスクも、GET /v1/tasks/{task_id} では HTTP 200 になります。失敗はボディに示されます。仮確保された金額は全額戻されるため、課金されません。
完全なコード例
タスクを作成し、サーバーが示すポーリング間隔で完了を待ち、結果の URL を出力します。環境変数に BEATAPI_API_KEY を設定し、requests をインストールしてください。
課金
- 料金は、選んだ解像度での動画の秒数で決まります。
720pは 1 秒あたり 0.30 です。下の一覧は 8 秒のクリップの料金です。 - 秒数は
durationで、省略すると 5 です。タスクのusage.billable_duration_secondsに表示されます。 - どの動画にも音声(生成された音声、または残した参照動画の音声)が付き、追加料金はかかりません。
- 料金はタスクの作成時に予約され、動画の完成時に確定します。失敗したタスク(送信後にモデレーションで拒否されたものを含む)は全額返金されます。
現在の定価です。料金ページと同じ金額です。割引を個別に契約しているアカウントでは、より低い金額になります。実際に課金された金額は、タスクの data.usage で確認できます。
よくあるエラー
HTTP エラー早見表
タスクが作られる前のエラーは、2xx 以外のレスポンスで返されます。課金はされません。error.code または error.retryable で処理を分岐してください。message には問題の内容が示されます。全一覧と再試行のルールはエラーにあります。
認証
Send your API key as Authorization: Bearer <BEATAPI_API_KEY>.
ヘッダー
ボディは JSON で送信し、Content-Type: application/json を指定します。Idempotency-Key は任意です。論理的に 1 件のリクエストごとに一意の値(255 文字以内)を送り、まったく同じボディを再試行するときだけ再利用してください。24 時間以内に同じキーと同じボディで再試行すると、最初のレスポンスが Idempotent-Replayed: true 付きで再度返されます。同じキーで異なるボディを送ると 409 idempotency_conflict が返ります。2xx 以外のレスポンスは保存されないため、400 や 402 の後の再試行は改めて実行されます。
リクエスト
実行するモデルです。
値:kling-v4
値が正しくない場合
- 指定がない場合:
"model" is required - 画像モデルをこのエンドポイントに送った場合:
"model" nano-banana-2 is served by POST /v1/images/tasks, not this endpoint
動画の中で起きること(被写体、動き、カメラワーク、スタイル、音)です。各入力は @ のメンションで指定します。
長さ:1–5000 文字
- 長さは文字数で数えます(CJK 文字も 1 文字として数えます)。
- メンションの書き方:
reference_imagesは@image_1、@image_2…、reference_videosは@video_1…、reference_audiosは@voice_1…、エレメントは@に続けてそのnameを書きます。フレームは@first_frame、@keyframe_1、@keyframe_2… と@last_frameです。 - すべての
@は同じリクエストの入力を指す必要があります。参照画像が 2 枚なのに@image_3と書く、画像が 1 枚なのに@last_frameと書くなど、対応する入力がない番号付きメンションやフレームのメンションは、タスク作成時に拒否されます。
値が正しくない場合
- 指定がない場合:
"prompt" is required - 空、または上限を超える長さの場合:
"prompt" has an unsupported length - リクエストに含まれない入力をメンションした場合:
the prompt names @image_3, which this request does not send
動画の形(幅:高さ)です。
指定できる値:16:9, 9:16, 1:1, 21:9
デフォルト:16:9
- 省略すると
16:9になります。 imagesと一緒に送らないでください。動画は開始フレームの形を引き継ぎます。
値が正しくない場合
- 一覧にない値の場合:
"aspect_ratio" must be one of: [16:9 9:16 1:1 21:9] imagesと一緒に送った場合:Kling V4 takes the first frame's shape; do not send aspect_ratio with images
動画の長さ(秒、整数)です。課金はこの値に基づきます。
デフォルト:5
範囲:3–30
- 省略すると
5が使われ、その分が課金されます。 - フレームを使う場合は画像の枚数の上限にもなります。最大
duration+ 1 枚で、10 枚を超えられません。
値が正しくない場合
- 範囲外、整数ではない、または文字列として送った場合:
"duration" is outside its supported range
キャラクター、動物、小道具、衣装、シーン、エフェクトなど、名前を付けた被写体を最大 7 つ定義します。それぞれ一度だけ定義し、プロンプトでは @ に続けてその name を書きます。
要素数:≤ 7
- 最大 7 個のオブジェクトからなる配列です。各オブジェクトは次のキーだけを受け付けます。
elements[].name(文字列、必須):英字、数字、アンダースコア、漢字の 1~20 文字で、同じリクエスト内で大文字と小文字を区別せずに重複できません。image_N、video_N、voice_N、keyframe_N、object_N、audio_N、first_frame、last_frameは使えません。elements[].element_input_urls(文字列の配列):エレメントを写した画像の公開 HTTPS リンク 2~4 個です。最初の画像がメインビューです。elements[].element_input_video_urls(文字列の配列):キャラクターを写した 3~8 秒のワンショット動画の公開 HTTPS リンクをちょうど 1 個です。element_input_urlsとはどちらか一方だけを送ります。elements[].element_input_audio_urls(文字列の配列、任意):キャラクターのエレメントの声となる公開 HTTPS 音声リンクをちょうど 1 個です。elements[].tag(文字列、任意):エレメントの種類です。動画エレメント、または声を持つエレメントはキャラクターである必要があります。tagを省略するか、characterを送ってください。elements[].description(文字列、任意):エレメントの説明で、最大 100 文字です。- 動画エレメントは最大 3 個、
reference_videosとの合計は最大 5 個です。すべてのエレメントが参照素材とエレメントの合計 15 個の上限に含まれます。 - エレメントは
imagesと一緒に送れません。
値が正しくない場合
- エレメントが 7 個を超える場合:
"elements" accepts at most 7 items - エレメントがオブジェクトではない場合:
"elements[0]" must be an object - エレメントに
nameがない場合:"name" is required in "elements[0]" nameが空、または 20 文字を超える場合:"elements[0].name" has an unsupported lengthnameに他の文字が含まれる、または予約名を使った場合:elements[0].name "image_1" is not a name Kling V4 accepts- 同じ
nameが 2 回出てくる場合(大文字と小文字は区別しません):elements[1].name "Hero" is used twice - 画像と動画の両方がある、またはどちらもない場合:
elements[0] takes either element_input_urls or element_input_video_urls - 画像が 2 枚未満の場合:
"elements[0].element_input_urls" requires at least 2 item - 画像が 4 枚を超える場合:
"elements[0].element_input_urls" accepts at most 4 items - 動画エレメントの
tagがcharacterではない場合:elements[0] is a video element, which is always a character tagがcharacterではないエレメントに声がある場合:elements[0] has a voice, which only a character element takestagが一覧にない値の場合:"elements[0].tag" must be one of: [character animal prop costume scene effect others]descriptionが 100 文字を超える場合:"elements[0].description" has an unsupported length- エレメントが受け付けないキーがある場合:
field "start_time" is not supported in "elements[0]" - 動画エレメントが 3 個を超える場合:
Kling V4 takes at most 3 video elements imagesと組み合わせた場合:Kling V4 cannot combine elements with images
時間順に並べたフレームです。リンク 1 個は開始フレーム、2 個は開始フレームと終了フレームで、それ以上はその間に中間フレームを加えます。
要素数:1–10
各要素は公開されている https:// の URL です。ローカルファイルは先に アップロード(POST /v1/files)し、返された data.url を渡してください。
- リンクが 3 個以上の場合、
images[0]が開始フレーム、最後のリンクが終了フレームで、その間のリンクが中間フレームです。images[1]が@keyframe_1、images[2]が@keyframe_2というように続きます。 - 画像は動画の秒数より最大 1 枚多くまで(
duration+ 1。durationを省略した場合は 5 秒として数えます)で、どの場合も 10 枚を超えられません。 - フレームは
reference_images、reference_videos、reference_audios、elements、aspect_ratioと一緒に送れません。動画は開始フレームの形を引き継ぎます。
値が正しくない場合
- リンクが 10 個を超える場合:
"images" accepts at most 10 items - リンクが
duration+ 1 個を超える場合(この例は 5 秒の動画に 7 個):Kling V4 takes at most 6 images for a 5-second video - いずれかの reference_* フィールドと組み合わせた場合:
Cannot combine "images" with reference inputs in one task elementsと組み合わせた場合:Kling V4 cannot combine elements with imagesaspect_ratioと組み合わせた場合:Kling V4 takes the first frame's shape; do not send aspect_ratio with images- https:// のリンクではない場合:
"images[0]" must be a public HTTPS URL
生成された音声の代わりに、参照動画そのものの音声を完成した動画に残します。
reference_videosと一緒の場合だけ有効です。参照動画なしで送ると、falseであっても拒否されます。- 省略すると、動画には生成された音声が付きます。音声をオフにするフィールドはありません。
値が正しくない場合
- true または false ではない場合:
"keep_original_sound" must be a boolean reference_videosなしで送った場合:"keep_original_sound" needs reference_videos
動画で使う声です。プロンプトではリストの順に @voice_1、@voice_2 … と書きます。
要素数:1–3
各要素は公開されている https:// の URL です。ローカルファイルは先に アップロード(POST /v1/files)し、返された data.url を渡してください。
imagesとは組み合わせられません。- 参照素材とエレメントの合計 15 個の上限に含まれます。
値が正しくない場合
- 上限を超える場合:
"reference_audios" accepts at most 3 items
動画の内容、キャラクター、商品、スタイルを導く画像です。プロンプトではリストの順に @image_1、@image_2 … と書きます。
要素数:1–10
各要素は公開されている https:// の URL です。ローカルファイルは先に アップロード(POST /v1/files)し、返された data.url を渡してください。
imagesとは組み合わせられません。- 参照素材とエレメントの合計 15 個の上限に含まれます。
値が正しくない場合
- 上限を超える場合:
"reference_images" accepts at most 10 items - 参照素材とエレメントが合計 15 個を超える場合:
Kling V4 takes at most 15 reference inputs and elements together
動き、カメラワーク、内容を取り入れる動画です。プロンプトではリストの順に @video_1、@video_2 … と書きます。
要素数:1–5
各要素は公開されている https:// の URL です。ローカルファイルは先に アップロード(POST /v1/files)し、返された data.url を渡してください。
- 各クリップは 2~30 秒、すべてのクリップの合計は 30 秒以内です。ゲートウェイはタスク作成前に各クリップを測定し、上限を外れたクリップはどれかを示したうえで拒否します。
- 参照動画と動画エレメントは合計 5 個までで、参照素材とエレメントの合計 15 個の上限にも含まれます。
- 完成した動画には生成された音声が付きます。
keep_original_sound: trueを送ると、参照動画そのものの音声を残します。
値が正しくない場合
- 上限を超える場合:
"reference_videos" accepts at most 5 items - クリップが 2 秒より短い、または 30 秒より長い場合:
reference_videos[0] is 35 seconds long; this model takes reference video of 2 to 30 seconds. - クリップの合計が 30 秒を超える場合:
The reference videos run 36 seconds in total; this model takes at most 30. - 参照動画と動画エレメントが合計 5 個を超える場合:
Kling V4 takes at most 5 reference videos and video elements together
出力解像度です。1080p は 720p より秒単価が高くなります。
指定できる値:720p, 1080p
デフォルト:720p
- 省略すると
720pが使われ、その分が課金されます。 - このモデルでは 4K は使えません。
値が正しくない場合
- 一覧にない値の場合(例:
4Kやpro):"resolution" must be one of: [720p 1080p]
レスポンス
タスクオブジェクトです。タスクが成功するまで output は null です。「実行中」と記載されたフィールドは、タスクの完了後に表示されなくなります。

