models

wan2.6-r2v

Markdown · JSON

wan2.6-r2v

Wan 2.6 R2V создаёт кадр по видео-референсу и письменным указаниям. Выберите длительность, размер вывода и shot_type single или multi в запросе Ailoot.

О модели

Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.

Выберите wan2.6-r2v с полями model, video, prompt и negative_prompt в /v1/videos. Поле video задаёт референс. В запросе доступны длительность пять или десять секунд, shot_type single или multi и документированный выбор size; также доступны prompt_extend, audio_url и audio.

Укажите, что задаёт референс, например видимое действие, темп или внешний вид объекта, и что должно измениться в новом кадре. Явно опишите нужную сцену и работу камеры. Сохраните конечную композицию и все требования непрерывности в prompt. Храните само видео-референс, выбранный размер и необязательное входное аудио вместе с операцией для сравнения со сгенерированным результатом.

Отправьте кадр один раз через /v1/videos и сохраните полученный ID запроса. Опрашивайте ту же операцию через /v1/videos/{request_id}, затем сохраните каждое готовое видео и полный ответ. Проверьте всё действие и конечную композицию по переданным материалам и заданию.

Ailoot Ultra · Video POST /v1/videos wan2.6-r2v

wan2.6-r2v

Прочее /wan2.6-r2v

Начало

Wan 2.6 R2V создаёт кадр по видео-референсу и письменным указаниям. Выберите длительность, размер вывода и shot_type single или multi в запросе Ailoot.

Допустимые входные данные
Текст · Картинки
Результаты
Видео

Доступно в Ailoot · входные данные и методы

Ailoot Ultra · Video POST /v1/videos
Входные данные
text, image
Результат
video
ПолеТипТребованиеЗначения и ограниченияПо умолчанию
ПолеmodelТипstringТребованиеОбязательноЗначения и ограничения
wan2.6-r2v
Условия: Используйте этот селектор маршрутизации Ailoot в точности.
По умолчанию—
ПолеpromptТипstringТребованиеОбязательноЗначения и ограничения
Условия: Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано.
По умолчанию—
Полеnegative_promptТипstringТребованиеОбязательноЗначения и ограничения
Условия: Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано.
По умолчанию—
Полеprompt_extendТипbooleanТребованиеНеобязательноЗначения и ограничения
Условия: Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано.
По умолчаниюfalse
ПолеdurationТипintegerТребованиеНеобязательноЗначения и ограничения
5, 10
Условия: Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано.
По умолчанию—
Полеshot_typeТипstringТребованиеНеобязательноЗначения и ограничения
single, multi
Условия: Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано.
По умолчанию—
ПолеvideoТипstringТребованиеОбязательноЗначения и ограничения
Условия: Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано.
По умолчанию—
ПолеsizeТипstringТребованиеНеобязательноЗначения и ограничения
1280*720, 720*1280, 960*960, 1088*832, 832*1088, 1920*1080, 1080*1920, 1440*1440, 1632*1248, 1248*1632
Условия: Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано.
По умолчанию—
Полеaudio_urlТипstringТребованиеНеобязательноЗначения и ограничения
Условия: Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано.
По умолчанию—
ПолеaudioТипbooleanТребованиеНеобязательноЗначения и ограничения
Условия: Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано.
По умолчанию—
Параметры и жизненный цикл метода
ПараметрКонтракт
Параметрcontent_typeКонтрактapplication/json
ПараметрrequiredКонтрактmodel, prompt, negative_prompt, video
ПараметрoptionalКонтрактprompt_extend, duration, shot_type, size, audio_url, audio
Параметрmaterial_typesКонтрактtext, image
ПараметрconditionsКонтрактИспользуйте этот селектор маршрутизации Ailoot в точности., Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано., Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано., Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано., Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано., Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано., Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано., Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано., Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано., Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано.

Псевдонимы метода: /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 токенов
КонфигурацияОриентировочная стоимость генерацииШкала ставок—Прогноз количестваОценка для одной генерацииПлата
Выход · Оценочная стоимость генерации · Оценка только для сравнения $0.2 оценка до генерации

Эта оценка не является дополнительным списанием или фиксированным тарифом для завершённой генерации.

Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. Как работают резервирование и расчёт →

Примеры запросов

Ailoot Ultra · Video

curl · создать один раз и сохранить полный результатПрочитать исходную задачуСохранить каждый готовый материал, принадлежащий вам
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
: "${AILOOT_VIDEO_URL:?Set an actual customer material or documented value}"
export AILOOT_VIDEO_URL
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "wan2.6-r2v", "prompt": "A cat is walking on grass.", "negative_prompt": "", "video": "YOUR_ACCESSIBLE_VIDEO_URL"}')
p['video']=os.environ['AILOOT_VIDEO_URL']
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
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
# Submit once. Retain the complete result, original identifiers and every response 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 · Video

  • 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}
Сохраняйте все готовые результаты

Сохраните каждое готовое видео или полученный файл; загрузите содержимое по каждому фактически полученному URL материала.

Сохраните полный ответ и заголовки, исходные идентификаторы, каждый фактический результат и все поля использования и учёта. Сохраните каждый уникальный ресурс, принадлежащий Ailoot, и каждую роль, которая на него ссылается.

Если нужно проверить исходный ответ

Сохраните возвращённый публичный id задачи или операции и все заголовки. Проверяйте только исходную задачу; unknown или result_pending_check не разрешают создавать новую.

Поля ответа
ПолеТип
ПолеidТипstring
Полеpolling_urlТипstring
Полеprovider_task_idТипstring
Полеtask_idТипstring
ПолеstatusТипstring
Полеvideo_urlТипstring
Ошибки и дальнейшие шаги
ОтветУсловиеСледующий шаг
Ответ400 · invalid_request_errorУсловиеОбязательное поле, селектор модели, тип или представление входных данных недопустимы.Следующий шагИзучите возвращённые сведения о проверке данных перед подготовкой отдельного запроса.
ОтветУсловиеИсходный запрос или результат неизвестен либо требует проверки.Следующий шагСохраните исходные идентификаторы и заголовки; читайте только поддерживаемые записи статуса или библиотеки. Не отправляйте запрос на создание повторно.

Псевдонимы

Псевдонимы моделей

Ailoot Ultra wan2.6-r2v

Псевдонимы путей метода

/v1/videos/generations

Связанные ID для вызова

wan2.6-r2v

FAQ · wan2.6-r2v
Какие входные данные и результаты доступны?

POST /v1/videos · wan2.6-r2v: text, image → video

Какие поля использует запрос?

POST /v1/videos · wan2.6-r2v: model, prompt, negative_prompt, prompt_extend, duration, shot_type, video, size, audio_url, audio

Подробнее

Подключите Ailoot к Claude Code, OpenCode, Hermes или своему приложению.

Компания и портфель её проектов

Компания и портфель её проектов: миллионы клиентов; продажи на миллиарды ежемесячно.

Покупайте токены со скидкой.

Скидка по подписке для регулярной работы. Промокоды — до 50% на покупку токенов.

Подписка
Выберите тариф со скидкой для своих регулярных запросов.
Промокод до 50%
Введите код при покупке. Цена пересчитается с учётом действующей акции.
Расходы в истории
Модель, токены и сумма сохраняются для каждого запроса.

Выбрать подписку · Посмотреть цены моделей

Подключайте API к продукту, который вы продаёте.

SaaS, приложения и боты — по оферте и лицензионному договору Ailoot. Для перепродажи запросите реселлерскую лицензию.

Коммерческое приложение
Встраивайте генерацию текста, картинок, видео и звука в платные функции своего сервиса.
Лицензия для реселлера
Пришлите описание проекта и схему доступа. Запросите письменные условия использования и перепродажи.
Документы на сайте
Оферта, лицензионный договор и политика обработки данных доступны до подключения.

Запросить реселлерскую лицензию · Оферта и лицензионный договор