Asset Sheet Director
Build a reusable character sheet without hand-writing a single prompt
- system_prompt
- user_prompt
Character sheets are the old reliable trick for keeping a subject consistent across a story: render the character from a few angles once, then reference that sheet in every later generation. Asset Sheet Director automates the annoying part - writing the prompts that produce the sheet. It takes your subject ("characters: cat, dog") and emits the system_prompt + user_prompt pair that makes an LLM output a structured sheet spec for the pack's Story Frame Generator to render.
The trick that makes the sheet actually work: the first view is text_to_image - a clean reference plate on a plain grey background - and every following view is an image_to_image edit that rotates or re-poses the same individual. That's the 2026 consistency play: don't re-generate the character from scratch for each angle, edit the one you already made. The grey background is not an aesthetic choice; it's the contract that lets Sheet Compositor auto-crop the figure later. If you change the background, the downstream compositor stops seeing your subject.
Inputs
user_input- the subject(s), in any language.asset_type-auto(the LLM classifies each subject),character, orobject.views- empty gives the defaults (character: front, side, action, back · object: front, side, three-quarter, back), or give your own comma-separated list of any length.style- empty (LLM chooses) or a named style.guide_t2i/guide_i2i- optional grounding from the pack's Prompt Guide node.
Outputs are system_prompt and user_prompt.
Wiring it up
The full identity-lock loop from the pack README:
1. Asset Sheet Director → Ollama → Story Frame Generator → character/object sheets
2. Sheet Compositor → one contact sheet
3. Story Director → Ollama (+ contact sheet) → Story Frame Generator (reference_images)
Steps 1–2 build a reference sheet of your cast; step 3 plans the story while every frame is conditioned on that contact sheet, so the character keeps its look from first frame to last. Skip 1–2 for a simpler run.
Install and caveats
Asset Sheet Director is part of ComfyUI-ZFRNodes. Via ComfyUI Manager (search "ComfyUI-ZFRNodes") or:
cd /path/to/ComfyUI/custom_nodes
git clone https://github.com/zfrsgtcu/ComfyUI-ZFRNodes.git
Then a full ComfyUI restart - the per-scene boxes come from the pack's frontend script, and a browser refresh won't register it. The node itself writes text only and needs no models, but it's pointless without an LLM: install the ComfyUI Ollama node (github.com/stavsap/comfyui-ollama) and have Ollama running. A vision-capable model like qwen3.5:9b is recommended if you want the LLM to read the resulting sheet. Generation side is Flux2 (flux-2-klein is the tested pairing), because the sheet's rotation views depend on reference-latent editing.
Two honest limits. The grey-background convention means you should keep your view renders clean or the compositor's background detection (#d9d9d9) will misbehave. And the whole thing is only as good as the LLM you point at it - a small chatty model may emit invalid JSON, so keep the output format pinned to JSON on your Ollama node.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| user_input | STRING | — | |
| asset_type | COMBO | auto | 3 options: auto, character, object |
| views | STRING | — | |
| style | STRING | — | |
| guide_t2iopt | STRING | — | |
| guide_i2iopt | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| system_prompt | STRING | — |
| user_prompt | STRING | — |