Use 26 image models from FLUX, Seedream, Muse, GPT Image, Recraft and Grok with one API key.
Choose your model
Model pages list prices and required settings.
- FLUX Kontext MaxGeneratebfl/flux-kontext-max
- FLUX Kontext ProGenerate + editbfl/flux-kontext-pro
- FLUX 1.1 ProGeneratebfl/flux-pro-1.1
- FLUX 1.1 Pro UltraGeneratebfl/flux-pro-1.1-ultra
- Seedream 4.0Generatebytedance/seedream-4.0
- Seedream 4.5Generatebytedance/seedream-4.5
- Seedream 5.0 LiteGeneratebytedance/seedream-5.0-lite
- Seedream 5.0 ProGeneratebytedance/seedream-5.0-pro
- Muse Image 1.0Generatemeta/muse-image-1.0
- GPT Image 1Generateopenai/gpt-image-1
- GPT Image 1 MiniGenerateopenai/gpt-image-1-mini
- GPT Image 1.5Generateopenai/gpt-image-1.5
- GPT Image 2Generateopenai/gpt-image-2
- GPT Image 2.5 FlareGenerate + editopenai/gpt-image-2.5-flare
- GPT Image 2.5 SunburstGenerate + editopenai/gpt-image-2.5-sunburst
- Recraft V2Generaterecraft/recraft-v2
- Recraft V3Generaterecraft/recraft-v3
- Recraft V4Generaterecraft/recraft-v4
- Recraft V4 ProGeneraterecraft/recraft-v4-pro
- Recraft V4.1Generaterecraft/recraft-v4.1
- Recraft V4.1 FlashGeneraterecraft/recraft-v4.1-flash
- Recraft V4.1 ProGeneraterecraft/recraft-v4.1-pro
- Recraft V4.1 UtilityGeneraterecraft/recraft-v4.1-utility
- Recraft V4.1 Utility ProGeneraterecraft/recraft-v4.1-utility-pro
- Grok Imagine ImageGeneratespacexai/grok-imagine-image
- Grok Imagine Image 2.0Generatespacexai/grok-imagine-image-2.0
Generate an image
Set to your funded key. Each request returns one image.
curl --fail-with-body --retry 0 --max-time 120 \
https://api.minirouter.sh/v1/images/generations \
-H "Authorization: Bearer $MINIROUTER_KEY" \
-H 'Content-Type: application/json' \
-D response.headers --output response.json \
--data '{
"model": "bfl/flux-kontext-pro",
"prompt": "A solid blue circle centered on a plain white background. No text.",
"n": 1
}'Save the image and request ID.
python3 -c 'import base64,json; r=json.load(open("response.json")); open("image.png","wb").write(base64.b64decode(r["data"][0]["b64_json"]))'
awk 'tolower($1) == "x-minirouter-request-id:" { print $2 }' response.headersMake an edit
Use or a PNG, JPEG or WebP up to 1,048,576 pixels (1024 × 1024) and 8 MiB. FLUX Kontext Pro does not accept masks.
curl --fail-with-body --retry 0 --max-time 120 \
https://api.minirouter.sh/v1/images/edits \
-H "Authorization: Bearer $MINIROUTER_KEY" \
-D edit.headers --output edit.json \
-F model=bfl/flux-kontext-pro \
-F 'prompt=Make the blue circle green. Keep the white background and composition.' \
-F n=1 \
-F image=@image.pngThe edited image is base64 in . Use the model-page examples for Flare and Sunburst.
Capped billing
Your hold is twice the estimated cost, including our fee. Pay the provider’s actual cost plus the fee, capped at that hold. Unused funds return to your balance.
Billing can finish after the image arrives. Check Activity or before retrying an uncertain request. Keep automatic retries disabled.