- Third-party
FLUX.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
prompt
stringrequiredText prompt for image generation or editing.seed
integerminimum: -9007199254740991maximum: 9007199254740991Optional seed for reproducible generation.width
integerminimum: 64maximum: 9007199254740991Width of the generated image in pixels (minimum 64). Omit to let BFL pick.height
integerminimum: 64maximum: 9007199254740991Height of the generated image in pixels (minimum 64). Omit to let BFL pick.safety_tolerance
integerminimum: 0maximum: 5Tolerance for input/output moderation. 0 is the strictest, 5 the most permissive. Defaults to 2.output_format
stringenum: jpeg, png, webpOutput image format. Defaults to jpeg.▶input_images[]
arraymaxItems: 8Up to 8 reference images for editing or multi-image composition. Each entry is an HTTPS URL or a data:image/...;base64,... URI.prompt_upsampling
booleanWhether BFL should expand short prompts before generation. Defaults to true on flex.guidance
numberminimum: 1.5maximum: 10Classifier-free guidance scale (1.5–10). Higher values follow the prompt more strictly at the cost of realism.steps
integerminimum: 1maximum: 50Number of denoising steps (1–50). Higher steps yield more detail at the cost of latency.image
stringformat: uriURL to the generated image