動画モデル上級者向け更新日
POST/v1/videos/generations

API コンソール

POST/v1/videos/generations
キーを確認

入力したキーで実際にリクエストを送信し、API の通常料金が適用されます。

Kling 4.0 Flash

リクエスト ID kling-v4-flash

プロトコル

認証

リクエストには API キー管理 の API キーが必要です。JSON リクエストには Content-Type: application/json を設定します。

  • Authorization: Bearer YOUR_API_KEY

リクエストパラメータ

POST /v1/videos/generations

項目型必須説明
modelstring必須kling-v4-flash. このページに記載のモデル ID を指定します。
promptstring条件付き場面、動き、カメラワークを記述します。 テキスト・参照生成では必須です。開始フレームを使う場合は省略できます。
contentarray<object>条件付き参照素材と任意のテキスト項目です。prompt のみで生成する場合は省略できます。 画像は最大 10 枚です。 参照モードの動画は最大 5 本、各 3~20 秒、合計 20 秒までです。編集・延長は 1 本のみ指定します。 延長では動画のみ指定し、画像は省略します。
content[].typestring必須指定できる値は text, image_url, input_image, video_url, input_video です。
content[].textstring条件付きtype: "text" の項目にプロンプトを指定します。
content[].rolestring条件付き開始画像には first_frame を使用します。 通常の参照画像には reference_image を使用します。 参照動画には reference_video を使用します。
content[].asset_idstring条件付きPOST /v1/videos/assets に素材をアップロードし、返された id を指定します。multipart では kind(image, video)を file より先に指定します。
resolutionstring任意指定できる値は 720p です。 既定値は 720p です。
ratiostring任意出力の縦横比です。aspect_ratio でも指定できます。 指定できる値は 16:9, 9:16, 1:1, 21:9 です。 参照モードでは既定値の auto も使用できます。延長時は省略します。テキスト生成の既定値は 16:9 です。 開始フレームを使う場合は省略し、画像の比率に従います。
durationinteger任意出力時間を秒で指定します。 3~20 秒の整数を指定します。 編集時に省略すると元動画の長さに従います。他のモードの既定値は 5 秒です。延長時は追加部分の長さです。
generate_audioboolean任意音声は常に生成されます。省略するか true を指定します。
omni_reference_task_typestring任意指定できる値は 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_idstringタスク ID。作成レスポンスの task_id は id と同じです。
statusstring状態は queued、running、succeeded、failed のいずれかです。
progressinteger生成の進捗。進捗値が得られない場合は省略されます。
error.codestringタスクが失敗した場合のエラー分類。

主なエラー

HTTPエラータイプ説明
400invalid_requestモデル、パラメーターの組み合わせ、参照メディアを確認します。
401unauthorizedAPI キーが未指定、無効、または停止済みかどうかを確認します。
402insufficient_balanceタスクの送信に必要な残高が不足しています。
404not_found照会が 404 の場合はタスク ID を保存し、照会 URL と作成元アカウントの API キーを確認します。既に完了している可能性があるため、この応答だけで再送信しないでください。
409video_not_ready動画は生成中です。引き続き状態を確認してください。
503submission_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.

モデル機能カタログ · 価格を確認