image/sdxl-turbo@1
One prompt in, one PNG out, from stabilityai/sdxl-turbo in half precision with the fp16-fixed SDXL VAE, without classifier-free guidance (the model is trained to run without it).
A unit
Section titled “A unit”One image at 512x512 in 2 steps (the default), or at any other size and step count that is no more work. Width and height are multiples of 64 from 256 to 768 and steps run from 1 to 4, with width x height at most 262,144 (512x512) and width x height x steps at most 524,288 (512x512 at 2 steps): for example 640x384 or 768x320 in 2 steps, 384x384 in 3, 256x256 in 4. A unit outside these fails with the reason before the GPU does any work.
Manifest fields
Section titled “Manifest fields”| Field | Required | Meaning |
|---|---|---|
prompt |
yes | the text to draw; the text encoders read its first 77 tokens |
seed |
no | an integer that fixes the starting noise; 0 by default |
width, height |
no | 512 by default |
steps |
no | 2 by default |
unit_id |
no | your name for the unit: 1 to 64 letters, digits, ., _ or -, starting with a letter or digit; its results are stored under it. By default units are numbered by line: 000000, 000001, … |
Example
Section titled “Example”prompts.jsonl:
{"prompt": "a red bicycle leaning on a brick wall", "seed": 1}{"prompt": "an isometric voxel city at dusk", "seed": 2, "width": 640, "height": 384}{"unit_id": "fox", "prompt": "a watercolor fox in deep snow", "seed": 3, "width": 384, "height": 384, "steps": 3}job.yaml:
name: first imagestemplate: image/sdxl-turbo@1input: prompts.jsonlWhat comes back
Section titled “What comes back”image.png for each unit, at the size asked for. Each unit’s directory also holds done.json: {"unit_id": ..., "artifacts": ["image.png"], "seconds": ...}.
Limits
Section titled “Limits”- A GPU with at least 16 GB of memory, 4 CPUs, 16 GB of memory and 20 GB of scratch disk.
- 120 s per unit. A unit still running then is stopped and tried again, up to the job’s attempts (
unit.max_attempts: 3 by default, 1 to 10), and a unit that never completes is not billed. - Checkpointing is allowed, but it is best effort today: interrupted units usually start again from the beginning (see guarantees). A unit is billed once either way.
- A manifest line is at most 65,536 characters and a manifest at most 32 MiB.
Price per unit: see pricing.
Benchmarks
Section titled “Benchmarks”The price is measured on default units (512x512 in 2 steps, six prompts), on each GPU class in the fleet. The timings are measured on GPU hosts at launch.