Wan 2.7 Image Pro
Same sockets as the base node, sharper invoice
- input_urls
- image
- url
- all_urls_json
- task_id
- raw_json
- credits_consumed
- credits_left
Two Wan 2.7 image nodes exist in this pack and they look nearly identical on the canvas: Wan 2.7 Image and this one, the Pro tier. Same IMAGE editing input, same n, same resolution ladder, same bounding-box field. The difference is which KIE marketplace model gets called (wan/2-7-image-pro versus wan/2-7-image), and there's exactly one documented behavioural difference hidden in a tooltip.
So the practical advice is boring: build your graph on the base node, test your prompt there, and swap in Pro when you need the last increment of quality and you've accepted the price. In a 2026 landscape where the local Wan line is frozen at 2.2 and everything numbered above it is API-only, "which tier" is the only question you get to answer anyway.
How it works
Nodes in this pack are generated from KIE's live API documentation, and each documented model version becomes its own class - which is why you get two near-twins instead of one node with a model dropdown. Run it and the node uploads any connected IMAGE to KIE, POSTs to /api/v1/jobs/createTask with the Pro model id, polls /api/v1/jobs/recordInfo until the task resolves, then downloads the returned image(s) into ComfyUI/output/KIE-Results/images and returns a native ComfyUI IMAGE.
Inputs that matter
prompt- required, up to 5000 characters.input_urls- optionalIMAGEsocket. Connect images and you're editing; connect nothing and it's text-to-image.n- 1-4 (default 4), or 1-12 withenable_sequentialon. Set it to 1 for tests.resolution-2Kdefault,1Kand4Kavailable. Here's the one documented difference from the base node: 4K is only available for text-to-image in Standard Mode on Pro, per KIE's own note on the field. If your Pro plan was 4K editing, it isn't.bbox_list- JSON bounding boxes for interactive editing, one list per input image, max two per image, each[x1, y1, x2, y2].enable_sequential,thinking_mode,color_palette- the group/sequential modes and an optional 3-10 colour palette;thinking_modeonly applies to plain text-to-image.aspect_ratio(eight options, only used with no image input),watermark(off),seed,nsfw_checker(off),timeout_seconds(1200),callback_url(empty).
Outputs
image - a normal tensor, so save, preview, upscale, or batch-split as usual. url and all_urls_json hold the hosted results, task_id traces the job, raw_json is the provider's response, and credits_consumed / credits_left price it, with the pack's on-node receipt after each run. The Pro tier's cost shows up in those two numbers, so wire them to a text node when you're A/B testing against the base node.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/felipederosilva/ComfyUI-KIE-Nodes-Next
cd ComfyUI-KIE-Nodes-Next && pip install -r requirements.txt
Restart and find it under KIE Next / Image / Wan. No model files, no heavy dependencies - requests, Pillow, numpy, PyYAML.
Key once for the pack: Settings → KIE.ai Nodes Next → Connection → Paste / replace KIE.ai API key. Validation happens before the saved key is replaced; success shows a masked fingerprint and ✅ CONNECTED. KIE_API_KEY env var for servers, and it outranks the stored key. KIE: pre-paid credits, no subscription, one balance for the whole catalog.
Common issues
You picked Pro by default and paid for it. Nothing here needs Pro to be correct. Start on the base node.
4K rejected while editing an image. Pro's 4K is documented as text-to-image-in-Standard-Mode only.
Four images per run. n defaults to 4. Set 1.
Bounding boxes doing nothing. They're a JSON string; wrong nesting or a length that doesn't match input_urls silently changes what you're editing. Two boxes max per image.
No file on disk. Attach a SaveImage - this is an IMAGE output socket, not a save node.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Transform the food photo by replacing the marked ingredients with sliced red chili pieces while preserving the bowl, lighting, steam, camera angle, and overall realism. | Prompt for image generation or editing. This field supports both Chinese and English, with a maximum length of 5000 characters as per Alibaba Cloud documentation. |
| input_urlsopt | IMAGE | — | |
| aspect_ratioopt | COMBO | 1:1 | (Optional) Output aspect ratio when no image input is provided. |
| enable_sequentialopt | BOOLEAN | false | Whether to enable sequential/group image mode. Default is false. |
| nopt | INT | 4-2147483648–2147483647 | Number of images to generate. Range is 1-4 when `enable_sequential=false` (default: 4); range is 1-12 when `enable_sequential=true` (default: 12). |
| resolutionopt | COMBO | 2K | Output resolution. The current project uses `resolution` as a wrapper field corresponding to the underlying resolution parameter.(4K generation is available only for text-to-image in Standard Mode) |
| thinking_modeopt | BOOLEAN | false | Whether to enable thinking mode. Only available when `enable_sequential=false` and `input_urls` is empty; the frontend will automatically disable it in other cases. |
| color_paletteopt | STRING | [] | (Optional) Custom color theme. Only available when `enable_sequential=false`. Requires 3-10 colors, 8 recommended. |
| bbox_listopt | STRING | [ [] ] | (Optional) Interactive editing bounding box areas. The outer list length should match `input_urls`; maximum 2 boxes per image; single box format is `[x1, y1, x2, y2]`. |
| watermarkopt | BOOLEAN | false | Whether to add watermark. |
| seedopt | INT | 00–2147483647 | Random seed, range 0-2147483647. |
| nsfw_checkeropt | BOOLEAN | false | Defaults to false. You can set it to false based on your needs. If set to false, our content filtering will be disabled, and all results will be returned directly by the model itself. Note: There is no guarantee that everything can be filtered out; if you are not satisfied with the results, you will need to make your own arrangements. |
| timeout_secondsopt | INT | 120030–7200 | — |
| callback_urlopt | STRING | Optional KIE callback URL. Leave empty for normal ComfyUI use. |
Outputs (7)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| url | STRING | — |
| all_urls_json | STRING | — |
| task_id | STRING | — |
| raw_json | STRING | — |
| credits_consumed | FLOAT | — |
| credits_left | FLOAT | — |