Mage API · Image model
Stable Diffusion XL API
Photoreal-tuned SDXL
POST https://api.mage.space/v1/stable_diffusion_xl/generateAt a glance
The Stable Diffusion XL API runs Stable Diffusion XL through Mage at POST https://api.mage.space/v1/stable_diffusion_xl/generate. A request at the default settings costs 10 Gems (about $0.01), with no subscription. Stable Diffusion XL takes no @handle mentions.
- ImageOutput
- 1Variant
- 10Gems per image, default
- $0.01About, in USD
Overview
What the Stable Diffusion XL API does
Classic Stable Diffusion XL, tuned for photoreal output. Text-to-image or from one input image, at a budget price.
Stable Diffusion XL, tuned for photoreal output, with an optional input image.
It accepts image as inputs.
Quick start
Call the Stable Diffusion XL API
Set MAGE_API_KEY, submit to /stable_diffusion_xl/generate, and poll status_url until the request completes.
cURL
STATUS_URL=$(curl --request POST 'https://api.mage.space/v1/stable_diffusion_xl/generate' \
--header "Authorization: Bearer $MAGE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"prompt": "Editorial portrait in soft daylight, 35mm film look",
"aspect_ratio": "4:5",
"model_id": "6A35A7855770AE9820A3C931D4964C3817B6D9E3C6F9C4DABB5B3A94E5643B80"
}' | jq -r '.status_url')
# Repeat until status is "completed"; result.url is the file
curl "$STATUS_URL" --header "Authorization: Bearer $MAGE_API_KEY"TypeScript
// npm install @mage-space/sdk
import Mage from '@mage-space/sdk';
const mage = new Mage(); // reads MAGE_API_KEY
const request = await mage.run('stable_diffusion_xl', {
prompt: 'Editorial portrait in soft daylight, 35mm film look',
aspect_ratio: '4:5',
model_id: '6A35A7855770AE9820A3C931D4964C3817B6D9E3C6F9C4DABB5B3A94E5643B80',
});
console.log(request.result.url);Python
# pip install mage-space
from mage_space import Mage
mage = Mage() # reads MAGE_API_KEY
request = mage.run("stable_diffusion_xl", {
"prompt": "Editorial portrait in soft daylight, 35mm film look",
"aspect_ratio": "4:5",
"model_id": "6A35A7855770AE9820A3C931D4964C3817B6D9E3C6F9C4DABB5B3A94E5643B80",
})
print(request["result"]["url"])Models
Stable Diffusion XL model_id values
Send model_id to pick a variant. A request without one runs the default.
| model_id | Name | Default |
|---|---|---|
| 6A35A7855770AE9820A3C931D4964C3817B6D9E3C6F9C4DABB5B3A94E5643B80 | Stable Diffusion XL | Yes |
Options
Stable Diffusion XL parameters
Allowed values across all variants; a variant may offer fewer. The docs list the options per variant.
| Field | Values |
|---|---|
| aspect_ratio | 21:9, 16:9, 3:2, 5:4, 1:1, 4:5, 2:3, 9:16, 9:21 |
Inputs
Media inputs Stable Diffusion XL accepts
Send each as an https URL, a data URL, or an upload of up to 100 MB.
| Field | Role |
|---|---|
| image | The reference image. |
More image models
Other image generation APIs on Mage
Z-Image API
The fastest image model on Mage
Anima API
Purpose-built for anime
Chroma API
Open-weights, built on Flux
Flux 2 API
Long prompts and multi-reference edits
GPT Image 2 API
Precise prompts and readable text
Grok Image API
Grok Imagine, in two tiers
FAQ
Frequently asked questions
How much does the Stable Diffusion XL API cost?
What is the Stable Diffusion XL API endpoint?
Which Stable Diffusion XL models can I call?
Does Stable Diffusion XL support reference images or characters?
Can I use Stable Diffusion XL from Claude or ChatGPT?
How long are Stable Diffusion XL results kept?
Start building with Mage
One account, one Gems balance, every model. Pay only for what you generate.