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

# MiniMax-Hailuo-2.3

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

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

MiniMax Hailuo 2.3 создаёт видео по тексту или начальному изображению с управлением движением и камерой. Выберите шесть секунд в 768P или 1080P либо десять секунд в 768P для игры персонажей, стилизованных сцен и товарных планов, которые можно проверить и смонтировать.

- [**Ailoot · Видео** `POST /v1/videos/generations` `MiniMax-Hailuo-2.3`](https://ailoot.ai/models/ru/minimax-hailuo-2-3/#method-0)
- [**Ailoot Ultra · Видео** `POST /v1/videos` `MiniMax-Hailuo-2.3`](https://ailoot.ai/models/ru/minimax-hailuo-2-3/#method-1)

О модели

Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.

MiniMax Hailuo 2.3 — модель генерации видео с режимами по тексту и по изображению. Она развивает Hailuo 02, уделяя внимание физическим действиям, визуальному стилю, микровыражениям персонажей и выполнению указаний о движении. Предоставьте текст сцены, чтобы создать план с нуля, или начальное изображение, чтобы задать первый вид и описать последующее движение.

Физическое исполнение — одно из основных направлений улучшений версии. Hailuo 2.3 стремится сделать движения тела более плавными и управляемыми, в том числе при движущейся камере. Спланируйте главное действие до добавления декоративных деталей. Персонаж поднимает предмет, поворачивается к другому человеку или проходит по комнате — такое событие можно увидеть и оценить. Решите, какое движение несёт историю, и согласуйте с ним остальные указания.

Ещё одно направление — стилизация. Модель поддерживает аниме, иллюстрацию, живопись тушью и игровую компьютерную графику. Опишите нужную визуальную обработку и согласуйте внешний вид со сценой. Если начальное изображение уже задаёт рисованный стиль, направляйте текстом анимацию, не вводя конкурирующее описание дизайна персонажа. Проверьте по всему ролику, сохраняется ли читаемость этого стиля в движении.

Модель также уделяет внимание мимике и тонким изменениям выражения лица. Постройте план вокруг важной реакции: персонаж замечает предмет, проявляет любопытство или слегка улыбается. Крупный вид облегчает оценку такого изменения, а длинная последовательность жестов может отвлечь от него. Проверяйте лицо до, во время и после реакции, не ограничиваясь одним характерным стоп-кадром.

Движение предметов полезно для товарных сцен. Например, в авторском задании небольшая керамическая ваза поворачивается при тёплом боковом свете, а камера постепенно приближается. Укажите свойства, которые должны оставаться узнаваемыми: силуэт, край и отделку поверхности. Проверяйте эти детали в движении: одна убедительная атмосфера не подтверждает точность изображения товара.

Для генерации по тексту обязательное описание может содержать до 2 000 символов. Последовательно задайте объект, действие, обстановку и визуальный стиль. Генерация по изображению требует картинку первого кадра и допускает необязательное описание до 2 000 символов. Изображение фиксирует начальную композицию, поэтому подготовьте объект и кадрирование до запроса движения. Оставьте видимое пространство, где должны двигаться рука, предмет или персонаж.

Начальное изображение принимается в JPG, JPEG, PNG или WebP, должно быть меньше 20 МБ, иметь короткую сторону больше 300 пикселей и соотношение сторон от 2:5 до 5:2. Его можно передать публичным URL изображения или Base64 data URL. Выберите ясную начальную картинку, не рассчитывая, что анимация исправит закрытое лицо или уже обрезанное действие.

Hailuo 2.3 генерирует с частотой 24 кадра/с. Шестисекундный план доступен в 768P или 1080P, десятисекундный — в 768P. Значения по умолчанию — шесть секунд и 768P. Подбирайте длительность под действие: короткая реакция помещается в небольшой план, медленному движению нужно больше времени. При монтаже смотрите фактические ширину и высоту готового результата, поскольку обозначение разрешения не определяет кадрирование полностью.

Для управления камерой можно использовать команды в квадратных скобках. Доступны боковое перемещение, панорамирование, наезд, вертикальное перемещение, наклон, зум, тряска, слежение и статичный план. Например, \[Push in\] задаёт приближение; команды в одних скобках выполняются вместе, а команды по порядку описывают последовательность. MiniMax рекомендует не более трёх одновременных команд. Согласуйте движение камеры с действием объекта, чтобы главное событие было легко проследить.

Автоматическая оптимизация промпта включена по умолчанию; её можно отключить для более точного контроля формулировок. Необязательная быстрая предобработка сокращает время оптимизации, когда та включена; это отдельная настройка, не выбор модели Hailuo 2.3 Fast. Обычная Hailuo 2.3 поддерживает оба режима создания, а Fast — отдельная версия для генерации по изображению. Выбирайте версию в зависимости от того, начинается проект с одного текста или с готового кадра.

Процесс генерации возвращает асинхронный идентификатор задачи, затем сообщает о подготовке, очереди, обработке, успехе или ошибке. При успехе результат содержит идентификатор файла и фактические размеры видео, после чего готовый ролик получают для скачивания. Сохраните клип, пока действует его адрес скачивания. Текущая документация разработчика по скачиванию видео задаёт возвращаемому URL срок жизни один час. Для монтажной последовательности сохраняйте каждый план вместе с промптом и начальным изображением, чтобы при правках можно было проследить выбранное творческое направление.

Проверяйте в сохранённом клипе действие, физическую непрерывность, детали лица или товара, визуальный стиль и поведение камеры. Просмотрите весь план, затем изучите начало и конец, где он будет соединяться с другим материалом. Если в запросе слишком много конкурирующих движений, упростите главное действие; если начальный дизайн неясен, улучшите исходное изображение. Выберите план, передающий задуманное событие, затем добавьте озвучивание, титры и переходы при монтаже.

**Ailoot · Видео** `POST /v1/videos/generations` `MiniMax-Hailuo-2.3`

[`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/ru/#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 либо десять секунд в 768P для игры персонажей, стилизованных сцен и товарных планов, которые можно проверить и смонтировать.

Допустимые входные данные

Текст · Картинки

Результаты

Видео

### Доступно в 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 $ *за видео 6 s в 768p*

Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. [Как работают резервирование и расчёт →](https://ailoot.ai/docs/ru/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 материала.

Сохраните каждый возвращённый элемент data и индекс результата. content\_url относится только к первому результату; получите данные по каждому фактическому пути содержимого или ресурсу. GET содержимого без index не возвращает все результаты.

##### Если нужно проверить исходный ответ

Проверяйте существующую исходную задачу; никогда не повторяйте отправку с неизвестным исходом.

Поля ответа

| Поле | Тип |
| --- | --- |
| Поле`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/ru/#m=MiniMax-Hailuo-2.3&route=Core&caller=MiniMax-Hailuo-2.3&fmt=videos)
**Ailoot Ultra** [`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/ru/#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/ru/#m=MiniMax-Hailuo-2.3&route=Core&caller=MiniMax-Hailuo-2.3&fmt=videos), [`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/ru/#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/ru/#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 либо десять секунд в 768P для игры персонажей, стилизованных сцен и товарных планов, которые можно проверить и смонтировать.

Допустимые входные данные

Текст

Результаты

Видео

### Доступно в 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

#### Цены по конфигурациям

Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.

| Конфигурация | Шкала ставок | Номинальная длительность клипа, секунды | Разрешение | Расчётная единица | Плата |
| --- | --- | --- | --- | --- | --- |
| КонфигурацияБазовые тарифы на токены | Шкала ставокБазовая ставка | Номинальная длительность клипа, секунды— | Разрешение— | Расчётная единица— | Плата Вход · Входные токены **—** / 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/ru/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 содержимого, принадлежащие Ailoot. Получите данные по каждому возвращённому 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/ru/#m=MiniMax-Hailuo-2.3&route=Core&caller=MiniMax-Hailuo-2.3&fmt=videos)
**Ailoot Ultra** [`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/ru/#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/ru/#m=MiniMax-Hailuo-2.3&route=Core&caller=MiniMax-Hailuo-2.3&fmt=videos), [`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/ru/#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/ru/billing/subscriptions/) · [Посмотреть цены моделей](https://ailoot.ai/models/ru/)

## Подключайте API к продукту, который вы продаёте.

SaaS, приложения и боты — по оферте и лицензионному договору Ailoot. Для перепродажи запросите реселлерскую лицензию.

Коммерческое приложение

Встраивайте генерацию текста, картинок, видео и звука в платные функции своего сервиса.

Лицензия для реселлера

Пришлите описание проекта и схему доступа. Запросите письменные условия использования и перепродажи.

Документы на сайте

Оферта, лицензионный договор и политика обработки данных доступны до подключения.

[Запросить реселлерскую лицензию](mailto:support@ailoot.ai) · [Оферта и лицензионный договор](https://ailoot.ai/legal/offer?lang=ru)

## Ailoot · Компания и портфель её проектов





Ailoot опирается на накопленный опыт работы, большую клиентскую базу, стабильный сервис и постоянный контроль KPI.





Компания и портфель её проектов: миллионы клиентов; продажи на миллиарды ежемесячно.





Этот опыт Ailoot использует для API-доступа к нейросетям в продуктах клиентов, агентах, приложениях и автоматизациях.
