Z-Image Turbo

z-image-turboOur GPUsText to image

Tongyi-MAI's 8-step distilled Z-Image Turbo on VelvetAPI's own GPUs: fast, photorealistic text to image.

Inputs

Send these in the task's input object. Only required fields are needed; GET /v1/models/z-image-turbo returns them as a JSON Schema.

FieldTypeDefaultDetails
promptrequiredstring—

What to draw. Z-Image Turbo reads the first ~512 tokens (about 2,000 characters of English) and ignores the rest.

up to 20,000 characters

widthinteger—

Multiple of 16, 512-2048. Defaults to 1024.

512 to 2,048 · multiple of 16

heightinteger—

Multiple of 16, 512-2048. Defaults to 1024.

512 to 2,048 · multiple of 16

stepsinteger—

Sampling steps (default 8).

4 to 16

seedinteger—

0 to 2,147,483,647

num_imagesinteger1

1 to 4

output_formatstring"jpeg"

one of jpeg, png, webp

Example

Create a task with your API key, then poll it or pass a webhook_url. user is your own id for the end user who asked for the image.

curl https://api.velvetapi.dev/v1/tasks \
  -H "Authorization: Bearer $VELVET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "z-image-turbo",
  "user": "user-123",
  "input": {
    "prompt": "A candid photograph of a woman with auburn hair reading on a sunlit balcony, soft morning light, 35mm film grain."
  }
}'

Response 202 Accepted

{
  "id": "0b9c6c2e-4d3f-4a51-9a8e-2f7d1c3b5a90",
  "object": "task",
  "model": "z-image-turbo",
  "state": "queued",
  "user": "user-123",
  "price_usd": 0.006,
  "outputs": [],
  "error": null,
  "meta": {},
  "created_at": "2026-10-20T06:31:00.000Z",
  "started_at": null,
  "finished_at": null
}

Next: tasks and webhooks, errors and the API reference.