FLUX.2 [max] is the top quality and detail tier of Black Forest Labs' FLUX.2 family, released in December 2025. It generates from text or from up to 8 reference images and outputs between 1 MP and 4 MP. Each request returns one image. On Jantaris you pick 1MP, 2MP (the default), 3MP or 4MP and one of nine aspect ratios from 1:1 to 21:9 and 9:21, and you can set a seed to repeat a result.
Best for
- Hero images and campaign finals where fine detail shows
- Large prints and billboard drafts at 4 MP
- Detailed textures: fabrics, skin, materials, food
- Final renders after drafting on a cheaper FLUX tier
Prompting tips
- Draft the prompt on FLUX.2 [pro], then render the final on [max].
- Reserve 4MP for images that will be viewed large; 2MP is the default.
- Keep the
seedfixed when comparing prompt changes, so differences come from the wording. - Name materials and surfaces precisely: "brushed aluminum", "raw linen", "wet asphalt".
FAQ
How much does FLUX.2 [max] cost?
The current price is from $0.154 per image. Jantaris only charges for completed images; failed generations cost nothing.
How many reference images can FLUX.2 [max] use?
Up to 8 per request, the same as the other FLUX.2 tiers.
What is the difference between FLUX.2 [max] and [pro]?
Both take 8 references. [max] is Black Forest Labs' highest quality and detail tier with 1MP to 4MP output and a seed, while [pro] is the production tier with 1K or 2K output on Jantaris.
How to call FLUX.2 [max] via API
curl https://jantaris.com/v1/generate?wait=60 \
-H "Authorization: Bearer $JANTARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "flux-2-max",
"input": {
"prompt": "Product photo of a matte black ceramic coffee cup on a travertine table, soft window light, 50mm",
"aspect_ratio": "1:1",
"resolution": "2MP"
}
}'import os, time, requests
API = "https://jantaris.com/v1"
H = {"Authorization": f"Bearer {os.environ['JANTARIS_API_KEY']}"}
task = requests.post(f"{API}/generate", headers=H, json={
"model": "flux-2-max",
"input": {
"prompt": "Product photo of a matte black ceramic coffee cup on a travertine table, soft window light, 50mm",
"aspect_ratio": "1:1",
"resolution": "2MP"
}
}).json()
while task["status"] in ("queued", "running"):
time.sleep(3)
task = requests.get(f"{API}/tasks/{task['id']}", headers=H).json()
print(task["status"], task["cost"], [o["url"] for o in task["output"]])const API = "https://jantaris.com/v1";
const headers = { Authorization: `Bearer ${process.env.JANTARIS_API_KEY}`, "Content-Type": "application/json" };
let task = await (await fetch(`${API}/generate`, {
method: "POST",
headers,
body: JSON.stringify({
"model": "flux-2-max",
"input": {
"prompt": "Product photo of a matte black ceramic coffee cup on a travertine table, soft window light, 50mm",
"aspect_ratio": "1:1",
"resolution": "2MP"
}
}),
})).json();
while (task.status === "queued" || task.status === "running") {
await new Promise((r) => setTimeout(r, 3000));
task = await (await fetch(`${API}/tasks/${task.id}`, { headers })).json();
}
console.log(task.status, task.cost, task.output.map((o) => o.url));
Parameters
| Parameter | Type | Allowed | Default |
|---|---|---|---|
prompt * | string | ||
aspect_ratio | string | 1:1 4:3 3:4 16:9 9:16 3:2 2:3 21:9 9:21 | 1:1 |
resolution | string | 1MP 2MP 3MP 4MP | 2MP |
num_images | integer | 1-1 | 1 |
image_urls | array | max 8 | |
seed | integer |
The same schema is available from GET /v1/models/flux-2-max.









