curl --request POST \
--url https://api.apimart.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "MiniMax-H3-Max",
"prompt": "Детектив в плаще оборачивается на залитой неоном улице под дождём. Камера медленно приближается.",
"duration": 5,
"resolution": "768P",
"aspect_ratio": "16:9"
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/videos/generations",
headers={"Authorization": "Bearer <token>", "Content-Type": "application/json"},
json={
"model": "MiniMax-H3-Max",
"prompt": "Детектив оборачивается на неоновой улице под дождём.",
"duration": 5,
"resolution": "768P",
"aspect_ratio": "16:9",
},
)
print(response.json())
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
}
]
}
{
"error": {
"code": 400,
"message": "Недопустимые параметры запроса",
"type": "invalid_request_error"
}
}
{
"error": {
"code": 401,
"message": "Ошибка аутентификации. Проверьте ключ API.",
"type": "authentication_error"
}
}
{
"error": {
"code": 402,
"message": "Недостаточно средств на счёте",
"type": "payment_required"
}
}
MiniMax-H3
Генерация видео MiniMax-H3-Max
- Быстрая версия MiniMax Video Generation V2 с асинхронной постановкой задачи
- Поддерживает генерацию из текста и изображения с первым, последним или обоими кадрами
- Поддерживает 768P / 480P, длительность 5–15 секунд и звуковую дорожку
- Не поддерживает 2K, промежуточные кадры и мультимодальные референсы
POST
/
v1
/
videos
/
generations
curl --request POST \
--url https://api.apimart.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "MiniMax-H3-Max",
"prompt": "Детектив в плаще оборачивается на залитой неоном улице под дождём. Камера медленно приближается.",
"duration": 5,
"resolution": "768P",
"aspect_ratio": "16:9"
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/videos/generations",
headers={"Authorization": "Bearer <token>", "Content-Type": "application/json"},
json={
"model": "MiniMax-H3-Max",
"prompt": "Детектив оборачивается на неоновой улице под дождём.",
"duration": 5,
"resolution": "768P",
"aspect_ratio": "16:9",
},
)
print(response.json())
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
}
]
}
{
"error": {
"code": 400,
"message": "Недопустимые параметры запроса",
"type": "invalid_request_error"
}
}
{
"error": {
"code": 401,
"message": "Ошибка аутентификации. Проверьте ключ API.",
"type": "authentication_error"
}
}
{
"error": {
"code": 402,
"message": "Недостаточно средств на счёте",
"type": "payment_required"
}
}
Выбор модели: используйте
MiniMax-H3-Max, если важна скорость и достаточно генерации из текста либо управления первым/последним кадром. Для 2K, промежуточных кадров, референсных изображений, видео или аудио используйте MiniMax-H3.curl --request POST \
--url https://api.apimart.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "MiniMax-H3-Max",
"prompt": "Детектив в плаще оборачивается на залитой неоном улице под дождём. Камера медленно приближается.",
"duration": 5,
"resolution": "768P",
"aspect_ratio": "16:9"
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/videos/generations",
headers={"Authorization": "Bearer <token>", "Content-Type": "application/json"},
json={
"model": "MiniMax-H3-Max",
"prompt": "Детектив оборачивается на неоновой улице под дождём.",
"duration": 5,
"resolution": "768P",
"aspect_ratio": "16:9",
},
)
print(response.json())
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
}
]
}
{
"error": {
"code": 400,
"message": "Недопустимые параметры запроса",
"type": "invalid_request_error"
}
}
{
"error": {
"code": 401,
"message": "Ошибка аутентификации. Проверьте ключ API.",
"type": "authentication_error"
}
}
{
"error": {
"code": 402,
"message": "Недостаточно средств на счёте",
"type": "payment_required"
}
}
Аутентификация
string
обязательно
Для всех эндпоинтов нужен Bearer Token. Получите ключ на странице API-ключей.
Authorization: Bearer YOUR_API_KEY
Выбор модели
| Возможность | MiniMax-H3 | MiniMax-H3-Max |
|---|---|---|
| Разрешение | 2K / 768P, по умолчанию 2K | 768P / 480P, по умолчанию 768P |
| Длительность | 4–15 секунд | 5–15 секунд |
| Текст в видео | Поддерживается | Поддерживается |
| Первый / последний кадр | Поддерживается | Поддерживается |
| Промежуточный кадр | Поддерживается | Не поддерживается |
| Мультимодальные референсы | Изображения, видео, аудио | Не поддерживаются |
| Стоимость входных изображений | Первые 5 бесплатно | Бесплатно |
MiniMax-H3-Max не поддерживает 2K, а его результат нельзя использовать как источник для Regeneration.Режимы генерации
Режим определяется полями запроса автоматически; не передавайте полеmode.
| Режим | Условие | Поведение |
|---|---|---|
| Текст в видео (T2V) | Только prompt и общие поля | Генерация из текста |
| Изображение в видео (I2V) | first_frame_image / last_frame_image или соответствующие роли в image_with_roles | Управление первым, последним или обоими кадрами |
Модель не поддерживает
image_urls, video_urls, audio_urls и image_with_roles[].role = "reference_image". Любой референсный материал синхронно возвращает HTTP 400 до создания задачи и списания средств.Параметры запроса
string
обязательно
Фиксированное значение:
MiniMax-H3-Max. Регистр не учитывается; minimax-h3-max также допустимо.string
обязательно
Непустое описание видео, обязательное во всех режимах. Максимум
7000 символов.integer
по умолчанию:"5"
Длительность видео в секундах: целое число от
5 до 15, по умолчанию 5. Четыре секунды не поддерживаются.string
по умолчанию:"768P"
Разрешение:
768P (по умолчанию) или 480P.2K, 1440P и 2048P не поддерживаются. Недопустимое значение возвращает HTTP 400 без автоматического понижения разрешения.string
Соотношение сторон. Также принимаются псевдонимы
size и ratio.Значения T2V: 21:9, 16:9, 4:3, 1:1, 3:4, 9:16.- T2V без поля или с
adaptive: используется16:9 - I2V: определяется входным изображением; поле игнорируется
string
Публичный URL изображения для первого кадра.
string
Публичный URL изображения для последнего кадра. Можно использовать отдельно или вместе с
first_frame_image.object[]
Массив изображений с ролями вместо
Для каждой роли допускается не более одного изображения;
first_frame_image и last_frame_image.Показать Элемент image_with_roles
Показать Элемент image_with_roles
role не может быть пустым.boolean
по умолчанию:"false"
Добавить водяной знак AIGC. Псевдоним:
aigc_watermark.string
Получает уведомление при успешном или неуспешном завершении задачи.
Используйте
webhook, а не callback_url MiniMax. Поле callback_url зарезервировано шлюзом.Неподдерживаемые параметры
Следующие значения возвращают HTTP 400 до создания задачи и тарификации:| Параметр / значение | Причина |
|---|---|
image_urls | Считается референсными изображениями, которые не поддерживаются |
image_with_roles[].role = "reference_image" | Поддерживаются только первый и последний кадры |
video_urls / video_url | Референсное видео не поддерживается |
audio_urls / audio_url | Референсное аудио не поддерживается |
resolution: "2K" | Только 768P и 480P |
duration: 4 или больше 15 | Только 5–15 секунд |
Для референсов, 2K, промежуточных кадров или 4-секундного видео используйте MiniMax-H3.
Ограничения изображений
Общий размер тела запроса — не более 64 МБ. Используйте публичные URL; Base64 не поддерживается.| Параметр | Ограничение |
|---|---|
| Форматы | JPG / JPEG / PNG / WEBP / HEIC / HEIF |
| Один файл | ≤ 30 МБ |
| Ширина и высота | 256–5760 px |
| Соотношение сторон | 0,4–2,5 |
| Количество | До 1 первого и 1 последнего кадра; всего 2 изображения |
Примеры
Первый кадр
{
"model": "MiniMax-H3-Max",
"prompt": "Камера медленно приближается, поднимается пар.",
"first_frame_image": "https://cdn.example.com/ramen.png",
"duration": 5,
"resolution": "480P"
}
Первый и последний кадры
{
"model": "MiniMax-H3-Max",
"prompt": "Сцена постепенно переходит от утра к закату.",
"first_frame_image": "https://cdn.example.com/morning.png",
"last_frame_image": "https://cdn.example.com/sunset.png",
"duration": 8,
"resolution": "768P"
}
Проверка задачи
После отправки возвращаетсяtask_id. Проверяйте статус задачи каждые 5–10 секунд; рекомендуемый клиентский тайм-аут — 15 минут.
status | Значение |
|---|---|
pending | Отправлена или в очереди |
processing | Генерируется |
completed | URL видео в result.videos[0].url |
failed | Смотрите error.message; автоматический возврат |
URL созданного видео обычно истекает примерно через 24 часа. Сохраните результат своевременно.
Тарифы
Итоговая стоимость = цена за секунду × длительность. Первый и последний кадры бесплатны.| Позиция | Цена |
|---|---|
| Видео 768P | $0.075 / секунда |
| Видео 480P | $0.0495 / секунда |
| Входные изображения | Бесплатно |
cost в ответе задачи.
Ошибки
| Сценарий | Результат |
|---|---|
Пустой или длиннее 7000 символов prompt | 400; задача не создаётся |
duration вне 5–15 | 400; задача не создаётся |
Неподдерживаемое resolution | 400; задача не создаётся |
| Референсные материалы | 400; задача не создаётся |
| Недопустимая или повторная роль изображения | 400; задача не создаётся |
| Недостаточно средств | 402 |
| Отклонение безопасностью контента | 422 |
| Ограничение частоты | 429; повторить с задержкой |
status = failed и error.message; средства возвращаются автоматически.
Response
integer
Код ответа; при успехе 200