API reference · Stability AI
stability-ai/sdxl-controlnet-union
Integrate this model through SandBase's unified API, with production-ready schemas and examples.
Production endpoint
Send your first request
OpenAI-compatible endpoint with unified authentication and usage tracking.
POST
https://api.sandbase.ai/v1/runModel ID
stability-ai/sdxl-controlnet-union01
Input Schema
24 parameters · 1 required · 23 optional
| Parameter | Type | Required | Description |
|---|---|---|---|
prompt | string | Required | The prompt to use for generating the image. Be as descriptive as possible for best results. |
seed | integer | Optional | The same seed and the same prompt given to the same version of Stable Diffusion will output the same image every time. · Default: null |
loras | object[] | Optional | The list of LoRA weights to use. · Default: [] |
format | string | Optional | The format of the generated image. · Options: jpeg, png · Default: "jpeg" jpegpng |
embeddings | object[] | Optional | The list of embeddings to use. · Default: [] |
request_id | string | Optional | An id bound to a request, can be used with response to identify the request itself. · Default: "" |
aspect_ratio | string | Optional | The aspect ratio of the generated image. · Options: 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16 21:916:93:24:35:41:14:53:42:39:16 |
expand_prompt | boolean | Optional | If set to true, the prompt will be expanded with additional prompts. · Default: false |
guidance_scale | number | Optional | The CFG (Classifier Free Guidance) scale is a measure of how close you want the model to stick to your prompt when looking for a related image to show you. · Min: 0 · Max: 20 · Default: 7.5 |
teed_image_url | string | Optional | The URL of the control image. · Default: null |
canny_image_url | string | Optional | The URL of the control image. · Default: null |
depth_image_url | string | Optional | The URL of the control image. · Default: null |
teed_preprocess | boolean | Optional | Whether to preprocess the teed image. · Default: true |
canny_preprocess | boolean | Optional | Whether to preprocess the canny image. · Default: true |
depth_preprocess | boolean | Optional | Whether to preprocess the depth image. · Default: true |
normal_image_url | string | Optional | The URL of the control image. · Default: null |
normal_preprocess | boolean | Optional | Whether to preprocess the normal image. · Default: true |
openpose_image_url | string | Optional | The URL of the control image. · Default: null |
num_inference_steps | integer | Optional | The number of inference steps to perform. · Min: 1 · Max: 70 · Default: 35 |
openpose_preprocess | boolean | Optional | Whether to preprocess the openpose image. · Default: true |
safety_checker_version | string | Optional | The version of the safety checker to use. v1 is the default CompVis safety checker. v2 uses a custom ViT model. · Options: v1, v2 · Default: "v1" v1v2 |
segmentation_image_url | string | Optional | The URL of the control image. · Default: null |
segmentation_preprocess | boolean | Optional | Whether to preprocess the segmentation image. · Default: true |
controlnet_conditioning_scale | number | Optional | The scale of the controlnet conditioning. · Min: 0 · Max: 1 · Default: 0.5 |
02
Output Schema
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the generation task |
status | string | Task status: pending, running, completed, failed, timeout |
model | string | Model used for the generation |
outputs | array | Array of output items |
outputs[].url | string | URL of the generated artifact |
outputs[].content_type | string | MIME type (e.g. image/png, video/mp4) |
error | object | null | Error details if failed, null on success |
error.type | string | Machine-readable error type code |
error.message | string | Human-readable error description |
Async Workflow
This model uses asynchronous execution. Submit a request and poll for the result.
- Submit — POST to /v1/run, receive an
id - Poll — GET /v1/run/{id} until status is
completed,failed, ortimeout - Retrieve — Read
outputsfrom the completed response
03
Code Examples
Ready-to-run snippets
# Step 1: Submit
curl -X POST https://api.sandbase.ai/v1/run \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "stability-ai/sdxl-controlnet-union",
"seed": null,
"loras": [],
"format": "jpeg",
"prompt": "Ice fortress, aurora skies, polar wildlife, twilight",
"embeddings": [],
"request_id": "",
"expand_prompt": false,
"guidance_scale": 7.5,
"teed_image_url": "https://fal-cdn.batuhan-941.workers.dev/files/rabbit/MiN_j3St9B8esJleCZKMU.jpeg",
"canny_image_url": "https://fal-cdn.batuhan-941.workers.dev/files/rabbit/MiN_j3St9B8esJleCZKMU.jpeg",
"depth_image_url": "https://fal-cdn.batuhan-941.workers.dev/files/rabbit/MiN_j3St9B8esJleCZKMU.jpeg",
"teed_preprocess": true,
"canny_preprocess": true,
"depth_preprocess": true,
"normal_image_url": "https://fal-cdn.batuhan-941.workers.dev/files/rabbit/MiN_j3St9B8esJleCZKMU.jpeg",
"normal_preprocess": true,
"openpose_image_url": "https://fal-cdn.batuhan-941.workers.dev/files/rabbit/MiN_j3St9B8esJleCZKMU.jpeg",
"num_inference_steps": 35,
"openpose_preprocess": true,
"safety_checker_version": "v1",
"segmentation_image_url": "https://fal-cdn.batuhan-941.workers.dev/files/rabbit/MiN_j3St9B8esJleCZKMU.jpeg",
"segmentation_preprocess": true,
"controlnet_conditioning_scale": 0.5
}'
# Step 2: Poll result (replace <id>)
curl https://api.sandbase.ai/v1/run/<id> \
-H "Authorization: Bearer YOUR_API_KEY"
