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

# マルチプロトコルおよびマルチフォーマット対応に関する説明

> 現在のプロジェクトは単一のプロトコルのみに対応しているわけではありません。導入コストを抑えるため、公開ドキュメントでは統一フォーマットを優先的に提供していますが、一部のモデル固有のネイティブ形式や専用フォーマットも併せて維持しています。

## 1. OpenAI 互換フォーマット

ほとんどの新規導入シナリオに適しており、優先的に検討すべきもの：

* `POST /v1/chat/completions`
* `POST /v1/responses`
* `GET /v1/responses/{response_id}`
* `POST /v1/images/generations`
* `POST /v1/images/edits`
* `POST /v1/videos`
* `GET /v1/videos/{task_id}`

特徴：

* SDK のエコシステムが成熟
* フィールド形式が統一されている
* マルチモデルの切り替えに適している

## 2. モデルネイティブ形式

モデル自体に専用フィールド、専用タスク構造、またはネイティブクエリプロトコルが必要な場合は、ネイティブインターフェースを公開します：

* Seedance：`/api/v3/contents/generations/tasks`
* MiniMax / Hailuo：`minimax-h3` と `hailuo-2.3` は `/v1/videos` を利用でき、`/api/v3/contents/generations/tasks` のタスク形式でも接続できます
* HappyHorse：`/api/v1/services/aigc/video-generation/video-synthesis` と `/api/v1/tasks/{task_id}`
* Vidu：`/ent/v2/text2video`、`/ent/v2/img2video`、`/ent/v2/start-end2video`、`/ent/v2/reference2video` 和 `/ent/v2/tasks/{task_id}/creations`
* Omni と Veo：`gemini-omni` は `/v1/videos` または `/api/v3/contents/generations/tasks` を使用します。Veo のネイティブ予約済みパスは `/v1beta/models/{model}:predictLongRunning` と `/v1beta/{operation_name}` です
* Gemini 画像生成：`/v1beta/models/{model}:generateContent`
* 音楽生成：`/suno/submit/music` と `/suno/fetch/{task_id}`。プロンプト記述モード、軽音楽/インストゥルメンタル、歌詞の高度モードに対応

`gemini-omni` は外部公開されている動画モデル名であり、内部の上流モデルを気にする必要はありません。動画の呼び出しでは `/v1/videos` を優先して使用しますが、Seedance のタスク形式 `/api/v3/contents/generations/tasks` も使用できます。`mode=t2v/r2v/edit` はそれぞれテキストから動画生成、参考生成、動画編集を表し、duration フィールドは 4 / 6 / 8 / 10 秒のいずれかに自動でマッチします。

以下の場合に適しています：

* モデル固有のフィールドが多い
* ネイティブなリクエストボディ構造が必要
* アップストリームの公式形式に近い状態を維持する必要がある

## 3. モデル専用ビデオインターフェース

現在、以下のような少数のモデル専用インターフェースも公開されています：

* `POST /kling/v1/videos/text2video`
* `POST /kling/v1/videos/image2video`
  以下の場合に適しています：
* すでに対応するモデル専用プロトコルに基づいて統合されている
* そのモデル専用のパラメータモードを使用する必要がある

## 4. 選択のアドバイス

1. 新規プロジェクトでは OpenAI 互換フォーマットを優先して使用します。
2. 互換形式でモデル固有のフィールドをカバーできない場合に限り、ネイティブ形式に切り替えてください。
3. 長期タスクインターフェースでは、「作成インターフェース」と「クエリインターフェース」を明確に区別し、`task_id` または `operation_name` を保存してください。
4. 同一モデルに複数の呼び出し形式が存在する場合、対応するインターフェースページのサポートフィールドを基準とし、リクエストボディを混用しないでください。
