# 動画生成 API

> LMU AI 動画生成 API の概要：Seedance と Wan の選び方に加え、認証・非同期タスク・課金・同時実行数の上限・エラーコードに関する共通ルールを説明します。

URL: https://docs.lmuai.com/ja/docs/api/video-generation



LMU AI は 2 種類の**非同期**動画生成 API を提供しており、いずれもベンダーの**ネイティブプロトコル**を使用します。公式 SDK や curl コマンドのアドレスを LMU AI のアドレスに、キーを LMU AI の API キーに置き換えるだけで、リクエストボディはそのまま使えます。このページは概要です。下の表から API を選び、各プロバイダーのページを参照してください。両プロバイダーに共通するルール（認証、課金、同時実行数の上限、エラーコード）はこのページに記載しています。

<Callout type="info" title="ベース URL">
  ```text
  https://api.lmuai.com
  ```

  | プロバイダー                   | タスク作成                                                         | タスク照会                                         | ドキュメント                                           |
  | ------------------------ | ------------------------------------------------------------- | --------------------------------------------- | ------------------------------------------------ |
  | Seedance（Volcengine Ark） | `POST /api/v3/contents/generations/tasks`                     | `GET /api/v3/contents/generations/tasks/{id}` | [Seedance 動画生成 API](/ja/docs/api/seedance-video) |
  | Wan（Alibaba DashScope）   | `POST /api/v1/services/aigc/video-generation/video-synthesis` | `GET /api/v1/tasks/{task_id}`                 | [Wan 動画生成 API](/ja/docs/api/wan-video)           |
</Callout>

<Callout type="warn" title="グループで動画生成を有効にする必要があります">
  API キーのグループで「動画生成」が有効になっている必要があります。有効でない場合、呼び出しは `403` を返します。実際に呼び出せるモデルは API キーによって異なります。`GET /v1/models` で確認してください。
</Callout>

## 1. 2 つの API の選び方 [#compare]

|               | Seedance（Volcengine Ark）                                    | Wan（Alibaba DashScope）                                      |
| ------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
| モデル例          | `seedance-2.5`                                              | `wan3.0-video`                                              |
| 課金            | 出力トークン数に基づく                                                 | 「実際の秒数 × 解像度ランクごとの単価」に基づく                                   |
| 解像度の値         | `480p` / `720p` / `1080p`（小文字）                              | `480P` / `720P` / `1080P`（大文字）、デフォルトは `1080P`               |
| タスクのステータス     | `queued` → `running` → `succeeded` / `failed` / `cancelled` | `PENDING` → `RUNNING` → `SUCCEEDED` / `FAILED` / `CANCELED` |
| 動画 URL のフィールド | `content.video_url`                                         | `output.video_url`                                          |
| タスクのキャンセル     | キュー待ち（`queued`）のタスクはキャンセル可能                                 | キャンセル用エンドポイントなし。送信したタスクは必ず完了まで実行されます                        |

モデル名は、グループで有効化されている名前と**完全に**一致している必要があります（大文字と小文字を区別）。2 つの API はフィールド名が似ていますが、大文字・小文字の使い分けやパスが異なるため、サンプルをコピーする際に混同しないよう注意してください。

## 2. 認証 [#auth]

すべてのリクエストのヘッダーで API キーを送信してください：

```http
Authorization: Bearer YOUR_API_KEY
```

API キーをブラウザのフロントエンドコード、公開リポジトリ、URL のクエリ文字列、ログに含めないでください。API は自社のサーバーから呼び出してください。

## 3. 非同期タスクの流れ [#flow]

1. **作成**：`POST` はタスク ID のみを返し、動画の完成を待ちません。
2. **ポーリング**：最終状態（成功／失敗／キャンセル）になるまで、約 10 秒ごとにタスクを `GET` します。
3. **参照画像**：API 呼び出しでは、公開アクセス可能な画像 URL（JPG / PNG / WebP）を渡す必要があります。コンソールの「動画生成」ページではローカル画像のアップロードが可能です。
4. **ダウンロード**：成功したら、レスポンスから動画リンクを取得します。アップストリームのリンクは **24 時間有効**なので、早めにダウンロードしてください。プラットフォームは完成した各動画のコピーを保存しており、コンソールの「動画タスク」ページで再生・ダウンロードできます。

<Callout type="info" title="ポーリングを停止しても精算は行われます">
  送信後、プラットフォームはバックグラウンドでタスクを追跡し、照会を停止しても通常どおり精算します。失敗またはキャンセルされたタスクは課金されません。
</Callout>

作成からポーリングまでの完全なサンプルは、[Seedance](/ja/docs/api/seedance-video#poll-example) と [Wan](/ja/docs/api/wan-video#poll-example) のページを参照してください。

## 4. 課金とウォーターマーク [#billing]

* タスク作成時に見積額が凍結されます。残高が不足している場合、リクエストは即座に拒否され（`402`）、動画は生成されません。
* 成功時には実際の使用量に基づいて 1 回だけ精算され、凍結額の超過分は自動的に返却されます。失敗またはキャンセルされたタスクは全額返金され、課金されません。
* Seedance は出力トークン数に基づいて課金され、Wan は「実際の秒数 × 解像度ランクごとの単価」に基づいて課金されます。
* 完成した動画にはプラットフォームの「AI生成」ラベルが付与され、クライアント側でオフにすることはできません。

## 5. 同時実行数の上限 [#limits]

各ユーザーおよび各 API キーで同時に生成できるタスクは最大 **5** 件です。これを超えると、リクエストは `Retry-After` ヘッダー（約 60 秒）付きで `429` を返します。待機してから再試行してください。

## 6. エラーコード [#errors]

| HTTP                  | 意味                                                  | 対処方法                               |
| --------------------- | --------------------------------------------------- | ---------------------------------- |
| `401`                 | API キーが無効、または無効化されている                               | API キーを確認してください                    |
| `402`                 | 見積額を凍結するための残高またはクォータが不足している                         | チャージしてから再試行してください                  |
| `403`                 | グループで動画生成が有効になっていない、またはグループでモデルが利用できない              | 動画生成に対応した API キーを使用してください          |
| `404 model_not_found` | モデルがまだ利用できない（モデル名のスペルミスでも発生します）                     | `GET /v1/models` が返す正確な名前を使用してください |
| `409`                 | タスクがすでに生成を開始しており、キャンセルできない（Seedance のキャンセル用エンドポイント） | タスクの完了を待ってください                     |
| `429`                 | 実行中のタスク数が上限に達している                                   | `Retry-After` に従って待機してから再試行してください  |

一般的なエラーについては、[エラーコード](/ja/docs/guide/errors)を参照してください。

## 7. プロバイダーページ [#providers]

* [Seedance 動画生成 API](/ja/docs/api/seedance-video)：タスクの作成・照会・一覧取得・キャンセル、パラメータ、先頭フレーム参照画像に関する注意事項、および完全なポーリングのサンプル。
* [Wan 動画生成 API](/ja/docs/api/wan-video)：タスクの作成・照会、パラメータ、および完全なポーリングのサンプル。
