Nodes/H3 Character Sheet Designer/H3 Sheet Designer Reference V1.1
ComfyUI Node

H3 Sheet Designer Reference V1.1

Generate the sheet one panel at a time instead of re-rolling all thirteen

By ukr8b3g-cmyk·Created 25 days ago·Updated about 22 hours ago· 7
H3 Sheet Designer Reference V1.1
  • character_image
  • reference_image_1
  • reference_image_2
  • prompt
  • width
  • height
  • layout_image
  • filename_suffix
◄state_json{"schema_version":3,"views":["face_front","face_left","body_front","body_left","body_back"],"size":{"mode":"auto","body_height":1120,"manual_width":2208,"manual_height":1280},"part_prompts":{},"reference_roles":{"reference_image_1":"same_character","reference_image_2":"same_character"},"hand_state":"reference","clothing_mode":"worn"}►
◄use_layout_imagefalse►
◄stylenone►
◄batch_outfalse►

Every turnaround-sheet workflow has the same failure mode: eleven panels come out great, the twelfth has a mangled hand, and your only lever is re-rolling the entire sheet and hoping the other eleven survive. This node exists to fix that. Flip one boolean and it stops compiling one giant sheet prompt and starts compiling one prompt per selected view, so each panel is its own generation with its own dimensions and its own filename suffix.

It's the same designer, aimed at iteration rather than one-shot output.

What it is

H3 Sheet Designer Reference V1.1 is the list-output variant in the H3 Character Sheet Designer pack. Same thirteen views, same body-part prompt fields, same reference-relative settings for hands and clothing. What's different is execution shape: every output is a list. Five of them - prompt, width, height, layout_image, filename_suffix - and with Batch Out on, each list holds one entry per selected view.

That matters because ComfyUI runs list outputs by evaluating everything downstream once per item. So "generate thirteen views separately" isn't a loop you build; it's a switch you flip, and the queue does the rest.

How Batch Out actually behaves

Off, the plan has exactly one item: the full sheet, one prompt, one canvas, empty filename_suffix. That's the classic behaviour.

On, you get one item per view. In Auto sizing each panel gets a canvas derived from your requested body height and the shape of that view family - a head panel and a full-body panel don't want the same aspect ratio. In Manual sizing, your width and height apply to every image, which is the trap: thirteen identical canvases means portrait panels sit in a letterbox of dead space. If you're batching, use Auto.

Each item also carries a suffix like _01_body_front, which is exactly what you want to wire into your save node's filename input so the thirteen results don't arrive as image_0001 through image_0013 with no clue which is which.

The author's own note is worth repeating because it changes how you queue: standard list execution samples all views before saving anything. Thirteen H3 samples, sequentially, one queue press. Roughly the cost of thirteen sheets, not one.

Inputs and the wiring that actually bites

Required: state_json (the GUI writes it) and character_image. Optional: reference_image_1, reference_image_2, use_layout_image, style, and batch_out.

The wiring is the part people get wrong, because this node doesn't replace your reference plumbing - it sits alongside it. Fan out: your character image goes to both the node's character_image and the receiving node's ref_images.ref_image_0. Extra references 1 and 2 go to both the node and ref_image_2 / ref_image_3. The node's layout_image output goes to ref_image_1, and its prompt plus width and height go into the matching MiniMaxH3ReferenceToVideo inputs - convert those widgets to inputs first.

use_layout_image off is still the recommended default, and its output is still None, so leave that wire in place. The tooltip says it out loud: always fan the character out to ref_image_0 and the extras to ref_image_2 and ref_image_3, regardless of the layout setting. Picture numbering skips the absent guide, so your character stays <Picture 1>.

Install

ComfyUI Manager, search "H3 Character Sheet Designer", or clone into custom_nodes and restart:

cd ComfyUI/custom_nodes
git clone https://github.com/ukr8b3g-cmyk/H3-Character-Sheet-Designer.git

Then hard-reload the browser tab - the illustrated widget is frontend JS and caches aggressively. There's no pip install step and no runtime dependency file in the repo.

The pack's own V1.1 workflow is bundled; load it rather than hand-building, then reselect the H3 diffusion model, text encoder and video VAE for your own files. None of those are included.

Practical gotchas

An empty view selection is a hard validation error - at least one panel must survive, and reference states from other variants may not parse, since the pack's three schema-3 formats differ.

Manual widths and heights have to land on the 32-pixel grid, and anything above the runtime resolution limit gets rejected at validation rather than at sampling time.

Sizes get flagged experimental over about a million pixels. For a single full-body panel in Auto mode you're nowhere near that, which is another argument for batching.

If the layout preview throws "a bundled Multi Reference guide PNG is missing," you've deleted or truncated the pack's web assets - re-clone rather than debugging the node.

And if a downstream node in your graph isn't list-aware, expect it to fire once per view and behave oddly. Save the images first, inspect, then compose. That's the workflow this node is built for: thirteen separate H3 runs you can judge individually, instead of one sheet you either keep or throw away whole.

CategoryH3/Character Sheet

Inputs (7)

NameTypeDefaultDescription
state_jsonSTRING{"schema_version":3,"views":["face_front","face_left","body_front","body_left","body_back"],"size":{"mode":"auto","body_height":1120,"manual_width":2208,"manual_height":1280},"part_prompts":{},"reference_roles":{"reference_image_1":"same_character","reference_image_2":"same_character"},"hand_state":"reference","clothing_mode":"worn"}—
character_imageIMAGE—
reference_image_1optIMAGE—
reference_image_2optIMAGE—
use_layout_imageoptBOOLEANfalseON: layout to Core ref_image_1. Always fan out character to Core ref_image_0 and extra 1/2 to ref_image_2/3.
styleoptCOMBOnone10 options: none, anime, photo, realistic_painting, semi_realistic_anime, oil_painting, +4
batch_outoptBOOLEANfalseON: generate each selected view separately. Manual width/height applies to every image. / ON: 選択ビューを1枚ずつ生成。Manual寸法は各画像に適用。

Outputs (5)

NameTypeDescription
promptSTRING—
widthINT—
heightINT—
layout_imageIMAGE—
filename_suffixSTRING—