Nodes/ComfyUI Scene Composer/๐Ÿ“น Composition
ComfyUI Node

๐Ÿ“น Composition

Quality tags, framing, and camera angle

By mus-tachesยทCreated 2 years agoยทUpdated 8 months agoยท 77
๐Ÿ“น Composition
    • STRING
    โ—„prefixscore_9, score_8_up, score_7_up, source_animeโ–บ
    โ—„protagonistsโ–พโ–บ
    โ—„camera_framingโ–พโ–บ
    โ—„camera_angleโ–พโ–บ
    โ—„seed0โ–บ

    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, or 1girl, 1boy. This sets the cast for the scene, so it wants to agree with whatever your Action node 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. pov and from behind are the ones that change a composition most.
    • seed - reproducibility for every random above.

    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.json and 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, then pip 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.

    Category๐ŸŽž๏ธ Scene Composer

    Inputs (5)

    NameTypeDefaultDescription
    prefixSTRINGscore_9, score_8_up, score_7_up, source_animeโ€”
    protagonistsCOMBO3 options: random, 1girl, 1girl, 1boy
    camera_framingCOMBO5 options: random, close-up, portrait, upper body, full body
    camera_angleCOMBO7 options: random, straight on, pov, from above, from below, from side, +1
    seedINT00โ€“18446744073709550000โ€”

    Outputs (1)

    NameTypeDescription
    STRINGSTRINGโ€”