⬡ Prompt Composer / ⬡ Prompt Elements¶
Guided prompt writing for Krea 2 and QWEN Image.
Both models share the same system template, hard-wired in their tokenizer:
"Describe the image by detailing the color, shape, size, texture, quantity, text, spatial relationships of the objects and background:"
That is a checklist of nine axes. These two nodes give each axis a field so nothing gets forgotten, then assemble dense prose in the order the template asks for — objects, then background, then style.
⬡ Prompt Composer¶
Usable on its own — the element chain is optional.
| Input | Description | |
|---|---|---|
background |
required | The setting behind the subject. Written as "The background is …" |
overview |
optional | One opening sentence summarising the whole image |
elements |
optional | Chain of ⬡ Prompt Element nodes |
medium |
advanced | What it is made of (oil pastel on a dark surface) |
style |
advanced | Artistic style (neo-expressionist folk art) |
lighting |
advanced | How the scene is lit |
palette |
advanced | Overall colour scheme, in words |
camera |
advanced | Lens and framing, for photographic looks |
Outputs positive (straight into ⬡ Image Generator) and prompt_text
(a plain STRING, handy to preview what was written).
⬡ Prompt Elements¶
A canvas in the node: drag on empty space to add an object, click one to edit it, drag its corner to resize, drag its body to move it. Everything lives in one window — no node chain to assemble.
| Input | Description | |
|---|---|---|
aspect_ratio |
required | Shape of the drawing canvas (1:1, 16:9, 9:16, …). Drawing aid only — positions are relative fractions, so it changes nothing in the prompt and does not set the generated image size. |
elements_data |
hidden | The objects as JSON. The editor owns it; hidden in the UI, but editable by hand for API runs. |
previous |
optional | Merge in the objects of another Prompt Elements node. |
Per object, in the panel below the canvas: object, how many, colours, texture, text.
Why a canvas if the model ignores coordinates¶
Neither Krea 2 nor QWEN Image has regional conditioning — a bounding box is just text to them. So the geometry never reaches the model: it only picks the words. The line under the canvas shows exactly which ones, live:
The thirds grid drawn on the canvas is the grid those zones are decided on. A box
covering most of the frame becomes filling the frame; a wide flat one becomes
upper half / lower half; otherwise the centroid picks one of nine cells. Area
picks the size word, from dominant down to fine detail.
That mapping lives in _zone_from_box / _size_from_box
(modules/block_prompt_composer.py) and is
mirrored in web/umeairt_prompt_editor.js for the live hint — the two must stay
in sync, and tests/test_prompt_composer.py pins the Python side.
Example¶
Composer with background, medium, style, lighting, palette filled and
three objects drawn on the canvas produces:
A striking stylized illustration of a figure surrounded by fish. In the centre of the frame, a mysterious dark-skinned figure with wide, expressive eyes, dominating the composition, in deep blue, black and radiant gold, with a raw chalk-like texture. Across the upper half, 12 hand-drawn fish with glowing golden outlines, of moderate size, in vibrant blue and gold. The background is a deep black void filled with swirling patterns and star-like symbols. Oil pastel on a dark surface, neo-expressionist folk art, glowing rim light, a colour palette of deep blue, black and radiant gold.
Pairs with ⬡ Image to Prompt
⬡ Image to Prompt is powered by Qwen3-VL — the very model Krea 2 uses as
its text encoder. Use it on a reference image to draft a description, then
refine it through the Composer.