Krea 3 · Edit
Eight reference images and a prompt that has to keep them straight
- image_urls
- images
- task id
Multi-reference editing as a node
This is the editing half of Krea 3, and the reason it's in a ComfyUI graph rather than a web tab is the sockets. One to eight source images, wired in a specific order, and a prompt that refers to them as image 1, image 2, and so on. That's the whole contract. It's the shape of workflow people build when they want "take this face, this jacket and this room, and put them in one photo" - except the compositing is a model instead of three masks and a manual blend.
The Krea lineage matters here. Krea spent four years selling a hosted platform built on other people's models before training Krea 2 themselves, and has been openly committed to an open edit model. This node is the hosted, current-generation version of that intent: you get the edit behaviour without the 12B download, and without the alignment pass the open Krea 2 weights went through. Krea's own filters still apply - refusals come back as content_rejected and get refunded.
How it does the edit
Under the hood it's one API call with the pictures uploaded as references. The node encodes each connected IMAGE to PNG (or high-quality JPEG if the PNG would blow past the 10 MiB upload ceiling), uploads it, and caches that upload for 12 hours so a second run with a new prompt doesn't re-send your source photos. Batches are split - if a single socket carries four images from a Load Image batch, all four count as separate references.
Order is preserved, and order is the thing that matters. The sockets are labelled image 1, image 2, image 3… by position, so the prompt's "image 2" has to mean what you think it means. Wire them, then write the prompt against that order. Get it backwards and you'll get a very confident wrong answer.
Krea 3 also plans before it draws - the enable_thinking switch - which is more useful here than in text-to-image. "Put the person from image 1 into the setting of image 2, keep the jacket from image 3" is exactly the kind of instruction a planning pass helps with.
Inputs you actually touch
- prompt - say what changes and what stays. Refer to sources by number. Vague prompts here produce mush that technically satisfies the request.
- image_urls - the autogrow group. Each new image you connect adds a socket, up to eight; each one also raises the quote, so don't wire a mood board you don't need.
- aspect_ratio - defaults to 1:1 and stays independent of your source images. If your sources are portrait and the output ratio is square, expect a reframe.
- quality -
High quality(default) orFast, same price either way. - negative_prompt - only honoured by the high-quality variant. The tooltip says so plainly and people still file bugs about it.
- enable_thinking - longer planning, same price.
- output_format -
pngorjpeg. - seed - fixed by default, so a re-queue reuses the previous result instead of billing again.
Outputs are images and task id.
Install, briefly
Manager > search PopNow > Install > restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui
Nothing else to install; the pack has no external dependencies. Add a key from popnow.ai/api/console/keys in Settings > PopNow (or POPNOW_API_KEY in the environment), restart so the catalog refreshes, and the node shows up under PopNow > Image > Krea alongside the rest of the family.
Traps worth knowing
The price is per image and each reference image adds to it - eight sources is not eight times the cost, but it's not free either, and the node's badge shows a rate rather than a total. Every run takes a quote first and holds at most that amount, so if the number scares you, set Max credits per run in Settings and let it stop the run before anything is held.
Uploads are capped at 10 MiB per image. A 6K scan will get re-encoded as JPEG to squeeze under it, which is fine for reference material and bad if you were counting on pixel-exact fidelity. Downscale deliberately rather than letting the encoder decide.
And if you feed it images from a local node that outputs tensors in float 0–1, all good - but a batch from Load Image with four pictures becomes four references, in order. That's usually what you want and occasionally exactly what you didn't: check the socket, not the filename.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Say what to change and what stays the same. Refer to sources as image 1, image 2 and so on. | |
| image_urls | COMFY_AUTOGROW_V3 | One to eight source images, in the order your prompt refers to them. Each one adds to the price. | |
| aspect_ratio | COMBO | 1:1 | Output aspect ratio. |
| quality | COMBO | High quality | High favours image quality; fast returns sooner. Same price. |
| enable_thinking | BOOLEAN | false | Spend longer planning the prompt before drawing. Same price. |
| negative_prompt | STRING | What to keep out of the image. Used by the high-quality variant only. | |
| output_format | COMBO | png | File format of the result. |
| seed | INT | 00–2147483647 | Same seed and settings, same result. Set 'control after generate' to randomize to get a new result on every run; every run is billed. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| task id | STRING | The PopNow task id, for the API console logs or support. |