VNCCS Character Generator
Pose, upscale and cut out a character in one node
- poses
- character
- pipe
- sheet
- faces
- pose_generation
- upscaled
The node description tells you exactly what this replaces: "Replacement for VNCCS Pose Generation, Upscaler, and BG Remove subgraphs." Earlier VNCCS versions strung three separate subgraphs together to get from a character sheet to a finished, transparent sprite set. Character Generator collapses all three into one node - same job, fewer wires to keep track of.
What it does and where it sits
This is the base-character sibling of VNCCS_ClothesGenerator (which does the same thing for clothing outfits). You feed it a character source and a pose set, and it runs the generated poses through an upscale pass, then background removal, and hands you back a finished sheet. It's the node that actually turns "I designed a character" into "I have a sprite set I can drop into a game engine." It's is_output_node: true, so it writes to ComfyUI\output\VNCCS\Characters\ as part of running.
Inputs and outputs that matter
posesandcharacter(IMAGE) - pose set from Pose Studio, and the character source.pipe(VNCCS_PIPE) - comes from VNCCS Control Center. No downloaded models, no generation.background(enum: Green / Blue / White / Alpha) - chroma-key colour for the cutout. Pick the colour least present in your character's design so the key doesn't eat real detail.prompt(STRING) - additional text guidance on top of whatever the character/pose combo already implies.widget_data(STRING, JSON) - same shape as the Clothes Generator's: upscaler mode and quant (defaults to a Q4 GGUF build of SeedVR2), background-removal preset, SAM3 Details Recovery toggle, target resolution. Edit it through the node's widget UI rather than by hand.- Optional
sheets_path(STRING) - repoint at an existing character folder to regenerate in place instead of starting over. - Outputs:
sheet(the finished character sheet) andfaces(cropped face outputs, useful for the emotion-generation stage later), plus the intermediatespose_generationandupscaledso you can see which stage produced a bad frame.
Notice it outputs sheet where Clothes Generator outputs sprites - same shape, different name, because one produces a character base and the other an outfit.
Installing it
ComfyUI Manager: search "VNCCS - Visual Novel Character Creation Suite", install, restart. Manually, clone https://github.com/AHEKOT/ComfyUI_VNCCS.git into custom_nodes, restart, then use Manager's Install missing custom nodes - Pose Studio, which feeds this node's poses input, lives in the author's separate VNCCS-Utils repo and needs installing too.
Common issues & troubleshooting
Generation errors with nothing obviously wrong in your inputs. Start at VNCCS Control Center. Every generator node in this pack depends on its pipe output, and a partially downloaded model set fails downstream in confusing ways rather than at the source.
Upscale quality is disappointing on a mid-range card. The default upscaler quant is the light option, not the good one. It's the same GGUF trade-off you'd see on any large model - smaller file, some fidelity given up. If you have VRAM to spare, step it up to a heavier quant in Control Center.
Clothing or eye colour bleeds into the removed background. Turn on SAM3 Details Recovery in widget_data - it's slower but specifically fixes this. If it fails to run at all, check for Triton on Windows; that's the known blocker for SAM3 support in this generation of node packs.
You only need to fix one pose in a batch. Use sheets_path to point back at the existing output folder instead of rerunning the whole set - this node (and its Clothes Generator sibling) is built to regenerate into an existing character folder.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| poses | IMAGE | — | |
| character | IMAGE | — | |
| pipe | VNCCS_PIPE | — | |
| prompt | STRING | — | |
| background | COMBO | Green | 4 options: Green, Blue, White, Alpha |
| widget_data | STRING | {"common": {"target_size": 1024}, "upscaler": {"mode": "seedvr", "model": "seedvr2_ema_3b-Q4_K_M.gguf", "vae": "ema_vae_fp16.safetensors", "gan_model": "", "device": "cuda:0", "offload_device": "cpu", "seed": 42, "resolution": 2048, "max_resolution": 3840, "batch_size": 1, "uniform_batch_size": false, "color_correction": "lab", "temporal_overlap": 0, "prepend_frames": 0, "input_noise_scale": 0, "latent_noise_scale": 0, "blocks_to_swap": 0, "swap_io_components": false, "cache_dit": true, "attention_mode": "sageattn_2", "attention_mode_manual": false, "encode_tiled": true, "encode_tile_size": 1024, "encode_tile_overlap": 128, "decode_tiled": true, "decode_tile_size": 1024, "decode_tile_overlap": 128, "tile_debug": "false", "cache_vae": false, "enable_debug": false}, "bg_remove": {"use_internal_rmbg": false, "preset": "balanced", "use_sam3_details_recovery": true}, "pose_generation": {"target_size": 1024}, "emotion_generation": {"face_denoise": 0.55, "use_sam": true, "bbox_threshold": 0.1, "bbox_dilation": 10, "sam_dilation": 25, "sam_threshold": 0.93, "sam_bbox_expansion": 0}, "remove_clothes": {"prompt": "Dress character: White underwear"}} | — |
| sheets_pathopt | STRING | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| sheet | IMAGE | — |
| faces | IMAGE | — |
| pose_generation | IMAGE | — |
| upscaled | IMAGE | — |