MiniMax: I2V 01
I2V 01 анимирует предоставленное изображение первого кадра с необязательным текстовым заданием, описывающим действие. Подготовьте начальную композицию, задайте видимое движение и проверьте готовый клип на непрерывность объекта и кадрирование.
О модели
Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.
I2V 01 — версия MiniMax для создания движения из предоставленного первого кадра. Изображение задаёт объект и начальную композицию; необязательная письменная инструкция описывает последующее действие. Используйте её, когда исходный визуальный материал уже существует как фотография, сгенерированное изображение или подготовленная сцена, а задача — превратить его в короткую видеопоследовательность.
Выбирайте первый кадр под движение, которое хотите показать. Изображение товара должно раскрывать форму и поверхности, сохраняющие узнаваемость. Портрет должен ясно показывать лицо и оставлять достаточно пространства для нужного жеста. Для окружения укажите элемент, несущий движение: листья, воду или пересекающего сцену человека. Подготовьте композицию до генерации, чтобы у действия была полезная отправная точка.
Требования производителя к изображениям: JPG, JPEG, PNG или WebP, меньше 20 MB, с короткой стороной больше 300 пикселей. Принимаемое соотношение сторон — от 2:5 до 5:2. В процессе производителя первый кадр можно передать доступным URL изображения или закодированными данными изображения. Сохраняйте сам файл вместе с записью запроса, чтобы визуальная отправная точка оставалась доступной для последующего сравнения.
Используйте текстовое описание для видимого движения, его темпа и нужного конечного состояния. Например, керамическая чашка на столе может оставаться на месте, пока поднимается пар и слегка движется фоновая штора. Человек может повернуться к окну и остановиться. Задайте объекту одно понятное действие и объясните, какие признаки должны оставаться видимыми на всём его протяжении.
Инструкция допускает до 2 000 символов. Располагайте полезные детали в естественном порядке: объект, действие, окружение и точка наблюдения. Если изображение уже задаёт сцену, уточняйте текстом движение, не повторяя каждый видимый предмет. Краткое указание направления и размаха жеста может быть полезнее нескольких общих прилагательных о кинематографическом качестве.
В прежней таблице производителя для видео по изображению 720P указано как значение по умолчанию для I2V 01, а вариант длительностью десять секунд для этой версии не перечислен. Сохраняйте выбранные настройки вывода с клипом и оценивайте фактический темп результата. Подготовьте кадр, главное действие которого понятно как одна короткая последовательность, с начальным и конечным состояниями, пригодными для предполагаемого монтажа.
Автоматическая оптимизация инструкции включена по умолчанию в документированном процессе производителя. При сравнении правки записывайте, используется ли она. Сохраняйте изображение неизменным при проверке другого описания действия или сохраняйте описание неизменным при сравнении иной начальной композиции. Так проще увидеть, какое творческое изменение повлияло на результат.
Проверяйте готовое видео от начала до конца. Оцените узнаваемость объекта, соответствие движения видимой структуре источника и сохранение важной детали в кадре. Для товарной сцены проверяйте края и внешний вид материала при движении; для портрета — непрерывность лица и жеста. Сохраняйте сам клип с исходным изображением и инструкцией, затем исправляйте оставшуюся конкретную проблему движения или кадрирования.
Ailoot Ultra · Видео POST /v1/videos minimaxi-i2v-01
minimaxi-i2v-01Начало
I2V 01 анимирует предоставленное изображение первого кадра с необязательным текстовым заданием, описывающим действие. Подготовьте начальную композицию, задайте видимое движение и проверьте готовый клип на непрерывность объекта и кадрирование.
- Допустимые входные данные
- Текст · Картинки
- Результаты
- Видео
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Видео POST /v1/videos
- Входные данные
text,image- Результат
video
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения minimaxi-i2v-01 Условия: Используйте точный идентификатор модели Ailoot. | По умолчанию— |
Полеprompt | Типstring | ТребованиеОбязательно | Значения и ограничения Условия: Опишите сцену и движение. | По умолчанию— |
Полеend_image | Типstring | ТребованиеНеобязательно | Значения и ограничения Условия: Последний кадр применяется только в поддерживаемом режиме ввода изображений. | По умолчанию— |
Полеimage | Типstring or array<string> | ТребованиеНеобязательно | Значения и ограничения Условия: Используйте фактический публично доступный URL изображения или строку изображения в base64; максимальное количество изображений здесь не заявляется. | По умолчанию— |
Параметры и жизненный цикл метода
| Параметр | Контракт |
|---|---|
Параметрcontent_type | Контрактapplication/json |
Параметрrequired | Контрактmodel, prompt |
Параметрoptional | Контрактend_image, image |
Параметрmaterial_types | Контрактtext, image |
Параметрconditions | КонтрактИспользуйте точный идентификатор модели Ailoot., Опишите сцену и движение., Последний кадр применяется только в поддерживаемом режиме ввода изображений., Используйте фактический публично доступный URL изображения или строку изображения в base64; максимальное количество изображений здесь не заявляется. |
Псевдонимы метода: /v1/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/media/assets
GET /v1/media/assets/{asset_id}
Тарифы
Как рассчитывается итоговая плата
Отображаемые тарифы позволяют оценить стоимость до генерации. Итоговое списание рассчитывается по стоимости, записанной для исходной генерации. Измеренная длительность результата и прогнозные объёмы не являются итоговым оплачиваемым объёмом.
Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.
- Быстрый режим
- Не указано При выборе быстрого режима
- Режим flex
- Не указано При выборе режима flex
- Максимальная интенсивность рассуждений
- Не указано При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)
Оценочные ставки для сравнения
Цены по конфигурациям
Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.
| Конфигурация | Шкала ставок | Прогноз количества | Расчётное количество | Плата |
|---|---|---|---|---|
| КонфигурацияБазовые тарифы на токены | Шкала ставокБазовая ставка | Прогноз количества— | Расчётное количество— | Плата Вход · Входные токены · Оценка только для сравнения — / 1K токенов Выход · Выходные токены · Оценка только для сравнения — / 1K токенов Вход · Чтение кэша · Оценка только для сравнения — / 1K токенов Вход · Запись в кэш · Оценка только для сравнения — / 1K токенов Вход · Запись в кэш, 1 час · Оценка только для сравнения — / 1K токенов |
| КонфигурацияЗа запрос | Шкала ставок— | Прогноз количества— | Расчётное количествоОдин запрос | Плата Вход · Оценка только для сравнения $1 за запрос |
| КонфигурацияОриентировочная стоимость генерации | Шкала ставок— | Прогноз количестваОценка для одной генерации | Расчётное количество— | Плата Выход · Оценочная стоимость генерации · Оценка только для сравнения $1 оценка до генерации Эта оценка не является дополнительным списанием или фиксированным тарифом для завершённой генерации. |
Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. Как работают резервирование и расчёт →
Примеры запросов
Ailoot Ultra · Видео
# Replace YOUR_ACCESSIBLE_IMAGE_URL with your actual reachable reference image URL.
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON'
{
"model": "minimaxi-i2v-01",
"prompt": "A cat is walking on grass.",
"image": "YOUR_ACCESSIBLE_IMAGE_URL"
}
JSON
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
# Create once; retain id, polling_url, original task identifiers and every header.
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_STATUS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
u=urljoin("https://api.ailoot.ai",r["polling_url"])
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or p.username or p.password:
raise SystemExit("Unexpected returned polling URL; preserve the response")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-D","status-headers.txt","-o","status.json"],check=True)
# Read this same original polling_url again while pending.
# Preserve unknown/result_pending_check; do not repeat creation.
PY_STATUS
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())
roles={}
def visit(v,path=""):
if isinstance(v,dict):
for k,x in v.items(): visit(x,path+"/"+k)
elif isinstance(v,list):
for i,x in enumerate(v): visit(x,path+"/"+str(i))
elif isinstance(v,str):
u=urljoin("https://api.ailoot.ai",v); p=urlsplit(u)
if p.scheme=="https" and p.netloc=="api.ailoot.ai" and not p.username and not p.password and p.path.startswith("/v1/media/assets/") and p.path.endswith("/content"):
roles.setdefault(u,[]).append(path)
visit(r)
if not roles: raise SystemExit("No completed owned assets; retain the original status")
manifest=[]
for i,(u,paths) in enumerate(roles.items()):
target=Path(f"asset-{i}.bin")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-o",str(target)],check=True)
raw=target.read_bytes()
if not raw: raise SystemExit("Empty asset; retain original status and metadata")
ext="glb" if raw[:4]==b"glTF" else "png" if raw[:8]==b"\x89PNG\r\n\x1a\n" else "jpg" if raw[:3]==b"\xff\xd8\xff" else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "mp4" if raw[4:8]==b"ftyp" else "bin"
name=f"asset-{i}.{ext}"
if target.name!=name: target.rename(name)
manifest.append({"file":name,"response_paths":paths,"bytes":len(raw)})
Path("asset-manifest.json").write_text(json.dumps(manifest,indent=2))
print("Saved",len(manifest),"unique owned assets; every response role retained")
PY_ASSETS
Получить и сохранить результаты
Ailoot Ultra · Видео
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Сохраняйте все готовые результаты
Сохраните каждое готовое видео или полученный файл; загрузите содержимое по каждому фактически полученному URL материала.
Сохраните полный ответ и заголовки, исходные идентификаторы, каждый фактический результат и все поля использования и учёта. Сохраните каждый уникальный ресурс, принадлежащий Ailoot, и каждую роль, которая на него ссылается.
Если нужно проверить исходный ответ
Сохраните возвращённый публичный id задачи или операции и все заголовки. Проверяйте только исходную задачу; unknown или result_pending_check не разрешают создавать новую.
Поля ответа
| Поле | Тип |
|---|---|
Полеid | Типstring |
Полеpolling_url | Типstring |
Полеprovider_task_id | Типstring |
Полеtask_id | Типstring |
Полеstatus | Типstring |
Полеvideo_url | Типstring |
Псевдонимы
Псевдонимы моделей
Ailoot Ultra minimaxi-i2v-01
Псевдонимы путей метода
/v1/videos/generations
Связанные ID для вызова
FAQ · MiniMax: I2V 01
- Какие входные данные и результаты доступны?
POST /v1/videos·minimaxi-i2v-01:text,image→video- Какие поля использует запрос?
POST /v1/videos·minimaxi-i2v-01:model,prompt,end_image,image