Character Card Studio создаёт листы персонажей в ComfyUI
ComfyUI-CharacterCardStudio превращает референс или промпт в нарезанный лист персонажа: восемь шаблонов и режим шести видов сцены.
ComfyUI-CharacterCardStudio это пакет узлов, который генерирует референсный лист персонажа, а затем нарезает его и раскладывает как готовую карточку (GitHub). Проект появился 20 октября, текущая версия 1.2.1. На вход подаётся либо одно референсное изображение, которое работает как якорь идентичности, либо обычное описание персонажа. На выходе получается многопанельная карточка, где каждая панель сгенерирована, обрезана до фиксированного размера 768x768 и возвращена на своё место.
Превью из проекта. Источник: ComfyUI-CharacterCardStudio
Пакет закрывает скучную половину этой задачи. Генерация видов уже хорошо получается у Qwen-Image 2.1, а время съедает другое: решить, сколько панелей будет в карточке, какая поза идёт в какую ячейку, удержать полную фигуру внутри ячейки, чтобы не срезало голову и стопы, и отразить профиль справа так, чтобы два боковых вида действительно смотрели в противоположные стороны. Всё это зашито в узел, а не оставлено на волю промпта.
Что внутри
В пакет входят восемь шаблонов карточек и один шаблон сцены, от четырёх панелей до четырнадцати:
| Шаблон | Название | Панели |
|---|---|---|
bighead_body3 | Четыре панели, портрет и тело | 4 |
dualfour_ref | Четыре панели, два кадра | 4 |
fiveref | Пять панелей, спереди и сзади | 5 |
head_body_6 | Шесть панелей, три вида | 6 |
sixtilt_ref | Шесть панелей, ключевой визуал | 6 |
expr_body_8 | Восемь панелей, лист эмоций | 8 |
school_ref | Десять панелей, лист окружения | 10 |
xianxia_ref | Четырнадцать панелей, полный компендиум | 14 |
scene_six_view | Сцена, круговой обзор 360 градусов | 6 |
Узлы разделены так, чтобы конвейер можно было использовать на трёх уровнях:
| Узел | Роль |
|---|---|
AICG3D_CharacterCardOneClick | Выбирает шаблон и собирает промпт, негативный промпт, пустое изображение-схему и JSON шаблона |
AICG3D_CharacterSheetSplitter | Читает настройки первого узла, нарезает лист, удерживает полную фигуру в кадре и переупорядочивает панели |
AICG3D_CharacterCardStudio | Ручной верстак для замены отдельных панелей и подгонки кадрирования |
AICG3D_CharacterCardAssetPrompt | Выдаёт отдельные промпты для ассетов тела, головы, действия, эмоций и деталей |
AICG3D_CharacterCardAssetComposer | Собирает эти ассеты в итоговую карточку |
AICG3D_CardSettingsFive | Настройки шаблона и порядка панелей, сохранённые под старым ID для совместимости |
AICG3D_Qwen21ModelLoader | Загружает UNET, CLIP и VAE для Qwen-Image 2.1 |
AICG3D_CharacterCardGeneratorSingle | Генерирует каждую включённую ячейку отдельно и вставляет её в координаты шаблона |
Путь в один клик, из README проекта. Источник: ComfyUI-CharacterCardStudio
Основную работу с раскладкой делают две настройки. panel_order принимает строки вроде 1,3,2,4,5-9, поэтому панели можно переставлять без повторной генерации. А fit_mode по умолчанию показывает фигуру целиком, и именно это не даёт обрезать макушку и обувь, когда ячейка заполняется.
Вся карточка или панель за панелью
Рабочий процесс в один клик просит модель нарисовать весь лист одним изображением: это быстро, но наследует случайность модели. Количество панелей может уплыть, а сетка выйти неровной. Для карточки, которая должна воспроизводиться, в пакете есть путь по панелям: каждая ячейка генерируется отдельно из одного и того же описания персонажа, а затем они собираются в шаблон, так что число панелей и их расположение остаются фиксированными.
Отдельный узел AICG3D_CharacterCardGeneratorSingle выполняет этот проход по ячейкам внутри одного узла, используя координаты шаблона.
Шаблон сцены работает иначе. На любой фотографии сцены он оставляет первую ячейку оригиналом и генерирует остальные ячейки под углами 90, 180 и 270 градусов, плюс панораму 360 градусов и детали окружения. Это удобно для листа локации, а не персонажа.
Рабочие процессы и модели
В репозитории семь JSON рабочих процессов, включая карточку из изображения в один клик, карточку из промпта в один клик, однострочный процесс на пять шаблонов и вариант по панелям:
По умолчанию они используют qwen_image_2.1_bf16.safetensors как diffusion-модель, qwen_image_2.1_int8_convrot.safetensors как вариант с меньшим потреблением VRAM, qwen3vl_8b_int8_convrot.safetensors как текстовый энкодер с типом qwen_image и qwen_image_2.1_vae_bf16.safetensors для VAE. Узел TextEncodeQwenImage21 в роли энкодера тоже входит в граф.
Установить
cd ComfyUI/custom_nodes
git clone https://github.com/JGRFW/ComfyUI-CharacterCardStudioПосле этого перезапустите ComfyUI. Пакету не нужно ничего сверх того, что уже есть в ComfyUI: Pillow, NumPy, torch и aiohttp. README и подписи узлов на китайском.
Ограничения
У проекта нет релизных тегов и нет опубликованной галереи примеров, кроме двух превью, а в репозитории пока не накопилось сообщений об ошибках, так что шаблоны не проверялись пользователями вне окружения автора. Карточка целиком за один проход явно не детерминирована, и README называет это причиной существования пути по панелям. Всё здесь работает на Qwen-Image 2.1, поэтому для другой базовой модели придётся править узлы загрузки и энкодер.
Комментарии
Войдите через GitHub, чтобы участвовать в обсуждении.