Собственную LoRA стоит загружать только тогда, когда она выдерживает нужный кадр: персонаж, движение и звук вместе. MiniMax H3 LoRA на SpicyAPI (spicyapi.ai) — это видеомодель H3 с открытыми весами и полем loras: до трёх ваших собственных файлов .safetensors в одном запросе, у каждого сила от 0 до 4.
Выбирайте задачу по исходному материалу и подключайте прямую ссылку на файл, обученный под H3. Начинайте с силы 1 для стилевой LoRA и с 0.6 до 0.8 для LoRA концепта, и сравнивайте черновик на 3 секунды в 480p ($0.15) с тем же запросом с пустым loras. По нашим тестам сентября 2026 года все три задачи отработали запросы со взрослым контентом, и SpicyAPI не добавляет дополнительных фильтров к весам, которые вы загружаете.
Выбирайте задачу по исходному материалу
| Исходный материал | Задача | Что делает там LoRA |
|---|---|---|
| Написанная сцена | Текст в видео | Задаёт внешний вид, поэтому это самый понятный первый тест для любого файла. Семь соотношений сторон. |
| Одобренный кадр | Изображение в видео | Клип открывается на вашем кадре и сохраняет его форму (поля соотношения сторон нет). Необязательный last_image_url задаёт финальный кадр. Сильная LoRA может увести клип от кадра, а стилевая LoRA бледнеет на фотографическом. |
| Изображения, клипы и звук | Референс в видео | До 9 изображений, 3 клипа и 3 аудиоклипа, у каждого своя роль в промпте. LoRA персонажа вместе со стоп-кадрами того же человека лучше всего держит идентичность. |
Все три возвращают MP4 от 3 до 15 секунд со стереозвуком из того же прохода, в 480p, 540p, 768p или 1080p, и загрузка LoRA ничего не добавляет к цене. Если LoRA не нужна, базовый H3 дешевле. Чтобы утвердить персонажа или внешний вид до оплаты секунд видео, сначала сделайте стоп-кадры в H3 Image LoRA; тот же массив loras переносится (стоп-кадры против видео).
Выбирайте LoRA, подходящую H3
Файл должен быть обучен под MiniMax H3. LoRA для другой базовой модели несовместима; даже для адаптеров H3 нужны задача и раскладка весов, которые поддерживает загрузчик. LoRA для H3 новые, и качество у них разное, поэтому ищите карточку модели, где указаны база, триггерное слово и рабочая сила. Вот два файла, которые это делают и загружаются через этот API:
| LoRA | Эффект | Задачи | Триггер | Сила от автора | Размер |
|---|---|---|---|---|---|
| vh5tape | Потёртый VHS-вид 1980-х: шум плёнки, наплывы цвета, приглушённый звук | Текст, изображение | vh5tape, первым в промпте | 1.0 для полного вида, от 0.7 до 0.9 для более мягкого износа | 131 MB |
| H3 Realism People | Реалистичная кожа и лица, лёгкое ощущение камеры в руках | Один файл для текста, изображения и референса | r34l1sm | 1.0 задумано, от 0.6 до 0.8 для более лёгкого воздействия | 131 MB |
Обе используют H3 Community License, где есть ограничения по территории и использованию; прочитайте её до коммерческой работы.
Из карточки модели берите только триггер и силу. Рецепты для локального ComfyUI или других хостов содержат настройки, которых у этой задачи нет (prompt_expansion_mode, число шагов, сэмплеры, weight_name, имя репозитория вместо ссылки), а LoRA с ускоренной дистилляцией (Turbo) существуют, чтобы сократить локальные шаги сэмплирования, поэтому пропустите их.
Подключите файл
path должен быть прямой HTTPS-ссылкой, которая отдаёт файл .safetensors без входа. На Hugging Face это ссылка /resolve/, а не страница /blob/ из адресной строки. В запросе нет поля с учётными данными, поэтому для приватного файла нужна предподписанная ссылка, которая останется действительной, пока задание не отработает. Замените main на хеш коммита, чтобы тот же запрос в следующем месяце загрузил тот же файл. Страница /blob/, отсутствующий файл или приватный репозиторий отклоняются с 400, до того как задание вообще появится. Если задание падает уже после принятия, отправьте тот же запрос с "loras": []: если он пройдёт, дело в файле (доступ, совместимость или его действие); если тоже нет, смотрите промпт или входные данные.
Сначала попробуйте в Playground
- Откройте страницу «текст в видео», останьтесь на вкладке Playground в режиме Form и войдите с пополненным счётом, чтобы запустить. У «изображение в видео» и «референс в видео» есть собственные страницы (ссылки в таблице выше).
- Поставьте триггерное слово в начало Prompt, а затем опишите кадр как короткую временную шкалу (кто в кадре, что делает, как движется камера), а звук вынесите в отдельную строку
Audio:. Подробное описание того, что LoRA уже делает, обычно спорит с весами. - В разделе Style LoRAs вставьте прямую ссылку на файл в LoRA file и задайте Strength. Кнопка Add item даёт до трёх файлов.
- Выберите 480p в Resolution и 3 в Duration для недорогого первого взгляда, задайте Seed и запустите.
- Нажмите Remove item, запустите снова с тем же промптом и тем же seed и сравните два клипа. Если они похожи, LoRA ничего не сделала (см. таблицу сбоев ниже).

Playground «текст в видео» MiniMax H3 в режиме Form, с полем Prompt и кнопкой Run. Страница LoRA добавляет в ту же форму раздел Style LoRAs.
Тело запроса в Playground — это тот же JSON, который принимает API, поэтому рабочую здесь настройку можно перенести прямо в код. У двух других задач свои входные данные:
- Изображение в видео добавляет Input image (открывающий кадр) и необязательный Closing frame. Опишите, что происходит дальше внутри кадра, а не новую сцену: с LoRA концепта на 1 промпт, который переносил героя в другую комнату, подменял открывающий кадр, тогда как тот же кадр сохранялся, когда промпт описывал движение внутри него. Поля соотношения сторон нет, поэтому сначала обрежьте кадр до нужной формы и оставьте место под движение.
- Референс в видео добавляет Reference images (до 9), Reference videos (до 3) и Reference audio (до 3). Откройте промпт одним коротким предложением на каждый вход, у каждого своя роль: Picture 1 is the woman, Picture 2 is the room, Video 1 is the camera move, Audio 1 is her voice. Если вы берёте движение из клипа, прямо скажите, что человек приходит из картинки, а только движение — из клипа; без этой фразы танцовщица из клипа приходит вместе с движением. Три хороших стоп-кадра держат идентичность лучше, чем девять наложенных.
Playground каждой страницы модели открывается на готовом примере, а его панель Request body показывает точный JSON. Три запуска этих примеров:
Референсные клипы тарифицируются по своим секундам поверх выходных секунд, всего до 15 секунд клипа, поэтому держите их короткими.
Затем запустите из кода
Установите Python SDK (pip install spicyapi), задайте SPICY_API_KEY в окружении сервера и выполните запрос «текст в видео» ниже. Для других задач: в «изображение в видео» поменяйте model, уберите aspect_ratio и добавьте image_url; для «референс в видео» поменяйте model и добавьте reference_image_urls (aspect_ratio остаётся).
import uuid
from spicyapi import SpicyClient, output_assets
client = SpicyClient() # reads SPICY_API_KEY from the environment
task = client.create_task(
model="minimax/h3-lora/text-to-video",
input_data={
"prompt": "vh5tape, worn VHS tape with light tracking noise. A woman in a red satin dress sits alone in a late-night diner booth, turns toward the camera and slowly smiles, neon light flickering in the rain-streaked window behind her. Slow push-in. Audio: rain on glass, a jukebox ballad muffled through the tape, quiet room hum.",
"aspect_ratio": "4:3",
"resolution": "480p",
"duration_seconds": 5,
"seed": 42,
"loras": [{
"path": "https://huggingface.co/KennethFal/vh5tape-vhs-lora-minimax-h3/resolve/d25a4ab75aba899aa508220321525c8465ac11af/vh5tape.safetensors",
"scale": 1.0,
}],
},
idempotency_key=str(uuid.uuid4()),
)
final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
raise RuntimeError(f"{task['taskId']} ended as {final['state']}: {final.get('errorCode')}")
print(output_assets(final)[0]["url"]) # copy the video to your own storage nowСоздание, ожидание, скачивание, повторы и коды ошибок разобраны в руководстве по заданиям и в справочнике Python SDK. Созданные файлы хранятся не более 14 дней, поэтому прочитайте хранение и выдачу, прежде чем строить систему на полученной ссылке; для продакшена сравнение опроса и вебхуков поможет выбрать вариант.
Или поручите запуск Agent
Когда генерации должен запускать ассистент, все три официальных инструмента показывают цену и спрашивают подтверждение перед платным вызовом.
- CLI. Положите тот же объект
inputвt2v.json, затем:
``bash spicyapi tasks create --model minimax/h3-lora/text-to-video --input-file t2v.json --wait ``
Смотрите документацию по CLI; npx @spicyapi/cli работает без установки.
- Сервер MCP. Добавьте сервер MCP к своему ассистенту, а затем спросите: "Run MiniMax H3 LoRA text-to-video with this prompt and this weights link at strength 1, 480p, 3 seconds." Он вызывает
spicyapi_task_create, который останавливается для подтверждения цены, а затемspicyapi_task_wait. - Skill.
npx skills add spicyapi-ai/spicy-skillустанавливает Agent Skill, благодаря чему ассистент для программирования читает актуальную схему модели, а не угадывает названия полей.
Задайте силу
scale работает от 0 до 4, причём 1 — нейтральное значение. Стилевые LoRA начинайте с 1, LoRA концепта — с 0.6 до 0.8. Затем пройдите лестницу: тот же промпт и тот же seed в 480p и 3 секунды, с силой 0.5, 0.8 и 1.1, плюс один запуск с пустым loras. Меняйте по одному параметру за запуск. Фиксированный seed делает запуски сопоставимыми, а не одинаковыми, поэтому оценивайте внешний вид и действие, а не пиксели.

Оставьте ту ступень, которая читается правильно, или возьмите среднее между двумя. Перестайте повышать силу, когда герой, действие или звук начинают ломаться; если базовый вариант уже не даёт нужного кадра, никакая сила это не исправит. Смотрите клип целиком, а не первый кадр, и слушайте, потому что LoRA может изменить и звук (vh5tape заглушает его намеренно). В карточке vh5tape перечислены формулировки промпта для лёгкого, среднего и сильного износа; поменяйте их прежде, чем поднимать силу выше 1.

Собирайте до трёх
Проверьте каждый файл отдельно, прежде чем соединять. LoRA персонажа, обученная на глянцевых портретах, может спорить с тяжёлым плёночным видом, а LoRA движения может развернуть героя от кадра. Когда стек получается неудачным, держите seed и промпт и убирайте по одной записи: восстановившийся запуск указывает на этот адаптер или на его взаимодействие с остальным стеком. Сначала снижайте самый сильный вес. Заранее решите, какое требование побеждает при конфликте (скажем, идентичность важнее текстуры), и заново проверьте стек, который сработал на тексте, прежде чем применять его к фотографическому кадру или референсу.
Сколько это стоит
| Задача | 480p | 540p | 768p | 1080p | Доплаты |
|---|---|---|---|---|---|
| Текст в видео и изображение в видео | $0.05/s | $0.075/s | $0.10/s | $0.20/s | Нет; загрузка LoRA бесплатна |
| Референс в видео | $0.06/s | $0.09/s | $0.135/s | $0.27/s | $0.02 за референсное изображение или аудиоклип; секунды клипа тарифицируются как выходные секунды |
- 3 секунды в 480p: $0.15. 5 секунд в 480p: $0.25. 5 секунд в 1080p: $1.00.
- Три запроса выше: $0.25 / $0.50 / $0.58.
- База плюс лестница из трёх ступеней, четыре клипа по 3 секунды в 480p: $0.60.
- Референс в видео, 5 секунд в 480p: $0.32 с одним изображением, $0.34 с двумя, $1.37 в 1080p с одним изображением.
- Упавшее или истёкшее задание обычно не тарифицируется; готовый клип, который вам не нравится, — тарифицируется.
- Расчёт с референсным клипом резервирует все 15 секунд клипа: $1.20 за выход 5 секунд в 480p. Списание рассчитывается по фактической длине клипа.
Сделайте черновик в 480p и 3 секунды, потом отправьте удачный вариант один раз в 768p или 1080p с тем же seed. Ожидайте близкий вариант, а не копию.
Когда LoRA ничего не делает или клип получается неверным
| Симптом | Вероятная причина | Что делать |
|---|---|---|
| Клип выглядит как обычный H3 | Файл обучен под другую базу, нет триггерного слова или фотографический кадр либо референс ведёт стилевую LoRA | Проверьте базу в карточке, поставьте триггер первым, попробуйте тот же файл в «текст в видео», затем поднимите силу |
| Клип уходит от открывающего кадра | LoRA концепта слишком сильна, или промпт описывает новую сцену | Снизьте до 0.6 и опишите только то, что происходит дальше |
| Внешний вид подавляет сцену | Самый сильный вес слишком велик, или стек перегружен | Снизьте самый сильный вес, затем убирайте записи по одной |
| В кадре появляется исполнительница из референсного клипа | В промпте не сказано, зачем нужен клип | Скажите, что человек приходит из картинки, а только движение — из клипа |
| Идентичность колеблется | Слишком много наложенных друг на друга референсов | Оставьте два-три удачных стоп-кадра |
| Отклонено с 400 | Это не прямая ссылка на файл | Используйте ссылку на файл /resolve/ |
| Задание падает после принятия | Ссылка истекла или репозиторий стал приватным | Отправьте снова с "loras": []; сделайте так, чтобы предподписанная ссылка пережила задание |
Использование без цензуры
SpicyAPI не добавляет фильтр контента ни к промпту, ни к весам, ни к результату. В этих тестах на нашей шкале контента ничего не отклонялось: шкала идёт от L1 Намёк и L2 Зрелые темы и L3 Сильный до L4 Интенсивный, плюс проверки L5a сковывания и L5b крови, и всё это без загруженных LoRA. Одно слабое место: без LoRA «изображение в видео» смягчало L4 Интенсивный (интимная сцена между двумя взрослыми) в двух запусках из трёх, тогда как текстовый и референсный вход отрисовывал все уровни. С загруженной LoRA для взрослых от сообщества все три задачи отрисовали L4. Полные результаты — в обзоре H3 LoRA.
То, что SpicyAPI не добавляет дополнительного фильтра контента, не даёт прав на сходство с человеком: все показанные должны быть взрослыми, а для LoRA реального человека нужно его согласие и ваши права на его образ.
Попробуйте в playground MiniMax H3 LoRA, там видны актуальные цены.
FAQ
Можно ли вставить имя репозитория Hugging Face или ссылку /blob/?
Нет. path принимает прямую HTTPS-ссылку на файл; страница /blob/ или просто имя owner/repo отклоняются с 400, а поля weight_name, которое принимают некоторые хосты, здесь нет аналога. Используйте ссылку /resolve/.
Можно ли загрузить LoRA, которую я обучил сам?
Да, если она обучена на H3 с открытыми весами, сохранена как .safetensors и доступна по HTTPS.






