ComfyUI Node

VNCCS Style Preview Test

Render all 40 sprite styles before you commit

By AHEKOT·Created about a year ago·Updated 2 days ago· 1,704
VNCCS Style Preview Test
    • image
    • prompt
    ◄model▾►
    ◄scale_mp1.0►
    ◄background_color▾►
    ◄turbo_enabledfalse►
    ◄anima_style_overridefalse►
    ◄age_min18►
    ◄age_max40►
    ◄randomize_sextrue►
    ◄randomize_agetrue►
    ◄randomize_framingtrue►
    ◄randomize_racetrue►
    ◄randomize_skin_colortrue►
    ◄randomize_hairtrue►
    ◄randomize_eyestrue►
    ◄randomize_facetrue►
    ◄randomize_bodytrue►
    ◄randomize_additional_detailstrue►
    ◄randomize_styletrue►
    ◄nsfw_modeSFW►
    ◄framing_modeRandom►

    What it actually does

    VNCCS is the visual-novel sprite pipeline: you build one character, generate its poses, outfits and emotions, and it drops transparent PNGs into a folder you point Ren'Py at. Before any of that, you pick an art style for the whole set, and the style catalog is 40 entries in five groups - ten anime meta-styles (1970s through 2020s), sixteen studio/artist styles (Ghibli, Shinkai, Sailor Moon '90s, Toriyama, Arcane), ten Western animation entries, two decorative-art, two realistic.

    A label like "Kyoto Animation / Violet Evergarden" tells you nothing until you see it next to "Hiroyuki Imaishi / Studio Trigger" rendered with your base model. That's the entire job of this node: it renders the whole catalog against one deliberately boring test character so you're choosing with your eyes.

    It matters most if you're on Anima, whose default look is deliberately plain - the usual advice is to spend real time hunting artist styles before writing the model off. This does that hunt as a batch. It sits in VNCCS/Testing, and the author's own source docstring calls it a temporary standalone batch preview. Lab tool, not part of the sprite pipeline.

    How it works

    It's an output node with no inputs and no outputs - queue it and it generates. There's no seed box and no prompt box because both are pinned: every image uses the same skeleton (adult female, cowboy shot, black long hair, plain face), and the seed is hard-coded to 0, so the only thing changing across the 40 images is the style reference text.

    Each catalog entry is a paragraph - style name, a couple of named references, a visual description - swapped into that skeleton. On the Anima path (30 steps, CFG 4, er_sde, Qwen3-0.6B encoder, Qwen-Image VAE) the style text goes straight into the conditioning. On the QI2 path (Qwen Image 2.1, 25 steps, CFG 3, euler, Qwen3-VL 8B encoder) the prompt is rewritten by the text encoder first and the style reference is appended verbatim afterwards, which is how QI2 handles styles everywhere in the pack.

    Turbo is force-disabled in both paths. Fair comparison, but you pay full step counts, 40 times.

    Output lands in ComfyUI/output/VNCCS/style_previews/, one PNG per style, named {model}_{style_id}_0001.png - anima_ghibli_miyazaki_0001.png is self-documenting. They also show in the node's own image preview.

    The three widgets

    • model - Anima or QI2. Use the base model you'll actually generate sprites with; a style that sings on Anima can look nothing like the same label on Qwen Image 2.1. Those two are the whole list because the pack's 3.0 pipeline was built on Qwen-Image-Edit 2511 and 3.2 swapped that engine for QI2.
    • scale_mp - a rough megapixel budget for a square canvas. 1.0 is 1024×1024, 1.5 is 1256×1256, 4.0 tops out at 2048×2048. Style differences live in line work and shading, so 1.0 is usually enough.
    • background_color - Green, Blue or Transparent. Match whatever your real run will use so the previews look like the sprites you'll get. Transparent is QI2-only and errors on Anima, because native alpha is a QI2 feature.

    Install

    Search VNCCS - Visual Novel Character Creation Suite in ComfyUI Manager, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/AHEKOT/ComfyUI_VNCCS.git
    

    One README wart: the manual steps say cd ComfyUI_VNCCS_Utils before pip install -r requirements.txt. That folder belongs to the older VNCCS-Utils project - in 3.x requirements.txt sits at the repo root, so install from there. Then launch ComfyUI, open Manager and click "Install missing custom nodes". Complete first-timers should use the author's VNCCS Easy Install instead.

    This is not a light dependency set: opencv-python, kornia, pymatting, transparent-background, transformers, timm and llama-cpp-python>=0.3.16 - llama-cpp being the one that bites, especially without a build toolchain. The node downloads nothing itself. Feed it from the VNCCS Control Center, whose Download button pulls qwen_image_2.1_int8_convrot.safetensors plus its Qwen3-VL encoder and VAE for QI2, and anima-base-v1.0.safetensors plus the Qwen 3 0.6B encoder and Qwen-Image VAE for Anima.

    Where people get burned

    It re-renders everything, every queue. The node reports itself as always-changed, so ComfyUI never caches it. Press Queue twice and you get a second full pass of 40 images, written as _0002 files rather than overwriting. It won't clobber your first run; it will eat your evening. Anima at these settings runs over a minute per image on a mid-range card, so a catalog pass is a coffee break at best.

    "No ANIMA diffusion model found in ComfyUI diffusion_models." The node wants anima-base-v1.0.safetensors, and otherwise accepts any diffusion model whose filename contains "anima" but not "turbo". QI2 mirrors that (qwen_image_2.1… or qi2). Wrong folder or a filename that dodges the pattern gets you this error - Control Center's download fixes it.

    Out of VRAM at high scale_mp. Push 4.0 on an 8GB card and a 40-image batch will find the ceiling. Compare at 1.0, then run the real sprites at your final resolution. And note the QI2 path reloads its text encoder between images to keep memory sane - slower per style, lighter on VRAM, a deliberate trade rather than a bug.

    CategoryVNCCS/Testing

    Inputs (20)

    NameTypeDefaultDescription
    modelCOMBO2 options: Anima, QI2
    scale_mpFLOAT1.01–4—
    background_colorCOMBO3 options: Green, Blue, Transparent
    turbo_enabledoptBOOLEANfalse—
    anima_style_overrideoptBOOLEANfalseUse one exact @artist from the Anima override list. Ignored for QI2.
    age_minoptINT181–100—
    age_maxoptINT401–100—
    randomize_sexoptBOOLEANtrueChoose new values each run. When disabled, use the preview default.
    randomize_ageoptBOOLEANtrueChoose new values each run. When disabled, use the preview default.
    randomize_framingoptBOOLEANtrueLegacy control for workflows without framing_mode. The framing selector takes precedence.
    randomize_raceoptBOOLEANtrueChoose new values each run. When disabled, use the preview default.
    randomize_skin_coloroptBOOLEANtrueChoose new values each run. When disabled, use the preview default.
    randomize_hairoptBOOLEANtrueChoose new values each run. When disabled, use the preview default.
    randomize_eyesoptBOOLEANtrueChoose new values each run. When disabled, use the preview default.
    randomize_faceoptBOOLEANtrueChoose new values each run. When disabled, use the preview default.
    randomize_bodyoptBOOLEANtrueChoose new values each run. When disabled, use the preview default.
    randomize_additional_detailsoptBOOLEANtrueChoose new values each run. When disabled, use the preview default.
    randomize_styleoptBOOLEANtrueChoose new values each run. When disabled, use the preview default.
    nsfw_modeoptCOMBOSFWClothing mode. NSFW is restricted to adults; Random uses SFW for characters under 18.
    framing_modeoptCOMBORandomFixed crop or a new random crop each run. Overrides the legacy randomize_framing control.

    Outputs (2)

    NameTypeDescription
    imageIMAGE—
    promptSTRING—