MiniMax: I2V 01 Director
I2V 01 Director анимирует изображение первого кадра с явными командами движения камеры в инструкции. Сочетайте предоставленную композицию с направленными указаниями truck, pan, push, tilt, zoom, tracking или неподвижной камеры для планирования короткого кадра.
О модели
Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.
I2V 01 Director — версия MiniMax для видео по изображению с документированными командами камеры. Предоставленное изображение задаёт первый кадр, а инструкция направляет и видимое действие, и камеру. Это полезно, когда существующей композиции нужны конкретное приближение, раскрытие сцены, слежение или контролируемый неподвижный вид, а не неопределённая анимация.
Подготовьте изображение как начало задуманного плана. Для раскрытия сцены покажите объект и часть окружения, которую должна открыть камера. Для близкого приближения начните с достаточного окружающего пространства, чтобы изменение кадрирования было понятным. Проверяйте видимость важных признаков объекта до начала движения, особенно если форма товара или внешность персонажа должны сохранять узнаваемость.
Производитель принимает референсы JPG, JPEG, PNG и WebP меньше 20 MB с короткой стороной больше 300 пикселей и соотношением сторон от 2:5 до 5:2. Доступный URL или закодированные данные изображения могут задавать первый кадр в процессе производителя. Сохраняйте исходный референс, чтобы последующая правка использовала ту же композицию, а не воссозданное приближение.
Инструкция поддерживает до 2 000 символов и включает пятнадцать именованных команд камеры. Truck перемещает камеру горизонтально, pan меняет её горизонтальное направление, pedestal перемещает вертикально, а tilt меняет вертикальное направление. Push, pull и zoom дают разные виды приближения или удаления; tracking, shake и статичный кадр покрывают другие замыслы движения камеры. Для задания движения используйте документированное написание команды.
Размещайте команды в квадратных скобках в той части описания, где должно происходить движение. Несколько команд в одних скобках запрашивают одновременное движение, а команды в последовательных местах описывают цепочку. Производитель рекомендует максимум три сочетаемых движения. Простое приближение к объекту может передать деталь яснее, чем несколько движений, конкурирующих в одном коротком кадре.
Описывайте движение объекта отдельно от движения камеры. Человек идёт к двери, а камера следует за ним — две инструкции с разными визуальными эффектами. Укажите нужную связь между ними, например сохранение видимости лица при приближении или неподвижную камеру, пока объект пересекает кадр. Определите конечную композицию, чтобы сгенерированное действие имело полезную цель.
Прежняя таблица производителя для видео по изображению указывает 720P по умолчанию для этой версии и не перечисляет вариант длительностью десять секунд. Автоматическая оптимизация инструкции включена по умолчанию; её можно отключить для более точного контроля письменного задания. Сохраняйте эту настройку вместе с исходным изображением и указаниями камеры при сравнении кадров, чтобы изменение формулировки или интерпретации было видно в записи генерации.
Проверяйте полный клип на запрошенную траекторию камеры, непрерывность объекта и кадрирование важных деталей. Оцените, раскрывает ли приближение или панорамирование нужную информацию и оставляет ли конечный вид достаточно пространства для следующего монтажного шага. Сохраняйте готовое видео с точной инструкцией, исходным изображением и настройками. Для правки меняйте направление камеры, темп или действие объекта, вызвавшее замеченную проблему, и сравнивайте результат с тем же планом кадра.
Ailoot Ultra · Видео POST /v1/videos minimaxi-i2v-01-director
minimaxi-i2v-01-directorНачало
I2V 01 Director анимирует изображение первого кадра с явными командами движения камеры в инструкции. Сочетайте предоставленную композицию с направленными указаниями truck, pan, push, tilt, zoom, tracking или неподвижной камеры для планирования короткого кадра.
- Допустимые входные данные
- Текст · Картинки
- Результаты
- Видео
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Видео POST /v1/videos
- Входные данные
text,image- Результат
video
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения minimaxi-i2v-01-director Условия: Используйте точный идентификатор модели 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-director",
"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-director
Псевдонимы путей метода
/v1/videos/generations
Связанные ID для вызова
FAQ · MiniMax: I2V 01 Director
- Какие входные данные и результаты доступны?
POST /v1/videos·minimaxi-i2v-01-director:text,image→video- Какие поля использует запрос?
POST /v1/videos·minimaxi-i2v-01-director:model,prompt,end_image,image