Text-to-Image
Image generation API, free to start
No credit card · Free credits valid for 90 days · Then top up and pay as you go, no subscription
FLUX.2 Klein 4B
Text-to-Image
PromptStudio product photo of a matte ceramic coffee mug with a single handle on a walnut table, soft morning window light, thin steam rising, shallow depth of field, warm amber tones
Which image model to use
| Model | Good for | Price per image | Size |
|---|---|---|---|
| FLUX.2 Klein 4B | Product shots, photos, image edits with up to 3 reference images | $0.0037 at 1024² | 256–1536 px |
| Z-Image-Turbo | Photoreal scenes, short text on signs | $0.0063 at 768² | 128–2048 px |
| Z-Anime | Anime and illustration styles | $0.0063 at 768² | 128–2048 px |
| FLUX.1 Schnell | Lowest price at the same size, drafts, bots | $0.0019 at 768² | 256–2048 px |
Image API pricing
| Model and size | Per image | Images for $5 |
|---|---|---|
| FLUX.1 Schnell, 768 × 768 | $0.0019 | ≈ 2,618 |
| FLUX.2 Klein, 512 × 512 | $0.0019 | ≈ 2,679 |
| FLUX.2 Klein, 1024 × 1024 | $0.0037 | ≈ 1,361 |
| Z-Image-Turbo, 768 × 768 | $0.0063 | ≈ 790 |
| Z-Image-Turbo, 1024 × 768 | $0.0077 | ≈ 646 |
Text-to-image API example
- Endpoint
- Model IDs
- Required fields
- Result
- Free account limits
curl -X POST 'https://api.deapi.ai/api/v2/images/generations' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"model": "Flux_2_Klein_4B_BF16",
"prompt": "studio photo of a ceramic mug, morning light",
"width": 1024,
"height": 1024,
"steps": 4,
"seed": 7
}'
import time, requests
API = "https://api.deapi.ai/api/v2"
HEADERS = {"Authorization": "Bearer YOUR_API_KEY", "Accept": "application/json"}
job = requests.post(f"{API}/images/generations", headers=HEADERS, json={
"model": "Flux_2_Klein_4B_BF16",
"prompt": "studio photo of a ceramic mug, morning light",
"width": 1024, "height": 1024, "steps": 4, "seed": 7,
}).json()["data"]
while True:
status = requests.get(f"{API}/jobs/{job['request_id']}", headers=HEADERS).json()["data"]
if status["status"] in ("done", "error"):
break
time.sleep(2)
print(status.get("result_url")) # send this URL to your app or Telegram bot
From sign-up to your first image
-
Create a free account
-
Create an API key
-
Send a prompt
Free image API FAQ
Generate your first image with $5 of free credits
No credit card, no subscription.