Wan 2.2 Animate нужны одно изображение персонажа и одно управляющее видео. Изображение задаёт внешность; видео задаёт движение тела, выражение лица и длительность. Выберите animate, чтобы персонаж с изображения выполнил движение в его собственном окружении, или replace, чтобы поместить этого персонажа в сцену управляющего видео. Для первой попытки возьмите одного полностью видимого взрослого, шестисекундный жест без монтажных склеек.
Откройте Wan 2.2 Animate анимация персонажа. По ценам на 3 октября 2026 года шесть секунд стоят $0.318 в 480p или $0.66 в 720p. Ни один из двух режимов не придумывает новое место по промпту: фон всегда берётся из одного из двух ваших файлов.
Выберите режим до съёмки
| Желаемый результат | Режим | Фон и камера в результате |
|---|---|---|
| Референсный персонаж выполняет записанное движение | animate | Собственное окружение изображения персонажа, с движением и камерой из управляющего видео |
| Персонаж заменяет исполнителя в уже существующем помещении | replace | Сцена и движение камеры управляющего видео; нужен один видимый исполнитель и правдоподобные пропорции тела |
Например, нарисованная взрослая женщина в сливовой куртке и брюках цвета слоновой кости может выполнить приветственный шаг в сторону. Если репетиционная комната не важна, используйте animate с изображением персонажа на однотонном фоне. Если её арочное окно и деревянный пол должны остаться в кадре, используйте replace и посмотрите, как новое тело встречается с этим полом. Управляющее видео с несколькими людьми не даёт replace возможности выбрать, кого заменяют; возьмите одного исполнителя или посмотрите последний раздел.
Официальный проект Wan-Animate описывает обе задачи, включая то, как замена подстраивается под освещение и цвет сцены. Его руководство по предобработке предупреждает: большое расхождение пропорций тела персонажа и исполнителя вызывает артефакты при замене.
Подготовьте изображение персонажа, в котором видно движущиеся части
Используйте изображение в полный рост, включая обувь, в расслабленной позе фронтально, руки слегка отведены от корпуса, в той одежде, которую вы хотите анимировать. Однотонный равномерно освещённый фон сохраняет результат animate чистым, потому что этот фон становится сценой. Портрет крупным планом не задаёт штанины, обувь и телосложение, а более длинное описание одежды в промпте этих ракурсов не даёт.
Файл должен быть JPEG, PNG или WebP размером меньше 10 MB и содержать узнаваемое лицо или человека; иначе задача отклоняется с invalid_request.
Вот описание изображения без откровенных сцен вымышленной взрослой женщины, которое можно использовать в генераторе изображений:
Референс персонажа в полный рост: вымышленная взрослая женщина, около 30 лет, с короткими тёмными кудрями, сливовой репетиционной курткой, брюками цвета слоновой кости и плоскими туфлями цвета угля. Удобная сбалансированная поза, руки расслаблены и слегка отведены от корпуса, обе ладони и обе туфли видны. Простой спокойный студийный фон, читаемые лицо и одежда, без надписей, без других людей.
Стилизованная фигура подойдёт, но конечности, сильно отличающиеся по длине от конечностей исполнителя, затрудняют оценку контакта с полом и размаха.

Иллюстрация: дизайн персонажа задаёт внешность, движение исполнителя задаёт движение. Это не результат Wan.
Запишите шестисекундное движение с пригодным началом и концом
Для первого управляющего видео закрепите камеру на устойчивой опоре, чтобы движение тела легко читалось. Оба режима могут переносить движение камеры из управляющего видео; animate сохраняет окружение изображения персонажа, а replace сохраняет сцену видео. Снимите одного взрослого исполнителя так, чтобы обе туфли и полный размах раскрытых рук оставались в кадре. Начните с нейтральной позы фронтально, похожей на изображение персонажа, а затем запишите короткую паузу, один шаг в сторону, неглубокий жест с раскрытием рук, опускание рук и последнюю паузу. Держите руки подальше от лица и избегайте, чтобы кто-то пересекал передний план.
Лицо исполнителя важно: выражение копируется из видео вместе с движением, поэтому держите лицо в кадре и достаточно крупным, чтобы его можно было разобрать. Референс уже должен иметь нужный темп; промпт не превратит быстрое вращение в медленное приветствие и не вернёт касание пола стопой, скрытой за стулом.
Обрежьте материал перед загрузкой. При установленном FFmpeg эта команда пропускает первую секунду записи и экспортирует шестисекундный MP4, уменьшенный максимум до 720 пикселей по высоте с сохранением исходных пропорций:
ffmpeg -ss 1 -i rehearsal.mov -t 6 \
-vf "scale=-2:'min(720,ih)'" \
-c:v libx264 -crf 18 -pix_fmt yuv420p driving-six-seconds.mp4Избегайте чёрных полос по краям кадра и дополняющих отступов: в replace они становятся частью сцены.
Исходник должен длиться 2–30 секунд; более короткие и более длинные файлы отклоняются до списания оплаты. Загрузите MP4 до 90 MB или передайте прямую ссылку на MP4 или MOV. Страница, которая просто проигрывает видео, не является прямой ссылкой на файл, и задача завершается ошибкой с возвратом списания. Длительность исходника задаёт длительность результата, поэтому поля duration_seconds, которое растянуло бы двухсекундное выступление до шести секунд, не существует.

Иллюстрация: кадр в полный рост оставляет место для шага в сторону и сохраняет видимым контакт с полом.
Сначала попробуйте в Playground
- Откройте страницу анимации персонажа и останьтесь на вкладке Playground в представлении Form. Войдите под аккаунтом с балансом, чтобы запустить генерацию.
- Поместите изображение персонажа в Input image, а обрезанный MP4 — в Input video. Оба поля принимают и Asset URL.
- Задайте Animation mode значение Animate the image или Replace in the video.
- Задайте Resolution значение 480p, пока проверяете личность и силуэт; нужный дубль отрендерите заново в 720p.
- Вставьте вспомогательный промпт ниже и задайте Seed, например
42, чтобы два прогона по одному и тому же управляющему видео можно было сравнить. - Проверьте оценку цены и запустите задачу.
Анимируйте вымышленную взрослую женщину на переданном изображении, используя переданное выступление. Сохраните читаемыми единственный приветственный шаг в сторону и неглубокий жест с раскрытием рук, стопы на полу и спокойное завершение. Сохраните сливовую куртку, брюки цвета слоновой кости, короткие кудри и плоские туфли. Без дополнительных надписей.
Промпт поддерживает записанное движение; кто появляется в кадре, берётся из изображения. Для версии с заменой сцены выберите Replace in the video и попросите сохранить камеру, освещение и пол переданного помещения, а не запрашивать новое место.
| Поле | Текущий контракт |
|---|---|
Input image (image_url) | Обязательное изображение персонажа; JPEG, PNG или WebP, меньше 10 MB |
Input video (video_url) | Обязательное управляющее видео; 2–30 секунд, загруженный MP4 до 90 MB или прямая ссылка на файл MP4/MOV |
Animation mode (animation_mode) | animate или replace; по умолчанию animate |
Resolution (resolution) | 480p или 720p; по умолчанию 720p |
Prompt (prompt) | Необязательно, не более 2 000 символов |
Seed (seed) | Необязательное целое от 0 до 2 147 483 647; ноль запрашивает случайность |
У этой задачи нет полей LoRA, соотношения сторон и аудиовхода, поэтому не берите их из другой конечной точки Wan.
Тарификация идёт за каждую доставленную секунду: $0.053 в 480p и $0.11 в 720p, поэтому двенадцатисекундный исходник стоит $0.636 или $1.32. Ставку меняет только разрешение; режим, промпт и seed — нет. Каждая задача сначала предварительно оценивается по максимуму в 30 секунд, а разница возвращается, когда расчёт проводится по фактической длительности, поэтому сначала уберите пустое время репетиций, но сохраните касания, нужные финальному кадру.
Затем запустите из кода
Установите Python SDK (pip install spicyapi), задайте SPICY_API_KEY в окружении сервера и выполните:
import uuid
from spicyapi import SpicyClient, output_assets
client = SpicyClient() # reads SPICY_API_KEY from the environment
image = client.upload_file("./character.png") # local files become spicy:// URIs
video = client.upload_file("./driving-six-seconds.mp4")
task = client.create_task(
model="alibaba/wan-2.2-animate/character-animation",
input_data={
"image_url": image["uri"],
"video_url": video["uri"],
"animation_mode": "animate",
"resolution": "720p",
"prompt": "Animate this fictional adult character using the supplied sidestep and open-arm "
"performance. Retain the plum jacket and ivory trousers. No added lettering.",
"seed": 42,
},
idempotency_key=str(uuid.uuid4()),
)
final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
raise RuntimeError(f"{task['taskId']} ended as {final['state']}: {final.get('errorCode')}")
print(output_assets(final)[0]["url"]) # copy the clip to your own storage nowПредварительные расчёты стоимости, опрос, загрузка, повторы и коды ошибок разобраны в руководстве по задачам и справочнике Python SDK.
Или пусть запустит Agent
Если генерации должен выполнить ассистент, все три официальных инструмента показывают цену и спрашивают разрешение перед платным вызовом.
- CLI. Загрузите каждый файл командой
spicyapi files upload ./character.png, поместите возвращённые адресаspicy://вimage_urlиvideo_urlфайлаinput.jsonс указанными выше полями, затем выполнитеspicyapi tasks create --model alibaba/wan-2.2-animate/character-animation --input-file input.json --wait. См. документацию по CLI. - MCP-сервер. Добавьте MCP-сервер к своему ассистенту и затем попросите: «Анимируйте /path/to/character.png с /path/to/driving.mp4 в Wan 2.2 Animate, режим animate, 480p». Он загружает оба файла через
spicyapi_upload_file, затем вызываетspicyapi_task_create, которая останавливается в ожидании подтверждения цены. - Skill.
npx skills add spicyapi-ai/spicy-skillустанавливает Agent Skill, благодаря которому кодинг-ассистент читает актуальную схему модели, а не угадывает поля.
Измените входные данные, которые объясняют сбой
| Возвращённая проблема | Первое полезное исправление |
|---|---|
| Ноги скользят, хотя верхняя часть тела двигается нормально | Возьмите исходник, где видны перенос веса и касание пола обеими туфлями; уменьшите длину шага |
| Рукав сливается с рукой | Отделите руки от корпуса в жесте управляющего видео; уберите противоречащие описания одежды |
| Персонаж меняется во время поворота | Возьмите изображение персонажа, более близкое к ориентации исходника, или исходник с меньшим поворотом |
| Лицо выглядит плоским или неверным | Выражение берётся из видео; возьмите дубль, где лицо остаётся в кадре крупным планом, без крайних поворотов головы |
| Заменённый персонаж парит в комнате | Сравните пропорции тела и касание пола; возьмите управляющее видео, более близкое к телосложению нужного персонажа |
| Руки выходят из кадра | Переснимите шире или обрежьте до движения, которое помещается |
| Результат больше похож на исходного исполнителя, чем на замену | Проверьте режим replace и действительное изображение персонажа; возьмите исходник, где исполнитель один и хорошо виден |
| Происходит не то выступление | Проверьте действительно загруженное видео, затем уберите из промпта действия, которых в нём нет |
Для replace сравните пол, края окон и объекты переднего плана с оригиналом.
Права и когда лучше подойдёт другая задача
Вам нужны права на оба файла и согласие всех, кто снят или изображён. Wan 2.2 Animate указан как модель без цензуры: SpicyAPI не добавляет фильтр содержимого, поэтому эта ответственность лежит на вас.
Если нужно изменить только лицо, Video Face Swap сохраняет остальную часть исходного клипа. Если нужно заменить одного человека среди нескольких или сохранить исходное аудио клипа, используйте Character Swap: он анализирует клип и позволяет выбрать человека до редактирования. Если копировать конкретное выступление не нужно, переход от изображения к видео проще.






