OpenOutpainter Serving Input Upscale
Grab the image openOutpaint wants enlarged
- oop_request
- image
- scale_by
When you pick the upscale tool in openOutpaint, the canvas POSTs to /sdapi/v1/extra-single-image/ with the image and a resize factor. This node is the front end of that exchange: it decodes the incoming base64 image into a real IMAGE tensor and hands you the requested scale factor, so your ComfyUI upscaling branch can take over. Whatever quality you get from an upscale here is entirely up to the workflow you build - this node is just the adapter.
It takes the single oop_request input and produces exactly two outputs:
- image (IMAGE) - the canvas image, decoded via OpenCV (this is why the pack depends on
opencv-python). - scale_by (FLOAT) - the resize multiplier openOutpaint asked for, taken straight from the request's
upscaling_resizefield.
Wiring the branch
Wire image into whatever upscaler you actually trust - an UpscaleModelLoader + ImageUpscaleWithModel chain, a latent upscale, a tile-based Real-ESRGAN setup, take your pick - then send the result to the matching Output Upscale node. Forward scale_by if you want your upscaler to honor the canvas's requested factor, or ignore it and hardcode your own; the workflow is the boss here.
Here's the part that trips people up: the canvas has an upscaler dropdown, and it's basically cosmetic. When openOutpaint asks the API for the list of upscalers, this pack answers with a placeholder entry literally named "[WIP] Use Workflow". The real upscaling decision is meant to live in your graph, not in the canvas settings. Same story for LoRAs and samplers - the API serves "configure it in the workflow" placeholders so the UI doesn't complain, and the graph decides.
Like every input node in the pack, it's lazy and command-aware: it only fires when the pending request is an upscale call, otherwise both outputs come back as ExecutionBlockers and the branch sits idle.
Install and snags
Install is the pack's standard one: ComfyUI Manager (search "OpenOutpaint ComfyUI Interface") or git clone https://github.com/without-ordinary/openoutpaint_comfyui_interface into ComfyUI/custom_nodes, then restart. opencv-python in requirements is the only dependency that matters, and there are no model downloads for the node itself.
The snag you'll actually hit: click upscale in the canvas, nothing happens in the graph. First check the canvas really sent an upscale request and that this node shares the oop_request branch with the Serving node. Then remember the pack's one-workflow rule - a second Serving node in the graph is unsupported and will swallow or misroute requests. And if your upscale chain errors before the output node, the canvas request hangs until you re-run the workflow with the same request_id, which is the pack's documented escape hatch.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| oop_request | OOP_REQUEST | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| scale_by | FLOAT | — |