FLUX.2 [flex] API
FLUX.2 with adjustable steps and guidance — best for text and fine detail
Try FLUX.2 [flex]
Runs on your balance at the price shown on the button. Results are saved to your account.
Output image shape.
Output size in megapixels (1 MP ≈ 1024×1024). FLUX.2 is billed per megapixel.
Create a free account with Google or email — pay only for what you generate.
Your image will appear here
Write a prompt, pick your settings and hit Run. You only pay for successful generations.
What is FLUX.2 [flex]?
FLUX.2 [flex] lets you tune sampling steps and guidance for the best typography and fine detail, up to 4 megapixels.
You control the trade-off
Raise steps for the finest detail and crisp typography, or lower them for quick drafts; adjust guidance to follow the prompt more or less strictly.
FLUX.2 [flex] pricing
Pay per image. No subscription. Failed generations are refunded automatically.
| Tier | Official price | Cheaper Gen. | You save |
|---|---|---|---|
1 MP ≈1024×1024 | $0.044/img | −12% | |
2 MP | $0.088/img | −12% | |
3 MP | $0.132/img | −12% | |
4 MP ≈2048×2048 | $0.176/img | −12% |
- Official price: BFL API list price for FLUX.2 [flex] ($0.05 per megapixel of output and of input images). Prices verified 2026-10-16.
- Text-to-image only for now — use FLUX 3 or Kontext for editing.
Specifications
- Resolutions
- 1 · 2 · 3 · 4 MP
- Steps
- 1–50
- Guidance
- 1.5–10
- Released
- Nov 25, 2025
Use FLUX.2 [flex] via API
One request to start a job, one to fetch the result. Same shape for every model.
import os, time, requests
API = "https://cheapergen.com/api/v1"
headers = {"Authorization": f"Bearer {os.environ['CHEAPERGEN_API_KEY']}"}
# 1. Submit the job
job = requests.post(f"{API}/run/bfl/flux-2-flex/text-to-image", headers=headers, json={
"prompt": "Editorial photo of a ceramic vase with dried flowers on a linen-covered table, soft north light, film grain",
"aspect_ratio": "1:1",
"resolution": "1MP"
}).json()
# 2. Poll until it finishes (or pass "webhook_url" and skip polling)
while job["status"] in ("queued", "running"):
time.sleep(3)
job = requests.get(f"{API}/generations/{job['id']}", headers=headers).json()
print(job["status"], job["output"]["images"][0]["url"] if job["status"] == "succeeded" else job["error"])Example prompts
Hit “Try it” to load a prompt into the playground above.
FLUX.2 [flex] FAQ
Related models
FLUX.2 [flex] is developed by Black Forest Labs. Cheaper Gen. provides API access through official upstream endpoints and does not own the model. Trademarks belong to their respective owners. · Markdown · OpenAPI


