Skip to main content
API Reference for stability/sdxl-1.0-image-to-image, served by Comfy Router from Stability. Input: Text, Image · Output: Image

Quick start

Create a key in your Comfy workspace and export it as COMFY_API_KEY. The Python and TypeScript snippets use the Comfy SDKs (pip install comfy-sdk and npm install @comfyorg/sdk); the cURL snippet is the same call over raw HTTP. Model ID: stability/sdxl-1.0-image-to-image Endpoint: POST https://api.comfy.org/v2/models/stability/sdxl-1.0-image-to-image
The same body, sent to POST https://api.comfy.org/v2/models/stability/sdxl-1.0-image-to-image/requests. Router answers 201 with a request_id as soon as the run is admitted, and the result is collected once it is ready, from this process or another one. Queued delivery walks through status, cancellation and collection.

Schema

Input

number
How strictly the image follows the prompt. Default 7.Range: 0 to 35
string
Stability’s CLIP guidance preset, for example NONE.
object
Accepted for compatibility and ignored.
integer
Text-to-image only. Output height; must form one of SDXL 1.0’s supported sizes with width. Default 1024.
number
Image-to-image only. How much of the source image to keep.Range: 0 to 1
string (uri)
Image-to-image only, required there. A Comfy-signed asset URL of the source image.Format: uri
string
Image-to-image only. Whether image_strength or the step schedule controls how much the source image is kept. Default IMAGE_STRENGTH.Possible values: IMAGE_STRENGTH, STEP_SCHEDULE
string
Stability’s sampler name, for example K_DPMPP_2M.
integer
Number of images to generate. Default 1. Each image returned is billed.Range: 1 to 10
integer
Seed for the whole batch. 0 or omitted picks a random seed.Range: 0 to …
number
Image-to-image only, with init_image_mode STEP_SCHEDULE.Range: 0 to 1
number
Image-to-image only, with init_image_mode STEP_SCHEDULE.Range: 0 to 1
integer
Diffusion steps. Default 30.Range: 10 to 30
string
Stability style preset, for example photographic.
object[]
required
Prompts, each with an optional weight. A negative weight makes it a negative prompt.
string
required
number
integer
Text-to-image only. Output width; must form one of SDXL 1.0’s supported sizes with height. Default 1024.
Generated from the schema Router serves at GET /v2/models/stability/sdxl-1.0-image-to-image/openapi.json, the same document it validates a call against before the request reaches the provider.

Output

string
required
Always SUCCESS on a 200.
string (uri)
required
Comfy-signed URL of the (first) PNG image, valid for up to 24 hours.Format: uri
string (uri)[]
SDXL only, when more than one image was returned. Every Comfy-signed image URL, in output order, each valid for up to 24 hours.
integer
required
The seed the image was generated with.

Examples

Input

Output

Before you ship

The SDKs create an Idempotency-Key and reuse it for automatic retries. For manual retries, reuse the original key. Router can hold the connection for up to 10 minutes. When a request fails, Router sends an X-Comfy-Error-Type response header explaining why. A 422 means Router rejected the input before calling the provider, and a 413 means the request body was larger than Router accepts. Download generated assets promptly because result URLs can expire. Any size limit named in a field description above is the provider’s own bound on that field, quoted from the provider’s specification. Router applies a separate cap to the whole request body, which base64-encoded media counts against: see request body size. This page documents one partner model called through Comfy Router. The same comfy-sdk / @comfyorg/sdk package also ships a second client, for running a whole ComfyUI workflow graph on Comfy Cloud: Comfy(api_key=...) / new Comfy({ apiKey }), with client.workflows, client.assets and client.jobs. See Comfy SDKs.

Headers

Authentication, idempotency, request IDs, error buckets, retry pacing, spend limits.

Using the Router API

Model discovery, validation errors, retries, and billing.

Limitations

What Router does not do today, and what to use instead.