VNCCS Character Clone Generator
Clothed and undressed sprite sets from one clone
- poses
- character
- pipe
- original_sprites
- faces
- naked_sprites
- original_pose_generation
- original_upscaled
- remove_clothes
- naked_pose_generation
This is the generator node paired specifically with CharacterCloner, and it's doing noticeably more work than its Character Generator and Clothes Generator siblings. The description spells it out: it "creates original-clothes and cleaned-clothes sprite sets" - meaning one run can hand you both the character as originally referenced and an undressed version, which is exactly the setup the README recommends if you're planning to design clothing for this character later.
What it does and why it exists separately
You could, in theory, get similar output by running a cloned character through the regular Character Generator twice with different settings. This node exists so you don't have to: it runs the pose-generation-plus-upscale-plus-background-removal pipeline once, twice - once against the original clothed reference, once against a "remove clothes" pass - and gives you both results plus every intermediate stage. The README's own advice is to turn this on any time you clone a character, because dressing them in new outfits later is "MUCH easier" when you already have a clean undressed base to build from, rather than trying to generate clothing on top of whatever the source image happened to be wearing.
Inputs and outputs that matter
posesandcharacter(IMAGE) - pose set and the cloned character source.pipe(VNCCS_PIPE) - from VNCCS Control Center; same hard dependency every generator node in the suite has.background(enum: Green / Blue / White / Alpha) - chroma-key colour, same rule as elsewhere: pick whatever's rarest in the character.prompt(STRING) - extra text guidance.widget_data(STRING, JSON) - the same configuration blob as the other generators, notably including aremove_clothessection with its own default prompt ("Dress character: White underwear") controlling what the undressed pass actually produces.- Optional
sheets_path(STRING) - regenerate into an existing character folder. - Outputs, and this is the longest list in the whole pack:
original_spritesandfacesfor the clothed set,naked_spritesfor the undressed set, plusoriginal_pose_generation,original_upscaled,remove_clothesandnaked_pose_generationas intermediates - enough visibility to diagnose exactly which stage of either pipeline went wrong.
Installing it
ComfyUI Manager: search "VNCCS - Visual Novel Character Creation Suite", install latest, restart. Manual: cd ComfyUI/custom_nodes && git clone https://github.com/AHEKOT/ComfyUI_VNCCS.git, restart, then Manager's Install missing custom nodes for Pose Studio's home repo.
Common issues & troubleshooting
Run takes noticeably longer than the regular Character Generator. That's expected - it's doing two full generation passes (original and undressed) instead of one, plus background removal on both. Budget for roughly double the time and don't assume something's hung.
The undressed result doesn't match what you wanted. Check remove_clothes.prompt inside widget_data - the default is a generic "white underwear" instruction, and you can override it if you want a different base state for the naked sprites.
Same generator dependency issue as every other generation node in this pack. If either pass fails outright, confirm VNCCS Control Center finished downloading its model set before assuming this node is broken - it's the most common root cause across the whole generator family.
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 (7)
| Name | Type | Description |
|---|---|---|
| original_sprites | IMAGE | — |
| faces | IMAGE | — |
| naked_sprites | IMAGE | — |
| original_pose_generation | IMAGE | — |
| original_upscaled | IMAGE | — |
| remove_clothes | IMAGE | — |
| naked_pose_generation | IMAGE | — |