ComfyUI Node

VNCCS Sheet Manager

Split a sprite sheet into twelve panels, or build one back up

By AHEKOT·Created 11 months ago·Updated 24 days ago· 1,446
VNCCS Sheet Manager
  • images
  • images
modesplit
target_width1024
target_height3072
safe_marginfalse

VNCCS's whole trick for keeping a character consistent is to generate a bunch of related sprites in one pass instead of firing off twelve separate runs and hoping they match - a full emotion set, or every pose in an outfit, sharing latent context in a single generation. That process spits out one big image: a 2×6 grid, twelve panels, one sheet. Sheet Manager is the node that takes that sheet apart afterward - or, less often, puts one back together from separate images.

Split or compose, not both at once

The mode switch is the whole story: split cuts a sheet into its twelve component panels, compose runs it backward, stacking up to twelve source images into one sheet. Default is split, and split is what you'll reach for most of the time - you generated a sheet, now you want the individual sprites out of it for saving, upscaling, or feeding one at a time into whatever the rest of your workflow expects. Compose is for the opposite direction: you've got twelve separate images and want them reassembled into a single sheet, maybe to hand off to a downstream step that expects sheet-shaped input, or just to eyeball the whole set as a contact sheet.

If all you want is one panel back out of a sheet, not all twelve, VNCCS Sheet Extractor does that more directly with a part_index. Sheet Manager always processes the whole batch, in either direction.

The inputs that matter

  • images (IMAGE) - the sheet to split, or the set of images to compose, depending on mode.
  • target_width / target_height - defaults 1024×3072, the tall, sprite-shaped ratio you'll see across the pack. Read this part twice: in split mode both dimensions apply per panel, same as Sheet Extractor. In compose mode the node builds a square canvas sized target_height×target_height - target_width gets ignored. That's straight from the node's own description, not a guess, and it's exactly the kind of thing that bites you if you leave both values at their split-mode defaults and switch to compose expecting a portrait sheet back.
  • safe_margin (optional, off by default) - no tooltip beyond the name, but it reads as a bit of padding at panel boundaries. If panels come out cropped a touch too tight against a sprite's edge, or you want less bleed between cells, this is the first thing to toggle.

Output is images, always a list - in split mode that's your twelve panels; in compose mode it's the one assembled sheet, just still wrapped as a list, since the node doesn't change its output type between modes.

How to install it

Bundled with the main pack, nothing extra to fetch for this specific node:

  • ComfyUI Manager - search VNCCS - Visual Novel Character Creation Suite, install, restart.
  • Manual - cd ComfyUI/custom_nodes && git clone https://github.com/AHEKOT/ComfyUI_VNCCS.git, then cd ComfyUI_VNCCS_Utils && pip install -r requirements.txt, restart, and let Comfy Manager grab anything else the graph references (Pose Studio's home repo, VNCCS-Utils, etc.) via Install missing custom nodes.

Common issues

Compose output comes out square when you expected target_width to matter. It doesn't, in compose mode - see above. Set target_height to whatever square size you actually want out.

Panels look stretched or bleed into their neighbor. Same trap as Sheet Extractor: this node assumes a clean, evenly spaced 2×6 grid with no gutters between cells. A sheet generated with visible padding between panels extracts or composes slightly off. Check your sheet-generation step's actual output dimensions before assuming Sheet Manager mis-split something.

Fewer than twelve images fed into compose mode. The description says "up to 12" - a partial set is fine, the node won't refuse it. It also won't invent placeholder panels for the slots you didn't fill, so check what actually lands in the empty cells before treating the composed sheet as final.

CategoryVNCCS

Inputs (5)

NameTypeDefaultDescription
modeCOMBOsplit2 options: split, compose
imagesIMAGE
target_widthINT102464–6144
target_heightINT307264–6144
safe_marginoptBOOLEANfalse

Outputs (1)

NameTypeDescription
imagesIMAGE