Boogu-Image-0.1-Edit
The instruction editor you could also just run at home
- referenceImages
- advancedFeatures.watermark.image
- image
An API node for a model that isn't chained to an API
Boogu-Image-Edit is one of the more interesting 2026 releases, and it's on the unusual side of the API-node line: this is the hosted version of an open-weight model. Boogu-Image landed in June 2026 to a decent reception - the first-impressions thread had people calling it fast, unusually good at textual concept and in-image text, "same league or slightly superior to Klein," while others looked at the output and just said slop. Comfy Org took it seriously enough to publish ConvRot INT8 conversions of it alongside Krea 2, Ideogram 4 and Bernini, which is the ecosystem's way of saying a model is here to stay.
So the honest framing before you spend anything: you can run this at home. Community GGUFs for low-VRAM workflows exist, and everything ComfyUI does locally - masks, LoRA stacking, infinite retries at zero cost - applies. You'd reach for this node when you don't have the VRAM, or when you want twenty variations of one edit queued up while you sleep, or when you simply don't want a second model stack on disk.
How it works
You give it a referenceImages IMAGE and a positivePrompt, and the prompt is read as the edit instruction applied to the reference image - the tooltip says so outright. The pack converts your IMAGE tensor to PNG data URIs, sends them with the instruction through the Runware SDK, and the returned image comes back as a native IMAGE tensor. A batch at the input socket goes out as multiple reference images, so you can hand it several angles of the same subject.
Unlike the closed-model nodes, this one has real diffusion knobs, because it's a real diffusion model behind the endpoint:
steps(15–50, default 30) andCFGScale(0–20, default 4). Both are worth knowing. The tooltip onnegativePrompttells you the important part: it's ignored when guidance is disabled (CFGScale ≤ 1).seedfor repeatability,numberResults(1–20) when you want a spread in one queue slot.outputFormat(JPG/PNG/WEBP) andoutputQuality. Default is JPG - if the result is going into more graph work, switch to PNG before you lose detail to compression.
Two grouped sections hide most of the remaining widgets. advancedFeatures is the watermark group - advancedFeatures.watermark.text, .image, .displayPosition, .fontColor, .bgColor, plus the advancedFeatures.watermark.opacity toggle that gates .opacity_value. Leave the group off unless you actually want a watermark; nothing inside it is sent while it's off. The safety group holds safety.checkContent, which adds a content check and, per its own tooltip, "increases total generation time".
Output is a single image. Wire it into Preview Image, Save Image, or straight into an upscaler.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt
Or in ComfyUI Manager: search Runware, install, restart. Dependencies are just runware-sdk>=1.6.5, pillow and soundfile - the pack ships one node per model generated from a schema bundle, so there are no weights in the repo at all. Grab an API key from runware.ai/api-keys and set it in ComfyUI Settings → Runware API key, or via RUNWARE_API_KEY, or with runware auth login once. Every run prints its cost on the node's title bar.
Where people get burned
Prompt phrasing matters more than you'd like. Community testing on the open weights found the model oddly literal - describing a nude didn't produce one while other phrasings did, and one tester reported aggressive auto-zooming on subjects. Treat the prompt as a literal instruction and don't expect it to read your intent the way a 20-step CFG 7 SDXL model does.
Your reference image leaves your machine. That's the whole mechanism of an API node, per the KB's read on the category: the convenience and the data-leaving are the same feature. If the source images are the kind you don't want on someone else's disk, run the GGUF instead.
The node pins the model revision. Each entry in this pack is one node bound to one model identifier; a newer Boogu edit model arrives as a new node when the pack updates, not as a widget you can flip.
Inputs (21)
| Name | Type | Default | Description |
|---|---|---|---|
| referenceImages | IMAGE | — | |
| positivePrompt | STRING | Text prompt describing elements to include in the generated output. Read as the edit instruction applied to the reference image. | |
| advancedFeatures.watermark.imageopt | IMAGE | — | |
| negativePromptopt | STRING | Prompt to guide what to exclude from generation. Ignored when guidance is disabled (CFGScale ≤ 1). | |
| seedopt | INT | 00–9223372036854776000 | Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range. |
| stepsopt | INT | 3015–50 | Total number of denoising steps. Higher values generally produce more detailed results but take longer. |
| CFGScaleopt | FLOAT | 4.000–20 | Guidance scale representing how closely the output will resemble the prompt. Higher values produce results more aligned with the prompt. |
| numberResultsopt | INT | 11–20 | Number of results to generate. Each result uses a different seed, producing variations of the same parameters. |
| advancedFeaturesopt | BOOLEAN | false | Enable to set advancedFeatures. Off uses the model's default. |
| advancedFeatures.watermark.bgColoropt | STRING | Background color in hex format. | |
| advancedFeatures.watermark.displayPositionopt | COMBO | (default) | Watermark position. |
| advancedFeatures.watermark.fontColoropt | STRING | Text color in hex format. | |
| advancedFeatures.watermark.opacityopt | BOOLEAN | false | Enable to set advancedFeatures.watermark.opacity. Off uses the model's default. |
| advancedFeatures.watermark.opacity_valueopt | FLOAT | 0.100.1–1 | Watermark opacity. |
| advancedFeatures.watermark.textopt | STRING | Watermark text. | |
| safetyopt | BOOLEAN | false | Enable to set safety. Off uses the model's default. |
| safety.checkContentopt | BOOLEAN | false | Enable or disable content safety checking. Increases total generation time. |
| ttlopt | BOOLEAN | false | Enable to set ttl. Off uses the model's default. |
| ttl_valueopt | INT | 60 | Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`. |
| outputFormatopt | COMBO | JPG | File format for the generated image. |
| outputQualityopt | INT | 9520–99 | Compression quality of the output. Higher values preserve quality but increase file size. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |