Nodes/Customizable API Call Nodes by BillBum/Stable Diffusion 3 API Node
ComfyUI Node

Stable Diffusion 3 API Node

Stable Diffusion 3 as an API call — sd3-core presets included

By AhBumm·Created 2 years ago·Updated 3 months ago· 11
Stable Diffusion 3 API Node
    • image_url
    prompt
    negative_prompt
    modelsd3-ultra
    aspect_ratio
    seed0
    api_urlhttps://api.hyprlab.io/v1/images/generations
    api_keyYOUR_API_KEY_HERE
    style_preset

    Let's get the uncomfortable part out of the way: Stability's own SD3 API is effectively gone. The sd3-ultra / sd3-medium endpoints that once lived at Stability's paid API shut down, and the SD3 family's own story is a saga of licensing reversals and community disappointment (there's a reason almost nobody built on it). So this node isn't really "Stability's API" - it's an OpenAI-style images/generations caller preconfigured with SD3's parameter vocabulary, and it only works if some provider in front of you actually serves an SD3 model. The default URL is HyprLab, the author's OpenAI-compatible aggregator, which was serving SD3-style models.

    That reframe matters because it tells you when this node is worth your time: you have an endpoint that offers SD3 (or an SD3-compatible model) and you want it inside a ComfyUI graph without local weights. If you don't, this node is a very well-labeled dead end.

    How it works

    One POST, one parse. The node builds a payload with model, prompt, negative_prompt, aspect_ratio, seed, response_format: "url", and output_format: "webp", sends it to api_url with a Bearer token, and pulls data[0]["url"] out of the OpenAI-style response. It prints the HTTP status and raw response to the console as it goes - genuinely useful for debugging, mildly noisy otherwise.

    The neat detail is style_preset. The dropdown has 19 options (3d-model, analog-film, anime, cinematic, photographic...) plus two sentinel values: None and "Only sd3-core support". Look at the code and you'll see the preset is only sent when the model is sd3-core. On any other model it's silently ignored - the dropdown is a hint that style presets were an sd3-core feature, not a bug in your setup.

    The inputs that matter

    • prompt and negative_prompt - SD3 takes both, a rarity among the pack's image nodes.
    • model - default sd3-ultra. Set it to whatever your provider names (often sd3-core).
    • aspect_ratio - nine presets from 1:1 through 21:9, 9:16, etc. SD3-era API style, no pixel sizes here.
    • seed - 0 to 4294967294.
    • style_preset - only meaningful with sd3-core, as above.
    • api_url / api_key - the provider. Defaults: HyprLab + YOUR_API_KEY_HERE.

    Output: image_url (STRING) - a URL, not an IMAGE. Chain it into a load-image-from-URL node (the pack's "Load Image from URL" accepts both URLs and data URIs) to get a tensor you can preview or edit.

    Installing it

    Ships in AhBumm/ComfyUI_BillBum_Nodes. ComfyUI Manager: search "billbum". Manual:

    cd ComfyUI/custom_nodes
    git clone https://github.com/AhBumm/ComfyUI_BillBum_APIset_Nodes.git
    cd ComfyUI_BillBum_APIset_Nodes && pip install -r requirements.txt
    

    Restart ComfyUI. Dependencies are the pack's light set - requests, pillow, numpy - no local weights, no VRAM. The model lives on the server.

    Where people get burned

    • Model not found. This is the big one. sd3-ultra doesn't exist on most providers anymore. Check what your endpoint actually offers; the README's rule applies directly: "model errors → confirm the selected model is actually available on the provider."
    • Style preset silently ignored on non-core models - expected behavior, not a bug, per the source.
    • URL output, not pixels. Remember the conversion step.

    If you genuinely have an SD3-serving endpoint, this is the cleanest way in. If you don't, skip it - the same pack's generic image-generation node is a more future-proof bet.

    CategoryBillBum_API

    Inputs (8)

    NameTypeDefaultDescription
    promptSTRING
    negative_promptSTRING
    modelSTRINGsd3-ultra
    aspect_ratioCOMBO9 options: 1:1, 16:9, 21:9, 2:3, 3:2, 4:5, +3
    seedINT00–4294967294
    api_urlSTRINGhttps://api.hyprlab.io/v1/images/generations
    api_keySTRINGYOUR_API_KEY_HERE
    style_presetCOMBO19 options: Only sd3-core support, None, 3d-model, analog-film, anime, cinematic, +13

    Outputs (1)

    NameTypeDescription
    image_urlSTRING