Alibaba: Wan 2.7
Alibaba Wan 2.7 создаёт видео со звуком из текста, начального и конечного изображений или визуальных референсов. Процесс с изображением также продолжает исходный клип, используя запрошенную общую длительность. Производитель указывает MP4 720p или 1080p при 30 fps: 2–15 секунд для текстового режима и режима изображений и до 10 секунд для генерации по референсам.
О модели
Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.
Alibaba Wan 2.7 — семейство генерации видео с отдельными профилями по тексту, изображению и референсам. Разработчик документирует синхронизированные со звуком сцены и истории из нескольких планов, а процесс по изображениям добавляет генерацию по первому/последнему кадру и продолжение начального видео. Полезный результат — короткий клип со звуком: переход с товаром, компактная история или продолжение существующего плана. Выбирайте режим по исходным материалам и необходимому контролю начала или конца.
Для генерации по тексту опишите объект, обстановку, действие, камеру, стиль и звук. Раскадровка может обозначать каждый план и временной диапазон, а задание для одного плана должно указывать непрерывность действия. Руководство Wan 2.7 позволяет модели определять структуру планов из текста вместо настройки shot_type версии 2.6. Текущий текстовый API принимает китайские или английские промпты до 5 000 символов и отдельный негативный промпт на 500 символов; лишний текст обрезается. Ясно изложите главное действие и ограничения в этих пределах.
Генерация по первому кадру анимирует начальное изображение. Первый/последний кадры дополнительно задают конечную точку и связывающее их движение. Руководство 2.7 по изображениям поддерживает управляющий аудиоисточник вместе с этими комбинациями кадров. Подготовьте начальное и конечное состояния с общей сценой и нужным объектом, описывая переход, а не предлагая модели интерпретировать оба изображения как несвязанные стилевые референсы. Результат приблизительно сохраняет пропорции первого изображения; руководство рассматривает разрешение как уровень количества пикселей и соответствующим образом округляет кодируемые размеры.
Продолжение видео начинается с исходного клипа и может также использовать конечное изображение. Запрашиваемая длительность — полная длительность возвращаемого видео, включая исходный сегмент. Пример руководства объединяет двухсекундный исходник и десять секунд нового содержания в результат на двенадцать секунд. Подготовьте последнее действие исходника и опишите следующее, чтобы камера и объект продолжали движение согласованно. Проверяйте на стыке внешний вид, движение, свет и звук, а не только новый сгенерированный конец.
Текущий отдельный референсный профиль разработчика использует изображения или видео для задания персонажей, предметов или сцены. Руководство допускает суммарно до пяти референсных изображений и видео и использует метки типов, такие как Image 1 и Video 1. Опишите роль каждого материала и нужное взаимодействие. Например, в сцене по референсам персонаж из одного источника несёт предмет из другого через заданную локацию. Референсное кадрирование отличается от генерации по первому кадру: задание может устанавливать новую композицию вместо обязательного начала видео с предоставленного изображения.
Для пользовательского аудио при генерации по тексту документированы WAV и MP3, длительность от двух до тридцати секунд и максимальный размер 15 МБ. Выбранная длительность видео определяет используемый фрагмент: более длинное аудио обрезается до неё, а если звук короче видео, оставшаяся часть будет беззвучной. Подготовьте точный аудиофрагмент для плана и оставьте место нужному визуальному действию. Без аудиофайла разработчик описывает генерацию подходящей сцене фоновой музыки или эффектов; проверяйте фактический звук и запрошенную речь вместе с изображением.
Текущая таблица моделей указывает MP4 в 720p или 1080p с частотой 30 кадров/с и длительность от двух до пятнадцати секунд для текстового и кадрового ввода. Отдельный референсный профиль ограничен длительностью от двух до десяти секунд. Генерация по тексту предлагает 16:9, 9:16, 1:1, 4:3 и 3:4. Задачи по изображениям используют собственные правила приблизительного сохранения исходных пропорций, поэтому подготовьте кадрирование под целевое размещение. Не переносите правило длительности или пропорций референсного профиля на процессы по кадрам или продолжение.
Документированный процесс разработчика асинхронный: идентификатор задачи отслеживает обработку, а успешный результат содержит адрес видео. Срок действия ссылок на результат — двадцать четыре часа, поэтому сохраняйте сам клип и творческие материалы для проверки при монтаже. Настройки переписывания промпта, водяного знака и seed относятся к выбранному интерфейсу. По словам разработчика, фиксированный seed может улучшить воспроизводимость, но не гарантирует одинаковый результат. Сопоставляйте готовый материал с заданием, не полагая, что настройки сами сохранят каждую деталь.
По сравнению с Wan 2.6 руководство 2.7 для изображений отдельно добавляет управление первым/последним кадром и продолжение видео через мультимодальные медиаисточники. Wan 3.0 вводит другую универсальную структуру и более длинную генерацию. Профиль 2.7 сохраняет собственные настройки и ограничения для конкретных задач. Проверяйте всю сцену на постоянство объекта, кадровые опоры, идентичность референсов, диалог, движение и стыки, затем формулируйте исправление конкретной найденной проблемы.
Ailoot Ultra · Видео POST /v1/videos alibaba/wan-2.7
alibaba/wan-2.7Начало
Alibaba Wan 2.7 создаёт видео со звуком из текста, начального и конечного изображений или визуальных референсов. Процесс с изображением также продолжает исходный клип, используя запрошенную общую длительность. Производитель указывает MP4 720p или 1080p при 30 fps: 2–15 секунд для текстового режима и режима изображений и до 10 секунд для генерации по референсам.
- Допустимые входные данные
- Текст
- Результаты
- Видео
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Видео POST /v1/videos
- Входные данные
text- Результат
video- Выходной формат
- mp4
- Число результатов
- До 4 выходs
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения alibaba/wan-2.7 | По умолчанию— |
Полеprompt | Типstring | ТребованиеОбязательно | Значения и ограничения Максимум байтов UTF-8: 10 000 Нужен хотя бы один непробельный символ: Да | По умолчанию— |
Полеduration | Типinteger | ТребованиеОбязательно | Значения и ограничения 2, 3, 4, 5, 6, 7, 8, 9, 10 | По умолчанию— |
Полеresolution | Типstring | ТребованиеОбязательно | Значения и ограничения 720p | По умолчанию— |
Полеaspect_ratio | Типstring | ТребованиеОбязательно | Значения и ограничения 16:9, 9:16, 1:1, 4:3, 3:4 | По умолчанию— |
Полеgenerate_audio | Типboolean | ТребованиеОбязательно | Значения и ограничения false, true | По умолчанию— |
Сочетания входных материалов
Из текста в видео · Обязательно: prompt
Параметры и жизненный цикл метода
| Параметр | Контракт |
|---|---|
Параметрcontent_type | Контрактapplication/json |
Параметрrequired | Контрактmodel, prompt, duration, resolution, aspect_ratio, generate_audio |
Параметрadditional_properties | Контрактfalse |
Параметрparameters | Контракт{"name":"model","type":"string","required":true,"enum":["alibaba/wan-2.7"]}, {"name":"prompt","type":"string","required":true,"non_whitespace":true,"max_utf8_bytes":10000}, {"name":"duration","type":"integer","required":true,"enum":[2,3,4,5,6,7,8,9,10]}, {"name":"resolution","type":"string","required":true,"enum":["720p"]}, {"name":"aspect_ratio","type":"string","required":true,"enum":["16:9","9:16","1:1","4:3","3:4"]}, {"name":"generate_audio","type":"boolean","required":true,"enum":[false,true]} |
Параметрmaterial_types | Контрактtext |
Псевдонимы метода: /v1/videos/generations, /videos, /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/videos/generations/{request_id}/content
Сохраните полный ответ и исходные возвращённые ID.
Никогда не повторяйте создание с неизвестным исходом.
Тарифы
Как рассчитывается итоговая плата
Отображаемые тарифы позволяют оценить стоимость до генерации. Итоговое списание рассчитывается по стоимости, записанной для исходной генерации. Измеренная длительность результата и прогнозные объёмы не являются итоговым оплачиваемым объёмом.
Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.
- Быстрый режим
- Не указано При выборе быстрого режима
- Режим flex
- Не указано При выборе режима flex
- Максимальная интенсивность рассуждений
- Не указано При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)
Оценочные ставки для сравнения
Цены по конфигурациям
Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.
| Конфигурация | Шкала ставок | Прогноз количества | Варианты генерации аудио | Разрешение | Расчётная единица | Плата |
|---|---|---|---|---|---|---|
| КонфигурацияБазовые тарифы на токены | Шкала ставокБазовая ставка | Прогноз количества— | Варианты генерации аудио— | Разрешение— | Расчётная единица— | Плата Вход · Входные токены · Оценка только для сравнения — / 1K токенов Выход · Выходные токены · Оценка только для сравнения — / 1K токенов Вход · Чтение кэша · Оценка только для сравнения — / 1K токенов Вход · Запись в кэш · Оценка только для сравнения — / 1K токенов Вход · Запись в кэш, 1 час · Оценка только для сравнения — / 1K токенов |
| КонфигурацияUltra | Шкала ставок— | Прогноз количестваЗапрошенная конфигурация; только оценка. | Варианты генерации аудиоБез аудио · С аудио | Разрешение720p | Расчётная единицаза секунду выходного видео | Плата Выход · оценочная секунда видео · Оценка только для сравнения $0.2 за секунду выходного видео Показанная ставка служит оценкой стоимости до генерации. Итоговое начисление рассчитывается по стоимости, зафиксированной для исходной генерации. Физическая длительность видео не используется как тарифицируемая величина. |
| КонфигурацияОриентировочная стоимость генерации | Шкала ставок— | Прогноз количестваОценка для одной генерации | Варианты генерации аудио— | Разрешение— | Расчётная единица— | Плата Выход · Оценочная стоимость генерации · Оценка только для сравнения $0.4 оценка до генерации Эта оценка не является дополнительным списанием или фиксированным тарифом для завершённой генерации. |
Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. Как работают резервирование и расчёт →
Сведения о справочном тарифе
Справочные шкалы модели не меняют выбор метода, расчёт стоимости или списания. Действующая плата определяется ставками выбранного метода Ailoot.
Ссылки на цены конфигураций видео
Цены по конфигурациям
| Конфигурация | Условия расчёта | Плата |
|---|---|---|
| КонфигурацияЦена видео | Условия расчётаВ этом ключе цены дополнительное условие не объявлено. | Плата Выход · Цена видео $0.2 за секунду видео Опубликованный ориентир цены для показанной конфигурации. Итоговые списания зависят от фактической оплачиваемой конфигурации. |
Примеры запросов
Ailoot Ultra · Видео
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "alibaba/wan-2.7", "prompt": "a calm greenhouse", "duration": 6, "resolution": "720p", "aspect_ratio": "16:9", "generate_audio": true}')
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
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Получить и сохранить результаты
Ailoot Ultra · Видео
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Проверить статус задачи
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
-H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Чтение другого содержимого
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())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
urls.append((str(i),u))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
Сохраняйте все готовые результаты
Сохраните каждое готовое видео или полученный файл; загрузите содержимое по каждому фактически полученному URL материала.
Сохраните каждый подписанный URL готового результата в data[], принадлежащий Ailoot, и все метаданные статуса. Сохраните каждый результат, включая сгенерированное аудио. Корректная аудиодорожка AAC может присутствовать даже при generate_audio=false; сохраняйте исходный MP4 целиком, включая аудио.
Если нужно проверить исходный ответ
Проверяйте существующую исходную задачу; никогда не повторяйте отправку с неизвестным исходом.
Максимум результатов: 4.
Поля ответа
| Поле | Тип | Значение |
|---|---|---|
Полеid | Типstring | Значение— |
Полеobject | Типstring | Значение— |
Полеmodel | Типstring | Значение— |
Полеstatus | Типstring | Значение— |
Полеdata[] | Типsigned content URL | Значение— |
Полеcharge_pending_check | Типboolean | Значение— |
Полеerror.code | Типstring | Значение— |
Полеerror.message | Типstring | Значение— |
Полеoperation_id | Типstring | ЗначениеОтвет исходного статуса или содержимого HTTP503 result_pending_check: в id указан тот же исходный публичный ID видео. |
Полеerror.type | Типstring | Значениеserver_error при HTTP503 result_pending_check. |
Ошибки и дальнейшие шаги
| Ответ | Условие | Следующий шаг |
|---|---|---|
Ответ400 · invalid_request_error | УсловиеНе удалось прочитать исходное тело запроса до разбора профиля видео | Следующий шагСохраните возвращённый ответ и исправьте нечитаемое тело запроса. |
Ответ422 · price_unavailable | УсловиеНе удалось разобрать точный профиль видео либо для полностью разобранного профиля нет готовой точной тарифной карточки | Следующий шагСохраните ответ; используйте полный точный допущенный профиль и его опубликованную карточку. Эта ветвь выполняется до отправки поставщику. |
Ответ409 · video_not_ready | УсловиеСодержимое исходного результата пока недоступно | Следующий шагПроверяйте исходный возвращённый ID и соблюдайте Retry-After. |
Ответserver_error | УсловиеВозвращённый ответ указывает, что операция или результат требуют проверки | Следующий шагСохраните исходный возвращённый ID операции или задачи, заголовки запроса и ответ; продолжайте поддерживаемые операции чтения исходной операции. Не отправляйте запрос создания повторно. |
Ответ503 · result_pending_check | УсловиеGET исходного статуса или содержимого: задача не опубликована, исходная задача не имеет статуса failed/cancelled/expired, а локальное состояние — unknown либо статус исходной задачи — completed. | Следующий шагСохраните исходные id и operation_id (тот же публичный ID видео), ответ и заголовки; читайте только исходный статус или содержимое. Никогда не отправляйте новый запрос на генерацию. |
Псевдонимы
Псевдонимы моделей
Ailoot Ultra alibaba/wan-2.7
Псевдонимы путей метода
/v1/videos/generations, /videos, /videos/generations
Связанные ID для вызова
FAQ · Alibaba: Wan 2.7
- Какие входные данные и результаты доступны?
POST /v1/videos·alibaba/wan-2.7:text→video- Какие поля использует запрос?
POST /v1/videos·alibaba/wan-2.7:model,prompt,duration,resolution,aspect_ratio,generate_audio