This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Hunyuan video2video и image2video
Эти воркфлоу используют HunyuanLoom (flowEdit) - эта штука преобразует входное видео в размытый движущийся поток (почти как controlnet). Обычный denoise тут не нужен, с ним картинка будет кипеть.
Для сохранения черт лица нужна лора на лицо. Без нее лицо будет другое. Куча лор на персонажей есть на civitai.
## video2video
Это самый простой воркфлоу, получается лучше всех. Использует HunyuanLoom (flowEdit). Для создания видео с Кеану использовал: skip_steps: 11, drift_steps: 15. Лора: 0.95 довольно хорошо передает его лицо под любым углом.
лору на Кеану: https://civitai.com/models/1131159/john-wick-hunyuan-video-lora
Воркфлоу video2video: https://github.com/Mozer/comfy_stuff/blob/main/workflows/hunyuan_video2video.json
## image+video 2 video
воркфлоу чуть посложнее: берет видео с движением (например, танец) и клеит его поверх статичной картинки. В результате хуньюань подхватывает движения.
видео с исходным танцем: https://civitai.com/images/50838820
лора на танцы: https://civitai.com/models/1110311/sexy-dance
Воркфлоу image+video2video: https://github.com/Mozer/comfy_stuff/blob/main/workflows/hunyuan_imageVideo2video.json
## image2video
самый сложный воркфлоу. Использует:
- HunyuanLoom (flowEdit)
- SAM2 comfyUI (можно и без него, но тогда маску, того что должно двигаться, придется рисовать пальцем)
- Видео белого шума: https://github.com/Mozer/comfy_stuff/blob/main/input/noise_8s.mp4
- Детальное описание вашей картинки.
- Воркфлоу image2video: https://github.com/Mozer/comfy_stuff/blob/main/workflows/hunyuan_img2video_sam_flow_noise.json
Именно динамичный шум позволяет создать движение. Без него движения в кадре не будет. Но шум понижает контраст выходного видео, поэтому я рисую его только на тех областях, которые должны двигаться.
Сгенерировать детальное описание вашей картинки на английском можно тут:
https://huggingface.co/spaces/huggingface-projects/llama-3.2-vision-11B
Установка
устанавливаем кастомные ноды в комфи, читаем их описание по установке:
https://github.com/kijai/ComfyUI-HunyuanLoom
https://github.com/neverbiasu/ComfyUI-SAM2 (опционально)
Замечания:
- 2 секунды видео на 3090 генерируются за 2 минуты (на 3060 - 7 минут).
- Главные параметры flowEdit: skip_steps (кол-во шагов из исходного видео или картинки, 1-4) и drift_steps (количество шагов генерации по промпту, 10-19).
- Конечное значение steps = skip_steps + drift_steps. Обычно выходит 17-22 для hanyuan fast модели. 10 шагов точно не хватит. Для обычной не fast модели будет больше (не тестил). Чем больше skip_steps тем более похожей на исходную картинку (или исходное видео) будет результат. Но тем меньше движения можно задать промптом. Если результат сильно размыт - проверяйте значение steps, оно должно быть равно сумме.
- Лучше всего получаются видео длиной 2 секунды (49 кадров). 73 кадра сложнее контролировать. Рекомендуемое разрешение 544x960.
- Есть два поля для промптов: Source prompt (описание вашей картинки) и Destination prompt (описание вашей картинки + движения в кадре).
Звук для вашего видео можно сгенерировать в MMAudio тут: https://huggingface.co/spaces/hkchengrex/MMAudio
Эти воркфлоу используют HunyuanLoom (flowEdit) - эта штука преобразует входное видео в размытый движущийся поток (почти как controlnet). Обычный denoise тут не нужен, с ним картинка будет кипеть.
Для сохранения черт лица нужна лора на лицо. Без нее лицо будет другое. Куча лор на персонажей есть на civitai.
## video2video
Это самый простой воркфлоу, получается лучше всех. Использует HunyuanLoom (flowEdit). Для создания видео с Кеану использовал: skip_steps: 11, drift_steps: 15. Лора: 0.95 довольно хорошо передает его лицо под любым углом.
лору на Кеану: https://civitai.com/models/1131159/john-wick-hunyuan-video-lora
Воркфлоу video2video: https://github.com/Mozer/comfy_stuff/blob/main/workflows/hunyuan_video2video.json
## image+video 2 video
воркфлоу чуть посложнее: берет видео с движением (например, танец) и клеит его поверх статичной картинки. В результате хуньюань подхватывает движения.
видео с исходным танцем: https://civitai.com/images/50838820
лора на танцы: https://civitai.com/models/1110311/sexy-dance
Воркфлоу image+video2video: https://github.com/Mozer/comfy_stuff/blob/main/workflows/hunyuan_imageVideo2video.json
## image2video
самый сложный воркфлоу. Использует:
- HunyuanLoom (flowEdit)
- SAM2 comfyUI (можно и без него, но тогда маску, того что должно двигаться, придется рисовать пальцем)
- Видео белого шума: https://github.com/Mozer/comfy_stuff/blob/main/input/noise_8s.mp4
- Детальное описание вашей картинки.
- Воркфлоу image2video: https://github.com/Mozer/comfy_stuff/blob/main/workflows/hunyuan_img2video_sam_flow_noise.json
Именно динамичный шум позволяет создать движение. Без него движения в кадре не будет. Но шум понижает контраст выходного видео, поэтому я рисую его только на тех областях, которые должны двигаться.
Сгенерировать детальное описание вашей картинки на английском можно тут:
https://huggingface.co/spaces/huggingface-projects/llama-3.2-vision-11B
Describe this image with all the details. Type (photo, illustration, anime, etc.), character's name, describe it's clothes and colors, pose, lighting, background, facial features and expressions. Don't use lists, just plain text description.
Установка
устанавливаем кастомные ноды в комфи, читаем их описание по установке:
https://github.com/kijai/ComfyUI-HunyuanLoom
https://github.com/neverbiasu/ComfyUI-SAM2 (опционально)
Замечания:
- 2 секунды видео на 3090 генерируются за 2 минуты (на 3060 - 7 минут).
- Главные параметры flowEdit: skip_steps (кол-во шагов из исходного видео или картинки, 1-4) и drift_steps (количество шагов генерации по промпту, 10-19).
- Конечное значение steps = skip_steps + drift_steps. Обычно выходит 17-22 для hanyuan fast модели. 10 шагов точно не хватит. Для обычной не fast модели будет больше (не тестил). Чем больше skip_steps тем более похожей на исходную картинку (или исходное видео) будет результат. Но тем меньше движения можно задать промптом. Если результат сильно размыт - проверяйте значение steps, оно должно быть равно сумме.
- Лучше всего получаются видео длиной 2 секунды (49 кадров). 73 кадра сложнее контролировать. Рекомендуемое разрешение 544x960.
- Есть два поля для промптов: Source prompt (описание вашей картинки) и Destination prompt (описание вашей картинки + движения в кадре).
Звук для вашего видео можно сгенерировать в MMAudio тут: https://huggingface.co/spaces/hkchengrex/MMAudio
9👍55❤6😐3👏1
Yue-7b - генерируем песни на русском локально
Языки: английский, китайский, японский, корейский, русский (с акцентом).
генерация:
- по жанру + тексту песни
- по референсному аудио + жанру + тексту песни (почти кавер, позволяет задать нужное направление)
- в fp16 весит 12.5 GB. в формате nf4 занимает всего 6.5 GB vram!
- на русском лучше генерирует мужской голос. В женских - сильный акцент.
## Установка под Windows (без wsl)
Нужны
- питон 3.9 (3.8 не подойдет для flash-attention)
- torch 2.5.1 (flash-attention скомпилирован лишь для нескольких версий торча)
- cuda toolkit 12.4+
## Фиксим поддержку русского языка в UTF8
## Генерация
в папке inference создаем 2 файла genre.txt и lyrics.txt
в genre пишем:
Проверяем что кодировка в файлах UTF8
в lyrics пишем: 3-4 коротких сегмента: 2 куплета + 1 припев. При 2-х сегментах, у меня почему-то не запускался инференс. Пример:
Генерацию по промпту:
Генерация по промпту + референсному аудио:
--run_n_segments - количество сегментов (куплетов + припевов)
--max_new_tokens - время песни в каждом сегменте. Длина песни если сегмента 2: 1000x2 = 20s, 3000 = 60s. Чем больше время, тем больше надо vram.
## Скорость и vram на 3090:
20s аудио - 12.5 GB (15 минут)
60s аудио - 15.6 GB (32 минуты)
## 8-12 GB VRAM и 3000 серия и nf4
Если у вас всего 8-12 GB попробуйте запустить модель в кванте nf4 (load_in_4bit=True). Особого падения качества пока не заметил. 10 секунд аудио будут занимать всего 6.6 GB VRAM. Запускать в gguf пока не имеет смысла, они будут автоматом конвертироваться в bf16, надо ждать нормальную реализацию гуфов для модели. На 2080 пока не запускается, flash attention похоже не поддерживается. Без него тоже можно, но будет медленнее и надо больше vram.
Для nf4 нужно установить:
pip install accelerate bitsandbytes
в infer.py измените строки 76-82 на:
Скорость на 3060: 10s = 11 минут.
примеры на английском: https://map-yue.github.io/
потестить (русского нет):
- (квоты хватит на 10+10 секунд песни, не ставьте длину больше 10 секунд - упадет по ошибке): https://huggingface.co/spaces/innova-ai/YuE-music-generator-demo
- (15 секунд, ждать очереди больше часа): https://huggingface.co/spaces/fffiloni/YuE
Языки: английский, китайский, японский, корейский, русский (с акцентом).
генерация:
- по жанру + тексту песни
- по референсному аудио + жанру + тексту песни (почти кавер, позволяет задать нужное направление)
- в fp16 весит 12.5 GB. в формате nf4 занимает всего 6.5 GB vram!
- на русском лучше генерирует мужской голос. В женских - сильный акцент.
## Установка под Windows (без wsl)
Нужны
- питон 3.9 (3.8 не подойдет для flash-attention)
- torch 2.5.1 (flash-attention скомпилирован лишь для нескольких версий торча)
- cuda toolkit 12.4+
conda create -n yue python=3.9
conda activate yue
pip install torch==2.5.1 torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
качаем файл flash_attn-2.7.1.post1+cu124torch2.5.1cxx11abiFALSE-cp39-cp39-win_amd64.whl
отсюда https://github.com/bdashore3/flash-attention/releases в папку, куда у вас идет установка
pip install flash_attn-2.7.1.post1+cu124torch2.5.1cxx11abiFALSE-cp39-cp39-win_amd64.whl
git lfs install
git clone https://github.com/multimodal-art-projection/YuE
cd YuE
pip install -r requirements.txt
cd inference/
git clone https://huggingface.co/m-a-p/xcodec_mini_infer
## Фиксим поддержку русского языка в UTF8
строку 120: with open(args.genre_txt) as f:
меняем на: with open(args.genre_txt, encoding="utf-8") as f:
строку 122: with open(args.lyrics_txt) as f:
меняем на: with open(args.lyrics_txt, encoding="utf-8") as f:
## Генерация
в папке inference создаем 2 файла genre.txt и lyrics.txt
в genre пишем:
vocal punk rock electric guitar male vocal
Проверяем что кодировка в файлах UTF8
в lyrics пишем: 3-4 коротких сегмента: 2 куплета + 1 припев. При 2-х сегментах, у меня почему-то не запускался инференс. Пример:
Пластмассовый мир победил
...
[chorus]
Ооо - моя оборона
...
[verse]
...
Генерацию по промпту:
python infer.py --stage1_model m-a-p/YuE-s1-7B-anneal-en-cot --stage2_model m-a-p/YuE-s2-1B-general --genre_txt genre.txt --lyrics_txt lyrics.txt --run_n_segments 2 --stage2_batch_size 4 --output_dir ./output --cuda_idx 0 --max_new_tokens 1000
Генерация по промпту + референсному аудио:
python infer.py --stage1_model m-a-p/YuE-s1-7B-anneal-en-icl --stage2_model m-a-p/YuE-s2-1B-general --genre_txt genre.txt --lyrics_txt lyrics.txt --run_n_segments 2 --stage2_batch_size 4 --output_dir ./output --cuda_idx 0 --audio_prompt_path Egor_Letov_-_Moya_oborona.mp3 --max_new_tokens 1000
--run_n_segments - количество сегментов (куплетов + припевов)
--max_new_tokens - время песни в каждом сегменте. Длина песни если сегмента 2: 1000x2 = 20s, 3000 = 60s. Чем больше время, тем больше надо vram.
## Скорость и vram на 3090:
20s аудио - 12.5 GB (15 минут)
60s аудио - 15.6 GB (32 минуты)
## 8-12 GB VRAM и 3000 серия и nf4
Если у вас всего 8-12 GB попробуйте запустить модель в кванте nf4 (load_in_4bit=True). Особого падения качества пока не заметил. 10 секунд аудио будут занимать всего 6.6 GB VRAM. Запускать в gguf пока не имеет смысла, они будут автоматом конвертироваться в bf16, надо ждать нормальную реализацию гуфов для модели. На 2080 пока не запускается, flash attention похоже не поддерживается. Без него тоже можно, но будет медленнее и надо больше vram.
Для nf4 нужно установить:
pip install accelerate bitsandbytes
в infer.py измените строки 76-82 на:
model = AutoModelForCausalLM.from_pretrained(
stage1_model,
load_in_4bit=True,
torch_dtype=torch.bfloat16,
attn_implementation="flash_attention_2",
)
Скорость на 3060: 10s = 11 минут.
примеры на английском: https://map-yue.github.io/
потестить (русского нет):
- (квоты хватит на 10+10 секунд песни, не ставьте длину больше 10 секунд - упадет по ошибке): https://huggingface.co/spaces/innova-ai/YuE-music-generator-demo
- (15 секунд, ждать очереди больше часа): https://huggingface.co/spaces/fffiloni/YuE
9🔥32👍15🤣3❤1
Продолжаем любую mp3 с Yue
Добавил в Yue (генератор песен) возможность продолжить любой загруженную mp3 с клонированием голоса и мелодии.
- в приложенных примерах первое четверостишие - оригинал, остальные - генерация. В Summertime sadness - первое четверостишие напето в домашних условиях.
- лучше всего продолжает после одного первого куплета.
- голос клонирует не всегда один в один, но старается.
- мелодию продолжает довольно хорошо.
- русский поддерживается, но будет с легким акцентом.
- можно изменять язык песни с сохранением голоса.
- работает на движке exllama (самый быстрый среди того, что я тестил)
- поддержка продолжения предыдущей генерации. Так можно генерировать бесконечные песни.
- есть web GUI (либо работа из консоли)
- никаких ограничений по копирайту
- бесплатно
- требует 8 GB vram (на 6 тоже запустится, но нужно квант поменьше и генерировать всего 1 куплет)
- чем больше куплетов - тем больше надо vram
- скорость на 3090:
- 1 минута на выходе = 03:40 генерации (COT),
- 1 минута на выходе = 05:00 генерации (COT + mp3 extend)
## Установка под Windows (без wsl)
Будут нужны
- питон 3.9 (3.10 тоже подойдет, но ссылки все будут другие)
- torch 2.4.0 (exllama и flash_attn скомпилированы лишь для нескольких версий торча. 2.5.1 не подойдет)
- cuda toolkit 12.4+
запускаем (двойной клик) start-gui.bat
переходим по https://127.0.0.1:7860/
## Генерация (продолжение mp3)
Есть 3 способа: COT модель, ICL модель + 2 дополнительные дорожки, ICL модель + 1 дополнительная общая дорожка.
Первый, самый простой и проверенный. В web UI:
- Stage 1 model: YuE-s1-7B-anneal-en-cot-exl2-8.0bpw
- Lyrics: полный текст песни. Первый сегмент [verse] должен включать всё то, после чего будет сгенерировано продолжение. Первый сегмент рекомендуется ограничить одним четверостишием.
- Установите флажок "Extend mp3".
- Разделите свой mp3 на вокал.mp3 + инструментал.mp3. Для разделения используйте: https://huggingface.co/spaces/theneos/audio-separator или https://www.audiostrip.com/isolate или https://www.lalal.ai/ или https://vocalremover.org/
- Загрузите vocal.mp3 + instrumental.mp3 в 2 поля файла.
- Найдите точное время, когда заканчивается вокал в первом куплете в вашем mp3, например, 15 сек, введите в поле "Seconds to take from mp3".
- Generate
Дополнительные галочки "Use Dual Tracks Audio Prompt?" и "Use Audio Prompt? (both vocal and instrumental)" дадут модели полную музыку всей песни. Но так контролировать генерацию становится намного труднее. Модель будет стараться сгенерировать то что уже было, будет повторять исходник один в один. В таких режимах попробуйте установить "Audio prompt End Time" на 1-2-3 секунды больше чем в поле "Seconds to take from mp3". Экспериментируйте с разными отрезками, чтобы найти баланс похожести и новизны генерации.
Код: https://github.com/Mozer/YuE-extend
Бесплатный колаб:
https://colab.research.google.com/github/Mozer/YuE-extend/blob/main/colab/Yue_extend_with_exllama.ipynb
Добавил в Yue (генератор песен) возможность продолжить любой загруженную mp3 с клонированием голоса и мелодии.
- в приложенных примерах первое четверостишие - оригинал, остальные - генерация. В Summertime sadness - первое четверостишие напето в домашних условиях.
- лучше всего продолжает после одного первого куплета.
- голос клонирует не всегда один в один, но старается.
- мелодию продолжает довольно хорошо.
- русский поддерживается, но будет с легким акцентом.
- можно изменять язык песни с сохранением голоса.
- работает на движке exllama (самый быстрый среди того, что я тестил)
- поддержка продолжения предыдущей генерации. Так можно генерировать бесконечные песни.
- есть web GUI (либо работа из консоли)
- никаких ограничений по копирайту
- бесплатно
- требует 8 GB vram (на 6 тоже запустится, но нужно квант поменьше и генерировать всего 1 куплет)
- чем больше куплетов - тем больше надо vram
- скорость на 3090:
- 1 минута на выходе = 03:40 генерации (COT),
- 1 минута на выходе = 05:00 генерации (COT + mp3 extend)
## Установка под Windows (без wsl)
Будут нужны
- питон 3.9 (3.10 тоже подойдет, но ссылки все будут другие)
- torch 2.4.0 (exllama и flash_attn скомпилированы лишь для нескольких версий торча. 2.5.1 не подойдет)
- cuda toolkit 12.4+
conda create -n yue python=3.9
conda activate yue
:: ставим торч, exllama и flash_attn-2
pip install torch==2.4.0 torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
pip install https://github.com/turboderp-org/exllamav2/releases/download/v0.2.7/exllamav2-0.2.7+cu121.torch2.4.0-cp39-cp39-win_amd64.whl
pip install https://github.com/bdashore3/flash-attention/releases/download/v2.7.1.post1/flash_attn-2.7.1.post1+cu124torch2.4.0cxx11abiFALSE-cp39-cp39-win_amd64.whl
git lfs install
git clone https://github.com/Mozer/YuE-extend
cd YuE-extend
pip install -r requirements.txt
git clone https://huggingface.co/m-a-p/xcodec_mini_infer
:: качаем 3 exl2 модели (5.7 + 5.7 GB + 1.8) в папку workspace\models:
huggingface-cli download Alissonerdx/YuE-s1-7B-anneal-en-cot-exl2-8.0bpw --local-dir workspace\models\YuE-s1-7B-anneal-en-cot-exl2-8.0bpw
huggingface-cli download Ftfyhh/YuE-s1-7B-anneal-en-icl-8.0bpw-exl2 --local-dir YuE-s1-7B-anneal-en-icl-8.0bpw-exl2
huggingface-cli download Alissonerdx/YuE-s2-1B-general-exl2-8.0bpw --local-dir workspace\models\YuE-s2-1B-general-exl2-8.0bpw
запускаем (двойной клик) start-gui.bat
переходим по https://127.0.0.1:7860/
## Генерация (продолжение mp3)
Есть 3 способа: COT модель, ICL модель + 2 дополнительные дорожки, ICL модель + 1 дополнительная общая дорожка.
Первый, самый простой и проверенный. В web UI:
- Stage 1 model: YuE-s1-7B-anneal-en-cot-exl2-8.0bpw
- Lyrics: полный текст песни. Первый сегмент [verse] должен включать всё то, после чего будет сгенерировано продолжение. Первый сегмент рекомендуется ограничить одним четверостишием.
- Установите флажок "Extend mp3".
- Разделите свой mp3 на вокал.mp3 + инструментал.mp3. Для разделения используйте: https://huggingface.co/spaces/theneos/audio-separator или https://www.audiostrip.com/isolate или https://www.lalal.ai/ или https://vocalremover.org/
- Загрузите vocal.mp3 + instrumental.mp3 в 2 поля файла.
- Найдите точное время, когда заканчивается вокал в первом куплете в вашем mp3, например, 15 сек, введите в поле "Seconds to take from mp3".
- Generate
Дополнительные галочки "Use Dual Tracks Audio Prompt?" и "Use Audio Prompt? (both vocal and instrumental)" дадут модели полную музыку всей песни. Но так контролировать генерацию становится намного труднее. Модель будет стараться сгенерировать то что уже было, будет повторять исходник один в один. В таких режимах попробуйте установить "Audio prompt End Time" на 1-2-3 секунды больше чем в поле "Seconds to take from mp3". Экспериментируйте с разными отрезками, чтобы найти баланс похожести и новизны генерации.
Код: https://github.com/Mozer/YuE-extend
Бесплатный колаб:
https://colab.research.google.com/github/Mozer/YuE-extend/blob/main/colab/Yue_extend_with_exllama.ipynb
62👍36🔥10❤3😁2
Wan image2video и сравнение с skyreels_i2v
Alibaba выпустила сразу 5 моделей с разными размерами (1.3b, 14b), режимами (t2v, i2v) и разрешением (480p, 720p).
Wan поддерживает разрешение до 1280x720p 16fps (hunyuan skyreels i2v - до 544p 24fps)
В воркфлоу есть интерполяция до 16fps->30 fps (процесс занимает секунд 20-30). Без интерполяции видео - дерганое.
Wan NF4(размер 9GB), Wan Q4.gguf (10GB), fp8 (17GB) примерно равны по скорости. Но у квантованных есть деградация качества (хуже следование промпту, иногда генерируют дисторсию). Поэтому рекомендую именно fp8. Попробуйте nf4, если у вас мало vram (например, 12GB). При разрешении 720p намного меньше артефактов, чем при 480p, но время генерации возрастает значительно. Большинство приложенных примеров в 720p, если не указано иное.
Воркфлоу от kijai у меня был в два раза медленнее чем от comfy.
- Разрабы WanAI рекомендуют 40 шагов для i2v и 50 шагов для t2v. Но это очень долго и ест много VRAM, поэтому я использую 15 шагов.
- Также есть video2video воркфлоу от kijai на основе 1.3b-t2v. Движение частично подхватывает, лицо не клонирует. Надо будет попробовать real2anime и наоборот.
## Cравнение с Hunyuan-skyreels-i2v
- Качество видео при схожих настройках схожее, но в skyreels меньше движения и хуже следование промпту. В некоторых трудных случаях (аниме и мультики) skyreels просто генерирует дисторсию.
- wan_14b_i2v-544p чуть медленнее чем чем hunyuan_skyreels_13b_i2.
- Wan-t2v из коробки умеет в наготу, но, в большинстве случаев, стремится разместить девушку спиной, либо закрыть причинное место каким-нибудь предметом. hunyuan_t2v в этом плане был покладистей, и анатомия лучше. Но для wan уже появляются лоры на civitai (пока только для wan1.3b), так что анатомию поправят. у i2v модели особых проблем с анатомией не заметил, что на входе то и на выходе. nsfw примеры выложил тут: https://t.iss.one/tensor_art
- По моим впечатлениям, hunyuan_t2v чуть лучше справляется с реалистичностью лица, кожи и NSFW. У wan_t2v почему-то детализации не хватает.
## Установка
- обновляем комфи через update_comfyui.bat
- устанавливаем кастомные ноды через менеджер -> git url:
интерполяция: https://github.com/Fannovel16/ComfyUI-Frame-Interpolation
nf4: https://github.com/silveroxides/ComfyUI_bnb_nf4_fp4_Loaders
GGUF: https://github.com/city96/ComfyUI-GGUF
Качаем модели отсюда https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/tree/main:
- umt5_xxl_fp8 в /text_encoders (внимание: umt5_xxl от kijai (для fp8, fp16) не работает с воркфлоу от comfyanonymous (для gguf, nf4) и наоборот)
- wan_2.1_vae в /vae:
- clip_vision_h в /clip_vision
- модели fp8 в /diffusion_models
Опционально, GGUF:
в /unet: https://huggingface.co/city96/Wan2.1-I2V-14B-480P-gguf
Опционально, NF4:
nf4 в /diffusion_models: https://civitai.com/models/1299436?modelVersionId=1466629
Воркфлоу:
- wan_t2v_1.3b: https://github.com/Mozer/comfy_stuff/blob/main/workflows/wan_1.3b_t2v.json
- wan_i2v_14b_nf4_gguf: https://github.com/Mozer/comfy_stuff/blob/main/workflows/wan_14b_i2v.json
Там же есть другие ворклфлоу, например для skyreels_i2v.
- Опционально ставим triton и sage_attn для windows (ускорение на 15% и уменьшение потребления VRAM): https://www.reddit.com/r/StableDiffusion/comments/1h7hunp/how_to_run_hunyuanvideo_on_a_single_24gb_vram_card/
## Выводы
Если надо качество - юзаем 14b_i2v_720p (ждем 11+ минут). Если нужна скорость - 14b_i2v_480p (ждем 4 минуты) или 1.3b_i2v_480p (1 минута). И ждем лоры.
Фото: David Dubnitskiy
потестить 14b онлайн: https://huggingface.co/spaces/Wan-AI/Wan2.1
Alibaba выпустила сразу 5 моделей с разными размерами (1.3b, 14b), режимами (t2v, i2v) и разрешением (480p, 720p).
Wan поддерживает разрешение до 1280x720p 16fps (hunyuan skyreels i2v - до 544p 24fps)
В воркфлоу есть интерполяция до 16fps->30 fps (процесс занимает секунд 20-30). Без интерполяции видео - дерганое.
Wan NF4(размер 9GB), Wan Q4.gguf (10GB), fp8 (17GB) примерно равны по скорости. Но у квантованных есть деградация качества (хуже следование промпту, иногда генерируют дисторсию). Поэтому рекомендую именно fp8. Попробуйте nf4, если у вас мало vram (например, 12GB). При разрешении 720p намного меньше артефактов, чем при 480p, но время генерации возрастает значительно. Большинство приложенных примеров в 720p, если не указано иное.
Воркфлоу от kijai у меня был в два раза медленнее чем от comfy.
832x480 33fr 15st:
t2v_1.3b (5 GB vram) - 1 минута
832x480 33fr 15st:
i2v_14b_fp8 (18 GB vram) - 4.5 минут
i2v_14b_Q4 (20 GB vram) - 4.5 минут
i2v_14b_nf4 (19 GB vram) - 4 минуты
1280x720 33fr 15st:
14b_i2v_fp8 (20 GB) - 11.5 минут
14b_i2v_Q4 (15 GB) - 11 минут
14b_i2v_nf4 (15 GB) - 11 минут
1280x720 81fr 15st:
14b_i2v_fp8_kijai (39 GB) - 43 минуты
960x544 49 frames 15 steps:
wan_14b_i2v_kijai (29 GB vram) - 14 минут
skyreels_i2v_fp8 - 7.5 минут
- Разрабы WanAI рекомендуют 40 шагов для i2v и 50 шагов для t2v. Но это очень долго и ест много VRAM, поэтому я использую 15 шагов.
- Также есть video2video воркфлоу от kijai на основе 1.3b-t2v. Движение частично подхватывает, лицо не клонирует. Надо будет попробовать real2anime и наоборот.
## Cравнение с Hunyuan-skyreels-i2v
- Качество видео при схожих настройках схожее, но в skyreels меньше движения и хуже следование промпту. В некоторых трудных случаях (аниме и мультики) skyreels просто генерирует дисторсию.
- wan_14b_i2v-544p чуть медленнее чем чем hunyuan_skyreels_13b_i2.
- Wan-t2v из коробки умеет в наготу, но, в большинстве случаев, стремится разместить девушку спиной, либо закрыть причинное место каким-нибудь предметом. hunyuan_t2v в этом плане был покладистей, и анатомия лучше. Но для wan уже появляются лоры на civitai (пока только для wan1.3b), так что анатомию поправят. у i2v модели особых проблем с анатомией не заметил, что на входе то и на выходе. nsfw примеры выложил тут: https://t.iss.one/tensor_art
- По моим впечатлениям, hunyuan_t2v чуть лучше справляется с реалистичностью лица, кожи и NSFW. У wan_t2v почему-то детализации не хватает.
## Установка
- обновляем комфи через update_comfyui.bat
- устанавливаем кастомные ноды через менеджер -> git url:
интерполяция: https://github.com/Fannovel16/ComfyUI-Frame-Interpolation
nf4: https://github.com/silveroxides/ComfyUI_bnb_nf4_fp4_Loaders
GGUF: https://github.com/city96/ComfyUI-GGUF
Качаем модели отсюда https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/tree/main:
- umt5_xxl_fp8 в /text_encoders (внимание: umt5_xxl от kijai (для fp8, fp16) не работает с воркфлоу от comfyanonymous (для gguf, nf4) и наоборот)
- wan_2.1_vae в /vae:
- clip_vision_h в /clip_vision
- модели fp8 в /diffusion_models
Опционально, GGUF:
в /unet: https://huggingface.co/city96/Wan2.1-I2V-14B-480P-gguf
Опционально, NF4:
nf4 в /diffusion_models: https://civitai.com/models/1299436?modelVersionId=1466629
Воркфлоу:
- wan_t2v_1.3b: https://github.com/Mozer/comfy_stuff/blob/main/workflows/wan_1.3b_t2v.json
- wan_i2v_14b_nf4_gguf: https://github.com/Mozer/comfy_stuff/blob/main/workflows/wan_14b_i2v.json
Там же есть другие ворклфлоу, например для skyreels_i2v.
- Опционально ставим triton и sage_attn для windows (ускорение на 15% и уменьшение потребления VRAM): https://www.reddit.com/r/StableDiffusion/comments/1h7hunp/how_to_run_hunyuanvideo_on_a_single_24gb_vram_card/
## Выводы
Если надо качество - юзаем 14b_i2v_720p (ждем 11+ минут). Если нужна скорость - 14b_i2v_480p (ждем 4 минуты) или 1.3b_i2v_480p (1 минута). И ждем лоры.
Фото: David Dubnitskiy
потестить 14b онлайн: https://huggingface.co/spaces/Wan-AI/Wan2.1
🔥38👍9❤3⚡1
talk-llama-fast 0.2.1
- добавил поддержку свежих LLM: gemma-3, mistral-small-2503, qwq
- обновил код llama.cpp и whisper.cpp до свежих
- exe выложил, код выложил, баги выловил.
Теперь планирую добавить поддержку картинок на вход. Скорее всего, через скриншоты. Что-нибудь в духе голосовой команды "Сделай скрин", которая будет делать скрин активного окна.
Код обработки картинок в llama.cpp все еще с багами, так что это займет какое-то время.
https://github.com/Mozer/talk-llama-fast/releases/tag/0.2.1
- добавил поддержку свежих LLM: gemma-3, mistral-small-2503, qwq
- обновил код llama.cpp и whisper.cpp до свежих
- exe выложил, код выложил, баги выловил.
Теперь планирую добавить поддержку картинок на вход. Скорее всего, через скриншоты. Что-нибудь в духе голосовой команды "Сделай скрин", которая будет делать скрин активного окна.
Код обработки картинок в llama.cpp все еще с багами, так что это займет какое-то время.
https://github.com/Mozer/talk-llama-fast/releases/tag/0.2.1
🔥38👍11❤3👀1
wan vace 1.3b video2video + depth + ghibli lora
- используется карта глубины для направления движения
- попросил chatgpt гиблифицировать несколько кадров для референса
- чтобы картинки-референсы лучше воспринимались, их композиция должна полностью совпадать композиции видео
- первый и последний кадр я тут не использовал, по причине того, что chatgpt меняет композицию картинки. Из-за этого движение будет не там где надо. Но можно заморочиться, сделать нужную композицию совпадающую с движением карты глубины. Будет лучше, особенно если еще и конечный кадр добавить.
- вместо depth anything можно попробовать другой контролнет, например openpose, но я не тестил
- чтобы карта глубины не слишком сильно влияла на конечное анимешное видео, я ее инвертирую и делаю меньшую контрастность (делаю белой). Если так не делать, в итоге будут люди из фильма, а не анимешные персонажи
vace также поддерживает маски.
- черный цвет - оставляет без изменений
- белый цвет - переделывает
- маски можно использовать, например, для сохранения исходного лица.
- для создания масок можно использовать segment anything (SAM2, не используется в этом воркфлоу, nsfw примеры есть тут: https://t.iss.one/tensor_art/410 )
Скорость на 3090:
81 кадр (5s) 640x480 20 шагов - 3 минуты
vram - 16 GB
1.3b поддерживает длину ролика до 81 кадров. Если длиннее, то будут визуальные артефакты (видно в первой сцене)
wan + vace ноды: https://github.com/kijai/ComfyUI-WanVideoWrapper
Depth-Anything ноды: https://github.com/DepthAnything/Depth-Anything-V2
ghibli lora 1.3b: https://civitai.com/models/1474964
workflow: https://github.com/Mozer/comfy_stuff/blob/main/workflows/wan_1_3B_VACE_v2v_with_depth_and_lora.json
- используется карта глубины для направления движения
- попросил chatgpt гиблифицировать несколько кадров для референса
- чтобы картинки-референсы лучше воспринимались, их композиция должна полностью совпадать композиции видео
- первый и последний кадр я тут не использовал, по причине того, что chatgpt меняет композицию картинки. Из-за этого движение будет не там где надо. Но можно заморочиться, сделать нужную композицию совпадающую с движением карты глубины. Будет лучше, особенно если еще и конечный кадр добавить.
- вместо depth anything можно попробовать другой контролнет, например openpose, но я не тестил
- чтобы карта глубины не слишком сильно влияла на конечное анимешное видео, я ее инвертирую и делаю меньшую контрастность (делаю белой). Если так не делать, в итоге будут люди из фильма, а не анимешные персонажи
vace также поддерживает маски.
- черный цвет - оставляет без изменений
- белый цвет - переделывает
- маски можно использовать, например, для сохранения исходного лица.
- для создания масок можно использовать segment anything (SAM2, не используется в этом воркфлоу, nsfw примеры есть тут: https://t.iss.one/tensor_art/410 )
Скорость на 3090:
81 кадр (5s) 640x480 20 шагов - 3 минуты
vram - 16 GB
1.3b поддерживает длину ролика до 81 кадров. Если длиннее, то будут визуальные артефакты (видно в первой сцене)
wan + vace ноды: https://github.com/kijai/ComfyUI-WanVideoWrapper
Depth-Anything ноды: https://github.com/DepthAnything/Depth-Anything-V2
ghibli lora 1.3b: https://civitai.com/models/1474964
workflow: https://github.com/Mozer/comfy_stuff/blob/main/workflows/wan_1_3B_VACE_v2v_with_depth_and_lora.json
👍32🔥23😁7😱4🥴2❤1👏1
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Тренируем лору на персонажа для Wan 1.3b под виндой
- треним только на картинках
- в musubi tuner (с GUI)
- я тренил в 640x1024, но можно и 480x832. чем больше размер, тем больше vram
- vram от 4GB (при батче 1)
- тренировка с видео занимает намного больше vram (480x852, 85 frames, batch 1 - 17 GB). В каком разрешении треним, в таком и инференс надо делать. wan vace 1.3b натренирован в разрешении 480x832
- на 30 картинках тренил 1 час на 3090
- на 30 картинках + 14 видео тренил 15 часов (лора на действие)
- для увеличения похожести в vace подаем референсную картинку с лицом
- поддерживается t2v, vace_i2v. (хз про wan-fun, wan-phantom)
- рекомендую инференс через vace_t2v+reference, vace-i2v
Установка под виндой
ручками качаем модельки в папку \musubi-tuner-wan-gui\models\Wan\
1.3b: https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/blob/main/split_files/diffusion_models/wan2.1_t2v_1.3B_bf16.safetensors
vae: https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/blob/main/split_files/vae/wan_2.1_vae.safetensors
t5: https://huggingface.co/Wan-AI/Wan2.1-I2V-14B-720P/resolve/main/models_t5_umt5-xxl-enc-bf16.pth
clip: https://huggingface.co/Wan-AI/Wan2.1-I2V-14B-720P/blob/main/models_clip_open-clip-xlm-roberta-large-vit-huge-14.pth
Если вы под виндой - надо в коде выключить libuv и оставить видимость только одной видюхи.
- в файле wan_lora_trainer_gui.py после строк импорта в строке 9 добавить строки:
- в файле hv_train_network.py после строк импорта в строке 54 добавить те же строки, что и выше.
# Датасет
30 картинок с лицом. Большинство - лицевые портреты, несколько - в полный рост. С описанием картинок я не заморачивался, ставил везде одинаковое: "Emm4w woman". Но есть вероятность, что подробное описание будет лучше.
картинки с текстовыми описниями вида image1.jpg + image1.txt сюда:
c:\DATA\SD\musubi-tuner-wan-gui\dataset\Emm4w\images\
создаем пустую папку под кэш
c:\DATA\SD\musubi-tuner-wan-gui\dataset\Emm4w\cache\
мой toml конфиг файл с описанием датасета: https://github.com/Mozer/comfy_stuff/blob/main/musubi/dataset_emm4w.toml
положите его внутрь и потом пропишите путь до него в GUI
Внутри там же есть закомментированный пример тренировки на картинках+видео.
в dataset_emm4w.toml файле слэши надо экранировать.
Батчами тренировать быстрее чем по 1 картинке.
в dataset_emm4w.toml измените максимальный размер батча под ваш размер vram. Если будет вылетать - снизьте значение batch_size. 16 для 24 GB, 8 - 12 GB. musubi группирует картинки по размеру в батчи. Если все картинки разного размера, то и батчи будут маленькие, не будут занимать много vram.
Тренить по видео пока не будем, их надо самому порезать на короткие куски длиной до 5 секунд (я тренил лору на снимание предметов одежды).
# запуск
Запускаем GUI из под конды в командной строке:
Start_Wan_GUI.bat
(кликать мышкой на бат не стоит)
В GUI установите значение "save every N epochs" - например каждую 5-ю. Если вы посреди тренировки нажмете СТОП, то принудительного сохранения не будет, потеряете какой-то промежуточный прогресс.
После тренировки нужно сконвертировать safetensors файл в формат для comfy на третьей вкладке GUI.
лора на Эмму: https://huggingface.co/Ftfyhh/wan1.3b_EmmaW_lora
на раздевание: https://huggingface.co/Ftfyhh/wan_1.3b_lora_pnts_drop
workflow wan vace text2video + ref: https://github.com/Mozer/comfy_stuff/blob/main/workflows/wan_vace_1.3b_ref_and_lora.json
видео с моими лорами (nsfw): https://t.iss.one/tensor_art/616
- треним только на картинках
- в musubi tuner (с GUI)
- я тренил в 640x1024, но можно и 480x832. чем больше размер, тем больше vram
- vram от 4GB (при батче 1)
- тренировка с видео занимает намного больше vram (480x852, 85 frames, batch 1 - 17 GB). В каком разрешении треним, в таком и инференс надо делать. wan vace 1.3b натренирован в разрешении 480x832
- на 30 картинках тренил 1 час на 3090
- на 30 картинках + 14 видео тренил 15 часов (лора на действие)
- для увеличения похожести в vace подаем референсную картинку с лицом
- поддерживается t2v, vace_i2v. (хз про wan-fun, wan-phantom)
- рекомендую инференс через vace_t2v+reference, vace-i2v
Установка под виндой
conda create -n musubi
conda install python=3.10
pip install torch==2.5.1 torchvision --index-url https://download.pytorch.org/whl/cu124
pip install triton-windows
pip install sageattention==1.0.6
git clone https://github.com/Kvento/musubi-tuner-wan-gui
cd musubi-tuner-wan-gui
pip install -r requirements.txt
#создаем папку \musubi-tuner-wan-gui\models\Wan\
mkdir models
cd models
mkdir models Wan
ручками качаем модельки в папку \musubi-tuner-wan-gui\models\Wan\
1.3b: https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/blob/main/split_files/diffusion_models/wan2.1_t2v_1.3B_bf16.safetensors
vae: https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/blob/main/split_files/vae/wan_2.1_vae.safetensors
t5: https://huggingface.co/Wan-AI/Wan2.1-I2V-14B-720P/resolve/main/models_t5_umt5-xxl-enc-bf16.pth
clip: https://huggingface.co/Wan-AI/Wan2.1-I2V-14B-720P/blob/main/models_clip_open-clip-xlm-roberta-large-vit-huge-14.pth
Если вы под виндой - надо в коде выключить libuv и оставить видимость только одной видюхи.
- в файле wan_lora_trainer_gui.py после строк импорта в строке 9 добавить строки:
os.environ["USE_LIBUV"] = "0" # Force-disable libuv for windows
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = "0" # id of cuda device, starting from 0
- в файле hv_train_network.py после строк импорта в строке 54 добавить те же строки, что и выше.
# Датасет
30 картинок с лицом. Большинство - лицевые портреты, несколько - в полный рост. С описанием картинок я не заморачивался, ставил везде одинаковое: "Emm4w woman". Но есть вероятность, что подробное описание будет лучше.
картинки с текстовыми описниями вида image1.jpg + image1.txt сюда:
c:\DATA\SD\musubi-tuner-wan-gui\dataset\Emm4w\images\
создаем пустую папку под кэш
c:\DATA\SD\musubi-tuner-wan-gui\dataset\Emm4w\cache\
мой toml конфиг файл с описанием датасета: https://github.com/Mozer/comfy_stuff/blob/main/musubi/dataset_emm4w.toml
положите его внутрь и потом пропишите путь до него в GUI
Внутри там же есть закомментированный пример тренировки на картинках+видео.
в dataset_emm4w.toml файле слэши надо экранировать.
Батчами тренировать быстрее чем по 1 картинке.
в dataset_emm4w.toml измените максимальный размер батча под ваш размер vram. Если будет вылетать - снизьте значение batch_size. 16 для 24 GB, 8 - 12 GB. musubi группирует картинки по размеру в батчи. Если все картинки разного размера, то и батчи будут маленькие, не будут занимать много vram.
Тренить по видео пока не будем, их надо самому порезать на короткие куски длиной до 5 секунд (я тренил лору на снимание предметов одежды).
# запуск
Запускаем GUI из под конды в командной строке:
Start_Wan_GUI.bat
(кликать мышкой на бат не стоит)
В GUI установите значение "save every N epochs" - например каждую 5-ю. Если вы посреди тренировки нажмете СТОП, то принудительного сохранения не будет, потеряете какой-то промежуточный прогресс.
После тренировки нужно сконвертировать safetensors файл в формат для comfy на третьей вкладке GUI.
лора на Эмму: https://huggingface.co/Ftfyhh/wan1.3b_EmmaW_lora
на раздевание: https://huggingface.co/Ftfyhh/wan_1.3b_lora_pnts_drop
workflow wan vace text2video + ref: https://github.com/Mozer/comfy_stuff/blob/main/workflows/wan_vace_1.3b_ref_and_lora.json
видео с моими лорами (nsfw): https://t.iss.one/tensor_art/616
🔥38👍14❤6😁3🤣2❤🔥1👏1🤔1🤯1🥴1