# MiniMax H3 референс видео: как взять только движение камеры

> Дайте клипу одну роль и перечислите, что из него не брать. Лимиты: до 3 видео по 2–15 с, в сумме до 15 с. Секунды референса оплачиваются вместе с выходом.

- URL: https://blog.laozhang.ai/ru/posts/minimax-h3-reference-video
- Published: 2026-11-03
- Updated: 2026-11-03
- Author: LaoZhang AI Team (https://blog.laozhang.ai/ru/about)
- Topic: Генерация видео
- Tags: MiniMax H3, референс видео, reference to video, Ref2VA, генерация видео

---
Чтобы MiniMax H3 взял из референсного видео только движение камеры, а не повторил ролик целиком, назовите в промпте одну роль клипа и прямо перечислите, что из него не переносить: «Use reference video 1 only for its camera movement… Do not copy the person, clothing, animals or field from reference video 1». После этого опишите новую сцену полностью. Сам клип отправляется в запросе reference to video как элемент `video_url` с ролью `reference_video` рядом с обязательным текстом, а первый и последний кадр (`first_frame`, `last_frame`) в такой запрос добавлять нельзя.

2 ноября 2026 года такой запрос с клипом 6,06 с через сторонний API-шлюз дал 4-секундный ролик со старым рыбаком на пирсе: мужчина в розовом костюме, ягнёнок и поле из референса в кадр не попали, а медленный наезд камеры сохранился. Это один прогон, а не гарантия, поэтому промпт, запрос и счёт приведены ниже целиком, чтобы их можно было повторить.

До отправки обрежьте клип под лимиты: не больше 3 видео, каждое 2–15 с, в сумме не больше 15 с, MP4 или MOV с кодеком H.264 или H.265. Превышение суммы коварно тем, что запрос может быть принят, а через пару секунд упасть с сообщением «temporary service error … Please retry», хотя временного сбоя нет. И помните, что секунды референса оплачиваются вместе с секундами результата: в том тесте (4 + 7) × $0,05 = $0,55, потому что 6,06 с округлились до 7.

## Reference to video в MiniMax H3: что делает референсное видео

Референсное видео в MiniMax H3 — это не первый кадр и не исходник для покадровой правки, а подсказка, из которой модель берёт то, что вы назвали: движение камеры, движение исполнителя, ритм склеек, тембр голоса или роль ролика, который нужно изменить или продолжить. В [руководстве MiniMax по генерации видео](https://platform.minimax.io/docs/guides/video-generation) этот режим описан как «Prompt + reference images, videos, or audio» с типичным применением «reference character, motion, camera, style, voice, or editing rhythm». Связь между клипом и будущим роликом задаётся только словами, отдельного ползунка силы влияния нет.

Один и тот же режим называется по-разному. В официальном API MiniMax это Reference Generation, в открытых весах — чекпойнт Ref2VA (текст плюс референсные изображения, видео и аудио → видео со звуком), в примерах API — `r2va`, а на платформах вроде fal, RunDiffusion и в ComfyUI — Reference to Video. Все четыре названия относятся к одному режиму.

Граница режима важнее его возможностей. Референсное видео не даёт пиксельного совпадения с исходником и не имеет параметра силы шумоподавления, как сказано в [карточке модели MiniMax-H3 на Hugging Face](https://huggingface.co/MiniMaxAI/MiniMax-H3). Свет и цветокоррекция тоже приходят из клипа, если вы сами об этом попросили. В тесте Atlas Cloud (август 2026 года) промпт требовал «bright empty covered market, cold clean daylight» и одновременно «carry the grade and grain of the reference clip», и победил ночной грейд референса: сцена вышла заметно мрачнее, чем «bright». Вывод Atlas — в одном запросе нельзя просить и вид референса, и противоположный свет. Если свет должен смениться, первым делом уберите из промпта требование сохранить грейд референса, а если не поможет, откажитесь от видеореференса и держите персонажа одним изображением.

## Какую роль дать видео: камера, движение, правка, продолжение или звук

Роль референса определяет, как писать промпт и что модель будет сохранять. Официальное [руководство MiniMax по промптам для режима референсов](https://huggingface.co/MiniMaxAI/MiniMax-H3/blob/main/docs/VIDEO_PROMPT_WRITING_GUIDE_ref_en.md) делит задачи на типы — reference generation, video editing, video continuation, audio reuse и audio reference — и отдельно оговаривает: если референсное видео даёт только движение камеры, склейки или ритм, это обычно reference generation, а не правка. Ниже пять ролей с формулировками для промпта.

| Роль клипа | Тип задачи по руководству MiniMax | Как сказать в промпте | Что может перенестись лишнее |
| --- | --- | --- | --- |
| Только движение камеры, склейки или ритм | reference generation | `Use reference video 1 only for its camera movement: [описание движения]. Do not copy the person, clothing or setting from reference video 1.` | Люди, место, свет и цвет исходника |
| Движение исполнителя (motion transfer) | reference generation | `Transfer the [действие] from reference video 1 to the person in reference image 1.` | Внешность исполнителя, если клип «шумный» и в нём несколько действий |
| Исходник, который нужно изменить | video editing | Что меняется и что остаётся как в исходнике: `Change only the jacket colour in reference video 1 to red; keep everything else.` | Правка не попиксельная: мелкие детали могут измениться |
| Начало, которое нужно продолжить | video continuation | `Continue reference video 1: the same man walks out of the door and turns left.` | Смена плана, если продолжение описано слишком широко |
| Голос или звук из клипа | audio reference или audio reuse | `Reference video 1 provides only the voice timbre and delivery.` и затем новые реплики полностью | Слова из исходника, если новый текст не написан |

![Пять ролей референсного видео в MiniMax H3: что модель возьмёт из клипа и что может перенестись лишнее](https://blog.laozhang.ai/posts/ru/minimax-h3-reference-video/img/reference-video-roles.webp)

С ролью «только камера» чаще всего и случается «почти копия»: модель видит человека в кадре и сохраняет его, если вы не запретили. Поэтому [RunDiffusion в своём гайде по промптам H3](https://learn.rundiffusion.com/minimax-h3-prompt-guide/) советует при копировании человека или места прямо писать, что Video 1 отвечает только за движение и камеру, и перечислять, что не переносить, а при обратной проблеме, когда движение не передаётся, брать чистый клип с одним действием и называть это действие словами. Там же рекомендовано добавлять референсы по одному, пока базовый результат не заработает.

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

В руководстве есть и маркеры сохранения — `fully_preserved`, `partially_preserved`, `attribute_transfer` (черты переносятся на другого персонажа) и `weak_reference` (сохраняется только общее сходство стиля или атмосферы). Это часть структурированного формата, в который MiniMax переписывает промпты, а не обязательный синтаксис: в тесте ниже обычный английский текст без маркеров сработал.

## Требования к референсному видео: до 3 клипов, в сумме до 15 с

Перед отправкой клип должен уложиться в лимиты официального API MiniMax по состоянию на 2 ноября 2026 года: до трёх видео, каждое от 2 до 15 секунд, суммарно не больше 15 секунд. Данные взяты из [справочника API MiniMax по созданию видео](https://platform.minimax.io/docs/api-reference/video-generation-v2-create) и руководства по генерации.

| Параметр | Лимит для референсного видео |
| --- | --- |
| Количество | до 3 клипов; вместе с изображениями и аудио не больше 12 файлов |
| Длительность | каждый клип 2–15 с, сумма всех клипов не больше 15 с |
| Контейнер и кодек | MP4 или MOV; видео H.264/AVC или H.265/HEVC, звук AAC или MP3 |
| Размер файла | до 50 МБ на клип; тело запроса целиком до 64 МБ |
| Разрешение | от 256 до 5 760 px по каждой стороне |
| Соотношение сторон | ширина / высота от 0,4 до 2,5 |
| Частота кадров | от 23,976 до 60 fps |
| Промпт | непустой текст обязателен, до 7 000 символов |

Два правила не видны в таблице, но ломают запрос чаще лимитов. Первое: режим референсов и режим первого/последнего кадра взаимоисключающие, поэтому `first_frame` или `last_frame` рядом с `reference_video` ставить нельзя. Второе касается способа передачи файла. Официальный API принимает публичную ссылку, `mm_file://{file_id}` или Base64 (`data:video/mp4;base64,…`) и сам советует ссылки для больших файлов, потому что Base64 раздувает запрос примерно на треть. Шлюз, через который шёл тест, принимает видео и аудио только как публичные HTTPS-ссылки, так что ссылка на файл — самый совместимый вариант.

Остальные модели того же эндпоинта тоже принимают референсное видео: `MiniMax-H3-Highspeed` и `MiniMax-H3-Lite` (480P/768P, 4–15 с) и `MiniMax-H3-Max` (480P/768P, 5–15 с). 2K доступен только у `MiniMax-H3`. Параметр `ratio` для референсов по умолчанию `adaptive`, но его можно задать явно, например `16:9`.

## Как написать запрос и промпт reference to video: шаги и curl

Запрос собирается из одного текстового элемента и одного-трёх элементов `video_url`, а промпт строится по схеме «роль клипа → что не брать → новая сцена». Порядок такой:

1. Выберите клип с одним понятным движением камеры или одним действием и обрежьте его до нужной длины (скрипт проверки и команда обрезки — в разделе о проверке ниже).
2. Загрузите клип туда, откуда сервер скачает его напрямую по HTTPS. На официальном API можно также загрузить файл и передать `mm_file://{file_id}`.
3. Напишите промпт по шаблону: `Use reference video 1 only for its [camera movement / motion]: [что именно]. Do not copy the [person, clothing, setting, lighting] from reference video 1. New scene: [кто, где, когда, свет, звук].`
4. Соберите `content`: текстовый элемент и `video_url` с ролью `reference_video`; без `first_frame` и `last_frame`.
5. Задайте `model`, `resolution`, `duration` и при необходимости `ratio`, отправьте запрос и сохраните `task_id`.
6. Опрашивайте задачу раз в 10 секунд; готовая ссылка лежит в `task.content.url`, а `usage.input_seconds` показывает, сколько секунд референса учтено в счёте.

Ниже тот самый запрос из теста 2 ноября 2026 года. Клип в нём — публичный демонстрационный ролик MiniMax из примеров API, поэтому запрос можно отправить без подготовки своего файла. Тело одинаковое для официального API и для шлюза, на котором запрос реально выполнялся; меняется только адрес.

```bash
# Официальный API MiniMax:
export H3_BASE="https://api.minimax.io"
# Шлюз, через который выполнялся тест 2 ноября 2026 года:
# export H3_BASE="https://api.laozhang.ai/hailuo"
export H3_KEY="ваш_ключ"

curl -s -X POST "$H3_BASE/v2/video_generation" \
  -H "Authorization: Bearer $H3_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MiniMax-H3",
    "content": [
      {
        "type": "text",
        "text": "Use reference video 1 only for its camera movement: a slow handheld push-in that drifts slightly around the subject. Do not copy the person, clothing, animals or field from reference video 1. New scene: an elderly fisherman in a yellow raincoat mends a net on a wooden pier at dawn, light rain, sea in the background."
      },
      {
        "type": "video_url",
        "role": "reference_video",
        "video_url": {
          "url": "https://cdn.hailuoai.com/prod/hailuo_demo/testsets/h3_promo_eval_ref2va/gallery/sr_v2p26_trio_seed42_20260724/inputs/297573323635_00_%E8%A7%86%E9%A2%911_YnyRbxEwio_video_20260525_163755_1927e9d3.mp4"
        }
      }
    ],
    "resolution": "768P",
    "duration": 4,
    "ratio": "16:9"
  }'

# Ответ: {"task_id": "..."}; затем опрос раз в 10 секунд:
curl -s "$H3_BASE/v2/query/video_generation/$TASK_ID" \
  -H "Authorization: Bearer $H3_KEY"
```

Как ссылаться на клип внутри промпта, зависит от того, где вы генерируете. Официальные примеры MiniMax пишут обычными словами по порядку внутри типа: «reference video 1», «reference images 1 and 2». Документация шлюза LaoZhang и узел `MiniMaxH3ReferenceToVideo` в ComfyUI используют теги `<Video 1>`, `<Picture 1>`, `<Audio 1>`, тоже с нумерацией внутри каждого типа. fal, RunDiffusion и API-узел ComfyUI пишут `Video 1`, а веб-приложение Hailuo — `@Video1`. В документации API MiniMax и в ComfyUI номер считается внутри типа по порядку загрузки, поэтому первый клип там — «видео 1», даже если перед ним стоят три изображения. Но в анонсе H3 у MiniMax пример нумерует файлы сквозь типы («Video 1», «Image 2», «Audio 3»), так что на конкретной платформе сверьтесь с её примером.

Если промпт получается длинным, у MiniMax есть отдельная задача H3-Context-IR: она разбирает ваши референсы и возвращает только улучшенный промпт, без видео. Его можно отправить обычным запросом reference to video.

## Тест 2 ноября 2026 года: только движение камеры за $0,55

Запрос из предыдущего раздела выполнялся 2 ноября 2026 года в 15:54 UTC через API LaoZhang. Это не официальный API MiniMax: по документации шлюза модель `MiniMax-H3` там работает на собственном развёртывании открытых весов H3, а цена составляет $0,05 за секунду в 768P и $0,08 в 2K, с той же оплатой секунд референса. Поведение официального API в этом тесте не проверялось.

Референсом был демонстрационный клип MiniMax: 6,06 с, 1920×1080, 24 fps, H.264 со звуком AAC, 4,4 МБ. В нём мужчина в розовом костюме держит чёрного ягнёнка на травянистом холме, а камера медленно наезжает с рук и слегка смещается вокруг него. Задача из промпта — перенести только этот наезд в новую сцену со старым рыбаком в жёлтом дождевике на деревянном пирсе на рассвете.

Задача завершилась на опросе через 45 секунд после отправки (по меткам сервера — 26 секунд от создания до завершения). Ответ запроса показал `total_seconds: 11`, `input_seconds: 7`, `output_seconds: 4`, а баланс уменьшился ровно на $0,55, то есть (4 с выхода + 7 с референса) × $0,05. Клип в 6,06 с был посчитан как 7 секунд. Готовый файл: 1344×768, 24 fps, 4,46 с, H.264, стереозвук AAC 32 кГц, 3,5 МБ.

В кадрах результата есть рыбак в жёлтом дождевике, пирс и море на рассвете, а розового костюма, ягнёнка и поля нет. Рыбак постепенно перемещается от левой трети кадра к центру и немного увеличивается, то есть сохранился мягкий наезд со смещением, как в референсе. Лёгкий дождь из промпта в кадре почти не виден. Это один прогон с одним промптом и одним клипом, поэтому он показывает, что формулировка «только камера + не копировать» может сработать, но не доказывает, что сработает всегда.

Одна практическая мелочь: ссылка на готовое видео отдала 403, когда файл скачивали из Python через `urllib` с User-Agent по умолчанию, а `curl` с обычным браузерным User-Agent скачал его без проблем.

## Почему запрос отклонён или падает с «temporary service error»

Сначала посмотрите, на каком этапе пришла ошибка. Если ответ на создание задачи — HTTP 400, запрос не прошёл проверку и деньги не списаны; исправьте то, что указано в тексте. Если пришёл `task_id`, а задача через несколько секунд перешла в `failed` с «temporary service error … Please retry», значит запрос был принят, но клип нарушал лимиты, которые маршрут проверяет только при генерации. В тесте 2 ноября 2026 года на том же шлюзе сразу после таких сбоев корректный запрос прошёл, поэтому причина была не во временном сбое. Повтор нарушающего запроса не проверялся, но с тем же клипом он почти наверняка упадёт так же.

| Что было в запросе | Ответ шлюза, 2 ноября 2026 года | Что исправить |
| --- | --- | --- |
| 4 референсных видео | HTTP 400 при отправке: «参考图片、视频或音频数量超过支持上限。» (превышено число референсов), без списания | Оставить не больше 3 клипов |
| Референсное видео + `first_frame` | HTTP 400: «首尾帧图片不能与参考素材混合使用。» (первый и последний кадр нельзя смешивать с референсами), без списания | Выбрать один режим: референсы или кадры |
| Референсное видео без текста | HTTP 400: «内容中必须至少包含一项非空文本。» (нужен хотя бы один непустой текст), без списания | Добавить текстовый элемент с промптом |
| Только текст и референсное аудио | HTTP 400 `bad_request_error` «Invalid request parameters…», без списания | Добавить изображение или видео: аудио не может быть единственным референсом |
| Один клип 1,5 с, переданный как Base64 | Принят, через ~3 с `generation_failed`: «temporary service error… Please retry», деньги вернулись | Клип от 2 с и публичная HTTPS-ссылка; какая из двух причин сработала, этот тест не разделяет |
| Два клипа по 9,47 с, в сумме 18,95 с | Принят, через ~3 с тот же `generation_failed`, деньги вернулись | Обрезать так, чтобы сумма была не больше 15 с |

Деньги в двух последних случаях возвращаются не сразу: при создании задачи шлюз заблокировал $0,40 (по 4 с × $0,05 на каждую), а после сбоя баланс вернулся к исходному. Если вы смотрите на баланс в момент отправки, кажется, что ошибка платная.

![Два сценария ошибки в MiniMax H3: HTTP 400 сразу без списания или generation_failed через ~3 с с возвратом блокировки](https://blog.laozhang.ai/posts/ru/minimax-h3-reference-video/img/reference-video-errors.webp)

На других маршрутах те же нарушения ведут себя иначе. Atlas Cloud в своём [разборе правил reference to video для MiniMax H3](https://www.atlascloud.ai/blog/tips/minimax-h3-reference-to-video) от 12 августа 2026 года описывает, что у них все ошибочные запросы получали HTTP 200 и падали уже при генерации. Первый кадр вместе с референсами там не вызвал ошибки: один из входов молча отбросился, а задача была оплачена ($0,40). Два референсных аудиоклипа примерно по 8 с (16,1 с в сумме) тоже прошли и оплатились как обычно, хотя суммарный лимит для аудио — 15 с; видео дольше 15 с в сумме Atlas не проверял. Значит, на проверки конкретного маршрута полагаться нельзя: держитесь документированных лимитов MiniMax, тогда запрос одинаково пройдёт везде.

## Проверка клипа до отправки: скрипт на ffprobe и обрезка до 6,00 с

Проще всего не ловить ошибки после отправки, а проверить клипы локально. Скрипт ниже читает файлы через `ffprobe` и сверяет их с официальными лимитами MiniMax: количество, длительность каждого клипа и суммы, контейнер, кодек, размер, разрешение, соотношение сторон и частоту кадров. Заодно он печатает, сколько секунд будет в счёте при округлении вверх. Нужны Python 3 и установленный FFmpeg.

```python
#!/usr/bin/env python3
# h3_ref_check.py: python3 h3_ref_check.py clip1.mp4 [clip2.mp4 clip3.mp4]
import json, math, subprocess, sys

def probe(path):
    out = subprocess.run(["ffprobe", "-v", "error", "-show_entries",
        "format=duration,size,format_name:stream=codec_type,codec_name,width,height,avg_frame_rate",
        "-of", "json", path], capture_output=True, text=True, check=True).stdout
    return json.loads(out)

def check(paths):
    problems, total = [], 0.0
    if len(paths) > 3:
        problems.append(f"{len(paths)} clips: H3 accepts at most 3 reference videos")
    for p in paths:
        info = probe(p)
        fmt = info["format"]
        v = next(s for s in info["streams"] if s["codec_type"] == "video")
        dur, size_mb = float(fmt["duration"]), int(fmt["size"]) / 1e6
        num, den = map(int, v["avg_frame_rate"].split("/"))
        fps = num / den if den else 0
        w, h = v["width"], v["height"]
        total += dur
        print(f"{p}: {dur:.2f}s (billed {math.ceil(dur)}s), {w}x{h}, {fps:.3f} fps, "
              f"{v['codec_name']}, {size_mb:.1f} MB")
        if not 2 <= dur <= 15: problems.append(f"{p}: {dur:.2f}s is outside 2-15 s")
        if v["codec_name"] not in ("h264", "hevc"): problems.append(f"{p}: codec {v['codec_name']} is not H.264/H.265")
        if not ("mp4" in fmt["format_name"] or "mov" in fmt["format_name"]): problems.append(f"{p}: container is not MP4/MOV")
        if size_mb > 50: problems.append(f"{p}: {size_mb:.1f} MB is over 50 MB")
        if not (256 <= w <= 5760 and 256 <= h <= 5760): problems.append(f"{p}: {w}x{h} outside 256-5760 px")
        if not 0.4 <= w / h <= 2.5: problems.append(f"{p}: aspect ratio {w/h:.2f} outside 0.4-2.5")
        if not 23.976 <= round(fps, 3) <= 60: problems.append(f"{p}: {fps:.2f} fps outside 23.976-60")
    if total > 15: problems.append(f"total {total:.2f}s is over 15 s")
    print(f"total reference length {total:.2f}s")
    print("OK" if not problems else "FIX BEFORE SUBMITTING:\n- " + "\n- ".join(problems))
    return not problems

if __name__ == "__main__":
    sys.exit(0 if check(sys.argv[1:]) else 1)
```

2 ноября 2026 года (macOS 26.1, ffprobe 9.0.2) скрипт прогнали на тех же файлах, что уходили в запросы. Клип из успешного теста прошёл проверку и получил пометку «billed 7s». Клип 1,5 с скрипт отклонил с «1.50s is outside 2-15 s», а пару клипов по 9,47 с — с «total 18.95s is over 15 s». То есть оба запроса, которые шлюз принял и потом уронил, локальная проверка остановила бы до отправки.

Слишком длинный клип обрезается одной командой. Здесь из 9,47-секундного ролика вырезаются 6 секунд, начиная с первой секунды:

```bash
ffmpeg -ss 1 -i dance.mp4 -t 6 -c:v libx264 -crf 20 -preset veryfast -c:a aac dance-6s.mp4
```

После перекодирования клип стал ровно 6,00 с, и в паре с клипом 6,06 с скрипт выдал сумму 12,06 с и «OK». Перекодирование здесь не прихоть: ровная длительность в целых секундах экономит одну оплачиваемую секунду, о чём следующий раздел.

## Сколько стоит референсное видео: секунды входа плюс секунды выхода

У MiniMax референсное видео оплачивается по длительности, по той же цене за секунду, что и выходное разрешение выбранной модели. Формула получается такой: (секунды результата + секунды всех референсных клипов) × цена секунды. По [официальным ценам MiniMax pay-as-you-go](https://platform.minimax.io/docs/guides/pricing-paygo) на 2 ноября 2026 года у `MiniMax-H3` это $0,08 за секунду в 768P и $0,13 в 2K, аудиореференсы бесплатны, первые 5 изображений на задачу бесплатны, дальше по $0,04. Исключение — `MiniMax-H3-Max`: выход в 768P стоит $0,08 за секунду, а входное видео $0,143, так что длинный референс у этой модели дороже самого ролика.

Округление секунд важно для коротких роликов. Документация шлюза LaoZhang прямо пишет, что неполная секунда референса считается как полная, и тест это подтвердил: 6,06 с стали 7 оплачиваемыми секундами, и 4-секундный ролик обошёлся в (4 + 7) × $0,05 = $0,55. Если тот же материал обрезать ровно до 6,00 с, счёт составит (4 + 6) × $0,05 = $0,50. На официальной странице MiniMax правило округления не указано, поэтому расчёт ниже исходит из допущения, что там тоже считают целыми секундами: 4 с результата и клип 6,00 с стоят (4 + 6) × $0,08 = $0,80 в 768P и (4 + 6) × $0,13 = $1,30 в 2K.

На других платформах схема оплаты референса своя. У fal базовый MiniMax H3 reference to video берёт только за секунды результата, а отдельной платы за референсное видео нет; в варианте H3 Max на fal референсы считаются в токенах (4 096 бесплатно, дальше $0,02 за тысячу), и 5-секундный клип в 768P даёт 32 256 токенов, примерно $0,56 сверху. Поэтому перед большим тиражом посмотрите в ответе задачи поле `usage.input_seconds` или аналог у вашей платформы. Цены секунды у других видеомоделей собраны в статье [Сколько стоит генерация видео нейросетью: цена секунды и ролика](https://blog.laozhang.ai/ru/posts/how-much-does-ai-video-generator-cost).

## MiniMax H3 reference video в ComfyUI: подводные камни локального запуска

Локально референсное видео работает через открытые веса Ref2VA, и большинство жалоб «референс игнорируется» в ComfyUI объясняются настройками workflow, а не промптом. Ниже документированное поведение из [руководства ComfyUI по нативному запуску MiniMax H3](https://docs.comfy.org/tutorials/video/minimax/minimax-h3-native) и [описания узла MiniMaxH3ReferenceToVideo](https://docs.comfy.org/built-in-nodes/MiniMaxH3ReferenceToVideo); на собственном железе эти настройки не воспроизводились.

Первое, что стоит проверить, — модель и входы. Для референсов нужна диффузионная модель `ref2va` (`minimax_h3_ref2va_pruned_int8_convrot`), а не `fl2va` из workflow для текста и первого кадра. Если к узлу не подключён вход `vae`, референсные изображения и видео влияют только на текстовый энкодер и никаких латентов референса не создают, поэтому клип и правда почти ничего не делает. Звук клипа используется, только если он подключён к `ref_video_audio_N` с тем же номером, что и видео в `ref_video_N`.

Второе — время и кадры. Узел читает референсное видео как 24 fps без учёта метаданных, поэтому клип с другой частотой нужно заранее перекодировать в 24 fps, иначе движение растянется или ускорится. Кадры референса сверх запрошенной длины результата (`length`, по умолчанию 124 кадра, около 5 с) отбрасываются, так что 15-секундный клип для 5-секундного ролика используется лишь частично. В промпте узел ждёт теги `<Video 1>`, `<Picture 1>`, `<Audio 1>` с нумерацией внутри типа.

Третье — ускорители. Четырёхшаговая Turbo LoRA работает быстрее, но, по словам самой документации, ослабляет влияние референсов и звука; когда референс должен держаться, ComfyUI советует 20–25 шагов. Стилевые LoRA конкурируют с референсами, их держат на силе около 0,5. Участники Reddit дополнительно советуют уменьшать референсы до 480p, 24 fps и не больше 15 с, чтобы сократить время сэмплирования.

Наконец, открытые веса выдают только 768p при 24 fps: модуля 2K в них нет, и 2K получают через платные API MiniMax (H3-Context-IR и H3-Regenerate-2K). Железо тоже серьёзное: гайд SGLang приводит конфигурации 4×H200, 4×H100 или 2×RTX 5090 с 384 ГиБ оперативной памяти, а в его примере задача с референсом заняла 260 секунд против 37 у текстового запроса.

## Вопросы о референсном видео в MiniMax H3

### Можно ли получить 2K с референсным видео в MiniMax H3?

Да, если в официальном API MiniMax выбрана модель `MiniMax-H3`: только она поддерживает 2K, а Highspeed, Lite и Max ограничены 480P и 768P (по документации MiniMax на 2 ноября 2026 года). Если ролик уже сделан в 768P, задача Video Regeneration повторяет исходный `content` с добавленным готовым видео в роли `base_video` и выдаёт версию в 2K.

### Что такое H3-Context-IR и нужен ли он для reference to video?

H3-Context-IR — задача официального API MiniMax, которая разбирает текст и референсы и возвращает расширенный структурированный промпт без видео. Для простой задачи вроде «только камера» он не обязателен: обычный промпт с ролью клипа и списком исключений работает и без него. Пригодится, когда референсов несколько и модель путает, что откуда брать.

### С какой модели начинать: MiniMax H3 или Seedance и Wan?

Если ролик укладывается в 4–15 секунд и нужны 2K, нативный стереозвук или открытые веса, H3 — разумный первый кандидат; для более длинных роликов сравните варианты в статье [Wan 3.0, MiniMax H3 или Seedance 2.5: что проверить первым](https://blog.laozhang.ai/ru/posts/wan-3-vs-minimax-h3-vs-seedance-2-5).
