The quality ceiling of the family
It delivers the highest fidelity and photorealism across the Flux 2 lineup, aimed at final, production-grade deliverables.
Black Forest Labs' top-tier member of the Flux 2 family (Nov 2025), the highest-quality variant, built for the strongest prompt following, the most consistent editing, and a unique ability to pull real-time information from the web.
Integrate Flux 2 Max with a single API call — one key, one unified endpoint, and shared billing across every model on Apiframe.
model: "flux-2-max"
It delivers the highest fidelity and photorealism across the Flux 2 lineup, aimed at final, production-grade deliverables.
It follows complex, detailed, and long instructions more accurately than the Pro and Flex variants, supporting prompts up to 32k tokens.
A standout feature: it can search the web for real-time context, so it can visualize trending products, current events, weather, or the latest styles without you sourcing reference material by hand.
It preserves colors, lighting, faces, text, and objects with exceptional fidelity, which makes edits and variations look reliable rather than regenerated.
Using up to 10 reference images, it keeps identities, products, and styles stable across large batches of outputs.
It can re-skin products with new materials, colors, and finishes while preserving shape and geometry, and it accepts exact brand colors via hex codes.
A few outputs generated through the Flux 2 Max API on Apiframe.
A polished photo of a ceramic pour-over coffee set on a clean white surface, soft studio lighting, sharp detail.
Search the internet. A weather card for Lisbon today: an isometric 3D miniature of the city with current conditions, the title 'Lisbon', a weather icon, the date, and the temperature.
Using these reference images of our character, show her presenting on stage, reading at a desk, and walking outdoors, keeping her face and outfit consistent.
Show this sofa in tan leather, dark green velvet, and light grey linen, keeping the exact shape and lighting.
A cinematic key frame of a lone astronaut on a red desert planet at dusk, dramatic rim lighting, film grain, widescreen.
From this single product image, generate three new views: front, three-quarter, and top-down, with consistent materials and lighting.
Send a single POST /v2/images/generate request with your API key to
generate with Flux 2 Max. The call returns a jobId you can poll or
receive via webhook.
curl -X POST https://api.apiframe.ai/v2/images/generate \
-H "X-API-Key: afk_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"prompt": "a sleek silver sports car on a coastal highway at sunset, hyper-realistic",
"model": "flux-2-max",
"fluxParams": {
"resolution": "2MP",
"image_prompt": "https://example.com/input.jpg",
"image_prompt_strength": 0.5,
"output_format": "jpg"
}
}'import requests
response = requests.post(
"https://api.apiframe.ai/v2/images/generate",
headers={
"X-API-Key": "afk_your_api_key_here",
"Content-Type": "application/json",
},
json={
"prompt": "a sleek silver sports car on a coastal highway at sunset, hyper-realistic",
"model": "flux-2-max",
"fluxParams": {
"resolution": "2MP",
"image_prompt": "https://example.com/input.jpg",
"image_prompt_strength": 0.5,
"output_format": "jpg"
}
},
)
print(response.json()) # { "jobId": "...", "status": "QUEUED" }const response = await fetch("https://api.apiframe.ai/v2/images/generate", {
method: "POST",
headers: {
"X-API-Key": "afk_your_api_key_here",
"Content-Type": "application/json",
},
body: JSON.stringify({
"prompt": "a sleek silver sports car on a coastal highway at sunset, hyper-realistic",
"model": "flux-2-max",
"fluxParams": {
"resolution": "2MP",
"image_prompt": "https://example.com/input.jpg",
"image_prompt_strength": 0.5,
"output_format": "jpg"
}
}),
});
const { jobId } = await response.json();
console.log(jobId);Generation is asynchronous. A successful submission returns 202 Accepted with a jobId. Poll GET /v2/jobs/{id} (or supply a webhook_url) until the status is COMPLETED; the result field then holds the output URL(s).
{
"jobId": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
"status": "QUEUED"
}curl https://api.apiframe.ai/v2/jobs/JOB_ID \
-H "X-API-Key: afk_your_api_key_here"import requests, time
while True:
job = requests.get(
"https://api.apiframe.ai/v2/jobs/JOB_ID",
headers={"X-API-Key": "afk_your_api_key_here"},
).json()
if job["status"] in ("COMPLETED", "FAILED"):
break
time.sleep(2)
print(job["result"])let job;
do {
await new Promise((r) => setTimeout(r, 2000));
job = await fetch("https://api.apiframe.ai/v2/jobs/JOB_ID", {
headers: { "X-API-Key": "afk_your_api_key_here" },
}).then((r) => r.json());
} while (job.status !== "COMPLETED" && job.status !== "FAILED");
console.log(job.result);Request parameters accepted by the Flux 2 Max endpoint. Model-specific options are nested under the params object shown below.
| Parameter | Type | Required | Default | Allowed / range | Description |
|---|---|---|---|---|---|
| prompt | string | required | — | — | Text description of what to generate. |
| model | string | required | "flux-2-max" | "flux-2-max" | The model identifier for this endpoint. |
| fluxParams.resolution | string | optional | "2MP" | "0.5MP", "1MP", "2MP", "4MP" | Resolution |
| fluxParams.image_prompt | string (URL) | optional | — | — | Reference image (URL) |
| fluxParams.image_prompt_strength | number | optional | 0.5 | min 0, max 1, step 0.05 | How closely to follow the reference image (0–1). |
| fluxParams.output_format | string | optional | "jpg" | "jpg", "png", "webp" | Output format |
| fluxParams.output_quality | number | optional | 90 | min 0, max 100, step 1 | Output quality |
| fluxParams.prompt_upsampling | boolean | optional | false | — | Let the model rewrite your prompt for better quality. |
| fluxParams.seed | number | optional | — | step 1 | Reuse a number to reproduce the same result. |
Common questions about the Flux 2 Max API.
Max is the premium tier, with the highest quality, the strongest prompt following, and the most consistent editing. Pro is the production workhorse and Flex is the parameter-control option for typography.
It lets the model bring real-time web context into an image, so you can visualize current events, weather, or trending products without supplying references yourself.
On Apiframe it ranges from 12 credits ($0.12) at 1MP to 28 credits ($0.28) at 4MP, the priciest tier in the Flux 2 family.
Up to 10 at once, for strong character, product, and style consistency.
Product marketing and e-commerce, brand and character consistency, retexturing, interior design, and cinematic keyframes for video.
Through Apiframe, as well as the BFL API and major hosting partners.
Still have questions?
Get your API key and integrate Flux 2 Max in minutes — Pay-as-you-go.
Questions? Join our Discord or contact sales.