Лора для русского текста на картинке для Flux
Ранняя версия, 50000 шагов, допускает много ошибок.
Для кириллицы используется смешанная азбука: часть русских букв заменяется на похожие английские буквы. Eсли таких букв нету, то берется похожий малоиспользуемый символ из французского, немецкого и молдавского (именно они есть в токенизаторе).
В токенизаторе T5xxl нет кириллицы, поэтому приходится выкручиваться, используя странные символы из других языков. При этом надо иметь в виду, что несколько английских букв часто объединяются в один токен. Иногда это мешает, иногда нет.
Насколько я понял, токенизатор clip-l практически не влияет на отображение текста на картинке. Но вместо clip-l можно использовать vit-l-text. С его помощью будет на 10% меньше ошибок. Но и без него можно.
vit-l-text: https://huggingface.co/zer0int/CLIP-GmP-ViT-L-14/blob/main/ViT-L-14-TEXT-detail-improved-hiT-GmP-TE-only-HF.safetensors
С буквой Ш пока что проблемы, используйте букву Щ.
Букву П можно дополнительно описать как "looks loke Pi symbol".
Потом когда-нибудь напишу кастомную ноду, которая будет автоматом кодировать кириллицу.
На малом разрешении Лора допускает меньше ошибок, чем на большом. Чем проще описание - тем лучше.
Рекомендуемые настройки: 512x768 20 steps, Euler, normal, guidance 3.5
Промпт: Black text "PYCCkùü" on grey background.
Лора: https://civitai.com/models/1056401
Ворклфоу: https://github.com/Mozer/comfy_stuff/blob/main/workflows/flux_rus_lora_50k.json
Тренировал в oneTrainer, сперва в разрешении 512 на мелком датасете, затем на большом, затем на огромном в 768p. Lora rank 16/1, Adafactor LR 0.0003. Суммарно 50000 шагов, 6000+ картинок.
Если кто разбирается в Learning rate: возможно надо было другой LR указать или более большой lora rank?
Скрипт для создания датасета картинок с 5000 популярными русскими словами:
https://github.com/Mozer/comfy_stuff/tree/main/training_rus
Вдруг кто-то захочет продолжить идею.
За идею сделать лору спасибо Sir Lanc.
За первый датасет спасибо @DmitryLS7.
Также недавно натренировал лору для Flux Fill Outpaint (не Dev) для создания картинок "Clothes on/off", 18+: https://civitai.com/models/1040628/clothes-onoff-or-flux-fill
Вдруг кто не видел =)
Ранняя версия, 50000 шагов, допускает много ошибок.
Для кириллицы используется смешанная азбука: часть русских букв заменяется на похожие английские буквы. Eсли таких букв нету, то берется похожий малоиспользуемый символ из французского, немецкого и молдавского (именно они есть в токенизаторе).
В токенизаторе T5xxl нет кириллицы, поэтому приходится выкручиваться, используя странные символы из других языков. При этом надо иметь в виду, что несколько английских букв часто объединяются в один токен. Иногда это мешает, иногда нет.
Насколько я понял, токенизатор clip-l практически не влияет на отображение текста на картинке. Но вместо clip-l можно использовать vit-l-text. С его помощью будет на 10% меньше ошибок. Но и без него можно.
vit-l-text: https://huggingface.co/zer0int/CLIP-GmP-ViT-L-14/blob/main/ViT-L-14-TEXT-detail-improved-hiT-GmP-TE-only-HF.safetensors
"А": "A", "Б": "ß", "В": "B", "Г": "Î", "Д": "ă", "Е": "E", "Ё": "É", "Ж": "ş",
"З": "3", "И": "ù", "Й": "ü", "К": "K", "Л": "â", "М": "M", "Н": "H", "О": "O",
"П": "á", "Р": "P", "С": "C", "Т": "T", "У": "Y", "Ф": "ö", "Х": "X", "Ц": "Ü",
"Ч": "4", "Ш": "##", "Щ": "!!!", "Ъ": "ț", "Ы": "ä", "Ь": "ţ", "Э": "ó",
"Ю": "ô", "Я": "®"
С буквой Ш пока что проблемы, используйте букву Щ.
Букву П можно дополнительно описать как "looks loke Pi symbol".
Потом когда-нибудь напишу кастомную ноду, которая будет автоматом кодировать кириллицу.
На малом разрешении Лора допускает меньше ошибок, чем на большом. Чем проще описание - тем лучше.
Рекомендуемые настройки: 512x768 20 steps, Euler, normal, guidance 3.5
Промпт: Black text "PYCCkùü" on grey background.
Лора: https://civitai.com/models/1056401
Ворклфоу: https://github.com/Mozer/comfy_stuff/blob/main/workflows/flux_rus_lora_50k.json
Тренировал в oneTrainer, сперва в разрешении 512 на мелком датасете, затем на большом, затем на огромном в 768p. Lora rank 16/1, Adafactor LR 0.0003. Суммарно 50000 шагов, 6000+ картинок.
Если кто разбирается в Learning rate: возможно надо было другой LR указать или более большой lora rank?
Скрипт для создания датасета картинок с 5000 популярными русскими словами:
https://github.com/Mozer/comfy_stuff/tree/main/training_rus
Вдруг кто-то захочет продолжить идею.
За идею сделать лору спасибо Sir Lanc.
За первый датасет спасибо @DmitryLS7.
Также недавно натренировал лору для Flux Fill Outpaint (не Dev) для создания картинок "Clothes on/off", 18+: https://civitai.com/models/1040628/clothes-onoff-or-flux-fill
Вдруг кто не видел =)
Добавил 3-х новых персонажей в @talkllama
- арни (Terminator), расскажет про 2125 год.
- дженна (Wednesday), даст пару вредных советов.
- рон (Ron Swanson), расскажет как ему пофиг.
Работают на:
- deepseek-v3-685b (от openrouter, платно).
- llama-405b (от sambanova, бесплатно).
@talkllama
- арни (Terminator), расскажет про 2125 год.
- дженна (Wednesday), даст пару вредных советов.
- рон (Ron Swanson), расскажет как ему пофиг.
Работают на:
- deepseek-v3-685b (от openrouter, платно).
- llama-405b (от sambanova, бесплатно).
@talkllama
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
This media is not supported in your browser
VIEW IN TELEGRAM
Ускоряем Hunyuan video fast еще в 2 раза на винде
Есть оригинальный Hunyuan-video-13B, он работает за 20-30 шагов (20-30 минут на видео), а есть дистиллированный Hunyuan fast, который работает за 6-10 шагов. 6 шагов мне не нравятся, 10 выглядят намного лучше (10 минут на генерацию 1 видео в 720p, 2 секунды, 48 кадров).
Недавно вышел waveSpeed, который ускоряет flux, LTX и hunyuan в 1.5-2 раза в comfy на видюхах 3000 серии и новее с помощью двух технологий: first-block-cache и torch-model-compile+. На моей 3090 прирост скорости относительно Hunyuan fast - в 2 раза, до 4.6 минуты на 1 видео. Поддерживается воркфлоу от comfyanonymous. Воркфлоу от kijai пока не поддерживается.
Hunyuan из коробки умеет nsfw. Верх довольно неплохой, низ слегка зацензурен, но лучше, чем в дефолтном flux. Но умельцы уже наделели 100+ лор для Hunyuan на civitai для разных nsfw поз, движений, персонажей и стилей (в https://civitai.com/models ставим 2 фильтра: LoRA + Hunyuan video).
Но compile+ ускоряет генерацию не всегда. Иногда torch compile занимает дополнительные 47 секунд. Перекомпилируется модель периодически, 1 раз в 2-3 генерации. Хз как побороть, скорее всего, vram мало, возможно, надо сделать меньше разрешение или количество кадров.
Предположу, что для работы Hunyuan хватит 32 GB RAM. У меня просто еще xtts+wav2lip в памяти висят. Если у вас в самом конце comfy вылетает без ошибок - снизьте разрешение или кол-во кадров.
Видел отзывы, что Hunyuan работает на 12 GB vram. Пока не тестил.
УСТАНОВКА
Нужен тритон и видюха 3000 серии или новее. 2000 серия nvidia не поддерживается. cuda toolkit 12.4+.
1. обновляем comfy через update_comfyui.bat
2. как установить тритон и sage-attention в комфи на винду:
https://www.reddit.com/r/StableDiffusion/comments/1h7hunp/how_to_run_hunyuanvideo_on_a_single_24gb_vram_card/
Первый шаг в этой инструкции пропускаем (установка нод kijai/ComfyUI-HunyuanVideoWrapper можно пропустить, мы будем использовать официальные ноды встроенные в комфи. Были отзывы, что в нодах от kijai пока не поддерживаются лоры при работе с first-block-cache). Выполняем пункты 2-4, включаем переводчик, если надо. Последние пункты 5-8 со скачиванием моделей не выполняем, мы скачаем другие, они меньше и быстрее.
3. Качаем clip_l.safetensors and llava_llama3_fp8_scaled и hunyuan_video_vae_bf16.safetensors: https://comfyanonymous.github.io/ComfyUI_examples/hunyuan_video/
Качаем hunyuan fast: https://huggingface.co/Kijai/HunyuanVideo_comfy/blob/main/hunyuan_video_FastVideo_720_fp8_e4m3fn.safetensors и кладем в diffusion_models
4. в run_nvidia_gpu.bat для запуска comfy надо добавить флаг
5. Устанавливаем custom node через comfyui manager -> install via GIT URL:
https://github.com/chengzeyi/Comfy-WaveSpeed
6. Hunyuan воркфлоу: https://github.com/Mozer/comfy_stuff/blob/main/workflows/hunyuan_fast_wave_speed_with_lora.json
Flux воркфлоу: https://github.com/Mozer/comfy_stuff/blob/main/workflows/flux_wave_speed.json
Советы:
- 1280x720, 720x1280, 544x960, 960x544 - рекомендуемые разрешения. В остальных могут быть артефакты.
- при малом количестве кадров анимация может работать хуже и с артефактами, рекомендую 25 и 49 кадров (1 и 2 сек)
- img2video пока нет, но разрабы обещают. Есть video2video и IPadapter2video от kijai.
- FLUX dev (bonus) -
1024x1024 20 steps
Прирост скорости во флаксе + waveSpeed составил 35%.
Во флаксе compile+ не работает на 3000 серии с flux-fp8, но работает с bf16, из-за этого прироста скорости не заметно. В hunyuan compile+ работает и дает прирост.
Есть оригинальный Hunyuan-video-13B, он работает за 20-30 шагов (20-30 минут на видео), а есть дистиллированный Hunyuan fast, который работает за 6-10 шагов. 6 шагов мне не нравятся, 10 выглядят намного лучше (10 минут на генерацию 1 видео в 720p, 2 секунды, 48 кадров).
Недавно вышел waveSpeed, который ускоряет flux, LTX и hunyuan в 1.5-2 раза в comfy на видюхах 3000 серии и новее с помощью двух технологий: first-block-cache и torch-model-compile+. На моей 3090 прирост скорости относительно Hunyuan fast - в 2 раза, до 4.6 минуты на 1 видео. Поддерживается воркфлоу от comfyanonymous. Воркфлоу от kijai пока не поддерживается.
Hunyuan из коробки умеет nsfw. Верх довольно неплохой, низ слегка зацензурен, но лучше, чем в дефолтном flux. Но умельцы уже наделели 100+ лор для Hunyuan на civitai для разных nsfw поз, движений, персонажей и стилей (в https://civitai.com/models ставим 2 фильтра: LoRA + Hunyuan video).
fast model, fp8:
48 frames, 48s/it, 10 min, 19 GB vram, 39 GB RAM
fast model, sage-attention, first-block-cache:
48 frames, 25s/it, 5.6 min, 20 GB vram, 38 GB RAM
sage-attention, first-block-cache, compile+:
25 frames, 10s/it, 2.1 min, 18 GB vram, 29 GB RAM
48 frames, 22s/it, 4.7 min, 20 GB vram, 38 GB RAM
61 frames, 34s/it, 6.7 min
65 frames - OOM
Но compile+ ускоряет генерацию не всегда. Иногда torch compile занимает дополнительные 47 секунд. Перекомпилируется модель периодически, 1 раз в 2-3 генерации. Хз как побороть, скорее всего, vram мало, возможно, надо сделать меньше разрешение или количество кадров.
Предположу, что для работы Hunyuan хватит 32 GB RAM. У меня просто еще xtts+wav2lip в памяти висят. Если у вас в самом конце comfy вылетает без ошибок - снизьте разрешение или кол-во кадров.
Видел отзывы, что Hunyuan работает на 12 GB vram. Пока не тестил.
УСТАНОВКА
Нужен тритон и видюха 3000 серии или новее. 2000 серия nvidia не поддерживается. cuda toolkit 12.4+.
1. обновляем comfy через update_comfyui.bat
2. как установить тритон и sage-attention в комфи на винду:
https://www.reddit.com/r/StableDiffusion/comments/1h7hunp/how_to_run_hunyuanvideo_on_a_single_24gb_vram_card/
Первый шаг в этой инструкции пропускаем (установка нод kijai/ComfyUI-HunyuanVideoWrapper можно пропустить, мы будем использовать официальные ноды встроенные в комфи. Были отзывы, что в нодах от kijai пока не поддерживаются лоры при работе с first-block-cache). Выполняем пункты 2-4, включаем переводчик, если надо. Последние пункты 5-8 со скачиванием моделей не выполняем, мы скачаем другие, они меньше и быстрее.
3. Качаем clip_l.safetensors and llava_llama3_fp8_scaled и hunyuan_video_vae_bf16.safetensors: https://comfyanonymous.github.io/ComfyUI_examples/hunyuan_video/
Качаем hunyuan fast: https://huggingface.co/Kijai/HunyuanVideo_comfy/blob/main/hunyuan_video_FastVideo_720_fp8_e4m3fn.safetensors и кладем в diffusion_models
4. в run_nvidia_gpu.bat для запуска comfy надо добавить флаг
--use-sage-attention
вот так:.\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build --use-sage-attention
5. Устанавливаем custom node через comfyui manager -> install via GIT URL:
https://github.com/chengzeyi/Comfy-WaveSpeed
6. Hunyuan воркфлоу: https://github.com/Mozer/comfy_stuff/blob/main/workflows/hunyuan_fast_wave_speed_with_lora.json
Flux воркфлоу: https://github.com/Mozer/comfy_stuff/blob/main/workflows/flux_wave_speed.json
Советы:
- 1280x720, 720x1280, 544x960, 960x544 - рекомендуемые разрешения. В остальных могут быть артефакты.
- при малом количестве кадров анимация может работать хуже и с артефактами, рекомендую 25 и 49 кадров (1 и 2 сек)
- img2video пока нет, но разрабы обещают. Есть video2video и IPadapter2video от kijai.
- FLUX dev (bonus) -
1024x1024 20 steps
FLUX - 1.26s/it, 26 s.
FBC - 1.21it/s, 17 s.
FBC + compile+ - 1.20it/s, 17 s.
Прирост скорости во флаксе + waveSpeed составил 35%.
Во флаксе compile+ не работает на 3000 серии с flux-fp8, но работает с bf16, из-за этого прироста скорости не заметно. В hunyuan compile+ работает и дает прирост.
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