Nodes/ComfyUI_RunpodNodes/RunPod SDXL (Custom Endpoint)
ComfyUI Node

RunPod SDXL (Custom Endpoint)

Your SDXL worker, driven from the canvas

By tcarwash·Created 8 months ago·Updated 8 months ago· 0
RunPod SDXL (Custom Endpoint)
    • IMAGE
    api_key
    endpoint
    prompt
    negative_prompt
    width1024
    height1024
    seed-1
    steps25
    refiner_inference_steps50
    guidance_scale7.50
    strength0.30
    high_noise_frac0.80
    schedulerDDIM
    image_url

    Like its sibling RunPodImageNodeSD, this is a client for your own RunPod serverless worker - specifically an SDXL one. Paste your endpoint ID and API key, dial in the prompt and sampler settings, and the node turns your canvas inputs into a job for your worker. It's the SDXL flavor of the pack's "custom serverless" trio, with the fuller param set that SDXL's two-stage generation deserves.

    The pitch is the same as the SD node: you run ComfyUI somewhere weak but you've got a RunPod serverless SDXL deployment, or you want the pay-per-second-GPU economics without a local card. Where this node differs from its SD sibling is the refiner plumbing - it exposes refiner_inference_steps, high_noise_frac, strength, and a scheduler string, which is the shape of the classic base + refiner SDXL pipeline. If your worker template is the standard RunPod SDXL one, the field names line up.

    How it works

    The pack's shared async machinery with an endpoint input: POST to https://api.runpod.ai/v2/<your-endpoint-id>/run, poll until done, decode the image to an IMAGE tensor. The payload uses SDXL-style field names (num_inference_steps, guidance_scale, scheduler, high_noise_frac, refiner_inference_steps), so the worker on the other end needs to speak that dialect.

    The inputs that matter

    • api_key - RunPod key.
    • endpoint - your deployed worker's endpoint ID. The field that makes this your node for your worker.
    • prompt / negative_prompt - the generation text; SDXL does real CFG, so negative prompts matter.
    • width / height - default 1024², SDXL's native range (up to 2048).
    • steps - default 25; refiner_inference_steps - default 50, the second-stage count.
    • guidance_scale - default 7.5.
    • strength - default 0.3, and high_noise_frac - default 0.8: together they control how much of the denoise the refiner sees. The classic SDXL refiner split.
    • scheduler - free-text, default DDIM. Match your worker's expectations.
    • image_url - a URL for img2img when you want to run from an image rather than pure text.
    • seed - -1 random; set it to reproduce.

    What comes out

    One image output (IMAGE). Save, preview, chain an upscaler - normal tensor.

    Installing it

    One of the four custom nodes in tcarwash/ComfyUI_RunpodNodes. ComfyUI Manager: search ComfyUI_RunpodNodes, or

    cd ComfyUI/custom_nodes
    git clone https://github.com/tcarwash/ComfyUI_RunpodNodes
    

    then restart. No extra dependencies - the pack only needs what ComfyUI already ships. You need a RunPod key and a deployed SDXL serverless endpoint.

    Gotchas

    • The worker is the contract - the node sends a specific payload shape; if your worker template differs (different template, custom script), fields silently no-op or the job fails. Test with the worker's own docs first.
    • Refiner fields only do something if your worker runs a refiner - strength and high_noise_frac are the base/refiner split; a single-model worker ignores the intent.
    • Serverless metering - per-second GPU billing, cold starts, idle costs. Keep the worker warm only if you actually use it.
    • scheduler and sampler_name are free text across this pack - no dropdowns to save you from a typo.

    The bottom line: if you've gone through the work of deploying an SDXL worker, this node is the cleanest way to drive it from ComfyUI. If you haven't, the public-endpoint image nodes in this pack get you an image with a fraction of the setup - SDXL serverless is for people who already made that choice.

    CategoryRunPod/Custom Serverless

    Inputs (14)

    NameTypeDefaultDescription
    api_keySTRING
    endpointSTRING
    promptSTRING
    negative_promptSTRING
    widthINT102464–2048
    heightINT102464–2048
    seedINT-1
    stepsINT251–100
    refiner_inference_stepsINT501–200
    guidance_scaleFLOAT7.501–20
    strengthFLOAT0.300–1
    high_noise_fracFLOAT0.800–1
    schedulerSTRINGDDIM
    image_urlSTRING

    Outputs (1)

    NameTypeDescription
    IMAGEIMAGE