---
title: "sdxl-turbo"
publisher: "stabilityai"
type: "endpoint"
updated: "2025-07-20T16:35:20.662Z"
description: "A fast generative text-to-image model that can synthesize photorealistic images from a text prompt in a single network evaluation"
canonical: "https://build.nvidia.com/stabilityai/sdxl-turbo"
---

# Model Overview

## Note: You need to request the model checkpoint and license from Stability AI
Request the model checkpoint from [Stability AI](https://stability.ai/membership)

## Description:

SDXL-Turbo, a distilled variant of SDXL 1.0, empowers real-time image synthesis via Adversarial Diffusion Distillation (ADD). ADD enables high-fidelity sampling from large-scale image diffusion models in 1-4 steps. Employing score distillation for leveraging teacher signals from pre-trained models, ADD seamlessly integrates an adversarial loss, guaranteeing image fidelity even at minimal sampling steps (1-2).

Developed by: Stability AI
Funded by: Stability AI
Model type: Generative image-to-video model
Finetuned from model: SDXL 1.0 Base 

## Terms of use

By using this software or model, you are agreeing to the terms and conditions of the [license](https://huggingface.co/stabilityai/stable-video-diffusion-img2vid/blob/main/LICENSE), [acceptable use policy](https://stability.ai/use-policy#:~:text=If%20you%20access%2C%20use%2C%20or,Stability%20Technology%20safely%20and%20responsibly.) and Stability’s [privacy policy](https://stability.ai/privacy-policy).

## References(s):

* [Introducing SDXL Turbo - Stability.ai](https://stability.ai/news/stability-ai-sdxl-turbo)
* [SDXL-Turbo on Huggingface](https://huggingface.co/stabilityai/sdxl-turbo)
* [SDXL-Turbo paper](https://stability.ai/research/adversarial-diffusion-distillation)

## Model Architecture: 
**Architecture Type:** Transformer and Convolutional Neural Network (CNN) 
**Network Architecture:** UNet + attention blocks 
**Model Version:** SDXL Turbo 

## Input:
**Input Format:** Text, Image (Optional) 
**Input Parameters:** inference_steps, seed, prompt_strength (for an image input) 

## Output:
**Output Format:** Red, Green, Blue (RGB) Image 
**Output Parameters:** seed 

## Software Integration:
**Supported Hardware Platform(s):** Hopper, Ampere/Turing 
**Supported Operating System(s):** Linux 

# Inference:
**Engine:** [Triton](https://developer.nvidia.com/triton-inference-server) 
**Test Hardware:** Other

# Request Model Checkpoint:
You can request the model checkpoint from [Stability AI](https://stability.ai/membership)

## Prototype

```bash
invoke_url='https://ai.api.nvidia.com/v1/genai/stabilityai/sdxl-turbo'

authorization_header="Authorization: Bearer $NVIDIA_API_KEY"
accept_header='Accept: application/json'
content_type_header='Content-Type: application/json'

data='{
"text_prompts": [{"text": ""}],
"seed": ,
"sampler": "",
"steps": 
}'

response=$(curl --silent -i -w "\n%{http_code}" --request POST \
--url "$invoke_url" \
--header "$authorization_header" \
--header "$accept_header" \
--header "$content_type_header" \
--data "$data"
)

http_code=$(echo "$response" | tail -n 1)

echo "$response" | awk '/{/,EOF-1'
```

```javascript
import fetch from "node-fetch";

const invokeUrl = "https://ai.api.nvidia.com/v1/genai/stabilityai/sdxl-turbo"

const headers = {
"Authorization": "Bearer $NVIDIA_API_KEY",
"Accept": "application/json",
}

const payload = {
"text_prompts": [{"text": ""}],
"seed": ,
"sampler": "",
"steps": 
}

let response = await fetch(invokeUrl, {
method: "post",
body: JSON.stringify(payload),
headers: { "Content-Type": "application/json", ...headers }
});

if (response.status != 200) {
let errBody = await (await response.blob()).text()
throw "invocation failed with status " + response.status + " " + errBody
}
let response_body = await response.json()
console.log(JSON.stringify(response_body))
```

```python
import requests

invoke_url = "https://ai.api.nvidia.com/v1/genai/stabilityai/sdxl-turbo"

headers = {
"Authorization": "Bearer $NVIDIA_API_KEY",
"Accept": "application/json",
}

payload = {
"text_prompts": [{"text": ""}],
"seed": ,
"sampler": "",
"steps": 
}

response = requests.post(invoke_url, headers=headers, json=payload)

response.raise_for_status()
response_body = response.json()
print(response_body)
```