FLUX1.1 [pro] Ultra delivers ultra-fast, ultra high-resolution image creation - with more pixels in every picture. Generate varying aspect ratios from text, at 4MP resolution fast. To generate an image from text, you’ll make a request to the /flux-pro-1.1-ultra endpoint.

Key Features

Up to 4MP resolution

Generate up to 4MP images without compromising prompt fidelity or quality

Ultra-Fast Generation

4MP resolution results delivered in unprecedented speed

Raw mode

Captures the authentic feel of candid photography, at 4MP resolution

Image-to-Image Support

Use existing images as visual context with adjustable influence strength

Examples of Image Generation with FLUX.1 [pro] Ultra

Raw Mode

FLUX1.1 [pro] also supports Raw mode for creators seeking authenticity. When enabled, Raw mode captures the genuine feel of candid photography, generating images with a less synthetic, more natural aesthetic. This mode significantly increases diversity in human subjects and enhances the realism of nature photography.
Enable Raw mode by setting "raw": true in your API request for more authentic, natural-looking results.

Examples of Image Generation with FLUX.1 [pro] Raw

API Endpoint

Use the /flux-pro-1.1-ultra endpoint for ultra high-resolution generation:
request=$(curl -X POST \
'https://api.bfl.ai/v1/flux-pro-1.1-ultra' \
-H 'accept: application/json' \
-H "x-key: ${BFL_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "prompt": "Detailed architectural rendering of a modern glass skyscraper",
    "width": 2048,
    "height": 2048,
    "raw": false
}')
# Change "raw" to `true` for RAW output

request_id=$(echo $request | jq -r .id)
polling_url=$(echo $request | jq -r .polling_url)

Poll for Result

After submitting a request, you need to poll using the returned polling_url to retrieve the output when ready.
while true; do
  sleep 0.5
  result=$(curl -s -X 'GET' \
    "${polling_url}" \
    -H 'accept: application/json' \
    -H "x-key: ${BFL_API_KEY}")
  
  status=$(echo $result | jq -r .status)
  echo "Status: $status"
  
  if [ "$status" == "Ready" ]; then
    echo "Result: $(echo $result | jq -r .result.sample)"
    break
  elif [ "$status" == "Error" ] || [ "$status" == "Failed" ]; then
    echo "Generation failed: $result"
    break
  fi
done
A successful response will be a json object containing the result, and result['sample'] is a signed URL for retrieval.
Our signed URLs are only valid for 10 minutes. Please retrieve your result within this timeframe.

FLUX1.1 [pro] Ultra Parameters

ParameterTypeDefaultDescriptionRequired
promptstringText description of the desired imageYes
aspect_ratiostring”16:9”Desired aspect ratio for the image (e.g., “16:9”, “1:1”, “4:3”)No
prompt_upsamplingbooleanfalseEnhance prompt for better resultsNo
seedintegernullSeed for reproducible results. Accepts any integerNo
safety_toleranceinteger2Content moderation level. Value ranges from 0 (most strict) to 6 (more permissive)No
output_formatstring”jpeg”Desired format of the output image. Can be “jpeg” or “png”No
rawbooleanfalseEnable raw mode for more natural, authentic aestheticsNo
image_promptstringnullBase64-encoded image to use as additional visual context for generationNo
image_prompt_strengthfloat0.1Strength of the image prompt influence on generation (0.0 to 1.0)No
webhook_urlstringnullURL for asynchronous completion notification. Must be a valid HTTP/HTTPS URLNo
webhook_secretstringnullSecret for webhook signature verification, sent in the X-Webhook-Secret headerNo

Pricing

FLUX1.1 [pro] Ultra mode is available at $0.06 per image.