๐น Composition
Quality tags, framing, and camera angle
- STRING
Composition is the node that frames the shot. Before you decide what's in the picture, this one decides how you're looking at it - the quality preamble, how many people are on screen, how tight the crop is, and what angle the camera sits at. In the ComfyUI Scene Composer pack it's usually the first fragment in the final prompt, which on these models is also the most important position.
The pack, by taches, is a set of nodes that procedurally assemble NSFW anime scene prompts. Each node owns one concern; Composition owns the camera and the quality tags. It's the least explicit node in the set and the one you'll tweak first, because framing decides whether a scene reads as a portrait or a full-body shot.
How it works
Like the rest of the pack, there's no model here - the node holds tag options internally and your seed plus your dropdown picks deterministically produce a comma-separated string. Set a dropdown to random and it rolls; pin it and it holds. The one input that isn't a dropdown is prefix, a plain multiline text box you can edit freely.
That prefix is the tell for the whole pack. Its default is:
score_9, score_8_up, score_7_up, source_anime
If you've prompted Pony Diffusion V6 XL, you recognize that instantly - it's the score-tag string. Pony was trained with a quality-ranking system baked into the model, and a training quirk means you have to write the whole string, not individual tags, to get good output. source_anime steers it toward the anime aesthetic (the alternatives are source_furry, source_cartoon, source_pony). This node is where that preamble lives, and because prefix is editable, it's also where you'd swap it out.
The inputs that matter
- prefix (multiline STRING) - the quality/style preamble, defaulting to the Pony score string. This is your model-compatibility lever. On a Pony checkpoint, leave it. On an Illustrious or NoobAI model, replace it with
masterpiece, best quality- those families use Danbooru quality tags and the Pony score tags do nothing for them. On Flux or a 2026 LLM-encoded model, delete it entirely; it just burns tokens there. - protagonists - how many people:
random,1girl, or1girl, 1boy. This sets the cast for the scene, so it wants to agree with whatever yourActionnode is doing. - camera_framing - the crop:
random,close-up,portrait,upper body,full body. The single biggest lever on what the image actually shows. - camera_angle - the viewpoint:
random,straight on,pov,from above,from below,from side,from behind.povandfrom behindare the ones that change a composition most. - seed - reproducibility for every
randomabove.
The output is one STRING, meant to plug into the composition input of the Scene node, where it lands at the front of the assembled prompt.
Installing it
You get Composition with the full pack:
- ComfyUI Manager - search ComfyUI Scene Composer, install, restart. Or import the repo's
workflow.jsonand click Install Missing Nodes. - Comfy Registry CLI -
comfy node registry-install comfyui-scene-composer. - Manual -
cd ComfyUI/custom_nodes && git clone https://github.com/taches-ai/comfyui-scene-composer, thenpip install -r requirements.txt, then restart.
No model files ship with the pack - it's all text - but you need a Pony or Illustrious checkpoint downstream to render. Per the README, v0.3.x moved to the subgraph system and old workflows break, so build from the repo's current workflow.json.
Common issues
The classic mistake here is leaving the default prefix in place while running a non-Pony model. Those score tags are inert on Illustrious, SDXL base, and Flux - so if a swapped checkpoint suddenly looks worse, the leftover Pony preamble is a prime suspect. Fix it to match the model or clear it. Second: random on protagonists can fight your Action node - if Composition rolls 1girl but Action generated a two-person act, you'll get incoherent anatomy. Pin protagonists when you care about the cast. And since this is an obscure one-author pack with no real community support, the reference implementation is the author's CivitAI workflow (model 579396) - copy how it wires Composition rather than reverse-engineering it.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| prefix | STRING | score_9, score_8_up, score_7_up, source_anime | โ |
| protagonists | COMBO | 3 options: random, 1girl, 1girl, 1boy | |
| camera_framing | COMBO | 5 options: random, close-up, portrait, upper body, full body | |
| camera_angle | COMBO | 7 options: random, straight on, pov, from above, from below, from side, +1 | |
| seed | INT | 00โ18446744073709550000 | โ |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | โ |