maiImage / editImage
The whole API in two inputs — image in, sentence, image out
- images
- api_config
- images
- errors
- workflow_id
- raw_json
The edit variant of MaiImage is the same thin wrapper as its createImage sibling, with exactly one addition: an images input. That addition is the whole node. You wire in an image, type the change you want into prompt, and the orchestration job - running through fal, billed in Buzz - returns the edited image as a native IMAGE tensor. No masks, no denoise strength, no inpainting plumbing. It's instruction editing in its most naked form, and for a lot of jobs that's a feature, not a limitation.
Both MaiImage inputs are required, which is a nice piece of node design: prompt and images. There's nothing optional that matters - aspect_ratio defaults to auto, quantity controls how many edits per call, output_format and image_metadata are the pack standards. No negative prompt, no seed, no sampler. If the createImage node is "describe it, get an image," this is "point at it, describe the change, get the changed image."
Same honesty caveat as its sibling: nobody has publicly documented what MaiImage is. It's an engine name in Civitai's orchestration spec and that's about the extent of it. For an editor, that's worth being a little more careful about, because editing quality is where mystery models usually reveal their ceiling - some instruction editors are genuinely good at it (see the pack's Qwen-Image-Edit and HiDream edit nodes, which are well-documented by comparison), and some are glorified image filters. Run a test edit on a simple image before you trust it with anything you care about.
The inputs that matter
- images - IMAGE socket; wire it from a
LoadImageor any image-producing node in your graph. Required. - prompt - the instruction ("change the background to a beach at sunset"). Required.
- aspect_ratio - default auto; the model picks, or you choose one of eleven ratios.
- quantity, output_format, image_metadata - the pack standards.
Outputs: images (IMAGE), errors, workflow_id, raw_json.
Install and auth
Same one-time pack setup. ComfyUI Manager → Civitai Comfy Nodes, or:
cd ComfyUI/custom_nodes
git clone https://github.com/civitai/civitai-comfy-nodes.git
pip install -r civitai-comfy-nodes/requirements.txt
Authenticate (Civitai account with Buzz): export CIVITAI_API_TOKEN=..., a Civitai Auth node, or the sidebar sign-in.
The bottom line
Use this node when you want a one-shot hosted edit with zero ceremony. Skip it when you need control - no denoise knob means you can't tune how much of the original survives, and no negative prompt means your positive prompt has to carry all the weight. For a no-GPU machine or a quick "what if" pass, it's exactly the right amount of node. For serious editing work, the pack's Qwen-Image-Edit or HiDream edit nodes give you a lot more to hold onto.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| images | IMAGE | — | |
| output_formatopt | COMBO | 4 options: , jpeg, png, webP | |
| image_metadataopt | STRING | External metadata that will be stored with the image | |
| aspect_ratioopt | COMBO | auto | 11 options: auto, 21:9, 16:9, 3:2, 4:3, 5:4, +5 |
| quantityopt | INT | 11–4 | — |
| api_configopt | CIVITAI_CONFIG | Optional Civitai Auth connection; defaults to CIVITAI_API_TOKEN or stored OAuth login. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| errors | STRING | — |
| workflow_id | STRING | — |
| raw_json | STRING | — |