FLUX.2 [flex]
Text-to-Image • Black Forest Labs • ProxiedFLUX.2 [flex] is Black Forest Labs' fine-grained control variant of FLUX.2 — exposes tunable inference steps, guidance, and prompt upsampling for typography-heavy and production workflows.
| 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-flex', { prompt: "Samsung Galaxy S25 Ultra product advertisement, 'Ultra-strong titanium' headline, close-up of phone edge showing titanium frame, dark gradient background, clean minimalist tech aesthetic", },)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-flex", "input": { "prompt": "Samsung Galaxy S25 Ultra product advertisement, '\''Ultra-strong titanium'\'' headline, close-up of phone edge showing titanium frame, dark gradient background, clean minimalist tech aesthetic" }}'
{ "state": "Completed", "result": { "image": "https://examples.aig.cloudflare.com/black-forest-labs/flux-2-flex/typography-design.jpeg" }, "gatewayMetadata": { "keySource": "Unified" }}Examples
High Detail Generation — Crank steps and guidance for maximum detail when latency is not the priority
const response = await env.AI.run( 'black-forest-labs/flux-2-flex', { prompt: 'A detailed oil painting portrait of a Renaissance nobleman with intricate lace collar', guidance: 7.5, steps: 50, },)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-flex", "input": { "prompt": "A detailed oil painting portrait of a Renaissance nobleman with intricate lace collar", "guidance": 7.5, "steps": 50 }}'
{ "state": "Completed", "result": { "image": "https://examples.aig.cloudflare.com/black-forest-labs/flux-2-flex/high-detail-generation.jpeg" }, "gatewayMetadata": { "keySource": "Unified" }}Fast Draft — Fast draft with prompt upsampling disabled — preserves the literal prompt
const response = await env.AI.run( 'black-forest-labs/flux-2-flex', { prompt: 'A simple line sketch of a mountain landscape', prompt_upsampling: false, steps: 10 },)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-flex", "input": { "prompt": "A simple line sketch of a mountain landscape", "prompt_upsampling": false, "steps": 10 }}'
{ "state": "Completed", "result": { "image": "https://examples.aig.cloudflare.com/black-forest-labs/flux-2-flex/fast-draft.jpeg" }, "gatewayMetadata": { "keySource": "Unified" }}Parameters
numbermaximum: 10minimum: 1.5Classifier-free guidance scale (1.5–10). Higher values follow the prompt more strictly at the cost of realism.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.booleanWhether BFL should expand short prompts before generation. Defaults to true on flex.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: 50minimum: 1Number of denoising steps (1–50). Higher steps yield more detail at the cost of latency.integermaximum: 9007199254740991minimum: 64Width of the generated image in pixels (minimum 64). Omit to let BFL pick.stringformat: uriURL to the generated image