IronStratum Get an API key

flux-pro-1.1: FLUX 1.1 Pro, the quality tier of the family as a metered API

flux-pro-1.1 is this platform's alias for FLUX 1.1 Pro, the quality tier of the FLUX text-to-image family from Black Forest Labs. One OpenAI-shaped POST carries a prompt. The answer is a hosted image URL. The meter is the image, flat, from a prepaid wallet. The lane is live. Every contract claim on this page is backed by the platform's own dated test round of 24 September 2026. The alias is listed in the catalog and served over the images route, billed per image from a prepaid wallet. The models index carries the catalog's current state.

This page covers what the model is, the family split that confuses most searches, the exact call and its laws, and two layers of evidence. The first layer is the platform's own dated measurements. The second is the host pages read at source.

Last verified: 2026-09-24

What it is

FLUX is Black Forest Labs' text-to-image family, and 1.1 Pro is its quality tier. The parameter surface is the tell. It lives on fal's page for the tier, read 24 September 2026. There you find explicit width and height instead of size presets, an inference-step count, and a guidance scale. The guidance scale is the lever that trades prompt adherence against looseness. The fast tier carries none of that. The quality tier exists because those knobs matter. Together's serverless catalog, read the same day, lists the tier in the same family namespace. It prices per megapixel, across a catalog that bills every image model that way.

FactValueOwner of the number
FamilyFLUX, Black Forest Labs' text-to-image linepublisher, per the reseller catalog namespaces
Tier1.1 Pro, the quality tierfal and Together catalog listings, read 2026-09-24
Parameters at falprompt, width, height, num_inference_steps, guidance_scale, seedfal model page, read 2026-09-24
Sizing at the providerexplicit width and height (the fast tier uses image_size presets)fal model page, read 2026-09-24
Image hostfal; returned URLs live under fal.mediaplatform measurement, 2026-09-24
Compatibility targetOpenAI's images API shapeOpenAI OpenAPI specification, fetched 2026-09-24

One ownership note on the hosted side. This platform's images route is a synchronous, OpenAI-shaped endpoint reached through the platform's own fal account. The images it returns are fal-hosted. The platform resells hosted access to fal's service. It runs no image hardware of its own. That is exactly why the meter, the wallet guard, and the failure billing law below are this platform's own. You can audit them in every response's usage object.

Use cases

The tier's profile is quality-first generation with a prepaid wallet as the spend boundary. The rate is one you can budget before you send anything. The metered unit is the image. The rate sits on the pricing page.

  • Final renders. The working pattern for the family. Iterate on the fast tier, then send the renders that matter here, where the guidance scale and step count live.
  • Hero and campaign imagery. Fewer images, higher stakes, per-image metering that does not move with size.
  • Pipelines with budget ceilings. The wallet is the hard stop. At zero balance the next request is refused with a named error before any work starts. A runaway loop cannot spend past it.
  • Agent workflows with a quality stage. Idempotency keys make retry-safe tool calls cheap to write correctly. The same key with the same body replays instead of double-billing.
  • Explicit-dimension work. The provider-side tier takes width and height directly. The route's size parameter carries WIDTHxHEIGHT through to it.

The quality lane and the fast lane

This platform's images catalog carries both FLUX tiers over one route, and the split is the family's own. The quality lane (flux-pro-1.1, this page) is FLUX 1.1 Pro. The provider sets it up for quality work, with explicit dimensions and a guidance scale. The fast lane (flux-1-schnell) is the speed tier, positioned for local development and personal use by the resellers that sell it. Both lanes answer the same call shape. Both bill the same per-image meter. Both return hosted URLs from the same host. A pipeline can hand this lane the renders that matter and keep iteration on the fast one. The choice is workload, not contract.

fal direct, Together, or a metered lane

The tier's hosts bill it per megapixel. fal direct, read 24 September 2026, bills per megapixel with rounding up to the nearest megapixel, through a queue-first API. Together, read the same day, bills per megapixel across its whole image catalog, over an OpenAI-shaped images endpoint. This platform's route is synchronous and OpenAI-shaped like the second. It bills per image, flat in size.

The decision rule is the usual one. Use a host direct when you want that host's queue machinery and per-megapixel metering. Call a metered lane when you want the runtime, the metering, and the measurements to be someone else's maintenance. Your cost per image becomes a number you can put in a budget. This platform's lane bills per image from a prepaid wallet, flat in size. Nothing about your spend depends on a rate limit changing.

API usage

The route is OpenAI-shaped, so the OpenAI SDK drives it with a base-url override. Plain HTTP works with a Bearer key:

ParameterRequiredLaw
modelyesthe model id, flux-pro-1.1 here
promptyesnon-empty string, forwarded as sent; no local length cap (fal enforces its own)
nnointeger 1 to 10, default 1; billed as returned, not as requested
sizenoWIDTHxHEIGHT, positive integers, forwarded as sent and applied (fast-tier 768x1344 receipt, 2026-09-24, same route and family)
response_formatnourl, the day-one value; b64_json is refused with a named error on provider basis, dated receipt

Every other parameter is refused with a 400 that names the parameter. That includes quality, style, background, output_format, output_compression, moderation, stream, partial_images, user, and seed. The strictness matches fal's own behavior, measured in the test round. fal's API rejected quality and seed with bare 400s. So the platform's door answers first with the clearer error.

Three laws save debugging time:

  1. The usage object is ours. The response's usage is an images count and a cost figure. The count comes from the response's data array. The cost is this platform's retail at six decimals. fal's token-shaped usage block is noise and never billing truth here.
  2. The URL is ephemeral. Fetch the bytes promptly. The platform neither proxies nor stores them. fal expires hosted media per the account's setting.
  3. Failures bill zero and stay retryable. A failed generation writes a failure row and bills nothing. It is never cached. A retry with the same idempotency key re-executes as a fresh attempt rather than replaying the failure.

curl

curl -X POST "https://api.ironstratum.com/v1/images/generations" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "flux-pro-1.1", "prompt": "a small red wooden cube on a white table, soft studio light", "n": 1}'

python

import os
import requests

resp = requests.post(
    "https://api.ironstratum.com/v1/images/generations",
    headers={"Authorization": "Bearer " + os.environ["KEY"]},
    json={
        "model": "flux-pro-1.1",
        "prompt": "a small red wooden cube on a white table, soft studio light",
        "n": 1,
    },
    timeout=90,
)
resp.raise_for_status()

answer = resp.json()
print("images:", answer["usage"]["images"], "cost:", answer["usage"]["cost"])
print("url:", answer["data"][0]["url"])  # fetch promptly; hosted URLs are temporary

openai-sdk

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.ironstratum.com/v1",
    api_key=os.environ["KEY"],
)

result = client.images.generate(
    model="flux-pro-1.1",
    prompt="a small red wooden cube on a white table, soft studio light",
    n=1,
)
print(result.data[0].url)

Benchmarks

Both evidence layers below carry their dates.

The platform's own measurements. From the platform's test round against the live route, 24 September 2026. These are the same records that sized the route's timeouts:

MetricValueBasis
End-to-end check200 with a hosted fal.media URL in the data arraylive check, 2026-09-24
Time to first byte6.7 secondslive check, 2026-09-24
First-byte budget60 s, sized with headroom over the measured 6.7 sroute setting
Shared-route behaviorthe fast tier's receipts on the same route and family: size applied pixel-for-pixel, n of 3 returned 3 data entries, seed and quality-class extras and b64_json each rejected with a 400live check, 2026-09-24

Read the latency row for what it is. It is single-request time to first byte on one account, one region, one day, one request of this tier. It sizes the timeout honestly. The route's first-byte budget carries roughly nine times the measured case. It is not a throughput benchmark. The quality tier is slower than the fast tier by design. The fast tier's page carries the comparison number. Your acceptance test is your own prompts at your own sizes.

The market's own pages. From fal's page for the tier and Together's serverless catalog, both read 24 September 2026, and the OpenAI OpenAPI specification, fetched the same day. fal sets the tier's knobs with explicit width and height, an inference-step count, and a guidance scale. It bills per megapixel rounded up to the nearest megapixel. Together lists the tier in the same family namespace and prices its whole image catalog per megapixel. OpenAI's specification is the compatibility target this route mirrors. It documents n up to 10 and a 60-minute validity on its own url mode. None of those pages speaks for this platform's metering. The pricing page does.

Getting started

  1. Open an account through the console's invite flow. The platform runs as an invite-only beta in this phase. The console holds the wallet, the keys, and the spend history.
  2. Create an API key. Keys are revocable on the spot and stand alone. One key per project keeps a leaked one from touching anything else. The wallet balance, not a per-key cap, is the spend boundary.
  3. Check the rate once. Metering is per image, flat in size. The pricing page answers the budget question. Images times rate, known before you send.
  4. Make the first call. The curl tab is the whole contract. A key, the alias, and a prompt. When one image comes back clean, the rest is n and size arithmetic.

The images category lays out the platform's text-to-image models, including the fast tier. The models index lists everything the catalog serves. The pricing page answers the budget question for every lane.

What the platform serves

Specialty models — kind and unit price
ModelKindPrice
flux-pro-1.1images$0.04/image

The same data GET /v1/models serves. A dash means the value isn't set.

Questions

What is flux-pro-1.1?
FLUX 1.1 Pro, the quality tier of the FLUX text-to-image family from Black Forest Labs. Every reseller's catalog names that publisher in the family namespace. The hosts that carry it set it up for quality work. fal's page for the tier, read 24 September 2026, exposes explicit width and height, an inference-step count, and a guidance scale. Those are the quality levers. The fast tier does not carry them. On this platform the alias answers over the images route. You send one OpenAI-shaped POST with a prompt. You get a hosted image URL back. The meter is per image, paid from a prepaid wallet. The images come from fal. Returned URLs live under fal.media. The platform checked fal's OpenAI-shaped endpoint live on 24 September 2026.
Is flux-pro-1.1 available on this platform?
It is live. The alias is in the /v1/models listing, in the catalog, and on this site. The route bills per image returned from a prepaid wallet, exactly as this page documents. Access in this phase starts at the console's invite flow. The platform runs as an invite-only beta. This page is the platform's written record of the lane. It holds the contract, the metering law, and the market basis of the price. The models index carries what the catalog serves today.
FLUX schnell or FLUX 1.1 Pro, which do I call?
Both answer the identical contract on this platform. The same route, the same parameter set, the same per-image meter, the same hosted-URL return. The choice is workload. Schnell is the speed tier, positioned by its resellers for local development and personal use. It measured 3.1 to 4.2 seconds to first byte here. Pro is the quality tier. It measured 6.7 seconds to first byte here. Its provider-side knobs are a guidance scale and explicit dimensions. The working pattern is to iterate on the fast tier and send the renders that matter to the quality tier. The pages for both carry the full contract.
How do I call the images route?
POST /v1/images/generations with a Bearer key from the console. The accepted parameter set is strict. It takes model, prompt (required, non-empty), n as an integer from 1 to 10, size as a WIDTHxHEIGHT string, and response_format with the value url. Anything else is refused with a 400 naming the parameter. That includes quality, style, background, output_format, moderation, stream, and seed. Nothing is dropped silently. The strictness is deliberate. It matches the provider. fal's own API rejected quality and seed when the platform tested the route on 24 September 2026. So the door answers first. You get a clearer error than a buried provider refusal.
How does billing work?
Per image returned, counted from the response's data array, not the requested n. A request for three that returns two bills two. A failed generation bills zero. It still writes its failure row. A request refused at the door bills nothing. Spend stops at the wallet. A request arriving after the balance is spent is refused with a named error before any work starts. Every response carries a usage object. Its images and cost fields are this platform's own numbers, the count and the retail at six decimals. They are never the provider's. Retries are covered by idempotency. The same Idempotency-Key with the same body replays the cached response and bills nothing a second time. The same key with a different body is a 409 conflict. A failed turn is never cached, so retrying after a failure re-executes rather than replaying the failure.
What about the returned URL?
The response carries a hosted URL under fal.media. It passes through unchanged. This platform does not proxy, cache, or rehost image bytes. Treat the URL as temporary. fal expires hosted media per the account's media-expiration setting. The market's documented analogue is OpenAI's own images API. Its specification states its url mode is valid for 60 minutes. Fetch the bytes promptly and store them on your side. Base64 responses are not offered on this route day-one. fal's API rejects the parameter. The response_format field accepts url. The expansion to b64_json is a documented flip. It lands with a dated receipt, never silently.
How does the price compare across hosts?
The hosts that list the tier, read 24 September 2026, bill it per megapixel. fal direct bills per megapixel with rounding up. Together bills per megapixel across its whole image catalog. This platform bills per image, flat in size. The rate is published on the pricing page. That page renders from the same source the route meters against. The flat per-image meter is the normalization. A market that bills per megapixel with rounding rules of its own makes cost depend on the size you send. A flat rate is the number you can put in a budget before you send anything. The fast tier, flux-1-schnell, is a separate page and a separate rate.