Говорящий видео аватар в Silly Tavern (F5 TTS + Float / wav2lip)
- wav2lip (первое видео) - делает липсинк по видео + аудио (старый, быстрый, можно дать видео на вход, на выходе разрешение небольшое, видео размытое)
- Float (второе видео) - делает липсинк по картинке + аудио (новый, не очень быстрый, не умеет брать видео на вход, на выход квадрат 512х512)
# Установка
Нужно:
- свежая версия Silly Tavern (1.13.2, вышла 3 недели назад. До этого поддержки видео не было)
- ComfyUI и кастомные ноды: ComfyUI-F5-TTS, ComfyUI_wav2lip, ComfyUI-FLOAT_Optimized. Ноды устанавливать через ComfyUI Manager - via URL.
Русский язык в F5-TTS в комфи
нода: https://github.com/niknah/ComfyUI-F5-TTS
скачать русский файнтюн от misha24-10:
https://huggingface.co/Misha24-10/F5-TTS_RUSSIAN/blob/main/F5TTS_v1_Base_v2/model_last_inference.safetensors
https://huggingface.co/Misha24-10/F5-TTS_RUSSIAN/blob/main/F5TTS_v1_Base/vocab.txt
оба файла положить в папку models/checkpoints/F5-TTS/
оба файла переименовать в ru.safetensors и ru.txt
Референсное аудио для F5 должно быть коротким, 6-8 c. При 11 c - речь становится слишком быстрой.
в папку /comfyUI/input положить 2 файла emma_ru_xtts_3.wav и emma_ru_xtts_3.txt: https://github.com/Mozer/comfy_stuff/tree/main/input
в emma_ru_xtts_3.txt лежит текст сказанный в wav файле.
в комфи в ноде F5 TTS audio advanced выбрать:
model model:///ru.safetensors
model_type: F5TTS_v1_Base
sample_audio: emma_ru_xtts_3
# Float (говорящая голова по одной картинке) в комфи
- нода: https://github.com/set-soft/ComfyUI-FLOAT_Optimized
- на входе лицо должно смотреть строго прямо. Сверху кадра должно оставаться немного свободного места.
- галка face_align обрежет лицо как надо. Без нее будут артефакты.
- нет video2video, на вход только картинка
- Потоковый режим я пока не прикрутил. С ним можно сократить время ожидания в 2 раза.
- модельки скачаются сами при первом запуске
- пример головы: https://github.com/Mozer/comfy_stuff/blob/main/input/ComfyUI_00463_2(2).jpg
# Wav2lip в комфи
- моя нода: https://github.com/Mozer/ComfyUI_wav2lip - прикрутил кэширование для скорости и пару настроек для удобства.
- скачать модельку https://huggingface.co/Nekochu/Wav2Lip/blob/main/wav2lip_gan.pth и положить в \custom_nodes\ComfyUI_wav2lip\Wav2Lip\checkpoints
- без модели нода не запустится. Перезагрузить ComfyUI (restart).
- при первом запуске с новым видео обнаружение лица занимает около минуты.
- примера видео не дам, сами найдете
# Мои воркфлоу:
(F5 + Wav2lip) и (F5 + Float): https://github.com/Mozer/comfy_stuff/tree/main/workflows/silly_tavern
Скачать нужный ВФ и запустить в комфи. Проверить, что все работает, и он видит вашу картинку/видео. Затем нажать: верхнее меню - workflow -> Export (API)
Далее ВАШ воркфлоу можно импортировать в silly Tavern. Мой ВФ импортировать в ST не надо, там указаны мои имена файлов, их у вас нет.
# Настройка SillyTavern
Меню Extensions -> Image generation:
Source: comfyUI
URL: https://127.0.0.1:8188
Очищаем поля "Common prompt prefix" и "Negative common prompt prefix"
ComfyUI Workflow: жмем +. Пишем "F5_Wav2lip", вставляем ваш экспортированный воркфлоу.
Проверяем/заменяем, что вместо "speech": "Какой-то текст", стоит "speech": "%prompt%", так мы будем передавать текст сообщения из silly в comfy.
Верхнее меню - User Settings - Expand Message Actions (для удобства)
- Вместо F5 TTS можно поставить XTTSv2 (в комфи я не тестил, но видел ноды).
- на видео LLM - sainemo-remix-12b
Скорость на 3090 для аудио длиной 13-17 секунд:
- F5 + wav2lip - 17 секунд генерации, связка жрет 3 GB VRAM
- F5 + Float - 55 секунд генерации, связка жрет 10 GB VRAM
- На 3060: на 5 секунд дольше.
Планирую добавить стриминг режим для Float, будет в 2 раза быстрее, но видео будет отображаться в отельном окне.
- wav2lip (первое видео) - делает липсинк по видео + аудио (старый, быстрый, можно дать видео на вход, на выходе разрешение небольшое, видео размытое)
- Float (второе видео) - делает липсинк по картинке + аудио (новый, не очень быстрый, не умеет брать видео на вход, на выход квадрат 512х512)
# Установка
Нужно:
- свежая версия Silly Tavern (1.13.2, вышла 3 недели назад. До этого поддержки видео не было)
- ComfyUI и кастомные ноды: ComfyUI-F5-TTS, ComfyUI_wav2lip, ComfyUI-FLOAT_Optimized. Ноды устанавливать через ComfyUI Manager - via URL.
Русский язык в F5-TTS в комфи
нода: https://github.com/niknah/ComfyUI-F5-TTS
скачать русский файнтюн от misha24-10:
https://huggingface.co/Misha24-10/F5-TTS_RUSSIAN/blob/main/F5TTS_v1_Base_v2/model_last_inference.safetensors
https://huggingface.co/Misha24-10/F5-TTS_RUSSIAN/blob/main/F5TTS_v1_Base/vocab.txt
оба файла положить в папку models/checkpoints/F5-TTS/
оба файла переименовать в ru.safetensors и ru.txt
Референсное аудио для F5 должно быть коротким, 6-8 c. При 11 c - речь становится слишком быстрой.
в папку /comfyUI/input положить 2 файла emma_ru_xtts_3.wav и emma_ru_xtts_3.txt: https://github.com/Mozer/comfy_stuff/tree/main/input
в emma_ru_xtts_3.txt лежит текст сказанный в wav файле.
в комфи в ноде F5 TTS audio advanced выбрать:
model model:///ru.safetensors
model_type: F5TTS_v1_Base
sample_audio: emma_ru_xtts_3
# Float (говорящая голова по одной картинке) в комфи
- нода: https://github.com/set-soft/ComfyUI-FLOAT_Optimized
- на входе лицо должно смотреть строго прямо. Сверху кадра должно оставаться немного свободного места.
- галка face_align обрежет лицо как надо. Без нее будут артефакты.
- нет video2video, на вход только картинка
- Потоковый режим я пока не прикрутил. С ним можно сократить время ожидания в 2 раза.
- модельки скачаются сами при первом запуске
- пример головы: https://github.com/Mozer/comfy_stuff/blob/main/input/ComfyUI_00463_2(2).jpg
# Wav2lip в комфи
- моя нода: https://github.com/Mozer/ComfyUI_wav2lip - прикрутил кэширование для скорости и пару настроек для удобства.
- скачать модельку https://huggingface.co/Nekochu/Wav2Lip/blob/main/wav2lip_gan.pth и положить в \custom_nodes\ComfyUI_wav2lip\Wav2Lip\checkpoints
- без модели нода не запустится. Перезагрузить ComfyUI (restart).
- при первом запуске с новым видео обнаружение лица занимает около минуты.
- примера видео не дам, сами найдете
# Мои воркфлоу:
(F5 + Wav2lip) и (F5 + Float): https://github.com/Mozer/comfy_stuff/tree/main/workflows/silly_tavern
Скачать нужный ВФ и запустить в комфи. Проверить, что все работает, и он видит вашу картинку/видео. Затем нажать: верхнее меню - workflow -> Export (API)
Далее ВАШ воркфлоу можно импортировать в silly Tavern. Мой ВФ импортировать в ST не надо, там указаны мои имена файлов, их у вас нет.
# Настройка SillyTavern
Меню Extensions -> Image generation:
Source: comfyUI
URL: https://127.0.0.1:8188
Очищаем поля "Common prompt prefix" и "Negative common prompt prefix"
ComfyUI Workflow: жмем +. Пишем "F5_Wav2lip", вставляем ваш экспортированный воркфлоу.
Проверяем/заменяем, что вместо "speech": "Какой-то текст", стоит "speech": "%prompt%", так мы будем передавать текст сообщения из silly в comfy.
Верхнее меню - User Settings - Expand Message Actions (для удобства)
- Вместо F5 TTS можно поставить XTTSv2 (в комфи я не тестил, но видел ноды).
- на видео LLM - sainemo-remix-12b
Скорость на 3090 для аудио длиной 13-17 секунд:
- F5 + wav2lip - 17 секунд генерации, связка жрет 3 GB VRAM
- F5 + Float - 55 секунд генерации, связка жрет 10 GB VRAM
- На 3060: на 5 секунд дольше.
Планирую добавить стриминг режим для Float, будет в 2 раза быстрее, но видео будет отображаться в отельном окне.
42🔥25👍6❤4