Flux 2 Max icon

Flux 2 Max API

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"
Flux 2 Max grounded generation: an isometric 3D weather card for Lisbon with a sun icon, date, and current temperature over a miniature city

What's special about Flux 2 Max

The quality ceiling of the family

It delivers the highest fidelity and photorealism across the Flux 2 lineup, aimed at final, production-grade deliverables.

Strongest prompt adherence

It follows complex, detailed, and long instructions more accurately than the Pro and Flex variants, supporting prompts up to 32k tokens.

Grounded generation

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.

Best-in-class editing consistency

It preserves colors, lighting, faces, text, and objects with exceptional fidelity, which makes edits and variations look reliable rather than regenerated.

Top character and brand consistency

Using up to 10 reference images, it keeps identities, products, and styles stable across large batches of outputs.

Precise retexturing and color control

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.

Made with Flux 2 Max

A few outputs generated through the Flux 2 Max API on Apiframe.

Flux 2 Max marketplace-ready product photo of a ceramic pour-over coffee set on a clean white surface in soft studio lighting

A polished photo of a ceramic pour-over coffee set on a clean white surface, soft studio lighting, sharp detail.

Flux 2 Max real-time weather card for Lisbon: an isometric 3D miniature of the city with current conditions, a weather icon, the date, and the temperature

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.

Flux 2 Max consistent-character campaign showing the same woman presenting on stage, reading at a desk, and walking outdoors with a stable face and outfit

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.

Flux 2 Max product retexturing showing the same sofa in tan leather, dark green velvet, and light grey linen with identical shape and lighting

Show this sofa in tan leather, dark green velvet, and light grey linen, keeping the exact shape and lighting.

Flux 2 Max cinematic widescreen keyframe of a lone astronaut on a red desert planet at dusk with dramatic rim lighting and film grain

A cinematic key frame of a lone astronaut on a red desert planet at dusk, dramatic rim lighting, film grain, widescreen.

Flux 2 Max generating three new views of a single product (front, three-quarter, and top-down) with consistent materials and lighting

From this single product image, generate three new views: front, three-quarter, and top-down, with consistent materials and lighting.

Overview

Endpoint
POST /v2/images/generate
Model ID
flux-2-max
Params key
fluxParams
Modality
Image
Provider
Black Forest Labs
Avg. completion
~20s

Capabilities

Aspect ratios1:1, 3:4, 4:3, 9:16, 16:9
Resolutions0.5MP, 1MP, 2MP, 4MP
Image inputSupported
Avg. time~20s

Quick start

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);

Response & job lifecycle

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).

1. Submission response (202)

{
  "jobId": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
  "status": "QUEUED"
}

2. Poll for the result

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);

Input schema

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.

Frequently Asked Questions

Common questions about the Flux 2 Max API.

How is it different from Flux 2 Pro and Flex?

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.

What is grounded generation?

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.

How much does it cost?

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.

How many reference images can it use?

Up to 10 at once, for strong character, product, and style consistency.

What is it best for?

Product marketing and e-commerce, brand and character consistency, retexturing, interior design, and cinematic keyframes for video.

Where can you access it?

Through Apiframe, as well as the BFL API and major hosting partners.

Still have questions?

Start building with the Flux 2 Max API

Get your API key and integrate Flux 2 Max in minutes — Pay-as-you-go.

Free credits to start
One API for every model
Webhooks, SDKs & idempotency
No provider account required

Questions? Join our Discord or contact sales.