Анимация по позе: Wan Animate
Урок «wrapper-animate» в группе WanVideoWrapper списка уроков. Шагов: 14.
Сначала согласие
Оживлять так можно только того, кто на это согласен: себя, придуманного героя или человека, который разрешил. Получите разрешение на исходные материалы и учитывайте местные законы. См. Правила содержимого.
Чему вы научитесь
Герой с вашей картинки повторит движения и мимику человека из видео.
Что понадобится
- Файлы моделей, которые урок проверяет:
- модель Wan 2.2 Animate:
models/diffusion_models, напримерWan2_2-Animate-14B_fp8_e4m3fn_scaled_KJ.safetensors; - чтение текста Wan, umt5-xxl:
models/text_encoders, напримерumt5_xxl_fp8_e4m3fn_scaled.safetensors; - VAE от Wan 2.1 (wan_2.1_vae):
models/vae, напримерwan_2.1_vae.safetensors; - файл clip_vision_h:
models/clip_vision, напримерclip_vision_h.safetensors; - модель позы ViTPose:
models/detection, напримерvitpose-l-wholebody.onnx; - модель поиска людей YOLO:
models/detection, напримерyolov10m.onnx.
- модель Wan 2.2 Animate:
- Ноды: WanVideo Model Loader, WanVideo T5 Text Encoder Loader, WanVideo VAE Loader, WanVideo TextEncode, Load Image, Load CLIP Vision, WanVideo ClipVision Encode, Load Video, Get Video Components, ONNX Detection Model Loader, Pose and Face Detection, Draw ViT Pose, WanVideo Animate Embeds, WanVideo Sampler, WanVideo Decode, Create Video, Save Video.
- Приложение ничего не скачивает и не устанавливает. Тексты шагов ниже говорят, какие файлы, в какие папки и какой шаблон ComfyUI их называет.
Шаги
Слова каждого шага, как их показывает урок. Имена нод выделены.
Что делает Wan Animate (чтение)
Wan 2.2 Animate берёт картинку с героем и видео с движущимся человеком. Особые ноды вынимают из каждого кадра видео позу и лицо, а модель рисует вашего героя в этих позах и с этой мимикой.
Оживлять так можно только того, кто на это согласен: себя, придуманного героя или человека, который разрешил. Получите разрешение на исходные материалы и учитывайте местные законы.
Это отдельная модель одним файлом, не пара
highиlow. Урок собирает граф с пустого холста: «Файл ▸ Новый проект».Загрузите модель Animate
Добавьте ноду WanVideo Model Loader и выберите в поле
modelфайл Wan 2.2 Animate.Если нужного файла в списке нет, значит, его нет в вашем ComfyUI. Приложение ничего не скачивает. Проще всего открыть в самом ComfyUI пример графа Animate из папки
example_workflowsпака WanVideoWrapper: он покажет, каких файлов не хватает и куда их положить. Потом выберите здесь в меню «Синхронизация ▸ Синхронизировать сейчас», и файлы появятся в списках.Чтение текста и VAE
Добавьте ноды WanVideo T5 Text Encoder Loader и WanVideo VAE Loader. В поле
model_nameпервой выберите файлumt5-xxl-enc, второй файлwan_2.1_vae. Это те же файлы, что в уроке «Видео на WanVideoWrapper».Коротко опишите сцену
Добавьте ноду WanVideo TextEncode и подключите ко входу
t5выход ноды WanVideo T5 Text Encoder Loader. В полеpositive_promptопишите героя и место парой предложений.Движение здесь задаёт видео, поэтому промпт короче, чем обычно.
Загрузите картинку с героем
Добавьте ноду Load Image и выберите в поле
imageкартинку с героем. Лучше всего подходит герой во весь рост или по пояс, лицом к камере, без лишних людей рядом.Покажите картинку модели
Добавьте ноды Load CLIP Vision и WanVideo ClipVision Encode. В поле
clip_nameпервой выберите файлclip_vision_h. Её выход подключите ко входуclip_visionвторой, а картинку ко входуimage_1.Так модель видит, как выглядит герой, а не только читает о нём.
Загрузите видео с движением
Добавьте ноды Load Video и Get Video Components. В поле
fileвыберите видео с человеком, движения которого нужно повторить. Выход ноды Load Video подключите ко входуvideoноды Get Video Components.Модель рисует 16 кадров в секунду. Если видео снято с другой частотой, движение в ролике пойдёт быстрее или медленнее.
Выньте позу и лицо
Добавьте три ноды пака ComfyUI-WanAnimatePreprocess: ONNX Detection Model Loader, Pose and Face Detection и Draw ViT Pose.
- В ONNX Detection Model Loader выберите в поле
vitpose_modelмодель позы ViTPose, в полеyolo_modelмодель поиска людей YOLO. Обе лежат в папкеdetection. - Её выход
modelко входуmodelноды Pose and Face Detection, кадры ко входуimages. - Выход
pose_dataноды Pose and Face Detection ко входуpose_dataноды Draw ViT Pose: она рисует позы человечками.
- В ONNX Detection Model Loader выберите в поле
Соберите старт ролика
Добавьте ноду WanVideo Animate Embeds и подключите к ней:
- ко входу
vaeвыход ноды WanVideo VAE Loader; - ко входу
ref_imagesкартинку с героем; - ко входу
pose_imagesвыход ноды Draw ViT Pose; - ко входу
face_imagesвыходface_imagesноды Pose and Face Detection; - ко входу
clip_embedsвыход ноды WanVideo ClipVision Encode.
Поставьте
num_frames81,widthиheightкак у ролика.- ко входу
Добавьте сэмплер
Добавьте ноду WanVideo Sampler. Ко входу model подключите модель, ко входу text_embeds промпт, ко входу image_embeds выход ноды WanVideo Animate Embeds.
Сэмплер здесь один: модель одна, без разделения на два прохода. Числа steps и cfg возьмите со страницы модели. С ускоряющей LoRA обычно ставят steps 6 и cfg 1.
- Превратите результат в кадры
Добавьте ноду WanVideo Decode. Ко входу samples подключите выход сэмплера, ко входу vae выход ноды WanVideo VAE Loader.
- Сохраните ролик
Добавьте ноды Create Video и Save Video, кадры в images, ролик в video. В поле fps поставьте 16.
- Если результат не тот (чтение)
Что менять в ноде WanVideo Animate Embeds:
- герой повторяет позу слишком жёстко или ломается: снизьте
pose_strengthдо 0.8; - мимика чужая или застывшая: поменяйте
face_strength; - от куска к куску меняется цвет: поставьте в
colormatchзначениеmkl; - ролик длиннее 77 кадров модель делает кусками: поле
frame_window_sizeзадаёт их длину.
Пропорции картинки, ролика и видео-образца лучше держать одинаковыми.
- Граф готов (чтение)
Сохраните граф через «Файл ▸ Сохранить workflow для ComfyUI…», откройте файл в ComfyUI и запустите там. Само приложение в ComfyUI ничего не запускает.
Первый запуск долгий: кроме самой модели загружаются модели позы.
Что проверяет урок
Шаг для чтения сделан, когда вы нажимаете Понятно, дальше. Шаг с делом отмечается сам, когда на холсте есть:
- Шаг 2, Загрузите модель Animate:
- нода WanVideo Model Loader.
- в поле
modelноды WanVideo Model Loader стоит файл такого вида: модель Wan 2.2 Animate; такой файл лежит вmodels/diffusion_models, напримерWan2_2-Animate-14B_fp8_e4m3fn_scaled_KJ.safetensors.
- Шаг 3, Чтение текста и VAE:
- нода WanVideo T5 Text Encoder Loader.
- нода WanVideo VAE Loader.
- в поле
model_nameноды WanVideo T5 Text Encoder Loader стоит файл такого вида: чтение текста Wan, umt5-xxl; такой файл лежит вmodels/text_encoders, напримерumt5_xxl_fp8_e4m3fn_scaled.safetensors. - в поле
model_nameноды WanVideo VAE Loader стоит файл такого вида: VAE от Wan 2.1 (wan_2.1_vae); такой файл лежит вmodels/vae, напримерwan_2.1_vae.safetensors.
- Шаг 4, Коротко опишите сцену:
- нода WanVideo TextEncode.
wan_t5_modelноды WanVideo T5 Text Encoder Loader во входt5ноды WanVideo TextEncode.positive_promptноды WanVideo TextEncode: не меньше 3 знаков и 2 настоящих слов.
- Шаг 5, Загрузите картинку с героем:
- нода Load Image.
imageноды Load Image: значение выбрано.
- Шаг 6, Покажите картинку модели:
- нода Load CLIP Vision.
- нода WanVideo ClipVision Encode.
CLIP_VISIONноды Load CLIP Vision во входclip_visionноды WanVideo ClipVision Encode.IMAGEноды Load Image во входimage_1ноды WanVideo ClipVision Encode.- в поле
clip_nameноды Load CLIP Vision стоит файл такого вида: файл clip_vision_h; такой файл лежит вmodels/clip_vision, напримерclip_vision_h.safetensors.
- Шаг 7, Загрузите видео с движением:
- нода Load Video.
- нода Get Video Components.
VIDEOноды Load Video во входvideoноды Get Video Components.fileноды Load Video: значение выбрано.
- Шаг 8, Выньте позу и лицо:
- нода ONNX Detection Model Loader.
- нода Pose and Face Detection.
- нода Draw ViT Pose.
modelноды ONNX Detection Model Loader во входmodelноды Pose and Face Detection.imagesноды Get Video Components во входimagesноды Pose and Face Detection.pose_dataноды Pose and Face Detection во входpose_dataноды Draw ViT Pose.- в поле
vitpose_modelноды ONNX Detection Model Loader стоит файл такого вида: модель позы ViTPose; такой файл лежит вmodels/detection, напримерvitpose-l-wholebody.onnx. - в поле
yolo_modelноды ONNX Detection Model Loader стоит файл такого вида: модель поиска людей YOLO; такой файл лежит вmodels/detection, напримерyolov10m.onnx.
- Шаг 9, Соберите старт ролика:
- нода WanVideo Animate Embeds.
vaeноды WanVideo VAE Loader во входvaeноды WanVideo Animate Embeds.IMAGEноды Load Image во входref_imagesноды WanVideo Animate Embeds.pose_imagesноды Draw ViT Pose во входpose_imagesноды WanVideo Animate Embeds.face_imagesноды Pose and Face Detection во входface_imagesноды WanVideo Animate Embeds.WANVIDIMAGE_CLIPEMBEDSноды WanVideo ClipVision Encode во входclip_embedsноды WanVideo Animate Embeds.num_framesноды WanVideo Animate Embeds: от 49 до 121, число кадров вида 4n + 1; «Сделать за меня» ставит 81. Почему: wan берёт число кадров вида 4n + 1: 49, 81, 121. 81 кадр при 16 в секунду даёт пять секунд.
- Шаг 10, Добавьте сэмплер:
- нода WanVideo Sampler.
modelноды WanVideo Model Loader во входmodelноды WanVideo Sampler.text_embedsноды WanVideo TextEncode во входtext_embedsноды WanVideo Sampler.WANVIDIMAGE_EMBEDSноды WanVideo Animate Embeds во входimage_embedsноды WanVideo Sampler.
- Шаг 11, Превратите результат в кадры:
- нода WanVideo Decode.
samplesноды WanVideo Sampler во входsamplesноды WanVideo Decode.vaeноды WanVideo VAE Loader во входvaeноды WanVideo Decode.
- Шаг 12, Сохраните ролик:
- нода Create Video.
- нода Save Video.
IMAGEноды WanVideo Decode во входimagesноды Create Video.VIDEOноды Create Video во входvideoноды Save Video.fpsноды Create Video:16. Почему: wan рисует 16 кадров в секунду. С другим числом ролик пойдёт быстрее или медленнее, чем задумано.
Частые ошибки
- Разные пропорции у картинки, ролика и ведущего видео.
- Ведущее видео с другой частотой кадров: движение слишком быстрое или медленное.
- Несколько людей в ведущем видео: распознавание их путает.