FLUX.2 [max]
Text-to-Image • Black Forest Labs • ProxiedFLUX.2 [max] is Black Forest Labs' highest-quality image model — top editing consistency, strongest prompt following, and grounding search for visualizations of real-time information.
| Model Info | |
|---|---|
| Terms and License | link ↗ |
| More information | link ↗ |
| Pricing | View pricing in the Cloudflare dashboard ↗ |
Usage
const response = await env.AI.run( 'black-forest-labs/flux-2-max', { prompt: 'A cat on its back legs running like a human is holding a big silver fish with its arms. The cat is running away from the shop owner and has a panicked look on his face. The scene is situated in a crowded market.', height: 2048, width: 1440, },)console.log(response)curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --header "Content-Type: application/json" \ --data '{ "model": "black-forest-labs/flux-2-max", "input": { "prompt": "A cat on its back legs running like a human is holding a big silver fish with its arms. The cat is running away from the shop owner and has a panicked look on his face. The scene is situated in a crowded market.", "height": 2048, "width": 1440 }}'
{ "state": "Completed", "result": { "image": "https://examples.aig.cloudflare.com/black-forest-labs/flux-2-max/high-resolution-scene.jpeg" }, "gatewayMetadata": { "keySource": "Unified" }}Examples
Hex Color Control — Exact color control via hex codes — useful for brand-consistent imagery
const response = await env.AI.run( 'black-forest-labs/flux-2-max', { prompt: 'A vase on a table in living room, the color of the vase is a gradient of color, starting with color #02eb3c and finishing with color #edfa3c. The flowers inside the vase have the color #ff0088', },)console.log(response)curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --header "Content-Type: application/json" \ --data '{ "model": "black-forest-labs/flux-2-max", "input": { "prompt": "A vase on a table in living room, the color of the vase is a gradient of color, starting with color #02eb3c and finishing with color #edfa3c. The flowers inside the vase have the color #ff0088" }}'
{ "state": "Completed", "result": { "image": "https://examples.aig.cloudflare.com/black-forest-labs/flux-2-max/hex-color-control.jpeg" }, "gatewayMetadata": { "keySource": "Unified" }}Image Editing — Single-reference image editing — relight or restage a product photo
const response = await env.AI.run( 'black-forest-labs/flux-2-max', { prompt: 'Place this product onto a minimalist marble countertop with soft window light', input_images: [ 'https://replicate.delivery/xezq/jCypj4MeXYUiRyq7nfgm8z1OvFZF81wh4FznutDsZOuJz0YWA/tmp1iukn307.jpg', ], },)console.log(response)curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --header "Content-Type: application/json" \ --data '{ "model": "black-forest-labs/flux-2-max", "input": { "prompt": "Place this product onto a minimalist marble countertop with soft window light", "input_images": [ "https://replicate.delivery/xezq/jCypj4MeXYUiRyq7nfgm8z1OvFZF81wh4FznutDsZOuJz0YWA/tmp1iukn307.jpg" ] }}'
{ "state": "Completed", "result": { "image": "https://examples.aig.cloudflare.com/black-forest-labs/flux-2-max/image-editing.jpeg" }, "gatewayMetadata": { "keySource": "Unified" }}Parameters
integermaximum: 9007199254740991minimum: 64Height of the generated image in pixels (minimum 64). Omit to let BFL pick.arraymaxItems: 8Up to 8 reference images for editing or multi-image composition. Each entry is an HTTPS URL or a data:image/...;base64,... URI.stringenum: jpeg, png, webpOutput image format. Defaults to jpeg.stringrequiredText prompt for image generation or editing.integermaximum: 5minimum: 0Tolerance for input/output moderation. 0 is the strictest, 5 the most permissive. Defaults to 2.integermaximum: 9007199254740991minimum: -9007199254740991Optional seed for reproducible generation.integermaximum: 9007199254740991minimum: 64Width of the generated image in pixels (minimum 64). Omit to let BFL pick.stringformat: uriURL to the generated image