> ## Documentation Index
> Fetch the complete documentation index at: https://docs.acedata.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Kling Videos Generation API 接続説明

> Kling video generation API guide - Ace Data Cloud

本文では、Kling Videos Generation API 接続説明を紹介します。これは、カスタムパラメータを入力することでKling公式の動画を生成することができます。

## 申請プロセス

Kling Videos Generation APIを使用するには、まず [Ace Data Cloud コンソール](https://platform.acedata.cloud/console/applications) にアクセスしてAPIトークンを取得し、保管してください。

![](https://cdn.acedata.cloud/5hmkdg.jpg)

まだログインまたは登録していない場合は、自動的にログインページにリダイレクトされ、登録とログインを促されます。完了後、現在のページに自動的に戻ります。

**1つのAPIトークンでプラットフォームのすべてのサービスを呼び出すことができ、各サービスごとに個別に申請する必要はありません。** 初回申請時には無料のクレジットが付与され、無料で体験できます。クレジットが不足した場合は、[コンソール](https://platform.acedata.cloud/console/coin) で一般残高をチャージできます。

> 📘 完全なドキュメント：[Kling Videos Generation API →](https://platform.acedata.cloud/documents/kling-videos)

## 基本使用

まず、基本的な使用方法を理解します。これは、プロンプト `prompt`、生成行動 `action`、初フレーム参照画像 `start_image_url`、およびモデル `model` を入力することで処理された結果を得ることができます。まず、単純に `action` フィールドを渡す必要があります。その値は `text2video` で、主に3つの行動が含まれます：文生動画（`text2video`）、図生動画（`image2video`）、拡張動画（`extend`）。次に、モデル `model` を入力する必要があります。現在、主に `kling-v1`, `kling-v1-6`, `kling-v2-master`, `kling-v2-1-master`, `kling-v2-5-turbo`, `kling-v2-6`, `kling-v3`, `kling-v3-omni`, `kling-o1` モデルがあります。具体的な内容は以下の通りです：

<p>
  <img src="https://cdn.acedata.cloud/ke1bok.png" width="500" className="m-auto" />
</p>

ここでは、リクエストヘッダーを設定しています。これには以下が含まれます：

* `accept`：受け取りたいレスポンス結果の形式。ここでは `application/json`、つまりJSON形式を記入します。
* `authorization`：APIを呼び出すためのキー。申請後、直接ドロップダウンから選択できます。

また、リクエストボディを設定しています。これには以下が含まれます：

* `model`：生成する動画のモデル。主に `kling-v1`, `kling-v1-6`, `kling-v2-master`, `kling-v2-1-master`, `kling-v2-5-turbo`, `kling-v2-6`, `kling-v3`, `kling-v3-omni`, `kling-o1` モデルがあります。
* `mode`：生成する動画のモード。選択肢は標準モード `std`、高速モード `pro`、およびネイティブ4Kモード `4k` です。`4k` は `kling-v3` と `kling-v3-omni` のみサポートされ、`camera_control`（カメラ制御）とは互換性がありません。
* `action`：今回の動画生成タスクの行動。主に3つの行動が含まれます：文生動画（`text2video`）、図生動画（`image2video`）、拡張動画（`extend`）。
* `start_image_url`：図生動画行動 `image2video` を選択した場合に必ずアップロードする必要がある初フレーム参照画像のリンク。
* `end_image_url`：図生動画時にオプションで指定する尾フレーム。
* `duration`：動画の長さ、単位は秒。`kling-v3` と `kling-v3-omni` は3-15秒の整数長をサポート；`kling-o1` は5秒のみサポート；他のモデルは5または10秒をサポート。
* `generate_audio`：音声を同期生成するかどうか、オプション、ブール値。`kling-v3`、`kling-v3-omni`、および `kling-v2-6`（プロモードのみ）をサポート。デフォルトは `false`。
* `aspect_ratio`：動画のアスペクト比、オプション、`16:9`、`9:16`、`1:1` をサポート、デフォルトは `16:9`。
* `cfg_scale`：関連性の強度、範囲 \[0,1]、大きいほどプロンプトに合致します。
* `camera_control`：オプション、カメラの動きを制御するオブジェクトパラメータ、type/simpleプリセットおよびhorizontal、vertical、pan、tilt、roll、zoomなどの設定をサポート。
* `negative_prompt`：オプション、出現してほしくない逆プロンプト、最大200文字。
* `image_list`：Omni参照画像リスト、モデル `kling-o1` と `kling-v3-omni` に適用、使用法は下記「Omni全能参照」を参照。
* `video_list`：Omni参照動画リスト（動画編集をサポート）、モデル `kling-o1` と `kling-v3-omni` に適用、使用法は下記「Omni全能参照」を参照。
* `prompt`：プロンプト。
* `callback_url`：結果をコールバックする必要があるURL。
* `async`：オプション、`true` に設定するとインターフェースはすぐに `task_id` を返し、`callback_url` を提供する必要がなく、その後対応するタスククエリインターフェースを通じて結果をポーリングして取得します。

選択後、右側にも対応するコードが生成されていることがわかります。以下のように：

<p>
  <img src="https://cdn.acedata.cloud/3yjql0.png" width="500" className="m-auto" />
</p>

「Try」ボタンをクリックするとテストが行えます。上記のように、以下の結果が得られました：

```json theme={null}
{
  "success": true,
  "video_id": "900798310464749610",
  "video_url": "https://platform2.cdn.acedata.cloud/kling/6c68c267-065b-4423-b66b-a0e4c59ee0d5.mp4",
  "duration": "5.041",
  "state": "succeed",
  "task_id": "6c68c267-065b-4423-b66b-a0e4c59ee0d5"
}
```

返された結果には複数のフィールドがあり、以下のように説明されます：

* `success`：この時点での動画生成タスクの状態。
* `task_id`：この時点での動画生成タスクID。
* `video_id`：この時点での動画生成タスクの動画ID。
* `video_url`：この時点での動画生成タスクの動画リンク。
* `duration`：この時点での動画生成タスクの動画の長さ。
* `state`：この時点での動画生成タスクの状態。

満足のいく動画情報が得られたことがわかります。結果の `data` の動画リンクアドレスに基づいて生成されたKling動画を取得するだけです。

また、対応する接続コードを生成したい場合は、生成されたものを直接コピーできます。例えば、CURLのコードは以下の通りです：

```shell theme={null}
curl -X POST 'https://api.acedata.cloud/kling/videos' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "text2video",
  "model": "kling-v3",
  "prompt": "White ceramic coffee mug on glossy marble countertop with morning window light. Camera slowly rotates 360 degrees around the mug, pausing briefly at the handle."
}'
```

## モデル能力マトリックス

異なるモデルはパラメータのサポート状況が大きく異なります。以下のマトリックスは [Kling公式video modelsドキュメント](https://app.klingai.com/global/dev/document-api/apiReference/model/videoModels) から整理されたもので、呼び出す前に現在の `model` / `mode` / `duration` の組み合わせが必要な機能をサポートしているかどうかを確認してください。そうでない場合、上流から `model/mode/duration(...) is not supported with image_tail` などのエラーが返されます。

| モデル                 | モード            | `end_image_url`（首尾フレーム） | `generate_audio`（伴音） | `camera_control`（運カメラ） | 備考                                                     |
| ------------------- | -------------- | ----------------------- | -------------------- | ---------------------- | ------------------------------------------------------ |
| `kling-v1`          | std / pro      | ✅ 仅 `duration=5`        | ❌                    | ✅ 仅 `duration=5`       | `extend` は `negative_prompt` と `cfg_scale` をサポートしていません |
| `kling-v1-6`        | std            | ❌                       | ❌                    | ❌                      | 複数画像から動画生成、`extend` 全モード利用可能                           |
| `kling-v1-6`        | pro            | ✅                       | ❌                    | ❌                      |                                                        |
| `kling-v2-master`   | —              | ❌                       | ❌                    | ❌                      | 単一モード、`duration=5/10` のみ                               |
| `kling-v2-1-master` | —              | ❌                       | ❌                    | ❌                      | 単一モード、`duration=5/10` のみ                               |
| `kling-v2-5-turbo`  | std            | ❌                       | ❌                    | ❌                      |                                                        |
| `kling-v2-5-turbo`  | pro            | ✅                       | ❌                    | ❌                      |                                                        |
| `kling-v2-6`        | std            | ❌                       | ❌                    | ❌                      |                                                        |
| `kling-v2-6`        | pro            | ✅                       | ✅                    | ❌                      | 唯一の伴音を同時にサポートする非 v3 モデル                                |
| `kling-v3`          | std / pro      | ✅                       | ✅                    | ✅                      | `duration` 範囲 3–15 秒                                   |
| `kling-v3`          | 4k             | ✅                       | ✅                    | ❌                      | 4K モードは運カメラと互換性がありません                                  |
| `kling-v3-omni`     | std / pro / 4k | ✅                       | ✅                    | ❌                      |                                                        |
| `kling-o1`          | std / pro      | ✅                       | ❌                    | ❌                      | `duration=5` のみサポート                                    |

注意事項：

* `mode=4k` は `kling-v3` と `kling-v3-omni` のみサポート；また、`camera_control`（運カメラ）とは排他的です。
* `end_image_url` は `action=image2video` の場合にのみ `start_image_url` と併用できます。`end_image_url` のみ（`start_image_url` なし）を送信すると拒否されます。
* `kling-v3` / `kling-v3-omni` は任意の 3–15 秒の整数 `duration` を受け入れます；`kling-o1` は 5 のみ；他のモデルは 5 または 10 のみ受け入れます。
* `generate_audio` はデフォルトで `false` です。`kling-v3`、`kling-v3-omni` および `kling-v2-6`（pro モード）のみサポート。

## 動画拡張機能

既に生成されたKling動画を続けて生成したい場合は、パラメータ `action` を `extend` に設定し、続けて生成する動画の ID を入力します。動画 ID の取得は基本的な使用に基づいて行います。以下の図のように：

<p>
  <img src="https://cdn.acedata.cloud/om6p6g.png" width="500" className="m-auto" />
</p>

この時、動画の ID は次のようになります：

```
"video_id": "030bb06d-98d4-4044-9042-0aa0822e8c8c"
```

> 注意：ここでの動画の `video_id` は生成後の動画の ID です。動画の生成方法がわからない場合は、上記の基本的な使用を参考にしてください。

次に、拡張するためのプロンプトを入力して動画をカスタマイズする必要があります。以下の内容を指定できます：

* `model`：動画生成に使用するモデル、主に `kling-v1` 、`kling-v1-5` および `kling-v1-6` モデル。
* `mode`：動画生成のモード、選択肢は標準モード `std`、超高速モード `pro` およびネイティブ 4K モード `4k`（`kling-v3` と `kling-v3-omni` のみサポート、運カメラ制御とは互換性がありません）。
* `duration`：今回の動画生成タスクの動画の長さ、主に5秒と10秒を含みます。
* `start_image_url`：画像から動画生成行動 `image2video` を選択した場合、必ずアップロードする必要がある初フレームの参考画像リンク。
* `prompt`：プロンプト。

記入例は以下の通りです：

<p>
  <img src="https://cdn.acedata.cloud/ejimqy.png" width="500" className="m-auto" />
</p>

記入が完了すると、自動的に以下のコードが生成されます：

<p>
  <img src="https://cdn.acedata.cloud/52x4u5.png" width="500" className="m-auto" />
</p>

対応する Python コード：

```python theme={null}
import requests

url = "https://api.acedata.cloud/kling/videos"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "extend",
    "model": "kling-v1",
    "video_id": "030bb06d-98d4-4044-9042-0aa0822e8c8c",
    "prompt": "白いセラミックのコーヒーマグが光沢のある大理石のカウンタートップにあり、朝の窓の光が当たっています。カメラはマグの周りを360度ゆっくり回転し、ハンドルのところで一時停止します。",
    "duration": 10
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

実行すると、次のような結果が得られます：

```json theme={null}
{
  "success": true,
  "video_id": "bbc3b105-ac72-4de2-8390-0cb37dc7d41e",
  "video_url": "https://cdn.klingai.com/bs2/upload-kling-api/7822108635/extendVideo/Cjil4mfBfs0AAAAAAKhr6A-0_raw_video_1.mp4",
  "duration": "9.6",
  "state": "succeed",
  "task_id": "3ece87e6-3ee3-4f5e-bd70-5ae5eca89a23"
}
```

結果の内容が上記と一致していることがわかり、動画の拡張機能が実現されました。

## Omni 全能参考（動画編集 / 参考動画 / 複数画像参考）

`kling-o1` と `kling-v3-omni` は二つの独立したモデルで、両者は「全能参考」機能をサポートしています。文から動画（`action=text2video`）の基本に加え、参考画像や参考動画を追加することで、**複数画像参考、参考動画、既存動画の直接編集**を実現します。

**核心的な約束**：参考素材は `prompt` 内で `&lt;&lt;<image_1>>>`、`&lt;&lt;<video_1>>>` の形式（番号は1から始まる）で `image_list` / `video_list` の対応する位置の素材を引用する必要があります。そうしないと、モデルはこれらの参考を適用しません。素材を送信するだけでプロンプト内で引用しない場合、素材は無視されます。

> 安全に関する説明：現在の API は `element_list` を公開していません。Kling Element Library の上流 ID は提供者アカウントの名前空間に属し、テナント隔離の Element Management API を提供する前に、顧客は `image_list` を使用して主体参考画像を送信する必要があります。

Omni リクエストは `negative_prompt`、`cfg_scale` または `camera_control` をサポートしておらず、`mode=4k` を使用することもできません。参考動画を含む場合、`generate_audio` は `false` でなければなりません。

### 参考動画と動画編集（`video_list`）

`video_list` は参考動画を渡すために使用されるもので、本機能で最も一般的なシーンです。配列要素のフィールドは以下の通りです：

* `video_url`：参考動画のリンク、空にすることはできません。要件：形式 MP4/MOV；解像度 720px–2160px；長さ 3–10 秒；フレームレート 24–60fps；ファイルサイズ ≤200MB；最大 1 本の動画。
* `refer_type`：参考タイプ、選択肢 `base`（デフォルト、**編集対象の基本動画**、つまり「動画を直接編集する」、要素の追加/削除/変更、構図の変更、スタイルの変更、色の変更、天候の変更などが可能）または `feature`（**特徴参考**、そのスタイル / カメラワーク / 次のショットの続きとして参考にする）。
* `keep_original_sound`：元の動画音声を保持するかどうか、選択肢 `yes`（保持）または `no`（削除）。

> 注意：参考動画が存在する場合、`generate_audio` は `false` でなければなりません。`refer_type=base` の動画では、初フレーム / 終フレームを指定することはできません。

既存の動画を編集する（動画をアニメスタイルに変更する）CURL の例は以下の通りです：

```shell theme={null}
curl -X POST 'https://api.acedata.cloud/kling/videos' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "text2video",
  "model": "kling-o1",
  "mode": "std",
  "duration": 5,
  "prompt": "<<<video_1>>> を映画レベルのアニメスタイルに変更し、元の動きと構図を保持する",
  "video_list": [
    {
      "video_url": "https://cdn.acedata.cloud/your-reference-video.mp4",
      "refer_type": "base",
      "keep_original_sound": "no"
    }
  ]
}'
```

### 多画像参考（`image_list`）

`image_list` は参考画像（要素 / シーン / スタイルなど）を渡すために使用され、配列要素のフィールドは以下の通りです：

* `image_url`：参考画像のリンク、空にすることはできません。要件：形式 .jpg/.jpeg/.png；ファイルサイズ ≤10MB；最短辺 ≥300px；アスペクト比 1:2.5 \~ 2.5:1。
* `type`：オプション。指定しない場合は純粋な参考画像として扱われます；`first_frame` / `end_frame` を指定した場合、それぞれ初フレーム / 終フレームとして扱われます（`start_image_url` / `end_image_url` と同等）。

使用時には `prompt` 内で `&lt;&lt;<image_1>>>`、`&lt;&lt;<image_2>>>` として参照する必要があります。数量制限：参考動画が存在しない場合、参考画像は ≤ 7；参考動画が存在する場合、参考画像は ≤ 4。初フレーム / 終フレームのみを渡す場合は、`start_image_url` / `end_image_url` を直接使用することもできますが、終フレームは初フレームと一緒に使用する必要があります。

> 注意：`start_image_url` / `end_image_url` と `image_list` を同時に渡す場合、初フレーム / 終フレームは `image_list` の前に配置され、`&lt;&lt;<image_N>>>` の番号対応関係に影響を与える可能性があります。どちらか一方を選択することをお勧めします：初フレーム / 終フレームが必要な場合は、直接 `image_list` 内で `type` を指定し、`start_image_url` / `end_image_url` と混用しないでください。

多画像参考で動画を生成するCURLの例：

```shell theme={null}
curl -X POST 'https://api.acedata.cloud/kling/videos' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "text2video",
  "model": "kling-o1",
  "mode": "std",
  "duration": 5,
  "prompt": "<<<image_1>>> の中の人物を <<<image_2>>> のシーンに立たせ、映画的な光を演出する",
  "image_list": [
    { "image_url": "https://cdn.acedata.cloud/subject.png" },
    { "image_url": "https://cdn.acedata.cloud/scene.png" }
  ]
}'
```

## 非同期コールバック

Kling Videos Generation API の生成時間は比較的長く、約 1-2 分かかります。API が長時間応答しない場合、HTTP リクエストは接続を維持し続け、追加のシステムリソースを消費するため、本 API では非同期コールバックのサポートも提供しています。

全体の流れは次の通りです：クライアントがリクエストを発行する際に、追加で `callback_url` フィールドを指定します。クライアントが API リクエストを発行した後、API はすぐに結果を返し、現在のタスク ID を示す `task_id` フィールド情報を含みます。タスクが完了すると、生成された動画の結果が POST JSON 形式でクライアントが指定した `callback_url` に送信され、その中にも `task_id` フィールドが含まれます。これにより、タスクの結果を ID で関連付けることができます。

以下の例を通じて、具体的にどのように操作するかを理解しましょう。

まず、Webhook コールバックは HTTP リクエストを受け取ることができるサービスで、開発者は自分が構築した HTTP サーバーの URL に置き換える必要があります。ここでは、便利なデモのために公開された Webhook サンプルサイト [https://webhook.site/](https://webhook.site/) を使用します。このサイトを開くと、Webhook URL が得られます。

![](https://cdn.acedata.cloud/tbcnai.png)

この URL をコピーすれば、Webhook として使用できます。このサンプルは `https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3` です。

次に、`callback_url` フィールドを上記の Webhook URL に設定し、対応するパラメータを入力します。具体的な内容は以下の通りです：

<p>
  <img src="https://cdn.acedata.cloud/vdx12s.png" width="500" className="m-auto" />
</p>

実行をクリックすると、すぐに結果が得られます：

```
{
  "task_id": "20068983-0cc9-4c6a-aeb6-9c6a3c668be0"
}
```

少し待つと、`https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3` で生成された動画の結果を確認できます。

![](https://cdn.acedata.cloud/zv5u2q.png)

内容は以下の通りです：

```json theme={null}
{
    "success": true,
    "video_id": "030bb06d-98d4-4044-9042-0aa0822e8c8c",
    "video_url": "https://cdn.klingai.com/bs2/upload-kling-api/7822108635/text2video/CjJzzGfBfqcAAAAAAKdVMQ-0_raw_video_1.mp4",
    "duration": "5.1",
    "state": "succeed",
    "task_id": "20068983-0cc9-4c6a-aeb6-9c6a3c668be0"
}
```

結果には `task_id` フィールドが含まれており、他のフィールドは上記と似ています。このフィールドを通じてタスクの関連付けが可能です。

## エラー処理

API を呼び出す際にエラーが発生した場合、API は対応するエラーコードと情報を返します。例えば：

* `400 token_mismatched`：不正なリクエスト、パラメータが欠落または無効である可能性があります。
* `400 api_not_implemented`：不正なリクエスト、パラメータが欠落または無効である可能性があります。
* `401 invalid_token`：認証されていない、無効または欠落した認証トークン。
* `429 too_many_requests`：リクエストが多すぎます、レート制限を超えました。
* `500 api_error`：内部サーバーエラー、サーバーで何かがうまくいきませんでした。

### エラー応答の例

```json theme={null}
{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "取得に失敗しました"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}
```

## 結論

この文書を通じて、Kling Videos Generation APIを使用して、入力プロンプトと最初のフレームの参照画像を使用して動画を生成する方法を理解しました。この文書が、APIとの接続や使用をより良くする手助けとなることを願っています。ご不明な点がございましたら、いつでも当社の技術サポートチームにお問い合わせください。
