Generate imagesLarge Language ModelsVisual Effects
Flux API Key: Pricing, Free Tier and Black Forest Labs Docs
How to open a Black Forest Labs account and create Flux API credentials, what credits cost at $0.01 each, how FLUX.1, FLUX.2 and FLUX 3 are priced per image, whether any free tier exists, the rate limits to plan around, and a working request in Python.
You searched for a Flux API key because you want to generate images from code, and you want the price tag before you put a card on file. Fair. Black Forest Labs sells Flux through a credit-based API, and the answers on pricing, free usage and limits are spread across several documentation pages. This article puts them in one place, based on the official docs as read in October 2026.
The short version: 1 credit equals $0.01, you pay per image (or per second of video), the docs advertise no free credits for new accounts, and the default ceiling is 24 active tasks at once. The rest of this page shows how those facts play out, with a table of every current price and a request you can run today.
💡 Prices move. Every figure here comes from the Black Forest Labs pricing page and help center. Check the live page before you budget a large job, because new models and resolution tiers appear often.
Setting Up Your Black Forest Labs Account
Everything starts at dashboard.bfl.ai. The account, the credentials and the billing all live there, and the setup takes about five minutes.
Create the Account
Open the dashboard, click Login, and register with an email and password or with Google. Sign-up creates a Default Organization and a Default Project automatically, so there is nothing extra to configure. The organization holds your billing and credit balance. The project holds your API credentials. If you later split work between clients or products, you can add projects without opening a second account.
Generate and Store the Secret
Inside your project, go to API, then Keys, and click Add Key. Give it a descriptive name such as production-images. The full API key is shown once, so copy it straight into a password manager or an environment variable. Three habits will save you pain:
Keep the secret out of Git and out of browser code. Anyone who holds it can spend your credits.
Create one credential per environment, so revoking a staging secret never breaks production.
Send it in the x-key header of every request, exactly as the example later in this article does.
Add Credits Before Calling
Requests fail without a balance, so fund the account first. In the sidebar go to API, then Credits, click Add Credits, and choose an amount. Stripe handles the payment, and the credits are available immediately. The docs state no minimum for a manual purchase.
Auto top-up is optional. The trigger threshold must be at least $5, and the recharge target must sit at least $10 above that threshold. If an automatic charge fails, auto top-up switches itself off until you turn it back on, so check your card details before a long unattended run.
What Flux Costs per Image
Black Forest Labs runs three pricing styles side by side. The older FLUX.1 models charge a flat number of credits per image. The FLUX.2 family charges by megapixel. The newer FLUX 3 models charge by resolution tier or, for video, by the second. The playground bills at the same price as the API, so testing in the browser is not a free workaround.
FLUX.1 Flat Credit Prices
These are the simplest to budget, because one request costs the same at any supported size.
Kontext is the editing line: you send an image plus an instruction, and it changes what you describe. Fill Pro handles inpainting and outpainting.
FLUX.2 Pricing by Megapixel
FLUX.2 prices start low and grow with resolution: the first megapixel costs a flat rate, and each additional megapixel adds to the total. The figures below are the starting prices.
Klein 4B and 9B are the budget pair, Pro is the usual production pick, and Max sits at the top of the price list. Flux 2 Dev has no API price because the docs list it as local only.
FLUX 3 Image and Video Rates
FLUX 3 splits image pricing by output size.
Output tier
Approximate size
Price per image
768sq
768 x 768 pixels
$0.041
1k
about 1 megapixel
$0.048
2k
about 4 megapixels
$0.100
4k
about 16 megapixels
$0.607
Video is billed per second. Text to video and image to video run from $0.17 up to $0.80 per second for a full render, while a draft render costs $0.06 per second. A five second draft therefore costs $0.30, and a five second full render costs at least $0.85. You can try Flux 3 as a text to video model on PicassoIA before you commit to its API rates.
Is There a Real Free Tier?
Short answer: not one that the documentation advertises.
What the Docs Actually Say
The pricing page opens with a single rule: 1 credit equals $0.01 USD, pay per image, same price for API and playground. It lists no signup credits, no monthly free allowance and no trial. The credits and billing pages are silent on trial credits as well. Independent price trackers reach the same verdict, that no traditional free tier exists. If a promotion is running, check your dashboard after signing up, because none is documented.
So plan for a small first deposit. A $10 top-up buys 1,000 credits. That is 250 images with Flux 1.1 Pro at 4 credits each, or more than 700 images with Flux 2 Klein 4B at $0.014 each.
💡 Test cheap first. Run your prompt templates on the cheapest model before you spend credits on Max or Ultra. A bad prompt costs the same on every model.
Free Options That Do Exist
Three routes avoid paying Black Forest Labs per image:
Self-host open weights.Flux 2 Klein 4B and Flux Schnell are open-weight models, so you can run them on your own hardware with no per-image fee within their license terms. You pay for your own GPU instead, and the license differs by model, so check each model card. Flux 2 Dev is listed as local only, and its weights carry a non-commercial license, so read that before using it in a paid product.
Use a hosted browser tool. PicassoIA runs Flux models in the browser with no API setup. Its Flux 2 Pro page describes the model as free, online and no coding required.
Prototype on the cheapest paid model. At $0.014 per image, a few hundred experiments cost less than a coffee.
Rate Limits and Result URLs
Two rules shape every integration: how many jobs can run at once, and how long you have to grab the result.
24 Active Tasks by Default
The concurrency limit is the number of requests an account can have in flight at one time. By default it is 24 active tasks. Two models get tighter ceilings: flux-kontext-max is limited to 6 active tasks, and FLUX 3 video starts at 5 concurrent video tasks. Higher limits are possible if you contact Black Forest Labs support.
When you exceed the limit, the API answers with HTTP 429. Nothing is lost: wait for one of your earlier tasks to finish and send the request again. In code, that means a semaphore capped a little below 24 and a retry with backoff on 429. The limit counts tasks that are still running, not requests per second, so a faster model lets you push more images through the same ceiling.
Ten Minutes to Download
The response to your first POST contains an id and a polling_url. Use that URL, not one you build yourself, especially on the global endpoint api.bfl.ai or the regional ones, api.eu.bfl.ai and api.us.bfl.ai. Poll until the status reads Ready, Error or Failed.
The signed URL in a ready result is valid for 10 minutes only. Download the file and copy it to your own storage, such as S3 or R2, the moment the status flips to Ready. If your worker is down when the job finishes, the output expires and you have to regenerate the image.
Making Your First Request
Here is a minimal Python script using the Flux 1.1 Pro endpoint, which costs 4 credits ($0.04) per image. Set BFL_API_KEY in your environment first.
import os, time, requests
BASE = "https://api.bfl.ai/v1"
HEADERS = {"x-key": os.environ["BFL_API_KEY"], "accept": "application/json"}
job = requests.post(
f"{BASE}/flux-pro-1.1",
headers=HEADERS,
json={
"prompt": "A ceramic perfume bottle on a white table, soft window light",
"width": 1024,
"height": 768,
},
).json()
while True:
result = requests.get(job["polling_url"], headers=HEADERS).json()
if result["status"] == "Ready":
break
if result["status"] in ("Error", "Failed"):
raise RuntimeError(result)
time.sleep(1)
image = requests.get(result["result"]["sample"]).content
open("bottle.jpg", "wb").write(image)
The script posts a job, reads the polling_url from the reply, checks it once per second, and saves the image before the signed URL expires. To use another model, change the endpoint path to the one listed for it in the API reference at docs.bfl.ai. The API reference also documents a call that returns your remaining credits, which is worth running before any large batch.
Controlling Costs at Scale
Small differences per image become real money at volume. The table shows what 1,000 images cost at each starting price.
A sensible pattern is to draft with a Klein model, then regenerate only the winners on Pro or Max. For edits, start with Kontext Pro and move to Kontext Max only when the result needs it. Kontext Max also has the tightest concurrency limit, so it is a poor fit for bulk jobs.
Budget Before You Batch
Batch requests multiply the base cost by the number of images, so 200 images on Flux 1.1 Pro cost 200 times $0.04, which is $8. Credits sit at the organization level and are shared across its projects, so separate projects do not give you separate budgets. Turn on auto top-up only after you have set a threshold you can afford to lose to a runaway loop, and check the credit balance call at the start of every large job.
Flux 2 Pro on PicassoIA
If you want pictures rather than an integration, you can skip the account setup, the credits and the code. PicassoIA hosts Flux 2 Pro in the browser, and it accepts up to eight reference images alongside your prompt.
How to Use Flux 2 Pro
Here is how to use Flux 2 Pro on PicassoIA, step by step:
Write your prompt. It is the only required field. Name the subject, the light and the lens, as in "a ceramic perfume bottle on a white table, soft window light, 85mm lens".
Optionally add up to 8 reference images (JPEG, PNG, GIF or WebP) to steer style, subject or composition. Refer to them in the prompt as image 1, image 2 and so on.
Pick an aspect ratio and a resolution. The default is 1 MP, and the model page recommends 2 MP or below.
Choose the output format and quality, then start the generation.
Save the result you like, and reuse its seed if you want to reproduce it later.
Parameter Tips That Matter
Parameter
Default
Tip
Aspect ratio
1:1
Choose 16:9 for blog banners, 9:16 for stories, or a custom size
Resolution
1 MP
Up to 4 MP is possible, but 2 MP or below is recommended
Input images
None
Maximum 8, mix style and subject references
Output format
WebP
Use PNG when you need lossless files
Output quality
80
Raise it for print, lower it for faster pages
Safety tolerance
2
1 is strictest and 5 is most permissive
Seed
Random
Set it to repeat a result exactly
Custom width and height must be multiples of 32, and the largest output is 2048 x 2048 pixels, so very wide ratios will not reach the full 4 MP.
The Black Forest Labs API is the right tool when you are building a product that calls Flux thousands of times. For everything else, the fastest way to see what these models do is to type a prompt and look at the result.
Open Picasso IA, pick Flux 2 Pro or any model from the full model list, and generate your first image in a few minutes. Try the same prompt on two or three models, compare the results side by side, and note which one earns its price. Once you know which model fits your work, you will also know which API endpoint to budget for.