# z-image/turbo

> Z-Image-Turbo is a 6 billion parameter text-to-image model that generates photorealistic images in sub-second time. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

- **Provider:** AirCube
- **Category:** text-to-image
- **Price:** $0.0100 per run

## Key Features

- Ultra-fast generation — only 8 sampling steps, delivering sub-second inference for production workloads.
- 6 built-in style presets — Professional, Realistic, Revolution, Anime, Reality, and Basic for diverse visual needs.
- Photorealistic output — high-fidelity images suitable for product photos, hero banners, and UI visuals.
- Bilingual prompt support — understands prompts in English and Chinese, and renders multilingual text directly in images.
- Three resolution tiers — generate at 1k, 2k, or 4k to balance speed and detail.
- Low cost — starting at $0.01 per image, ideal for bulk generation workloads.

## Parameters

| Parameter | Required | Description |
| --- | --- | --- |
| `prompt` | Yes | Natural-language description of the scene, style, and any on-image text. |
| `aspect_ratio` | No | Aspect ratio: 1:1 (default), 9:16, 16:9, 4:3, 3:4, 3:2, 2:3. |
| `resolution` | No | Output resolution: '1k' (default), '2k', or '4k'. |

## How to Use

1. Write a detailed prompt describing your desired image — subject, style, lighting, composition.
2. Select a style preset to control the visual aesthetic of the output.
3. Select an aspect ratio from the 7 available options.
4. Choose resolution: 1k for fast iteration, 2k for production, 4k for maximum detail.

## Code Examples

### Python

```python
import os
import requests

response = requests.post(
    "https://aircube.ai/api/v3/z-image/turbo",
    headers={
        "Authorization": "Bearer " + os.environ["AIRCUBE_API_KEY"],
        "Content-Type": "application/json",
    },
    json={
    "prompt": "A cinematic shot of a futuristic city at sunset, soft golden light reflecting off glass towers",
    "aspect_ratio": "16:9",
    "resolution": "2k"
},
    timeout=300,
)
data = response.json()

if data["success"]:
    print("ID:", data["data"]["id"], "Status:", data["data"]["status"])
else:
    print("Error:", data["error"]["message"])
```

### Node.js

```javascript
const response = await fetch("https://aircube.ai/api/v3/z-image/turbo", {
  method: "POST",
  headers: {
    "Authorization": "Bearer " + process.env.AIRCUBE_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
  "prompt": "A cinematic shot of a futuristic city at sunset, soft golden light reflecting off glass towers",
  "aspect_ratio": "16:9",
  "resolution": "2k"
}),
});

const data = await response.json();

if (data.success) {
  console.log("ID:", data.data.id, "Status:", data.data.status);
} else {
  console.error("Error:", data.error.message);
}
```

### cURL

```curl
curl -X POST "https://aircube.ai/api/v3/z-image/turbo" \
  -H "Authorization: Bearer $AIRCUBE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "prompt": "A cinematic shot of a futuristic city at sunset, soft golden light reflecting off glass towers",
  "aspect_ratio": "16:9",
  "resolution": "2k"
}'
```

### Python (Async)

```python
import os
import time
import requests

# 1. Submit
response = requests.post(
    "https://aircube.ai/api/v3/z-image/turbo",
    headers={
        "Authorization": "Bearer " + os.environ["AIRCUBE_API_KEY"],
        "Content-Type": "application/json",
    },
    json={
    "prompt": "A cinematic shot of a futuristic city at sunset, soft golden light reflecting off glass towers",
    "aspect_ratio": "16:9",
    "resolution": "2k"
},
    timeout=300,
)
data = response.json()

if not data["success"]:
    print("Error:", data["error"]["message"])
    exit(1)

generation_id = data["data"]["id"]
print(f"Submitted: {generation_id}")

# 2. Poll until completed
while True:
    time.sleep(5)
    r = requests.get(
        f"https://aircube.ai/api/v3/status/{generation_id}",
        headers={"Authorization": "Bearer " + os.environ["AIRCUBE_API_KEY"]},
    )
    result = r.json()["data"]

    if result["status"] == "completed":
        print(result["output_url"])
        break
    elif result["status"] == "failed":
        print("Generation failed")
        break
```

### Node.js (Async)

```javascript
// 1. Submit
const response = await fetch("https://aircube.ai/api/v3/z-image/turbo", {
  method: "POST",
  headers: {
    "Authorization": "Bearer " + process.env.AIRCUBE_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
  "prompt": "A cinematic shot of a futuristic city at sunset, soft golden light reflecting off glass towers",
  "aspect_ratio": "16:9",
  "resolution": "2k"
}),
});
const data = await response.json();

if (!data.success) {
  console.error("Error:", data.error.message);
  process.exit(1);
}

const generationId = data.data.id;
console.log("Submitted:", generationId);

// 2. Poll until completed
while (true) {
  await new Promise((r) => setTimeout(r, 5000));
  const res = await fetch(
    `https://aircube.ai/api/v3/status/${generationId}`,
    { headers: { "Authorization": "Bearer " + process.env.AIRCUBE_API_KEY } },
  );
  const result = (await res.json()).data;

  if (result.status === "completed") {
    console.log(result.output_url);
    break;
  } else if (result.status === "failed") {
    console.error("Generation failed");
    break;
  }
}
```

### cURL (Async)

```curl
# 1. Submit
RESPONSE=$(curl -s -X POST "https://aircube.ai/api/v3/z-image/turbo" \
  -H "Authorization: Bearer $AIRCUBE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "prompt": "A cinematic shot of a futuristic city at sunset, soft golden light reflecting off glass towers",
  "aspect_ratio": "16:9",
  "resolution": "2k"
}')

ID=$(echo "$RESPONSE" | jq -r '.data.id')
echo "Submitted: $ID"

# 2. Poll until completed
while true; do
  sleep 5
  STATUS_RES=$(curl -s "https://aircube.ai/api/v3/status/$ID" \
    -H "Authorization: Bearer $AIRCUBE_API_KEY")
  STATUS=$(echo "$STATUS_RES" | jq -r '.data.status')

  if [ "$STATUS" = "completed" ]; then
    echo "$STATUS_RES" | jq -r '.data.output_url'
    break
  elif [ "$STATUS" = "failed" ]; then
    echo "Generation failed"; break
  fi
done
```

## Pricing

| Resolution | Duration | Cost |
| --- | --- | --- |
| 1k | per image | $0.01 |
| 2k | per image | $0.02 |
| 4k | per image | $0.03 |

### Billing Rules

- Per image: 1k: $0.01, 2k: $0.02, 4k: $0.03.
- Failed generations are not charged.

## Best Use Cases

- Product visualization — generate product photos and mockups at scale.
- Marketing assets — hero images, social media visuals, and ad creatives.
- Bulk catalog generation — auto-generate thumbnails and listing images at low cost.
- UI and dashboard imagery — create visuals for applications and dashboards.
- Cross-market campaigns — leverage bilingual support for English and Chinese markets.
- Anime and illustration — use the dedicated Anime style preset for stylized output.

## Pro Tips

- Use the Professional style for commercial photography and the Realistic style for lifelike scenes.
- Try the Anime style for illustration and character art — it uses a dedicated model tuned for stylized output.
- Use 1k resolution ($0.01) for rapid exploration, then re-render favorites at 2k ($0.02) or 4k ($0.03).
- Take advantage of bilingual support — prompts in Chinese produce equally high-quality output.
- For text rendering in images, specify the exact text and language in your prompt.

## Notes

- Text-to-image only — does not support image editing input.
- 6 style presets: Professional, Realistic, Revolution, Anime, Reality, Basic.
- 7 aspect ratio options available.
- Output formats: JPEG (default), PNG, or WebP.

## FAQ

**Q: What is the Z-Image API?**

AirCube's fast, low-cost text-to-image API that generates photorealistic images with sub-second inference, featuring 6 built-in style presets.

**Q: How fast is generation?**

Z-Image uses only 8 sampling steps. End-to-end median time is approximately 4 seconds including network overhead.

**Q: What style presets are available?**

Six styles: Professional (commercial photography), Realistic (lifelike scenes), Revolution (creative/artistic), Anime (illustration/character art), Reality (natural photos), and Basic (general purpose).

**Q: How much does it cost?**

1k resolution: $0.01 per image. 2k resolution: $0.02. 4k resolution: $0.03. Failed generations are not charged.

**Q: Does it support Chinese prompts?**

Yes — Z-Image is bilingual and understands both English and Chinese prompts equally well, and can render multilingual text directly in generated images.

**Q: Can I use generated images commercially?**

Yes — all outputs are yours to use commercially.
