Nodes/ComfyPoe/Poe Image Edit
ComfyUI Node

Poe Image Edit

Edit images with a sentence instead of an inpainting mask

By mrf·Created 9 months ago·Updated about a month ago· 0
Poe Image Edit
  • image
  • image
  • raw_response
promptEdit this image to...
api_key
modelGPT-Image-1
aspectauto
qualityhigh
seed-1

img2img with a credit card instead of a checkpoint

PoeImageEdit is the image-edit node from the ComfyPoe pack, and it answers the question "how do I change this picture without rebuilding a local pipeline?" It's img2img: you feed it an image and a sentence - "make it night", "change the background to a rainy street", "turn the cat into a corgi" - and a closed image model on Poe's servers does the edit. No inpainting masks, no ControlNet, no VRAM. The heavy lifting happens on Poe's infrastructure through their OpenAI-compatible API.

Where you'd actually reach for it: you've got a render you mostly like, but one thing is wrong, and setting up an inpaint workflow with a mask plus a local model feels like more machinery than the job deserves. PoeImageEdit is the lazy, effective version of that job. It's also a genuinely good way to pressure-test what today's top closed models can follow in an edit prompt before you decide to care.

How it works

The mechanism is simple and worth knowing because it explains the limitations. The node takes your image tensor, converts it to a PIL image, base64-encodes it as a PNG, and stuffs it into a chat-completions message as a data URL alongside your text prompt. Poe's server runs the model on the image-plus-prompt pair and replies with text containing a markdown image URL. The node pulls the first URL, downloads the result, and hands you back a standard ComfyUI IMAGE tensor. So under the hood this is really "describe what you want the model to do to this image," not a deterministic edit. The model interprets your instruction.

The inputs that matter

Three required:

  • image - the IMAGE tensor you want edited. Wire it straight out of LoadImage.
  • prompt - the edit instruction, multiline. Be specific: "make the background a rainy street at dusk, keep the subject" beats "make it cool."
  • api_key - from https://poe.com/api_key, with a Poe account that has API access.

Optional:

  • model - the 10-model dropdown, default GPT-Image-1. For edit fidelity, that default is the right call; GPT-Image-1 was built multimodal and follows edit instructions far better than the text-only holdovers.
  • aspect - default auto, which lets the model decide; set a ratio like 16:9 to force one.
  • quality - low / medium / high.
  • seed - -1 for random, a number to reproduce.

Outputs

image - the edited result as an IMAGE tensor, ready for PreviewImage or SaveImage. And raw_response - the full API text reply, which is your debugging window when the edit goes sideways.

Installing

Search ComfyPoe in ComfyUI Manager and install, or:

cd ComfyUI/custom_nodes
git clone https://github.com/mrf/ComfyPoe.git

Restart ComfyUI; openai and requests install automatically on first load. No model downloads, no heavy dependencies - this is one of the lightest installs in the ecosystem.

Gotchas

  • "API key is required" - blank key field. Same fix as always: paste one in.
  • "No image URL found in response" - the model replied with text. With DALL-E-3 that's frequently a content refusal (it's the most trigger-happy censor in the lineup); check raw_response to see the actual message.
  • Edits are interpretations, not masks. If you need a pixel-exact region change, a real inpainting pipeline with a local model is still the right tool. This node is for "rephrase the picture," not surgery.
  • Big images mean big requests. The image travels as a base64 PNG over the wire, so huge inputs are slow. Downscale before feeding it if speed matters.
  • It's a blocking HTTP call. The node hangs until Poe's server responds, so treat it as a single-shot operation, not something to loop a hundred times.
  • Don't share the workflow file - your API key is stored in it in plain text.

One honest caveat: this is a community pack wrapping someone else's paid API, and Poe's endpoint and model list are the author's snapshot of reality. It works, the code is readable and MIT-licensed, but if Poe changes their API tomorrow, the node changes too.

Categoryapi/poe

Inputs (7)

NameTypeDefaultDescription
imageIMAGE
promptSTRINGEdit this image to...
api_keySTRING
modeloptCOMBOGPT-Image-110 options: GPT-Image-1, DALL-E-3, Imagen-4, FLUX-pro-1.1, FLUX-schnell, Playground-v3, +4
aspectoptCOMBOauto8 options: 1:1, 3:2, 2:3, 4:3, 3:4, 16:9, +2
qualityoptCOMBOhigh3 options: low, medium, high
seedoptINT-1-1–2147483647

Outputs (2)

NameTypeDescription
imageIMAGE
raw_responseSTRING