Nodes/Tiled Diffusion NG/TiledAnimaLLLiteApply
ComfyUI Node

TiledAnimaLLLiteApply

The closest thing Anima has to a ControlNet, applied per tile

By lany42·Created 22 days ago·Updated 15 days ago· 0
TiledAnimaLLLiteApply
  • model
  • model_patch
  • tile_plan
  • reference_tiles
  • model
◄strength1.00►
◄start_percent0.000►
◄end_percent1.000►

Anima's control story is thin, and it's worth saying plainly before you spend an evening on it: the model has no real ControlNet. What it has is kohya-ss's ControlNet-LLLite port - experimental sample weights, retrained for Anima Base v1.0 for inpainting and a mixed lineart/scribble/grayscale model, with the pose and depth models still on the Preview 3 generation and the author's own card calling them "community starting points ... rather than strong production-grade ControlNets." The pose model in particular is described as noticeably weaker than the rest.

So this node isn't the doorway to a pose pipeline. It's for the job the LLLite weights are actually good at, which is the one this pack exists for: feeding a reference crop into a high-resolution tiled refinement pass so the model adds detail instead of inventing structure. Anima's multi-pass work is fiddly - repeated passes introduce artifacts SDXL tolerates - and holding a reference against each tile is one way to keep the pass honest.

What it does

You bring your own patch. The MODEL_PATCH comes from ComfyUI's native Anima LLLite loading/apply path - wire that into model_patch, and this node attaches it to your model properly for tiled work. Internally it installs attention patches on the self-attention q/k/v projections, the cross-attention q projection and the MLP blocks, then dispatches, per tile, whichever branch native sampling is actually evaluating. Each of the four regions gets its own reference crop at its own canvas coordinates. That's the whole point: the native apply node would hand the patch one full-canvas reference, which is meaningless when the denoiser is only looking at a tile.

Output is a MODEL, and you feed it to TileSampler with the same plan.

Inputs

  • model - a native Anima model. Anything else is rejected: TiledAnimaLLLiteApply requires a native Anima MODEL.
  • model_patch - one RGB Anima LLLite patch. One.
  • tile_plan - the plan built for this model and latent. The attachment records it and validates against it, so a plan from a different resolution is refused rather than silently misrouted.
  • reference_tiles - almost always the output of TileView on the matching canvas. Dimensions must equal the plan's overlap-inclusive tile size exactly, in groups of four crops per source image in TL/TR/BR/BL order. A single group broadcasts across a batched latent; a mismatched batch size is an error.
  • strength - default 1.0, range −10 to 10. Given what these weights are, if you're up near the top of that range and seeing nothing, the problem is the weights, not the slider.
  • start_percent / end_percent - default 0 and 1, i.e. active for the whole trajectory. This is where the useful tuning lives: reference-guided detail early, unshackled generation late, or the reverse depending on whether you want faithful upscaling or free re-rendering.

Install

Same pack, and it's the reason to check your ComfyUI version first - the node uses native Anima LLLite APIs that only exist on recent hosts:

cd ComfyUI/custom_nodes
git clone https://git.colorized.life/tiled-diffusion-ng.git tiled-diffusion-ng
# restart ComfyUI

ComfyUI Manager: Tiled Diffusion NG. No pip dependencies at all - dependencies = [] in pyproject.toml, because ComfyUI owns PyTorch and comfy_api, and the pack refuses to replace your CUDA build. The LLLite weights themselves are a separate download from kohya-ss's Anima-LLLite repo; the pack ships no models.

Limits you'll hit

These are enforced, not aspirational, and the error messages tell you which one you hit:

  • One patch, applied once. A second application, or applying the native Anima LLLite node alongside it, is unsupported. Native LLLite chaining doesn't compose here.
  • RGB refinement only. Masks and four-channel inpainting checkpoints are out. This is a detail pass, not an inpaint pass.
  • Anima only, and only native Anima. LoRAs and ordinary patchers should survive, but arbitrary model patchers aren't promised.
  • Expect moderation, literally. kohya's card says the effect of these weights "is intentionally moderate overall." A reported working setting for the tile-and-repair style LLLite model is around 0.8 strength with 0.5 denoise through the sampler - treat that as a starting point, not gospel, since it comes from one user on a community model rather than from the pack's own validation.
  • The repo's docs lag the code. Its own model-adapter-research.md still says Anima is unimplemented and the LLLite integration doc still marks the node as proposed, while the source and the node schema ship and work. Trust the node in the menu, and the code, over those files.

If you want the honest version: this is one of very few ways to get any structural guidance into Anima at high resolution, which makes it worth having - and it is not a reason to move a pose-critical pipeline off SDXL/Illustrious, which is the advice every Anima thread converges on.

CategoryTiled Diffusion NG

Inputs (7)

NameTypeDefaultDescription
modelMODEL—
model_patchMODEL_PATCH—
tile_planTILE_PLAN—
reference_tilesIMAGE—
strengthFLOAT1.00-10–10—
start_percentFLOAT0.0000–1—
end_percentFLOAT1.0000–1—

Outputs (1)

NameTypeDescription
modelMODEL—