動画モデル上級者向け更新日
POST/v1/videos/generations
Kling 4.0 Flash
リクエスト ID kling-v4-flash
プロトコル
POST /v1/videos/generations· 動画を生成の例GET /v1/videos/tasks/{id}· 動画タスクを照会の例GET /v1/videos/tasks/{id}/content· 動画をダウンロードの例DELETE /v1/videos/tasks/{id}· 終了済みの動画タスクを削除の例POST /v1/videos/assets· 素材をアップロードの例DELETE /v1/videos/assets/{id}· 素材を削除の例
認証
リクエストには API キー管理 の API キーが必要です。JSON リクエストには Content-Type: application/json を設定します。
Authorization: Bearer YOUR_API_KEY
リクエストパラメータ
POST /v1/videos/generations
| 項目 | 型 | 必須 | 説明 |
|---|---|---|---|
model | string | 必須 | kling-v4-flash. このページに記載のモデル ID を指定します。 |
prompt | string | 条件付き | 場面、動き、カメラワークを記述します。 テキスト・参照生成では必須です。開始フレームを使う場合は省略できます。 |
content | array<object> | 条件付き | 参照素材と任意のテキスト項目です。prompt のみで生成する場合は省略できます。 画像は最大 10 枚です。 参照モードの動画は最大 5 本、各 3~20 秒、合計 20 秒までです。編集・延長は 1 本のみ指定します。 延長では動画のみ指定し、画像は省略します。 |
content[].type | string | 必須 | 指定できる値は text, image_url, input_image, video_url, input_video です。 |
content[].text | string | 条件付き | type: "text" の項目にプロンプトを指定します。 |
content[].role | string | 条件付き | 開始画像には first_frame を使用します。 通常の参照画像には reference_image を使用します。 参照動画には reference_video を使用します。 |
content[].asset_id | string | 条件付き | POST /v1/videos/assets に素材をアップロードし、返された id を指定します。multipart では kind(image, video)を file より先に指定します。 |
resolution | string | 任意 | 指定できる値は 720p です。 既定値は 720p です。 |
ratio | string | 任意 | 出力の縦横比です。aspect_ratio でも指定できます。 指定できる値は 16:9, 9:16, 1:1, 21:9 です。 参照モードでは既定値の auto も使用できます。延長時は省略します。テキスト生成の既定値は 16:9 です。 開始フレームを使う場合は省略し、画像の比率に従います。 |
duration | integer | 任意 | 出力時間を秒で指定します。 3~20 秒の整数を指定します。 編集時に省略すると元動画の長さに従います。他のモードの既定値は 5 秒です。延長時は追加部分の長さです。 |
generate_audio | boolean | 任意 | 音声は常に生成されます。省略するか true を指定します。 |
omni_reference_task_type | string | 任意 | 指定できる値は auto, reference, edit, extend です。 既定値の auto は素材に基づいてモードを決めます。edit と extend には動画 1 本が必要です。 |
リクエスト例
API Key をローカルの環境変数 ICODEEASY_API_KEY に設定し、直接 HTTP 呼び出しに対応するエンドポイントを選択します。指定クライアントが必要な場合は設定ガイドに従ってください。
例のメディア URL とアセット ID は、有効な素材に置き換えてください。
Video Generations
bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/generations' \
-H "Authorization: Bearer $ICODEEASY_API_KEY" \
-H 'Content-Type: application/json' \
--data '{
"model": "kling-v4-flash",
"prompt": "Slow camera push toward a paper lantern swaying gently by a lake.",
"resolution": "720p",
"ratio": "16:9",
"duration": 5,
"generate_audio": true
}'
Video Generations · 開始フレーム
bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/generations' \
-H "Authorization: Bearer $ICODEEASY_API_KEY" \
-H 'Content-Type: application/json' \
--data '{
"model": "kling-v4-flash",
"prompt": "Slow camera push toward a paper lantern swaying gently by a lake.",
"resolution": "720p",
"duration": 5,
"generate_audio": true,
"content": [
{
"type": "image_url",
"role": "first_frame",
"asset_id": "YOUR_FIRST_FRAME_ASSET_ID"
}
]
}'
Video Generations · 参照動画
bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/generations' \
-H "Authorization: Bearer $ICODEEASY_API_KEY" \
-H 'Content-Type: application/json' \
--data '{
"model": "kling-v4-flash",
"prompt": "Match the camera motion from the reference video in a lakeside lantern scene.",
"resolution": "720p",
"ratio": "16:9",
"duration": 5,
"generate_audio": true,
"omni_reference_task_type": "reference",
"content": [
{
"type": "video_url",
"role": "reference_video",
"asset_id": "YOUR_VIDEO_ASSET_ID"
}
]
}'
Video Generations · 動画編集
bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/generations' \
-H "Authorization: Bearer $ICODEEASY_API_KEY" \
-H 'Content-Type: application/json' \
--data '{
"model": "kling-v4-flash",
"prompt": "Preserve the subject and change the setting to a lakeside at dusk.",
"resolution": "720p",
"ratio": "16:9",
"duration": 5,
"generate_audio": true,
"omni_reference_task_type": "edit",
"content": [
{
"type": "video_url",
"role": "reference_video",
"asset_id": "YOUR_VIDEO_ASSET_ID"
}
]
}'
Video Generations · 動画延長
bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/generations' \
-H "Authorization: Bearer $ICODEEASY_API_KEY" \
-H 'Content-Type: application/json' \
--data '{
"model": "kling-v4-flash",
"prompt": "Continue the motion as the camera glides farther over the lake.",
"resolution": "720p",
"duration": 5,
"generate_audio": true,
"omni_reference_task_type": "extend",
"content": [
{
"type": "video_url",
"role": "reference_video",
"asset_id": "YOUR_VIDEO_ASSET_ID"
}
]
}'
動画タスクを照会
bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/tasks/YOUR_TASK_ID' \
-H "Authorization: Bearer $ICODEEASY_API_KEY"
動画をダウンロード
bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/tasks/YOUR_TASK_ID/content' \
-H "Authorization: Bearer $ICODEEASY_API_KEY" \
-L \
-o result.mp4
終了済みの動画タスクを削除
bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/tasks/YOUR_TASK_ID' \
-H "Authorization: Bearer $ICODEEASY_API_KEY" \
-i \
-X DELETE
素材をアップロード
bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/assets' \
-H "Authorization: Bearer $ICODEEASY_API_KEY" \
-F 'kind=image' \
-F '[email protected];type=image/png'
素材をアップロード · 動画をアップロード
bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/assets' \
-H "Authorization: Bearer $ICODEEASY_API_KEY" \
-F 'kind=video' \
-F '[email protected];type=video/mp4'
素材を削除
bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/assets/YOUR_ASSET_ID' \
-H "Authorization: Bearer $ICODEEASY_API_KEY" \
-i \
-X DELETE
レスポンスとタスク
HTTP 202 · タスクの受付
json
{
"id": "vid_1785398400000000000",
"object": "video.generation.job",
"model": "kling-v4-flash",
"created_at": "2026-07-30T08:00:00Z",
"status_url": "/v1/videos/tasks/vid_1785398400000000000",
"content_url": "/v1/videos/tasks/vid_1785398400000000000/content",
"status": "queued",
"updated_at": "2026-07-30T08:00:00Z",
"task_id": "vid_1785398400000000000"
}
HTTP 200 · 完了したタスクの取得
json
{
"id": "vid_1785398400000000000",
"object": "video.generation.job",
"model": "kling-v4-flash",
"created_at": "2026-07-30T08:00:00Z",
"status_url": "/v1/videos/tasks/vid_1785398400000000000",
"content_url": "/v1/videos/tasks/vid_1785398400000000000/content",
"status": "succeeded",
"updated_at": "2026-07-30T08:01:00Z",
"url": "/v1/videos/tasks/vid_1785398400000000000/content"
}
id を保存します。同じ API キーで status_url に GET リクエストを送り、status が succeeded または failed になるまで確認します。成功後は content_url からダウンロードし、HTTP リダイレクトに従います。どちらのパスも API ベース URL からの相対パスです。
| フィールド | 型 | 説明 |
|---|---|---|
id / task_id | string | タスク ID。作成レスポンスの task_id は id と同じです。 |
status | string | 状態は queued、running、succeeded、failed のいずれかです。 |
progress | integer | 生成の進捗。進捗値が得られない場合は省略されます。 |
error.code | string | タスクが失敗した場合のエラー分類。 |
主なエラー
| HTTP | エラータイプ | 説明 |
|---|---|---|
| 400 | invalid_request | モデル、パラメーターの組み合わせ、参照メディアを確認します。 |
| 401 | unauthorized | API キーが未指定、無効、または停止済みかどうかを確認します。 |
| 402 | insufficient_balance | タスクの送信に必要な残高が不足しています。 |
| 404 | not_found | 照会が 404 の場合はタスク ID を保存し、照会 URL と作成元アカウントの API キーを確認します。既に完了している可能性があるため、この応答だけで再送信しないでください。 |
| 409 | video_not_ready | 動画は生成中です。引き続き状態を確認してください。 |
| 503 | submission_unknown | 送信結果を確認できません。再送信する前にサポートへタスク作成の有無を確認してください。 |
接続ガイド · リクエスト項目、タスクの状態、レスポンス形式は API ガイドを参照してください。
機能と制限
text_to_video· 対応image_to_video· 対応first_frame· 対応last_frame· 非対応reference_images· 対応video_input· 対応audio· 対応- 制限 解像度: 720p · アスペクト比: 16:9, 9:16, 1:1, 21:9 · 長さ: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 · 参照画像:最大 10 枚 · 入力:One first frame follows its image ratio. Reference: up to five videos, each 3–20 seconds, 20 seconds total. Edit or extend one video.