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

# Kling v4 動画生成

> 単一の kling-4.0 でテキスト, 参照素材, 最初/中間/最後のキーフレームから動画を生成

3 つの入力モードで共通の `kling-4.0` を使用します. 素材から生成経路を自動選択します. 非同期 API のため, 送信後はプラットフォームのタスク ID で結果を照会します.

> [!NOTE]
>
> プラットフォームの API キーを使用します. 中国本土では `https://toapis.com` を `https://toapis.cn` に置き換えられます. 利用可否はデプロイ済みチャネル設定とアカウント権限に依存します.

## 入力モード

| モード | リクエスト内容 |
| - | - |
| テキストから動画 | プロンプトと出力仕様のみを送信します. 素材は不要です. |
| 参照素材 | `image_urls` / `video_urls` または reference ロールの素材を使用します. 画像と動画は併用できます. |
| キーフレーム | `image_with_roles` で `first_frame`, `keyframe`, `last_frame` を明示します. 参照画像や動画とは併用できません. |

## リクエストパラメータ

**Authorization** `string` *required*

`Bearer YOUR_API_KEY` で認証します.

**model** `string` *required*

常に `kling-4.0`. モード間でモデル ID を変更しません.

**prompt** `string` *required*

必須, 空白のみは不可. Unicode 文字で最大 8000 文字. 主体, 動作, カメラと素材の関係を記述します.

**duration** `integer` (default: 5)

3-30 秒の整数. 既定値は 5.

**resolution** `string` (default: 720p)

`720p` または `1080p`. 既定値は `720p`. このフィールドで解像度を指定します.

**aspect\_ratio** `string`

`auto`, `16:9`, `9:16`, `1:1`, `21:9`. 省略時は上流の既定値を維持します. 自動比率には `auto` を明示できます.

**image\_urls** `string[]`

参照画像 URL 配列, 最大 10 枚. 配列位置から最初/最後のフレームを推測しません. reference 画像ロールと合算するため同じ素材を重複させないでください.

**video\_urls** `string[]`

参照動画 URL 配列. `video_with_roles` と合計で最大 5 本.

**image\_with\_roles** `object[]`

各オブジェクトは `url` と `role` を持ちます. `reference` / `reference_image` は参照画像. `first_frame`, `keyframe`, `last_frame` は最初, 中間, 最後のフレームです.

**video\_with\_roles** `object[]`

各オブジェクトは `url` と `role` を持ちます. `reference` / `reference_video` に対応します.

**metadata** `object`

真偽値 `keep_original_sound` で参照動画の元音声を保持します. 例: `{"keep_original_sound": true}`. 参照動画のみで使用します. キーフレームでは false でもこのキーを送信できません.

**client\_business\_id** `string`

任意の顧客業務 ID. タスクに保存され, 同じ照会 API で利用できます.

## 素材ルールと検証

* 公開アクセス可能な HTTP(S) URL を使用し, ユーザー名やパスワードを含めないでください. ローカル素材は[画像アップロード](https://docs.toapis.com/docs/ja/api-reference/uploads/images.md)または[動画アップロード](https://docs.toapis.com/docs/ja/api-reference/uploads/videos.md)で URL を取得します. ローカルパスや base64 は送信しません.
* 参照モードは最大 10 画像と 5 動画. 通常配列と明示 reference ロールは合算されるため, 同じ素材を重複送信しないでください.
* キーフレームは最低 1 枚. 最初と最後は各 1 枚, 中間は最大 8 枚. 合計は `min(duration + 1, 10)` 以下です. 3 秒は 4 枚, 5 秒は 6 枚, 9-30 秒は 10 枚まで.
* 中間フレームは配列内の `keyframe` 順です. 最初と最後はロールで決まり, 通常画像の位置から推測しません. 最初のみ, 最後のみ, 中間のみでもキーフレームモードになります.
* キーフレームと参照素材は排他的です. 旧 Kling の `mode`, `audio`, `video_list` や Omni 引用構造は使用しません. `audio_with_roles`, `metadata.elements`, `metadata.voices` は非対応です.
* 不正な仕様, ロール, URL, 数量, モードの組み合わせは拒否されます. エラーを修正してから再送信してください. 本ページはサイズ, コーデック, 入力動画の長さの上限を保証しません. アップロードサービスと上流の要件も満たしてください.

## リクエスト例

### テキストから動画

```json theme={null}
{
  "model": "kling-4.0",
  "prompt": "夕日の海岸に打ち寄せる波, ゆっくり前進するカメラ",
  "duration": 5,
  "resolution": "720p",
  "aspect_ratio": "16:9"
}
```

### 参照素材

```json theme={null}
{
  "model": "kling-4.0",
  "prompt": "参照画像の人物を維持し, 参照動画のカメラワークを使う",
  "duration": 10,
  "resolution": "1080p",
  "aspect_ratio": "16:9",
  "image_urls": [
    "https://example.com/character.png"
  ],
  "video_urls": [
    "https://example.com/motion.mp4"
  ],
  "metadata": {
    "keep_original_sound": true
  }
}
```

### キーフレーム

```json theme={null}
{
  "model": "kling-4.0",
  "prompt": "最初のフレームから中間の場面を経て最後へ滑らかに遷移する",
  "duration": 5,
  "resolution": "1080p",
  "aspect_ratio": "16:9",
  "image_with_roles": [
    {
      "url": "https://example.com/first.png",
      "role": "first_frame"
    },
    {
      "url": "https://example.com/middle-1.png",
      "role": "keyframe"
    },
    {
      "url": "https://example.com/middle-2.png",
      "role": "keyframe"
    },
    {
      "url": "https://example.com/last.png",
      "role": "last_frame"
    }
  ]
}
```

### タスク送信

```bash cURL theme={null}
curl --request POST \
  --url https://toapis.com/v1/videos/generations \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "model": "kling-4.0",
  "prompt": "夕日の海岸に打ち寄せる波, ゆっくり前進するカメラ",
  "duration": 5,
  "resolution": "720p",
  "aspect_ratio": "16:9"
}'
```

```json theme={null}
{
  "id": "task_example",
  "object": "generation.task",
  "model": "kling-4.0",
  "status": "queued",
  "created_at": 1792713600
}
```

## タスク照会と課金

レスポンスの `id` はプラットフォームのタスク ID です. 供給元 task\_id ではなく下記 API で照会します. 状態は `queued`, `in_progress`, `completed`, `failed`. 詳細は[動画タスク状態](https://docs.toapis.com/docs/ja/api-reference/tasks/video-status.md)と[タスク Webhook](https://docs.toapis.com/docs/ja/api-reference/webhooks/task-webhooks.md)を参照してください.

```bash theme={null}
curl --request GET \
  --url https://toapis.com/v1/videos/generations/YOUR_TASK_ID \
  --header 'Authorization: Bearer YOUR_API_KEY'
```

既定値は 5 秒 / 720p. 明示指定で出力仕様を管理できます. 固定価格や旧 Sound 課金との同一性は保証しません. 実際の料金はアカウント見積もりとタスクの usage / billing に従います.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.