Skip to content

⬡ 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 Elements ──▶ ⬡ Prompt Composer ──▶ positive ──▶ ⬡ Image Generator
   (canvas)

⬡ 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:

#2 → upper half, medium   (these words go into the prompt)

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.