Nodes/Anima Regional Canvas/Anima Regional Canvas
ComfyUI Node

Anima Regional Canvas

Stop hand-drawing Anima's regional mask in GIMP — paint it inside ComfyUI instead

By ukr8b3g-cmyk·Created 2 months ago·Updated 16 days ago· 12
Anima Regional Canvas
  • model
  • clip
  • IMAGE
  • MODEL
  • POSITIVE
  • NEGATIVE
  • LATENT
  • METADATA
  • MASK_PREVIEW
width1024
height1024
batch_size1
brush_size92
region_strength0.95
quality_promptmasterpiece, absurdres, score_7, anime style
scene_prompt
red_prompt
blue_prompt
yellow_prompt
green_prompt
magenta_prompt
negative_promptworst quality, low quality, blurry, bad anatomy
canvas_data
regional_enabledtrue
quality_prompt_in
scene_prompt_in
red_prompt_in
blue_prompt_in
yellow_prompt_in
green_prompt_in
magenta_prompt_in
negative_prompt_in

Anima's regional ControlNet genuinely works - the community's verdict on Sen-sou's LLLite regional model is "really adheres to the masks quite accurately for such a small model." But here's the thing nobody warns you about before you try it: that model doesn't take a prompt. It takes a color-coded image, where each color means "this area is governed by that color's prompt." Which means before this node existed, you were drawing a red/blue/yellow/green/magenta PNG in an external paint program, saving it, loading it into ComfyUI, and praying it stayed in sync with your workflow.

AnimaRegionalCanvas is the "stop doing that" node. Paint the regions directly on a canvas inside ComfyUI, type a prompt per color, and it hands you both the color mask the ControlNet wants and the per-region conditioning the sampler wants. No external editor, no exported PNGs, no manual resizing.

What it's for

Anima (CircleStone's 2B anime model on Cosmos-Predict2) is the first anime base in ages that handles two characters in plain language without them becoming a single blended blob. But hard placement - girl on the left with red hair, girl on the right with blue - is still exactly the job regional prompting exists for, and the 2026 Anima flavor of that is Sen-sou's regional ControlNet. This node is the paint studio for that model. It's niche, it's single-purpose, and for that one job it's genuinely the all-in-one: even the author of the regional ControlNet model points people at it as the turnkey option.

How it works

Paint, prompt, generate. Mechanically, it's simpler than it looks:

  • The painted canvas becomes the IMAGE output, which feeds Apply Anima ControlNet-LLLite's image input.
  • Each color prompt that isn't empty is encoded as standard ComfyUI masked conditioning - the same mechanism core ComfyUI uses - with the mask strength set by region_strength.
  • An empty latent at canvas size comes out the LATENT output, ready for the KSampler.

The model just passes through untouched. It's all masks and conditioning; the node's own source uses only basic tensor ops and imports nothing external.

The inputs that matter

You set most of these once. The ones worth knowing:

  • width / height - 1024×1024 default. Type a new value and hit Enter (or click away) to resize; it normalizes down to multiples of 8 to match the latent.
  • brush_size - default 92. Windows: Alt + right-drag to resize live, drag up/down to change opacity. Mac: Control + Option + left-drag.
  • region_strength - 0.95 default. Mask strength on each region's conditioning; nudge it down if a region over-adheres.
  • The prompts: quality_prompt (quality/style tags, defaults to masterpiece, absurdres, score_7, anime style), scene_prompt (count, characters, background, situation), one per color (red_promptmagenta_prompt), and negative_prompt.
  • regional_enabled - flip this off and the node degrades to plain full-canvas conditioning, which is handy for an A/B sanity check.

Unpainted white areas use the quality+scene conditioning, so you can leave unused colors empty.

Wiring it up

The standard connection is short and boring, which is the point:

AnimaRegionalCanvas IMAGE -> Apply Anima ControlNet-LLLite image
Apply Anima ControlNet-LLLite MODEL -> KSampler model
AnimaRegionalCanvas POSITIVE -> KSampler positive
AnimaRegionalCanvas NEGATIVE -> KSampler negative
AnimaRegionalCanvas LATENT -> KSampler latent_image
KSampler LATENT -> VAE Decode -> Save Image

MODEL on the canvas node is just a passthrough so the chain stays tidy. MASK_PREVIEW is a preview-only overlay you can blend onto the output via core Blend Images if you want to eyeball where regions landed. METADATA carries the prompt JSON for Save WEBP Meta.

Install

From ComfyUI Manager, search "anima regional" and hit install. Or clone it manually:

cd ComfyUI/custom_nodes
git clone https://github.com/ukr8b3g-cmyk/Anima_Regional_Canvas.git

Restart ComfyUI. That's the whole install - the pack has zero pip dependencies (its pyproject declares an empty dependency list; it only uses numpy/torch/Pillow, which ComfyUI already ships). What it doesn't bundle, and you must install separately, is the stack it feeds: kohya-ss/ComfyUI-Anima-LLLite, the Anima base model from circlestone-labs, and the anima-lllite-regional-exp-v3.safetensors regional model from Sen-sou/Anima-LLLite-Regional-Controlnet.

Issues worth knowing

Two real ones. First, the canvas is stored as a data URL inside the node, and an early bug could wipe your painting when you switched ComfyUI tabs or rebuilt the workflow - that was fixed, and the canvas now survives. Second, and this trips up more people: if your regions come out weak or colors bleed, that's not the node, that's the model. The regional ControlNet was trained on a tiny experimental dataset, so adherence is capped by it. Keep region_strength up, keep your Anima canvas reasonably large (Anima wants resolution), and consider stopping the ControlNet early (a 0.45 end-percent is the model author's own recommendation) once composition has formed.

CategoryAnima/Regional

Inputs (25)

NameTypeDefaultDescription
modelMODEL
clipCLIP
widthINT102416–16384
heightINT102416–16384
batch_sizeINT11–4096
brush_sizeINT921–512
region_strengthFLOAT0.950–10
quality_promptSTRINGmasterpiece, absurdres, score_7, anime style
scene_promptSTRING
red_promptSTRING
blue_promptSTRING
yellow_promptSTRING
green_promptSTRING
magenta_promptSTRING
negative_promptSTRINGworst quality, low quality, blurry, bad anatomy
canvas_dataSTRING
regional_enabledBOOLEANtrue
quality_prompt_inoptSTRING
scene_prompt_inoptSTRING
red_prompt_inoptSTRING
blue_prompt_inoptSTRING
yellow_prompt_inoptSTRING
green_prompt_inoptSTRING
magenta_prompt_inoptSTRING
negative_prompt_inoptSTRING

Outputs (7)

NameTypeDescription
IMAGEIMAGE
MODELMODEL
POSITIVECONDITIONING
NEGATIVECONDITIONING
LATENTLATENT
METADATASTRING
MASK_PREVIEWIMAGE