# Kling 2.6 Motion Control API Kuaishou が提供する Kling 2.6 Motion Control による動画生成の完全な API リファレンス。 ## モデルのバリエーション この API は、1 種類のモデルに対応しています。 | モデル | ID | 説明 | |-------|-----|-------------| | **Kling 2.6 Motion Control** | `kling-2.6-motion-control` | テキストプロンプト、1 枚の参照画像、1 本の参照動画を使用して動画を生成 | ## Kling 2.6 Motion Control ### エンドポイント ``` POST /api/v1/video/task ``` ### リクエストパラメータ #### 必須 | パラメータ | 型 | 説明 | |-----------|------|-------------| | `model_name` | string | `"kling-2.6-motion-control"` を指定する必要があります | | `prompt` | string | 動画生成用のプロンプト。最大 5000 文字 | | `images` | string[] | 参照画像の URL を必ず 1 つ指定します。`.jpg`、`.jpeg`、`.png` に対応し、ファイルサイズは 50 MB 以下である必要があります。幅と高さはそれぞれ 300 px 以上、画像のアスペクト比は 1:2.5 から 2.5:1 の範囲である必要があります | | `videos` | string[] | 参照動画の URL を必ず 1 つ指定します。`.mp4`、`.mov` に対応し、ファイルサイズは 100 MB 以下である必要があります。幅と高さはそれぞれ 340 px 以上 3850 px 以下である必要があります。動画の長さは 3 秒以上とし、上限は `character_orientation` によって異なります | | `character_orientation` | string | 必須で、デフォルト値はありません。`"image"`:参照画像内のキャラクターの向きに従います。参照動画の長さは 3~10 秒である必要があります。`"video"`:参照動画内のキャラクターの向きに従います。参照動画の長さは 3~30 秒である必要があります。どちらの範囲も下限と上限を含みます | | `resolution` | string | 出力解像度:`"720p"` または `"1080p"`。必須で、デフォルト値はありません | #### 任意 | パラメータ | 型 | 説明 | |-----------|------|-------------| | `keep_original_sound` | boolean | 参照動画の元の音声を保持するかどうか。`true` または `false` を指定でき、デフォルトは `true` です | 出力動画の長さは元の動画に従います。`duration` パラメータには対応していません。出力アスペクト比は入力メディアによって決まり、`aspect_ratio` には対応していません。上流プロバイダーは、どの入力が出力アスペクト比を決定するか、またその具体的な選択ルールを明示していません。 料金は、元の動画の長さを最も近い整数秒に四捨五入した値と、選択した出力解像度に基づいて計算されます。たとえば、5.4 秒は 5 秒、5.5 秒は 6 秒として課金されます。 ### リクエスト例 サンプルのメディア URL を、上記の要件を満たすご自身のファイルの URL に置き換えてください。 ```javascript const response = await fetch('https://api.flaq.ai/api/v1/video/task', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ model_name: 'kling-2.6-motion-control', prompt: 'Animate the character in the reference image using the dance movements from the reference video', images: ['https://example.com/character.jpg'], videos: ['https://example.com/dance-reference.mp4'], character_orientation: 'video', resolution: '720p', keep_original_sound: true }) }); const { data } = await response.json(); const taskId = data.task_id; ``` ## レスポンス形式 ### 初期レスポンス ポーリングに使用する `task_id` が返されます。 ```json { "code": 0, "message": "success", "data": { "task_id": "{task_id}", "response_url": "https://api.flaq.ai/api/v1/video/{task_id}", "task_status": "submitted" } } ``` `GET /api/v1/video/{task_id}` でポーリングし、ステータスの確認と生成された動画の取得を行います。 ### ステータス値 - `submitted`:タスクが受け付けられ、処理を待機中 - `processing`:動画を生成中 - `succeed`:動画の生成が完了 - `failed`:動画の生成に失敗 ## ベストプラクティス 1. **参照メディア**:画像を 1 枚、動画を 1 本だけ指定し、送信前に形式、ファイルサイズ、幅と高さを確認してください 2. **向き**:`character_orientation` を切り替える際、特に `"image"` を選択する場合は、参照動画の長さを再確認してください 3. **元の音声**:参照動画の元の音声を保持しない場合は、`keep_original_sound` を `false` に設定してください。省略すると音声が保持されます