Nodes/Stability API nodes for ComfyUI/Stability Control Structure
ComfyUI Node

Stability Control Structure

Keep the composition, change everything else — ControlNet without the setup

By Stability-AI·Created 2 years ago·Updated about a year ago· 64
Stability Control Structure
  • image
  • IMAGE
prompt
control_strength0.70
negative_prompt
seed0
stylefalse
style_preset
output_format
api_key_override

Control Structure does what a structure ControlNet does - regenerate an image following the spatial layout of a reference - minus the entire local apparatus. Locally, that apparatus is real: pick a ControlNet model that matches your checkpoint's architecture, choose a preprocessor, extract a depth or MLSD map, wire the weight and start/end steps. Here it's one node: feed an image and a prompt, and Stability's server keeps your composition while changing the content.

It's a cloud node from the official "Stability API nodes for ComfyUI" pack, calling the stable-image/control/structure endpoint. Zero VRAM, nothing to download, but it costs credits per call and needs a Stability API key. The community has been openly lukewarm on this whole pack - "not local, not interested" - and if you've already got a working ControlNet workflow, you have more control than this node gives you. This is for when you want the structure-controlled result without owning the machinery, or you're on a machine that can't run it.

How it works

The input image is interpreted server-side as the structure condition - think pose and layout rather than pixel content. Your prompt supplies the new subject and scene. What you actually tune:

  • control_strength (0.01–1.0, default 0.7) - the control weight, same idea as a local ControlNet weight. High keeps the structure rigid; low lets the prompt wander. If your output barely resembles the input's layout, you're too low. If it's a photocopy with a new coat of paint, you're too high.
  • prompt - the new content. This is where the scene, subject, and style-of-content go.
  • negative_prompt - the usual steering.
  • seed - reproducibility.

Then the pack's shared bits: style + style_preset (preset ignored unless style is true - the recurring quirk), output_format for png/webp/jpeg. One IMAGE out, straight into Save Image or anything downstream.

Installing it

Part of the "Stability API nodes for ComfyUI" pack - ComfyUI Manager, or:

cd ComfyUI/custom_nodes
git clone https://github.com/Stability-AI/ComfyUI-SAI_API
# restart ComfyUI

No model downloads, no requirements.txt beyond requests (already present on any real ComfyUI install). Key setup: SAI_API_KEY env var, a sai_platform_key.txt file beside the node, or api_key_override per node - the last one rides along in the workflow JSON, so don't share those.

Common issues

  • Structure ignored - control_strength too low, or your prompt is fighting the condition with details the structure can't support. Drop the prompt to a simple description and raise the strength.
  • Garbage in, garbage out - feed a clean reference. A noisy, compressed, or badly upscaled input makes a bad structure map, and the server doesn't clean it up for you.
  • Wrong control node - people grab this expecting a style transfer. That's Control Style. This one preserves arrangement, not appearance.

If you need pose/layout fidelity without a ControlNet stack, this is the least-effort path in the pack. Just remember the structure map is whatever the server decides to extract - you don't get to pick the preprocessor, and you can't run it locally when the credits run out.

CategoryStability

Inputs (9)

NameTypeDefaultDescription
imageIMAGE
promptSTRING
control_strengthoptFLOAT0.700.01–1
negative_promptoptSTRING
seedoptINT00–4294967294
styleoptBOOLEANfalse
style_presetoptCOMBO17 options: 3d-model, analog-film, anime, cinematic, comic-book, digital-art, +11
output_formatoptCOMBO3 options: png, webp, jpeg
api_key_overrideoptSTRING

Outputs (1)

NameTypeDescription
IMAGEIMAGE