Source: https://ailoot.ai/models/ja/minimax-hailuo-2-3/
Canonical: https://ailoot.ai/models/ja/minimax-hailuo-2-3/
Language: ja

# MiniMax-Hailuo-2.3

[Markdown](https://ailoot.ai/models/ja/minimax-hailuo-2-3/index.md) · [JSON](https://ailoot.ai/models/ja/minimax-hailuo-2-3/facts.json)

## [MiniMax-Hailuo-2.3](https://ailoot.ai/models/ja/minimax-hailuo-2-3/)

MiniMax Hailuo 2.3は、テキストまたは開始画像から、動きとカメラの方向を制御して動画を作成します。768Pまたは1080Pの6秒、あるいは768Pの10秒を選び、確認・編集できるキャラクターの演技、スタイライズされたシーン、商品のショットを制作できます。

- [**Ailoot · 動画** `POST /v1/videos/generations` `MiniMax-Hailuo-2.3`](https://ailoot.ai/models/ja/minimax-hailuo-2-3/#method-0)
- [**Ailoot Ultra · 動画** `POST /v1/videos` `MiniMax-Hailuo-2.3`](https://ailoot.ai/models/ja/minimax-hailuo-2-3/#method-1)

モデルについて

この説明はモデルの機能を紹介するものです。Ailootで利用できる入力、出力、オプションは、選択したメソッドごとに以下に記載されています。

MiniMax Hailuo 2.3は、テキストから動画、画像から動画のモードを持つ動画生成モデルです。Hailuo 02を基に、身体動作、視覚スタイル、キャラクターの微表情、動作指示への反応を重視しています。文章のシーンからショットを一から作るか、開始画像で冒頭の画を定め、その後の動きを説明します。

身体の演技は主な改善領域の一つです。Hailuo 2.3は、カメラが動くシーンも含め、身体の動きをより滑らかで制御されたものにすることを目指します。装飾的な細部を加える前に、重要な動作を計画します。物体を持ち上げる、別の人物へ向く、部屋を移動するなど、見える出来事が評価対象になります。物語を担う動作を決め、周囲の指示をそれと一致させます。

スタイライズも重点です。アニメ、イラスト、水墨画、ゲームCGなどに対応します。希望する見た目の処理を説明し、シーンに合う外観を保ちます。開始画像ですでに絵のスタイルが決まっているなら、キャラクターデザインの競合する説明を加えず、文章で動画化を導きます。動きの中でもその表現が読み取れるかをクリップ全体で確認します。

顔の演技と微妙な表情変化も重視します。物体に気づく、興味を持つ、小さくほほ笑むなど、重要な反応を中心にショットを準備します。近い画なら変化を評価しやすく、多数のジェスチャーは注意をそらす場合があります。代表的な一枚だけでなく、反応の前、最中、後の顔を確認します。

物体の動きは商品中心のシーンに役立ちます。独自の指示なら、温かい横光の中で小さな陶器の花瓶が回転し、カメラが徐々に近づく様子を描けます。シルエット、縁、表面の仕上げなど、識別性を保つ特徴を特定します。雰囲気の良さだけでは商品を忠実に見せたことにならないため、動きの間も細部を確認します。

テキストから動画では、必須の説明を最大2,000文字で記述できます。被写体、動作、場所、視覚スタイルをまとまった順序で述べます。画像から動画には開始フレーム画像が必須で、最大2,000文字の説明は任意です。画像が冒頭の構図を固定するため、動きを求める前に被写体と構図を準備します。腕、物体、キャラクターが動く先に見える空間を残します。

開始画像はJPG、JPEG、PNG、WebP、20 MB未満、短辺300ピクセル超、アスペクト比2:5〜5:2です。公開画像URLまたはBase64データURLで指定できます。隠れた顔や、すでに切り取られた動作の修復を動画化に頼らず、鮮明な開始画像を選びます。

Hailuo 2.3は24fpsで生成します。6秒は768Pまたは1080P、10秒は768Pです。既定は6秒、768Pです。短い反応なら短いショット、遅い動作なら長い余裕など、見たい動作に合わせて時間を選びます。解像度の名称だけでは構図がすべて決まらないため、編集に配置するときは完成結果の実際の幅と高さを確認します。

カメラの方向は角括弧のコマンドで指定できます。トラック移動、パン、プッシュ、ペデスタル移動、チルト、ズーム、揺れ、追跡、固定ショットを制御できます。\[Push in\]は接近を指示し、一つの括弧内にまとめたコマンドは同時、順番に配置したコマンドは連続動作になります。MiniMaxは同時コマンドを最大3個にするよう勧めています。主な出来事を追いやすいよう、カメラ移動を被写体の動作に合わせます。

自動プロンプト最適化は既定で有効で、入力文面をより厳密に制御したい場合は無効にできます。任意の高速前処理は、最適化が有効な場合にその時間を短縮する設定で、Hailuo 2.3 Fastモデルの選択とは別です。標準Hailuo 2.3は両方の制作モードに対応し、Fastは独立した画像から動画のエディションです。テキストだけから始めるか既存フレームから始めるかに応じて選びます。

生成フローは非同期のタスク識別子を返し、準備、待機、処理、成功、失敗を報告します。成功するとファイル識別子と実際の動画寸法が返され、完成動画を取得してダウンロードします。URLが有効な間にクリップを保存します。メーカーの現行動画ダウンロード資料では、返されたURLの有効期間は1時間です。編集シーケンスでは各ショットをプロンプトと開始画像とともに残し、修正中も創作の方向性を追えるようにします。

保存したクリップで、動作、物理的な一貫性、顔や商品の細部、視覚スタイル、カメラの振る舞いを確認します。全体を視聴し、他の素材につなぐ冒頭と末尾も調べます。競合する動きが多ければ主動作を単純にし、開始デザインが不明瞭なら開始画像を改善します。意図した出来事が伝わるショットを選び、編集工程でナレーション、タイトル、トランジションを加えます。

**Ailoot · 動画** `POST /v1/videos/generations` `MiniMax-Hailuo-2.3`

[`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/ja/#m=MiniMax-Hailuo-2.3&route=Core&caller=MiniMax-Hailuo-2.3&fmt=videos)

MiniMax /`MiniMax-Hailuo-2.3`

### はじめに

MiniMax Hailuo 2.3は、テキストまたは開始画像から、動きとカメラの方向を制御して動画を作成します。768Pまたは1080Pの6秒、あるいは768Pの10秒を選び、確認・編集できるキャラクターの演技、スタイライズされたシーン、商品のショットを制作できます。

対応する入力

テキスト · 画像

結果

動画

### Ailootで利用可能 · 入力とメソッド

**Ailoot · 動画** `POST /v1/videos/generations`

入力の種類

`text`, `image`

出力の種類

`video`

出力形式

mp4

| フィールド | 種類 | 要件 | 値と制限 | デフォルト |
| --- | --- | --- | --- | --- |
| フィールド`model` | 種類`string` | 要件必須 | 値と制限 MiniMax-Hailuo-2.3 | デフォルト— |
| フィールド`prompt` | 種類`string` | 要件必須 | 値と制限 最小の長さ: 1 最大の長さ: 2,000 単位: Unicode 文字 | デフォルト— |
| フィールド`duration` | 種類`integer` | 要件任意 | 値と制限 6, 10 条件: 10 秒には 768P が必要 単位: 秒 | デフォルト6 |
| フィールド`resolution` | 種類`string` | 要件任意 | 値と制限 768P, 1080P 条件: 1080Pには6秒が必要です | デフォルト768P |
| フィールド`first_frame_image` | 種類`https_url\|data_image_url` | 要件任意 | 値と制限 デコード後の最大バイト数: 20,971,520 MIMEタイプ: image/jpeg, image/png, image/webp 最小サイズ（下限値を含まない）: 300 アスペクト比の範囲: 2:5, 5:2 | デフォルト— |
| フィールド`prompt_optimizer` | 種類`boolean` | 要件任意 | 値と制限 | デフォルト— |
| フィールド`fast_pretreatment` | 種類`boolean` | 要件任意 | 値と制限 | デフォルト— |

入力素材の組み合わせ

**画像から動画へ** · 必須: prompt, first\_frame\_image

**テキストから動画へ** · 必須: prompt

メソッドのパラメータとライフサイクル

| パラメータ | 仕様 |
| --- | --- |
| パラメータ`material_types` | 仕様text, image |
| パラメータ`required` | 仕様null |
| パラメータ`optional_controls` | 仕様null |

ライフサイクル: `submit_once_poll_original`

`GET /v1/videos/{request_id}`

`GET /v1/videos/generations/{request_id}`

`GET /v1/videos/{request_id}/content`

`GET /v1/videos/generations/{request_id}/content`

メソッドの形式とIDは正確に記載しています。供給元の対応能力とリクエストの受け入れは別です。

### 料金

#### Ailootのメソッド料金

出力

$0.28 *768p・6秒の動画あたり*

Ailootはリクエスト前に見積額を確保します。結果の取得後、実測使用量に基づいて最終料金を精算します。ストリーミング時の精算には最終の使用量記録を使用します。[金額の確保と精算の仕組み →](https://ailoot.ai/docs/ja/billing/reserve/)

#### 参考料金の詳細

モデル単位の参照料金表は、メソッド選択、見積もり、課金を変更しません。実際の課金には、選択したAilootメソッドの料金を適用します。

MiniMax-Hailuo-2.3

#### 設定別の価格

| 設定 | 課金条件 | 料金 |
| --- | --- | --- |
| 設定MiniMax-Hailuo-2.3 · 標準設定 | 課金条件デフォルト設定 | 料金 入力 · 入力 **$0.00** 呼び出しあたり 出力 · 出力 **$0.60** 呼び出しあたり |

MiniMax-Hailuo-2.3

#### 設定別の価格

| 設定 | 課金条件 | 料金 |
| --- | --- | --- |
| 設定MiniMax-Hailuo-2.3 · 標準設定 | 課金条件デフォルト設定 | 料金 入力 · 入力 **$0.00** 呼び出しあたり 出力 · 出力 **$1.20** 呼び出しあたり |

MiniMax-Hailuo-2.3

#### 設定別の価格

| 設定 | 課金条件 | 料金 |
| --- | --- | --- |
| 設定MiniMax-Hailuo-2.3 · デフォルト設定 | 課金条件デフォルト設定 | 料金 入力 · 入力 **$0.00** 呼び出しあたり 出力 · 出力 **$1.20** 呼び出しあたり |

### リクエスト例

#### Ailoot · 動画

動画のサンプル

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl https://api.ailoot.ai/v1/videos/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "MiniMax-Hailuo-2.3", "prompt": "A person walks slowly through a quiet garden as the camera tracks from the side.", "duration": 6, "resolution": "768P"}'
```

### 結果を受け取って保存

#### Ailoot · 動画

mp4

- `GET /v1/videos/{request_id}`
- `GET /v1/videos/generations/{request_id}`
- `GET /v1/videos/{request_id}/content`
- `GET /v1/videos/generations/{request_id}/content`

##### ジョブのステータスを確認

GET · ステータス取得

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_VIDEO_ID
video_id=$(python3 -c 'import os, urllib.parse; print(urllib.parse.quote(os.environ["AILOOT_VIDEO_ID"], safe=""))') || exit 1
curl "https://api.ailoot.ai/v1/videos/generations/$video_id" \
  -H "Authorization: Bearer $AILOOT_API_KEY"
```

その他のコンテンツ取得

GET · コンテンツの取得

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_VIDEO_ID
video_id=$(python3 -c 'import os, urllib.parse; print(urllib.parse.quote(os.environ["AILOOT_VIDEO_ID"], safe=""))') || exit 1
curl "https://api.ailoot.ai/v1/videos/generations/$video_id/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  --output video.mp4
```

##### 完了した結果をすべて保存

完了した動画や返されたファイルをすべて保存し、実際に返されたすべてのアセットURLから取得してください。

返されたすべてのデータ項目／出力インデックスを保持してください。content\_urlは最初の出力のみです。実際のすべてのコンテンツパス／アセットを取得してください。indexなしのコンテンツGETでは、全出力は取得できません。

##### 元のレスポンスを確認する場合

既存の元のジョブを読み取ってください。結果不明の送信を決して再実行しないでください。

レスポンスのフィールド

| フィールド | 種類 |
| --- | --- |
| フィールド`id` | 種類string |
| フィールド`object` | 種類string |
| フィールド`model` | 種類string |
| フィールド`status` | 種類string |
| フィールド`content_url` | 種類signed URL |
| フィールド`data[]` | 種類signed URL |
| フィールド`usage` | 種類object |
| フィールド`result_pending_check` | 種類boolean |

エラーと次の手順

| レスポンス | 条件 | 次の手順 |
| --- | --- | --- |
| レスポンス400 · `invalid_request_error` | 条件必須フィールド、素材の表現形式、またはパラメーター値が不正です | 次の手順新しい生成リクエストを送る前に、指定されたフィールドを修正してください。 |
| レスポンス409 · `video_not_ready` | 条件元の結果のコンテンツはまだ利用できません | 次の手順元の返却IDをポーリングし、Retry-Afterに従ってください。 |
| レスポンス`server_error` | 条件返されたレスポンスは、操作または結果の確認が必要であることを示しています | 次の手順最初に返された操作／タスク ID、リクエストヘッダー、レスポンスを保存し、その元の操作に対してサポートされている読み取りを継続してください。作成リクエストを再送しないでください。 |

### エイリアス

#### モデルのエイリアス

<strong>Ailoot</strong> [`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/ja/#m=MiniMax-Hailuo-2.3&route=Core&caller=MiniMax-Hailuo-2.3&fmt=videos)
**Ailoot Ultra** [`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/ja/#m=MiniMax-Hailuo-2.3&route=Ultra&caller=MiniMax-Hailuo-2.3&fmt=videos)

#### メソッドパスのエイリアス

`/v1/videos/generations`, `/videos`, `/videos/generations`

#### 関連する呼び出し用ID

[`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/ja/#m=MiniMax-Hailuo-2.3&route=Core&caller=MiniMax-Hailuo-2.3&fmt=videos), [`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/ja/#m=MiniMax-Hailuo-2.3&route=Ultra&caller=MiniMax-Hailuo-2.3&fmt=videos)

**Ailoot Ultra · 動画** `POST /v1/videos` `MiniMax-Hailuo-2.3`

[`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/ja/#m=MiniMax-Hailuo-2.3&route=Ultra&caller=MiniMax-Hailuo-2.3&fmt=videos)

MiniMax /`MiniMax-Hailuo-2.3`

### はじめに

MiniMax Hailuo 2.3は、テキストまたは開始画像から、動きとカメラの方向を制御して動画を作成します。768Pまたは1080Pの6秒、あるいは768Pの10秒を選び、確認・編集できるキャラクターの演技、スタイライズされたシーン、商品のショットを制作できます。

対応する入力

テキスト

結果

動画

### Ailootで利用可能 · 入力とメソッド

**Ailoot Ultra · 動画** `POST /v1/videos`

入力の種類

`text`

出力の種類

`video`

出力形式

mp4

出力数

最大 1 出力

| フィールド | 種類 | 要件 | 値と制限 | デフォルト |
| --- | --- | --- | --- | --- |
| フィールド`model` | 種類`string` | 要件必須 | 値と制限 MiniMax-Hailuo-2.3 | デフォルト— |
| フィールド`prompt` | 種類`string` | 要件必須 | 値と制限 最小の長さ: 1 最大の長さ: 2,000 条件: 768Pでは最大2000 Unicodeコードポイントです。1080Pでは200 Unicodeコードポイント未満（最大199）です。プロンプトには空白以外のテキストを含める必要があります。 単位: Unicode 文字 | デフォルト— |
| フィールド`duration` | 種類`integer` | 要件必須 | 値と制限 6 単位: 秒 | デフォルト— |
| フィールド`resolution` | 種類`string` | 要件必須 | 値と制限 768P, 1080P | デフォルト— |

入力素材の組み合わせ

**テキストから動画へ** · 必須: prompt

メソッドのパラメータとライフサイクル

| パラメータ | 仕様 |
| --- | --- |
| パラメータ`content_type` | 仕様application/json |
| パラメータ`required` | 仕様model, prompt, duration, resolution |
| パラメータ`other_options` | 仕様false |
| パラメータ`duration` | 仕様6 |
| パラメータ`resolution` | 仕様768P, 1080P |
| パラメータ`prompt_max_characters` | 仕様2000 |
| パラメータ`material_types` | 仕様text |
| パラメータ`prompt_max_characters_by_resolution` | 仕様{"768P":2000,"1080P":199} |

メソッドのエイリアス: `/v1/videos/generations`, `/videos`, `/videos/generations`

ライフサイクル: `submit_once_poll_original`

`GET /v1/videos/{request_id}`

`GET /v1/videos/generations/{request_id}`

`GET /v1/videos/{request_id}/content`

`GET /v1/videos/generations/{request_id}/content`

作成は一度だけ行い、返されたIDを保存してください。

元のステータスをポーリングし、完了したすべてのアセットと長さを保持してください。

### 料金

料金情報はリクエストの機能を追加しません。対応するパラメーターは選択したメソッドに記載されています。

高速モード

未指定 高速モードが選択されている場合

Flex モード

未指定 flex モードが選択されている場合

最大推論量

未指定 推論量が最大で、調整に既定値（default）を使用する場合

#### Ailootの料金

#### 設定別の価格

各料金を表示された条件と照合してください。選択肢となる設定の各組には、いずれか1つの料金を適用します。

| 設定 | 料金表 | クリップの名目上の長さ（秒） | 解像度 | 課金単位 | 料金 |
| --- | --- | --- | --- | --- | --- |
| 設定基本トークン料金 | 料金表基本料金 | クリップの名目上の長さ（秒）— | 解像度— | 課金単位— | 料金 入力 · 入力トークン **—** / 1K トークン 出力 · 出力トークン **—** / 1K トークン 入力 · キャッシュ読み取り **—** / 1K トークン 入力 · キャッシュ書き込み **—** / 1K トークン 入力 · キャッシュ書き込み、1時間 **—** / 1K トークン |
| 設定Ultra | 料金表— | クリップの名目上の長さ（秒）6 | 解像度1080P | 課金単位公称長6sの出力クリップあたり | 料金 出力 · 公称6sの出力クリップ **$1.2** 公称長6sの出力クリップあたり |
| 設定Ultra | 料金表— | クリップの名目上の長さ（秒）6 | 解像度768P | 課金単位公称長6sの出力クリップあたり | 料金 出力 · 公称6sの出力クリップ **$0.6** 公称長6sの出力クリップあたり |

Ailootはリクエスト前に見積額を確保します。結果の取得後、実測使用量に基づいて最終料金を精算します。ストリーミング時の精算には最終の使用量記録を使用します。[金額の確保と精算の仕組み →](https://ailoot.ai/docs/ja/billing/reserve/)

#### 参考料金の詳細

モデル単位の参照料金表は、メソッド選択、見積もり、課金を変更しません。実際の課金には、選択したAilootメソッドの料金を適用します。

MiniMax-Hailuo-2.3

#### 設定別の価格

| 設定 | 課金条件 | 料金 |
| --- | --- | --- |
| 設定MiniMax-Hailuo-2.3 · 標準設定 | 課金条件デフォルト設定 | 料金 入力 · 入力 **$0.00** 呼び出しあたり 出力 · 出力 **$0.60** 呼び出しあたり |

MiniMax-Hailuo-2.3

#### 設定別の価格

| 設定 | 課金条件 | 料金 |
| --- | --- | --- |
| 設定MiniMax-Hailuo-2.3 · 標準設定 | 課金条件デフォルト設定 | 料金 入力 · 入力 **$0.00** 呼び出しあたり 出力 · 出力 **$1.20** 呼び出しあたり |

MiniMax-Hailuo-2.3

#### 設定別の価格

| 設定 | 課金条件 | 料金 |
| --- | --- | --- |
| 設定MiniMax-Hailuo-2.3 · デフォルト設定 | 課金条件デフォルト設定 | 料金 入力 · 入力 **$0.00** 呼び出しあたり 出力 · 出力 **$1.20** 呼び出しあたり |

### リクエスト例

#### Ailoot Ultra · 動画

curlcurl · 1080P / 6 秒

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "MiniMax-Hailuo-2.3", "prompt": "A cat in a spacesuit walking on the Moon", "duration": 6, "resolution": "768P"}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "MiniMax-Hailuo-2.3", "prompt": "A cat in a spacesuit walking on the Moon", "duration": 6, "resolution": "1080P"}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
```

### 結果を受け取って保存

#### Ailoot Ultra · 動画

mp4

- `GET /v1/videos/{request_id}`
- `GET /v1/videos/generations/{request_id}`
- `GET /v1/videos/{request_id}/content`
- `GET /v1/videos/generations/{request_id}/content`

##### ジョブのステータスを確認

GET · ステータス取得

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/$operation_id" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
    for x in r.get("data",[]):print(x)
PY_STATUS
```

##### 完了したアセットをすべて保存

GET · 完了した全アセットの取得

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
    if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
    u=urljoin("https://api.ailoot.ai",x)
    z=urlsplit(u)
    if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
    urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" \
    -H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
  index=$((index + 1))
done < asset-urls.txt
```

その他のコンテンツ取得

GET · コンテンツの取得

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/$operation_id/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
```

##### 完了した結果をすべて保存

完了した動画や返されたファイルをすべて保存し、実際に返されたすべてのアセットURLから取得してください。

完了したdata\[\]には、所有するすべての署名付きコンテンツURLが含まれます。返された各URLを取得するか、コンテンツエンドポイントでindexに実際の出力インデックスを指定してください。元のジョブが失敗した場合、charge\_pending\_checkが返されることがあります。ジョブを作り直さず、その元のジョブを確認してください。

##### 元のレスポンスを確認する場合

既存の元のジョブを読み取ってください。結果不明の送信を決して再実行しないでください。

最大出力数: 1.

レスポンスのフィールド

| フィールド | 種類 |
| --- | --- |
| フィールド`id` | 種類string |
| フィールド`object` | 種類string |
| フィールド`model` | 種類string |
| フィールド`status` | 種類string |
| フィールド`data[]` | 種類signed content URL |
| フィールド`charge_pending_check` | 種類boolean |
| フィールド`error.code` | 種類string |
| フィールド`error.message` | 種類string |
| フィールド`requested_nominal_duration_seconds` | 種類integer |
| フィールド`measured_duration_seconds` | 種類number |
| フィールド`width` | 種類integer |
| フィールド`height` | 種類integer |

エラーと次の手順

| レスポンス | 条件 | 次の手順 |
| --- | --- | --- |
| レスポンス400 · `invalid_request_error` | 条件必須フィールド、素材の表現形式、またはパラメーター値が不正です | 次の手順新しい生成リクエストを送る前に、指定されたフィールドを修正してください。 |
| レスポンス409 · `video_not_ready` | 条件元の結果のコンテンツはまだ利用できません | 次の手順元の返却IDをポーリングし、Retry-Afterに従ってください。 |
| レスポンス`server_error` | 条件返されたレスポンスは、操作または結果の確認が必要であることを示しています | 次の手順最初に返された操作／タスク ID、リクエストヘッダー、レスポンスを保存し、その元の操作に対してサポートされている読み取りを継続してください。作成リクエストを再送しないでください。 |

### エイリアス

#### モデルのエイリアス

<strong>Ailoot</strong> [`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/ja/#m=MiniMax-Hailuo-2.3&route=Core&caller=MiniMax-Hailuo-2.3&fmt=videos)
**Ailoot Ultra** [`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/ja/#m=MiniMax-Hailuo-2.3&route=Ultra&caller=MiniMax-Hailuo-2.3&fmt=videos)

#### メソッドパスのエイリアス

`/v1/videos/generations`, `/videos`, `/videos/generations`

#### 関連する呼び出し用ID

[`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/ja/#m=MiniMax-Hailuo-2.3&route=Core&caller=MiniMax-Hailuo-2.3&fmt=videos), [`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/ja/#m=MiniMax-Hailuo-2.3&route=Ultra&caller=MiniMax-Hailuo-2.3&fmt=videos)

FAQ · MiniMax-Hailuo-2.3

利用できる入力と結果は何ですか？

`POST /v1/videos/generations` · `MiniMax-Hailuo-2.3`: `text`, `image` → `video` `POST /v1/videos` · `MiniMax-Hailuo-2.3`: `text` → `video`

リクエストはどの項目を使用しますか？

`POST /v1/videos/generations` · `MiniMax-Hailuo-2.3`: `model`, `prompt`, `duration`, `resolution`, `first_frame_image`, `prompt_optimizer`, `fast_pretreatment` `POST /v1/videos` · `MiniMax-Hailuo-2.3`: `model`, `prompt`, `duration`, `resolution`

どの制限が適用されますか？

`POST /v1/videos/generations` · `MiniMax-Hailuo-2.3`: `prompt.maximum_length`: `2000` `POST /v1/videos` · `MiniMax-Hailuo-2.3`: `prompt.maximum_length`: `2000`

AilootをClaude Code、OpenCode、Hermes、自分のアプリに接続しましょう。

## 企業とそのプロジェクト群

企業とそのプロジェクト群：数百万の顧客、毎月数十億規模の売上。

## トークンを割引価格で購入。

継続利用にサブスクリプション割引。プロモコードでトークン購入が最大50%割引。

サブスクリプション

定期的なリクエストに合う割引プランを選びましょう。

最大50%のプロモコード

購入時にコードを入力すると、実施中のキャンペーンに沿って価格を再計算します。

支出を履歴で確認

各リクエストのモデル、トークン、金額が保存されます。

[サブスクリプションを選ぶ](https://ailoot.ai/docs/ja/billing/subscriptions/) · [モデルの価格を見る](https://ailoot.ai/models/ja/)

## 販売する製品に、 APIを組み込みましょう。

SaaS、アプリ、ボットをAilootの公式サービス提供条件とライセンス契約に基づいて接続できます。再販にはリセラーライセンスを申請できます。

商用アプリ

サービスの有料機能に、文章、画像、動画、音声の生成を組み込めます。

リセラーライセンス

プロジェクトの説明とアクセスの仕組みをお送りください。利用・再販条件の書面を申請できます。

サイトで契約文書を確認

接続前にサービス提供条件、ライセンス契約、データ処理ポリシーを読めます。

[リセラーライセンスを申請](mailto:support@ailoot.ai) · [サービス提供条件とライセンス契約](https://ailoot.ai/legal/offer?lang=ja)

## Ailoot · 企業とそのプロジェクト群





Ailootは、蓄積した運営経験、幅広い顧客基盤、安定したサービス、継続的なKPI管理を基盤としています。





企業とそのプロジェクト群：数百万の顧客、毎月数十億規模の売上。





Ailootはこの運営経験を、お客様の製品、エージェント、アプリケーション、自動化でAI機能を利用するためのAPIアクセスに活かしています。
