MiniMax: H3
MiniMax H3 создаёт короткое видео со встроенным стереозвуком по тексту, изображениям кадров или мультимодальным референсам. Поддерживает создание по первому/последнему кадру, редактирование по референсам и связи движения или голоса; длительность результата — 4–15 секунд, а для 2K предусмотрен отдельный процесс повторной генерации.
О модели
Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.
Единый результат со звуком по мультимодальному заданию
MiniMax H3 — омнимодальная видеосистема MiniMax. Она совместно интерпретирует текст, изображения, видео и аудио, затем генерирует видео со встроенным стереозвуком. Разработчик предлагает её для коротких творческих работ: визуальных материалов о товарах, рекламы, анимированных постеров и концепций кинотитров, где связи между референсными материалами важны не меньше описания сцены.
Документированная система создаёт видео длительностью 4–15 секунд с частотой 24 кадра/с и стереозвуком 32 кГц. H3-Base генерирует в 768p; полный процесс 2K повторно создаёт результат с исходным мультимодальным контекстом. Это больше, чем обычное изменение размера: на втором этапе модель вновь использует исходный контекст для восстановления мелких деталей. У H3 Max и H3-Context-IR отдельные роли и ограничения.
Создание по тексту и опорным кадрам
Текстовый ввод описывает всю последовательность изображения и звука во времени. Первое изображение закрепляет начало, последнее — конец, а два изображения могут задать оба состояния. Для плана по первому кадру начните с композиции и внешности, видимых на изображении, затем опишите развивающееся действие. Для перехода от первого к последнему кадру опишите наблюдаемое движение между состояниями вместо двух несвязанных описаний изображений.
Практическое задание для товара может задавать закрытую упаковку в начальном кадре, открывающую её руку, мягкое движение камеры и нужное конечное состояние. Сохраните форму предмета, положение этикетки и освещение в предоставленных кадрах. Создание по кадрам и по референсам — отдельные режимы ввода; интерфейс разработчика не смешивает роли первого/последнего кадра с ролями референсных медиа в одном запросе.
Генерация и редактирование по референсам
Референсный режим принимает текст вместе с изображениями, видео- и аудиоклипами. Укажите вклад каждого источника: внешность персонажа, локацию, движение камеры, временную структуру исходного клипа или голос. Видео, используемое только для движения камеры, отличается от видео, которое нужно действительно отредактировать или продолжить. Явно задайте эту связь.
Руководство разработчика по референсам разделяет определения объектов, краткое изложение задачи, анализ сохраняемых элементов, подробное описание плана, общую звуковую среду и фоновую музыку только для зрителя. Оно отличает сохранение видимого содержания от переноса атрибутов или общего стилевого ориентира. Для аудио копирование сигнала отличается от использования тембра, ритма или манеры произнесения. Сохраняйте эти роли неизменными во всём задании.
Для сцены по референсам предоставьте изображение персонажа, короткий пример движения камеры и голосовой аудиореференс, затем опишите, где каждый влияет на целевой план. Укажите детали одежды, окружения или предметов, которые должны оставаться узнаваемыми. Сравните готовый клип с этими требованиями, включая непрерывность движения и соответствие видимого говорящего слышимому голосу.
Речь, звук и тайминг планов
H3 совместно моделирует диалог, физические звуки, атмосферу и музыку. Карточка модели документирует стабильную поддержку диалогов на арабском, китайском, английском, французском, немецком, итальянском, японском, корейском, португальском, русском и испанском; поддержка остальных языков описана как неодинаковая. Задайте точные произносимые слова и язык, сохраняя идентичность говорящего между планами.
В руководствах разработчика по промптам описательные разделы пишутся на английском, а диалог и видимый текст сохраняются на исходном языке. Для речи используется <d>[Language] ...</d>, при этом личность говорящего и описание голоса находятся вне блока. Различайте речь персонажа в сцене и закадровое озвучивание, указывайте, продолжается ли реплика через монтажную склейку или обрывается в конце. Видимый текст тоже сохраняйте точно. Соразмеряйте объём речи с выбранной длительностью и совместно проверяйте написанные слова и слышимую реплику.
Описывайте движение камеры как действие, включая размах и скорость, когда они важны. Нумеруйте планы в порядке воспроизведения и располагайте моменты склеек в пределах длительности видео. Отделяйте звуки сцены, например шаги или закрывающуюся дверь, от фоновой музыки, слышимой только аудитории. Так короткий план съёмки проще интерпретировать и сопоставлять с результатом.
Подготовка входных данных и численные ограничения
Текущая схема генерации требует непустой текст в каждом режиме, до 7 000 символов на текстовый элемент. Изображения могут быть JPG, JPEG, PNG, WebP, HEIC или HEIF, до 30 МБ каждое, с каждой стороной от 256 до 5 760 пикселей и соотношением от 0.4 до 2.5. Кадровый ввод допускает одно начальное и одно конечное изображение; референсный режим — до девяти изображений.
Референсное видео может включать до трёх клипов MP4 или MOV, каждый длительностью 2–15 секунд, суммарно не более 15 секунд. Размер клипа — до 50 МБ; видеокодек H.264 или H.265, аудио AAC или MP3, стороны от 256 до 5 760 пикселей, соотношение от 0.4 до 2.5 и частота от 23.976 до 60 кадров/с. Референсное аудио поддерживает до трёх WAV или MP3, до 15 МБ каждый, каждый по 2–15 секунд, суммарно не более 15 секунд. Карточка модели ограничивает смешанный набор референсов 12 файлами. Документированный предел тела запроса — 64 МБ, отдельно от ограничений каждого файла.
Выбирайте только полезные для задания референсы и явно описывайте вклад каждого. Ясное изображение объекта полезнее нескольких противоречащих видов без объяснения. Сохраняйте порядок референсов, обрезайте лишнее, не удаляя необходимый контекст сцены, и проверяйте, что короткие исходные клипы содержат запрашиваемое действие или голосовую особенность.
Форма результата и полная система
Интерфейс H3 разработчика предлагает 768P и 2K. Для генерации только по тексту нужно конкретное соотношение: 21:9, 16:9, 4:3, 1:1, 3:4 или 9:16. Создание по первому/последнему кадру берёт соотношение из исходного изображения; по референсам — использует адаптивное или явное соотношение. Длительность результата задаётся целым числом секунд в диапазоне 4–15.
Карточка модели различает H3-Context-IR, интерпретирующий и обогащающий задание, H3-Base, создающий видео и звук, и H3-Regenerate-2K, формирующий результат повышенного разрешения. Выпущенные базовые контрольные точки отдельно предназначены для задач по кадрам и по омниреференсам. Компоненты контекста и повторной генерации отделены от этих базовых весов, поэтому одно название открытой контрольной точки не подтверждает поведение всей системы.
Процесс генерации разработчика асинхронный. Интерфейс проверки задач получает задачи за предыдущие семь дней. Сохраняйте идентификатор до возвращения самого видеорезультата, затем сохраните клип, а не только временный адрес скачивания. Проверяйте визуальную идентичность, мелкий текст, взаимодействия объектов, речь и синхронизацию звука в целевом размере просмотра. Разработчик относит мультимодальное понимание и мелкие визуальные детали к направлениям дальнейшего улучшения; подробное задание и сравнение с источником остаются основой полезного результата.
Ailoot Ultra · Видео POST /v1/videos minimax/hailuo-3
minimax/hailuo-3Начало
MiniMax H3 создаёт короткое видео со встроенным стереозвуком по тексту, изображениям кадров или мультимодальным референсам. Поддерживает создание по первому/последнему кадру, редактирование по референсам и связи движения или голоса; длительность результата — 4–15 секунд, а для 2K предусмотрен отдельный процесс повторной генерации.
- Допустимые входные данные
- Текст · Картинки · Аудио · Видео
- Результаты
- Видео
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Видео POST /v1/videos
- Входные данные
text,image,audio,video- Результат
video- Выходной формат
- Исходные байты MP4; без нормализации и перекодирования
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения minimax/hailuo-3 | По умолчанию— |
Полеprompt | Типstring | ТребованиеОбязательно | Значения и ограничения | По умолчанию— |
Полеduration | Типinteger | ТребованиеОбязательно | Значения и ограничения 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 Минимум: 1 Максимум: 600 | По умолчанию— |
Полеresolution | Типstring | ТребованиеНеобязательно | Значения и ограничения 2K | По умолчанию— |
Полеaspect_ratio | Типstring | ТребованиеНеобязательно | Значения и ограничения 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 | По умолчанию— |
Полеgenerate_audio | Типboolean | ТребованиеНеобязательно | Значения и ограничения false, true | По умолчанию— |
Полеframe_images | Типarray | ТребованиеНеобязательно | Значения и ограничения Минимум элементов: 1 Максимум элементов: 2 Входное содержимое: Массив объектов кадров. Каждый объект содержит type=image_url, image_url с url и frame_type. Используйте HTTPS URL изображения и укажите first_frame или last_frame в frame_type. Каждая роль кадра встречается не более одного раза. Точные ключи: type, image_url, frame_type Условия: Эти ключи описывают каждый объект кадра; image_url содержит только url. Не передавайте frame_images для запроса только с текстом. | По умолчанию— |
Полеinput_references | Типarray | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
Полеcallback_url | Типstring | ТребованиеНеобязательно | Значения и ограничения Шаблон: ^https:// | По умолчанию— |
Полеsession_id | Типstring | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
Полеtrace | Типobject | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
Полеuser | Типstring | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
Сочетания входных материалов
Из текста в видео · Текстовый запрос. · Обязательно: model, prompt, duration
Передайте prompt как текст, а duration — как целое число секунд. Выберите поддерживаемое разрешение и, при необходимости, соотношение сторон.
model: Тип: string · minimax/hailuo-3
prompt: Тип: string · Максимум байтов UTF-8: 10 000 · Нужен хотя бы один непробельный символ: Да
Из изображения в видео · Текстовый запрос и изображение первого кадра. · Обязательно: model, prompt, duration, frame_images
frame_images — массив. Каждый объект кадра содержит type, image_url и frame_type; image_url содержит url. Укажите image_url в type. Используйте first_frame с необязательным last_frame. Каждая роль кадра встречается не более одного раза. Для каждого кадра укажите публичный HTTPS URL изображения. В одном запросе используйте изображения кадров либо референсные изображения; не совмещайте их. Выберите поддерживаемое разрешение и, при необходимости, соотношение сторон.
Точные ключи: type, image_url, frame_type
model: Тип: string · minimax/hailuo-3
prompt: Тип: string · Максимум байтов UTF-8: 10 000 · Нужен хотя бы один непробельный символ: Да
Reference to video · Текстовый запрос и поддерживаемые референсы: изображения, видео, аудио. · Обязательно: model, prompt, duration, input_references
input_references — массив объектов. Укажите image_url, video_url или audio_url в type и используйте соответствующее поле с url. Используйте публичные HTTPS-ссылки. Не передавайте frame_images, чтобы выбрать режим референсов. В оценку входит показанная плата за изображение только для референсов сверх первых пяти. Итоговое начисление определяется фактически тарифицированной конфигурацией. Не совмещайте референсные изображения с изображениями кадров. Выберите поддерживаемое разрешение и, при необходимости, соотношение сторон.
model: Тип: string · minimax/hailuo-3
prompt: Тип: string · Максимум байтов UTF-8: 10 000 · Нужен хотя бы один непробельный символ: Да
Параметры и жизненный цикл метода
| Параметр | Контракт |
|---|---|
Параметрcontent_type | Контрактapplication/json |
Параметрrequired | Контрактmodel, prompt, duration |
Параметрmaterial_types | Контрактtext, image, audio, video |
Параметрadditional_properties | Контрактfalse |
Параметрoptional_controls | Контрактresolution, aspect_ratio, generate_audio, frame_images, input_references, callback_url, session_id, trace, user |
Жизненный цикл: submit_once_poll_original
GET /v1/videos/{public_id}
GET /v1/videos/{public_id}/content
Тарифы
Как рассчитывается итоговая плата
Отображаемые тарифы позволяют оценить стоимость до генерации. Итоговое списание рассчитывается по стоимости, записанной для исходной генерации. Измеренная длительность результата и прогнозные объёмы не являются итоговым оплачиваемым объёмом.
Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.
- Быстрый режим
- Не указано При выборе быстрого режима
- Режим flex
- Не указано При выборе режима flex
- Максимальная интенсивность рассуждений
- Не указано При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)
Оценочные ставки для сравнения
Цены по конфигурациям
Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.
| Конфигурация | Шкала ставок | Прогноз количества | Расчётная единица | Условия расчёта | Плата |
|---|---|---|---|---|---|
| КонфигурацияБазовые тарифы на токены | Шкала ставокБазовая ставка | Прогноз количества— | Расчётная единица— | Условия расчёта— | Плата Вход · Входные токены · Оценка только для сравнения — / 1K токенов Выход · Выходные токены · Оценка только для сравнения — / 1K токенов Вход · Чтение кэша · Оценка только для сравнения — / 1K токенов Вход · Запись в кэш · Оценка только для сравнения — / 1K токенов Вход · Запись в кэш, 1 час · Оценка только для сравнения — / 1K токенов |
| КонфигурацияЦена видео | Шкала ставок— | Прогноз количества— | Расчётная единицаза секунду видео | Условия расчётаВ этом ключе цены дополнительное условие не объявлено. | Плата Выход · Цена видео · Оценка только для сравнения $0.26 за секунду видео |
| Конфигурацияреференсное изображение | Шкала ставок— | Прогноз количества— | Расчётная единицаза изображение-референс | Условия расчёта— | Плата Вход · референсное изображение · Оценка только для сравнения $0.08 за изображение-референс |
| КонфигурацияОриентировочная стоимость генерации | Шкала ставок— | Прогноз количестваОценка для одной генерации | Расчётная единица— | Условия расчёта— | Плата Выход · Оценочная стоимость генерации · Оценка только для сравнения $1.3 оценка до генерации Эта оценка не является дополнительным списанием или фиксированным тарифом для завершённой генерации. |
Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. Как работают резервирование и расчёт →
Сведения о справочном тарифе
Справочные шкалы модели не меняют выбор метода, расчёт стоимости или списания. Действующая плата определяется ставками выбранного метода Ailoot.
Ссылки на цены конфигураций видео
Цены по конфигурациям
Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.
| Конфигурация | Условия расчёта | Плата |
|---|---|---|
| КонфигурацияЦена видео | Условия расчётаВ этом ключе цены дополнительное условие не объявлено. | Плата Выход · Цена видео $0.26 за секунду видео Опубликованный ориентир цены для показанной конфигурации. Итоговые списания зависят от фактической оплачиваемой конфигурации. |
| КонфигурацияРеференсные изображения сверх первых пяти | Условия расчётаВ этом ключе цены дополнительное условие не объявлено. | Плата Вход · Референсные изображения после первых пяти $0.08 за изображение Первые пять референсных изображений бесплатны; указанная ставка за изображение применяется сверх первых пяти. Опубликованная справочная цена относится к показанной конфигурации. Итоговые начисления определяются фактически тарифицированной конфигурацией. |
Примеры запросов
Ailoot Ultra · Видео
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
from pathlib import Path
Path('request.json').write_text('{"aspect_ratio":"16:9","duration":8,"model":"minimax/hailuo-3","prompt":"A serene mountain landscape at sunset","resolution":"2K"}', encoding='utf-8')
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
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Получить и сохранить результаты
Ailoot Ultra · Видео
подписанные ссылки на содержимое, принадлежащее Ailoot
GET /v1/videos/{public_id}GET /v1/videos/{public_id}/content
Проверить статус задачи
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
-H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Чтение другого содержимого
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
urls.append((str(i),u))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
Сохраняйте все готовые результаты
Сохраните каждое готовое видео или полученный файл; загрузите содержимое по каждому фактически полученному URL материала.
Сохраняйте каждый фактический результат, принадлежащий Ailoot, и возвращённые измеренные метаданные.
Если нужно проверить исходный ответ
503 result_pending_check + исходный id + X-Should-Retry:false; никогда не отправляйте исходный запрос повторно
Поля ответа
| Поле | Тип | Значение |
|---|---|---|
Полеindex | Типinteger | ЗначениеПозиция этого видео в списке результатов, начиная с нуля. |
Полеcontent_url | Типstring | ЗначениеПодписанный HTTPS URL для скачивания этого готового видео. |
Полеsha256 | Типstring | null | ЗначениеХэш SHA-256 исходных байтов видео; null, если недоступен. |
Полеsize_bytes | Типinteger | null | ЗначениеРазмер исходного видеофайла в байтах; null, если недоступен. |
Полеduration_ms | Типinteger | null | ЗначениеИзмеренная длительность видео в миллисекундах; null, если недоступна. |
Полеwidth | Типinteger | null | ЗначениеШирина видео в пикселях; null, если недоступна. |
Полеheight | Типinteger | null | ЗначениеВысота видео в пикселях; null, если недоступна. |
Полеvideo_codec | Типstring | null | ЗначениеИдентификатор видеокодека; null, если не записан. |
Полеhas_audio | Типboolean | null | ЗначениеЕсть ли у видео аудиодорожка; null, если не измерено. |
Полеaudio_codec | Типstring | null | ЗначениеИдентификатор аудиокодека; null, если идентификатор не записан. |
Ошибки и дальнейшие шаги
| Ответ | Условие | Следующий шаг |
|---|---|---|
Ответ404 · not_found_error | УсловиеДоступ к видео недоступен либо этот ID видео не найден. | Следующий шагПроверьте доступ к видео. Для существующего видео используйте исходный публичный ID и тот же ключ API. |
Ответ401 · authentication_error | УсловиеКлюч API не соответствует авторизованному аккаунту. | Следующий шагПеред отправкой проверьте ключ API и доступ к аккаунту. |
Ответ400 · invalid_request_error | УсловиеНе удалось прочитать запрос либо индекс скачивания недопустим. | Следующий шагИсправьте тело запроса. Для скачивания выберите индекс результата, возвращённый исходной задачей. |
Ответ422 · price_unavailable | УсловиеНевозможно определить цену выбранной конфигурации видео. | Следующий шагВыберите поддерживаемую конфигурацию видео и заполните обязательные параметры перед отправкой исправленного запроса. |
Ответ422 · invalid_request_error | УсловиеНедопустимы входное видео или исходная задача продолжения. | Следующий шагИспользуйте корректные входные HTTPS-ссылки. Для продолжения используйте исходный публичный ID вашего готового видео и тот же ключ API. |
Ответ402 · billing_error | УсловиеДоступный баланс или лимиты не позволяют зарезервировать средства. | Следующий шагПеред отправкой нового запроса проверьте доступный баланс и лимиты. |
Ответ503 · server_error | УсловиеПроверка видео, хранилище или доступ к сервису временно недоступны. | Следующий шагДождитесь доступности сервиса. Если у вас уже есть ID видео, проверяйте ту исходную задачу вместо создания новой генерации. |
Ответ503 · result_pending_check | УсловиеНужно проверить результат исходного видео и начисление. | Следующий шагСохраните возвращённый ID видео и проверьте эту задачу. Не отправляйте заменяющий запрос на генерацию, пока идёт проверка. |
Ответ503 · owned_result_unavailable | УсловиеСкачивание существующего видео временно недоступно. | Следующий шагПроверьте ту же видеозадачу позже и скачайте её существующий результат. Новая генерация создаёт отдельную операцию. |
Ответ409 · video_not_ready | УсловиеСодержимое видео не опубликовано. | Следующий шагПроверьте исходный статус задачи. Скачайте результат после completed; при failed следуйте уведомлению о проверке начисления. |
Псевдонимы
Псевдонимы моделей
Ailoot Ultra minimax/hailuo-3
Псевдонимы путей метода
Используйте пути методов, указанные выше.
Связанные ID для вызова
FAQ · MiniMax: H3
- Какие входные данные и результаты доступны?
POST /v1/videos·minimax/hailuo-3:text,image,audio,video→video- Какие поля использует запрос?
POST /v1/videos·minimax/hailuo-3:model,prompt,duration,resolution,aspect_ratio,generate_audio,frame_images,input_references,callback_url,session_id,trace,user- Какие ограничения действуют?
POST /v1/videos·minimax/hailuo-3:duration.minimum:1;duration.maximum:600;frame_images.max_items:2;frame_images.min_items:1