FLUX.2 Pro
FLUX.2 [pro]: production photorealism and up to 8-reference editing, billed per megapixel.
Model ID: flux-2-pro
Playground
0 – 2147483647
Use the same request from code — API docs
Provider prices for this request
Enter a prompt to compare provider prices.
Result
Your generation will appear here.
Pricing by provider
Prices are per unit; requests without a provider are routed to the cheapest provider that supports your parameters.
| Provider | Option | Price (USD) | Credits |
|---|---|---|---|
| fal.ai | All options | 7 / image | |
| with input image | 11 / image | ||
| Replicate | with input image | 11 / image | |
| All options | 7 / image | ||
| WaveSpeedAI | All options | 7 / image | |
| with input image | 14 / image | ||
| KIE AI | resolution: 2K | 8 / image | |
| resolution: 1K | 6 / image | ||
| AtlasCloud | All options | 7 / image |
API reference
Endpoints
Base URL: https://01router.com/api/v1
/generationsCreate a generation (charges credits)/generations/{id}Get a generation; polls the provider while running/quotePrice a request on every provider (no charge, no key needed)Authentication
Send your API key as a Bearer token. Requests are billed to the key owner's credits.
Authorization: Bearer sk_xxxxxxxxxxxxxxxxGet an API keyRequest body
| Name | Type | Required | Description |
|---|---|---|---|
| model | string | Yes | "flux-2-pro" |
| provider | string | No | Pin a provider; omit to auto-route to the cheapest. One of: fal | replicate | wavespeed | kie | atlascloud |
| input | object | Yes | Model parameters, see the input fields below. |
input fields
Unified parameters work on every provider; some providers support a narrower range — check the quote endpoint or the playground.
| Name | Type | Values | Default |
|---|---|---|---|
| prompt* | text | — | — |
| image_urls Optional — switches to image editing | images | ≤ 8 | — |
| aspect_ratio | enum | 1:1 | 16:9 | 9:16 | 4:3 | 3:4 | 3:2 | 2:3 | 1:1 |
| resolution | enum | 1K | 2K | 1K |
| seed | integer | 0 – 2147483647 | — |
Example request
curl https://01router.com/api/v1/generations \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "flux-2-pro",
"provider": "fal",
"input": {
"prompt": "A cinematic shot of a red fox running through snow",
"aspect_ratio": "1:1",
"resolution": "1K"
}
}'
# poll until status is "succeeded" or "failed"
curl https://01router.com/api/v1/generations/<id> -H "Authorization: Bearer $API_KEY"Response
Pass the model id, its unified input parameters and optionally a provider slug. The response returns immediately with the task id; image models on synchronous providers may already be succeeded.
{
"id": "gen_6f1c…",
"object": "generation",
"model": "flux-2-pro",
"type": "image",
"provider": "fal",
"status": "processing",
"input": {
"prompt": "…",
"aspect_ratio": "1:1",
"resolution": "1K"
},
"outputs": [],
"error": null,
"credits": 0,
"price_usd": 0,
"created_at": "2026-10-23T08:00:00.000Z",
"completed_at": null
}Get the result
Poll every few seconds until status is succeeded or failed. Output URLs are provider-hosted and may expire — download them promptly.
curl https://01router.com/api/v1/generations/gen_6f1c… -H "Authorization: Bearer $API_KEY"
{ "id": "gen_6f1c…", "model": "flux-2-pro", "status": "succeeded", "outputs": ["https://…"], … }Quote
Same body as creating a generation. Returns every available provider sorted by price, plus the ones that cannot serve the request and why.
curl https://01router.com/api/v1/quote -H "Content-Type: application/json" \
-d '{"model":"flux-2-pro","input":{"prompt":"…","aspect_ratio":"1:1","resolution":"1K"}}'Auth, routing, billing and error codes are covered in Gateway API reference