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

# MiniMax H3

> MiniMax H3の動画生成パラメータ、マルチモーダル入力、出力設定。

`MiniMax-H3`は、テキストから動画への生成、フレームベースの画像から動画への生成、およびマルチモーダル参照生成をサポートします。`model`と`prompt`はルートに置き、プロバイダーのコンテンツおよび出力の制御項目は`metadata`内に配置してください。

`POST https://api.mixroute.ai/v1/video/generations`

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

| フィールド | 型 | 必須 | 説明 |
| - | - | - | - |
| `model` | string | はい | 大文字と小文字を区別するMixRouteのモデルID、`MiniMax-H3`を使用してください。 |
| `prompt` | string | はい | MixRouteのプロンプト。`metadata.content`内のテキストと整合させてください。 |
| `metadata` | object | はい | 以下の必須プロバイダーフィールドを格納するコンテナ。 |
| `metadata.content` | object\[] | はい | マルチモーダル入力のリストです。すべてのリクエストに、空でない`text`項目を少なくとも1つ含める必要があります。テキストのみの生成にはテキスト項目を1つ使用します。画像/動画/音声の入力は、以下のモードのルールに従う必要があります。 |
| `metadata.resolution` | string | はい | 出力解像度: `768P`または`2K`。大文字・小文字を正確に指定してください。値を明示的に指定してください。 |
| `metadata.duration` | integer | はい | 出力の長さを4〜15秒の整数で指定します（両端を含む）。値を明示的に指定してください。 |
| `metadata.ratio` | string | 条件付き | 値：`adaptive`、`21:9`、`16:9`、`4:3`、`1:1`、`3:4`、`9:16`。デフォルトは`adaptive`ですが、テキストのみから生成する場合は、具体的な比率を明示的に選択する必要があります。フレームに基づく生成では、常に入力画像の比率を使用します。 |
| `metadata.callback_url` | string | いいえ | タスクのステータス変更に対するコールバックURL。最初のリクエストには`challenge`が含まれ、これを3秒以内に変更せず返す必要があります。その後のPOST通知はプロバイダーのタスク照会スキーマを使用し、ステータスは`queued`、`running`、`succeeded`、`failed`、または`cancelled`です。 |

## コンテンツ項目

| フィールド | 型 | 必須 | 説明 |
| - | - | - | - |
| `metadata.content[].type` | string | はい | `text`、`image_url`、`video_url`、または`audio_url`。 |
| `metadata.content[].text` | string | 条件付き | テキスト項目では必須です。空にはできず、1項目あたり最大7000文字です。 |
| `metadata.content[].image_url.url` | string | 条件付き | 画像項目では必須。公開URL、アクセス可能な`mm_file://{file_id}`、または形式名を小文字で指定した`data:image/<format>;base64,...`。 |
| `metadata.content[].video_url.url` | string | 条件付き | 動画の参照では必須です。公開URL、アクセス可能な`mm_file://{file_id}`、または`data:video/mp4;base64,...`。 |
| `metadata.content[].audio_url.url` | string | 条件付き | 音声参照では必須。公開URL、アクセス可能な`mm_file://{file_id}`、または形式名を小文字で指定した`data:audio/<format>;base64,...`。 |
| `metadata.content[].role` | string | 条件付き | フレームベースの生成には`first_frame`または`last_frame`を使用してください。ロールを指定せずに画像を1枚渡すと、デフォルトで最初のフレームになります。参照入力には、コンテンツの種類に合わせて`reference_image`、`reference_video`、`reference_audio`を使用します。 |

## 入力モード

| モード | `metadata.content` | `metadata.ratio` |
| - | - | - |
| テキストから動画 | `text` | 具体的な比率の指定が必須です。`adaptive`は使用できません。 |
| 最初のフレーム | `text` + `image_url` (`first_frame`) | 常に`adaptive`です。他の有効な比率を指定しても無視されます。 |
| 最後のフレーム | `text` + `image_url` (`last_frame`) | 常に`adaptive`で、画像に合わせます。 |
| 最初と最後のフレーム | `text` + 2 `image_url` (`first_frame`, `last_frame`) | 常に`adaptive`です。他の有効な比率を指定しても無視されます。 |
| 参照から動画への生成 | `text` + `reference_*` | 任意。デフォルトは`adaptive`です。具体的な比率を指定できます。 |

フレーム用のロールと参照用のロールは併用できません。プロバイダーのファイルIDは、上流アカウントからアクセスできる必要があります。これらはMixRouteのタスクIDではありません。このページで扱うのは`MiniMax-H3`であり、その他のH3バリアントではありません。

## メディアの制限

| メディア | 制約 |
| - | - |
| 画像 | JPG/JPEG/PNG/WebP/HEIC/HEIF。1ファイルあたり最大30 MB、各辺のサイズは256～5760 px、アスペクト比は0.4～2.5。最初のフレームは最大1枚、最後のフレームは最大1枚、または参照画像は最大9枚です。 |
| 参照動画 | MP4/MOV。動画はH.264/H.265、音声はAAC/MP3。各ファイルは最大50 MB、クリップ数は最大3、各クリップは2～15秒、合計は最大15秒です。寸法は256～5760 px、アスペクト比は0.4～2.5、フレームレートは23.976～60 fpsです。 |
| 参照音声 | WAV/MP3。各ファイル最大15 MB、クリップ数は最大3、各クリップは2～15秒、合計は最大15秒。 |
| リクエスト | Base64のオーバーヘッドを含めて最大64 MBです。大きな入力には公開URLを優先してください。 |

## 例

APIを呼び出す前に`MIXROUTE_API_KEY`を設定してください。メディアのプレースホルダーは、アクセス可能な入力に置き換えてください。受け付けられたリクエストは課金対象の生成タスクを作成します。送信がタイムアウトしても自動的に再送信しないでください。

<Tabs>
  <Tab title="テキストから動画を生成">
    ```bash theme={null}
    curl --location "https://api.mixroute.ai/v1/video/generations" \
      --header "Authorization: Bearer $MIXROUTE_API_KEY" \
      --header "Content-Type: application/json" \
      --data '{
      "model": "MiniMax-H3",
      "prompt": "A blue circle gently pulses on a clean white background.",
      "metadata": {
        "content": [
          {
            "type": "text",
            "text": "A blue circle gently pulses on a clean white background."
          }
        ],
        "resolution": "768P",
        "duration": 4,
        "ratio": "9:16"
      }
    }'
    ```
  </Tab>

  <Tab title="最初と最後のフレーム">
    ```bash theme={null}
    curl --location "https://api.mixroute.ai/v1/video/generations" \
      --header "Authorization: Bearer $MIXROUTE_API_KEY" \
      --header "Content-Type: application/json" \
      --data '{
      "model": "MiniMax-H3",
      "prompt": "A professor is teaching a class in a classroom.",
      "metadata": {
        "content": [
          {
            "type": "text",
            "text": "A professor is teaching a class in a classroom."
          },
          {
            "type": "image_url",
            "image_url": {
              "url": "https://static.freebeatfit.com/aiImageEdit/result/L001510027166320955392/1780060289776-1.png"
            },
            "role": "first_frame"
          },
          {
            "type": "image_url",
            "image_url": {
              "url": "https://static.freebeatfit.com/aiImageEdit/result/M1509975287180300288_0004_1780047826.png"
            },
            "role": "last_frame"
          }
        ],
        "resolution": "768P",
        "duration": 4,
        "ratio": "adaptive"
      }
    }'
    ```
  </Tab>

  <Tab title="動画と音声の参照">
    ```bash theme={null}
    curl --location "https://api.mixroute.ai/v1/video/generations" \
      --header "Authorization: Bearer $MIXROUTE_API_KEY" \
      --header "Content-Type: application/json" \
      --data '{
      "model": "MiniMax-H3",
      "prompt": "Preserve the scene in the reference video and follow the reference audio.",
      "metadata": {
        "content": [
          {
            "type": "text",
            "text": "Preserve the scene in the reference video and follow the reference audio."
          },
          {
            "type": "video_url",
            "video_url": {
              "url": "https://example.com/reference.mp4"
            },
            "role": "reference_video"
          },
          {
            "type": "audio_url",
            "audio_url": {
              "url": "https://example.com/reference.mp3"
            },
            "role": "reference_audio"
          }
        ],
        "resolution": "2K",
        "duration": 4,
        "ratio": "adaptive"
      }
    }'
    ```
  </Tab>
</Tabs>

### Python

```python theme={null}
import json
import os
import requests

payload = json.loads(r'''
{
  "model": "MiniMax-H3",
  "prompt": "A blue circle gently pulses on a clean white background.",
  "metadata": {
    "content": [
      {
        "type": "text",
        "text": "A blue circle gently pulses on a clean white background."
      }
    ],
    "resolution": "768P",
    "duration": 4,
    "ratio": "9:16"
  }
}
''')
response = requests.post(
    "https://api.mixroute.ai/v1/video/generations",
    headers={"Authorization": "Bearer " + os.environ["MIXROUTE_API_KEY"]},
    json=payload,
    timeout=60,
)
response.raise_for_status()
print(response.json())
```

## タスクの結果

送信時に返されるMixRouteタスクIDを保存し、[動画タスクの照会](/ja/api-reference/endpoint/query-video-task)をポーリングします。送信が成功するとタスクが作成されます。タスクが成功の終端状態に到達してから結果を読み取ってください。レスポンスエンベロープと結果の格納位置はルートによって異なります。


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