At a glance
The SDXL Plus API runs SDXL Plus through Mage at POST https://api.mage.space/v1/sdxl_plus/generate. A request at the default settings costs 15 Gems (about $0.015), with no subscription. SDXL Plus takes no @handle mentions.
Image
Output
1
Variant
15
Gems per image, default
$0.015
About, in USD
Overview
What the SDXL Plus API does
Our high-detail SDXL pipeline with automatic face and hand cleanup. Text-to-image or from one input image; slower than plain SDXL, and worth it.
Mage's high-detail SDXL pipeline with automatic face and hand cleanup, with an optional input image.
It accepts image as inputs.
Quick start
Call the SDXL Plus API
Set MAGE_API_KEY, submit to /sdxl_plus/generate, and poll status_url until the request completes.
cURL
STATUS_URL=$(curl --request POST 'https://api.mage.space/v1/sdxl_plus/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"Python
import os, time, requests
headers = {"Authorization": f"Bearer {os.environ['MAGE_API_KEY']}"}
request = requests.post(
"https://api.mage.space/v1/sdxl_plus/generate",
headers=headers,
json={
"prompt": "Editorial portrait in soft daylight, 35mm film look",
"aspect_ratio": "4:5",
"model_id": "6A35A7855770AE9820A3C931D4964C3817B6D9E3C6F9C4DABB5B3A94E5643B80"
},
).json()
while request["status"] in ("queued", "in_progress"):
time.sleep(3)
request = requests.get(request["status_url"], headers=headers).json()
print(request["status"], request["result"] and request["result"]["url"])JavaScript
const headers = {
Authorization: `Bearer ${process.env.MAGE_API_KEY}`,
'Content-Type': 'application/json',
};
let request = await fetch('https://api.mage.space/v1/sdxl_plus/generate', {
method: 'POST',
headers,
body: JSON.stringify({
"prompt": "Editorial portrait in soft daylight, 35mm film look",
"aspect_ratio": "4:5",
"model_id": "6A35A7855770AE9820A3C931D4964C3817B6D9E3C6F9C4DABB5B3A94E5643B80"
}),
}).then((response) => response.json());
while (['queued', 'in_progress'].includes(request.status)) {
await new Promise((resolve) => setTimeout(resolve, 3000));
request = await fetch(request.status_url, { headers }).then((r) => r.json());
}
console.log(request.status, request.result?.url);Models
SDXL Plus model_id values
Send model_id to pick a variant. A request without one runs the default.
| model_id | Name | Default |
|---|---|---|
| 6A35A7855770AE9820A3C931D4964C3817B6D9E3C6F9C4DABB5B3A94E5643B80 | SDXL Plus | Yes |
Options
SDXL Plus 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 SDXL Plus 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
Image · from 10 Gems
Stable Diffusion v1.5 API
The classic, on a budget
Image · from 10 Gems
Stable Diffusion v3.5 Large API
The Stable Diffusion that listens best
Image · from 10 Gems
Stable Diffusion XL API
Photoreal-tuned SDXL
Image · from 10 Gems
Z-Image API
The fastest image model on Mage
Image · from 20 Gems
Anima API
Purpose-built for anime
Image · from 35 Gems
Chroma API
Open-weights, built on Flux
FAQ
Frequently asked questions
How much does the SDXL Plus API cost?
A SDXL Plus request at the default settings (SDXL Plus) costs 15 Gems, about $0.015. Other resolutions, durations, and variants change the price; the response reports the exact charge. A generation that fails is refunded; one Mage's content policy blocks is not.
What is the SDXL Plus API endpoint?
POST https://api.mage.space/v1/sdxl_plus/generate with an Authorization: Bearer header carrying your Mage API key. The response includes a status_url to poll for the result.
Which SDXL Plus models can I call?
6A35A7855770AE9820A3C931D4964C3817B6D9E3C6F9C4DABB5B3A94E5643B80. The default is SDXL Plus.
Does SDXL Plus support reference images or characters?
SDXL Plus accepts image. SDXL Plus takes no @handle mentions.
Can I use SDXL Plus from Claude or ChatGPT?
Yes. Connect the Mage MCP server to Claude, ChatGPT, Claude Code, Grok, or Cursor and ask for SDXL Plus by name. Your assistant reads its options with get_model and quotes the price before it generates.
How long are SDXL Plus results kept?
Results and inputs are kept for 30 days. Download anything you want to keep to your own storage.
Start building with Mage
One account, one Gems balance, every model. Pay only for what you generate.