Forge Sampler
Forge Sampler is a local bridge, not a cloud call — drive SD WebUI Forge from a ComfyUI graph
- init_image
- lora_stack
- cn_stack
- IMAGE
The name is a slight lie, and the truth is the useful part: Forge Sampler doesn't call any cloud API and needs no key. It's a local bridge. You build a graph in ComfyUI, and this node hands the actual generation job to a running SD WebUI Forge server on your own machine over its HTTP API, then pulls the finished image back as a normal IMAGE tensor. "ForgeAPI" just means "the API Forge already exposes on localhost."
So why reach for it? If your checkpoints, LoRA browser, and ControlNet setup already live in Forge - a lot of people's do, especially after the A1111-to-Forge migration - this lets you keep ComfyUI as the graph and let Forge do the rendering with settings its own tools understand. It's also the reason the pack's other two nodes exist: Forge LoRA Stack and Forge ControlNet Stack are purely accessories to this one.
How it works. On load, the node pings Forge to fill its dropdowns: checkpoints from /sdapi/v1/sd-models, samplers from /sdapi/v1/samplers, schedulers from /sdapi/v1/schedulers. When you run the graph, it POSTs a JSON payload - prompt, negative prompt, steps, cfg, seed, dimensions, sampler, scheduler, plus an override_settings block to swap the checkpoint - to /sdapi/v1/txt2img. Feed it an init_image and it switches to /sdapi/v1/img2img, encodes your image to base64, and uses denoising_strength. A connected lora_stack gets appended to the prompt as <lora:name:strength> tags; a cn_stack gets injected into alwayson_scripts.ControlNet.args for Forge's ControlNet handler. The first returned image is decoded back into a tensor.
The inputs that matter. The big seven: prompt and negative_prompt (multiline, so free-form), checkpoint (from Forge's own list - "None" keeps whatever Forge currently has loaded), seed (−1 for random, default 42, up to a huge max), steps (20), cfg_scale (7), and sampler_name/scheduler, both populated from Forge's live lists - that's how you get Forge's sampler options without knowing their API strings. Then width/height at 512 with 8-pixel steps. On the optional side: init_image flips you into img2img, denoising_strength (0.7) controls how much it changes the source, and lora_stack/cn_stack accept the outputs of the pack's other two nodes. The single output, IMAGE, wires into a Save Image or Preview node like anything else in ComfyUI.
When not to bother. If you're already happy with ComfyUI-native samplers, this adds nothing but a second app to keep alive. It earns its keep only when Forge is genuinely part of your workflow - the pack has almost no community footprint, which suggests most users are the "one ComfyUI graph, one Forge install" type. That's a fair read, not a dig: it's a niche bridge for a specific setup, not a general-purpose sampler replacement.
Install & gotchas. Install via ComfyUI Manager ("ComfyUI-ForgeAPI") or git clone https://github.com/kreonxv/ComfyUI-ForgeAPI into custom_nodes, then restart. No model downloads here - Forge already has your models; it also has to be running. Prereq: install and run SD WebUI Forge, and confirm http://127.0.0.1:7860 opens in a browser.
Two gotchas are worth knowing up front. First, the node's dropdowns are captured when ComfyUI starts, so if Forge is down at that moment you get an empty checkpoint list and an "Euler a" fallback sampler. Start Forge first, then restart ComfyUI, and the lists fill in. Second, the README mentions entering an API key - there's no key field in the shipped code, because this is your own localhost server and there's nothing to authenticate. If you moved Forge to another port, set forge_url accordingly.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| forge_url | STRING | http://127.0.0.1:7860 | — |
| checkpoint | COMBO | 1 options: None | |
| prompt | STRING | — | |
| negative_prompt | STRING | — | |
| seed | INT | 42-1–18446744073709550000 | — |
| steps | INT | 20 | — |
| cfg_scale | FLOAT | 7.00 | — |
| sampler_name | COMBO | 1 options: Euler a | |
| scheduler | COMBO | 1 options: Normal | |
| width | INT | 512 | — |
| height | INT | 512 | — |
| init_imageopt | IMAGE | — | |
| denoising_strengthopt | FLOAT | 0.70 | — |
| lora_stackopt | LORA_STACK | — | |
| cn_stackopt | CN_STACK | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |