Body
modelstringYes- A model ID in the IMAGE category
promptstringYes- 1–16,000 characters. A provider with a lower limit may reject longer prompts
nintegerNo- Number of images to generate, 1–10 (default 1)
sizestringNo- Pixel
WxHorauto(e.g.256x256·512x512·1024x1024·1792x1024·1024x1792·1536x1024·1024x1536·auto) or a resolution tier (same values asresolution). Pixels take precedence; a contradictingaspect_ratioorresolutionreturns 400 aspect_ratiostringNo1:1·16:9·9:16·4:3·3:4·3:2·2:3·4:5·5:4·1:2·2:1·7:5·5:7·1:4·4:1·1:8·8:1·9:21·21:9·auto(provider default). Per-model values: see aspect ratio and resolution belowresolutionstringNo512·768·1K·1.5K·2K·4K. 1K ≈ 1 MP, 2K ≈ 4 MP, 4K = the model's largest tierqualitystringNostandard·hd·low·medium·high·xhigh·max·auto— see model-specific values and omission defaults below (xhigh/maxon GPT Image 2.5)response_formatstringNourl(default) ·b64_jsonoutput_formatstringNopng·jpeg·webp. Only models listingoutput_formatinparameter_profileaccept it; others return 400output_compressionintegerNo- 0–100, for
jpeg/webpoutput only (GPT Image) backgroundstringNotransparent·opaque·auto(GPT Image). Transparent requirespngorwebpoutputmoderationstringNolow·auto(GPT Image)userstringNo- End-user identifier
extra_body.googleobjectNo- deprecated —
aspect_ratioandimage_sizeare aliases ofaspect_ratioandresolutionabove. A differing value returns 400 extra_body.gpunodeobjectNo- Managed GPU node image models only:
seed(same value, same result; image i of n uses seed+i) ·num_inference_steps prompt_upsamplingbooleanNo- FLUX 3 Image Klein only: prompt upsampler on/off (default
true). Other models return 400
Aspect ratio and resolution
Each model publishes its supported values in aspect_ratio and resolution under parameter_profile.tasks["image-generation"].parameters (the Playground uses the same values). The default auto policy moves an unsupported ratio to the nearest supported one and a resolution to the nearest supported tier at or below the request (else the smallest), reporting each change in x_everyais.parameter_warnings. strict returns 400.
| Model | Wire mapping |
|---|---|
| Gemini image | imageConfig aspect ratio and size. A pixel size maps to the nearest ratio and tier (3840x2160 → 16:9, 4K) |
| GPT Image 2.5 | Converted to a 16px-grid WxH — 1K ≈ 1 MP (16:9 1360x768), 2K ≈ 4 MP (2720x1536), 4K = the pixel budget (3840x2160) |
| Listed-size models (FLUX 3 Image Klein and others) | Picks from the published size list by ratio, then resolution. Size-specific pricing (pricing.variants[].meta.sizes) follows the chosen size |
Check the selected model's n limit and allowed sizes (limits.supported_sizes). GPT Image 2.5 accepts arbitrary WIDTHxHEIGHT (multiples of 16, edges ≤3840, ratio 1:3–3:1, 655,360–8,294,400 pixels). Token-priced image models bill more output tokens for larger sizes and higher quality. When a size is priced differently, it appears in meta.sizes of a pricing.variants[] entry.
For the image models you can use, check GET /v1/models for entries whose category is IMAGE.
FLUX 3 Image Klein (everyais/flux-3-image-klein)
Black Forest Labs' FLUX 3 Image Klein (5.6B open weights, Qwen3-VL-4B text encoder).
| Item | Value |
|---|---|
prompt | Up to 16,000 characters (all image endpoints) |
n | 1–4 |
| Size | One of the 60 sizes below (size), or aspect_ratio + resolution. Default 1:1 · 1K (1024x1024) |
output_format | png · jpeg · webp (engine default jpeg) |
extra_body.gpunode.seed | 0–2147483647 |
extra_body.gpunode.num_inference_steps | 1–16 (default 16) |
prompt_upsampling | boolean, default true — BFL's prompt upsampler rewrites the prompt into a full caption before generation, same as BFL's own API (same parameter name). Set false to send the prompt as typed. extra_body.gpunode.prompt_upsampling is the same switch (give one, or the same value in both) |
guidance_scale · negative_prompt | Not supported — 400 |
When upsampling ran, each response item carries the upsampled caption as revised_prompt.
Supported sizes (15 aspect ratios × 4 resolutions)
Resolutions 768 · 1K · 1.5K · 2K (BFL calls them 768sq/1k/1.5k/2k). Pixel size is round16(E·√r) × round16(E/√r), with E = 768/1024/1536/2048 and r = width ÷ height. An explicit size must be one of these 60 values. BFL's 4k tier is not offered: on this node (one 96 GB GPU) a single 4K image took over two minutes and some aspect ratios ran out of memory. resolution: "4K" snaps to 2K under auto and returns 400 under strict. The default auto policy snaps to the nearest listed size and reports it in x_everyais.parameter_warnings; strict returns 400.
| Aspect ratio | 768 | 1K | 1.5K | 2K |
|---|---|---|---|---|
21:9 | 1168x496 | 1568x672 | 2352x1008 | 3136x1344 |
2:1 | 1088x544 | 1456x720 | 2176x1088 | 2896x1456 |
16:9 | 1024x576 | 1360x768 | 2048x1152 | 2736x1536 |
3:2 | 944x624 | 1248x832 | 1888x1248 | 2512x1680 |
7:5 | 912x656 | 1216x864 | 1824x1296 | 2416x1728 |
4:3 | 880x672 | 1184x880 | 1776x1328 | 2368x1776 |
5:4 | 864x688 | 1152x912 | 1712x1376 | 2288x1824 |
1:1 | 768x768 | 1024x1024 | 1536x1536 | 2048x2048 |
4:5 | 688x864 | 912x1152 | 1376x1712 | 1824x2288 |
3:4 | 672x880 | 880x1184 | 1328x1776 | 1776x2368 |
5:7 | 656x912 | 864x1216 | 1296x1824 | 1728x2416 |
2:3 | 624x944 | 832x1248 | 1248x1888 | 1680x2512 |
9:16 | 576x1024 | 768x1360 | 1152x2048 | 1536x2736 |
1:2 | 544x1088 | 720x1456 | 1088x2176 | 1456x2896 |
9:21 | 496x1168 | 672x1568 | 1008x2352 | 1344x3136 |
Pricing (per image, USD)
| Output tier | Price |
|---|---|
768 | $0.008 |
1K | $0.009 |
1.5K | $0.011 |
2K | $0.014 |
Generation and editing cost the same, multiplied by n. Actual billing follows your account rates.
Bounding-box layout
Append a JSON list to the end of the prompt to control placement. Each element is {"id","bbox":[top,left,bottom,right],"desc"} on a 0–1000 grid. Refer to the element in the caption as <id>.
{
"model": "everyais/flux-3-image-klein",
"prompt": "A cozy cafe window scene: a <cat> sleeps on the left windowsill and a <plant> stands on the right. [{\"id\":\"cat\",\"bbox\":[500,50,900,450],\"desc\":\"orange tabby cat curled up\"},{\"id\":\"plant\",\"bbox\":[300,600,900,900],\"desc\":\"potted monstera\"}]",
"aspect_ratio": "3:2",
"resolution": "1K",
"extra_body": { "gpunode": { "seed": 42 } }
}Tips
- Full scene captions beat short prompts.
- There are no negative prompts — describe what should be there.
- Put text to render in quotes.
- Latency depends on size, reference count and the upsampler. Measured 2026-10-16 (GPU time, excluding queue and transfer): with the upsampler on, 768 ≈ 5 s, 1K 6–8 s, 1.5K ≈ 9 s, 2K ≈ 16 s, 2–3 reference edits 12–15 s, 10 reference edits ≈ 55 s. With it off, 1K ≈ 2 s. One node renders one image at a time, so bursts add queue time (no fixed SLA).
- License: FLUX Kommunity License (non-commercial, plus commercial use of outputs for qualifying users). Outputs pass a content (NSFW) filter and are AI-generated.
Model options
Check the table above for the values the selected model supports (in the API: capabilities, limits, and parameter_constraints in GET /v1/models). Whether an unsupported value is adjusted or rejected with 400 is described under parameter policy in model selection and access.
Omitting size, aspect ratio, resolution, or quality applies the defaults in parameter_profile. For quality, check limits.supported_qualities.
Returns
url is a presigned URL valid for 10 minutes. To keep an image longer, download and store it yourself.
Once it expires you can re-issue one through GET /v1/outputs/{requestId} for up to 24 hours.
The requestId is the value of this response's x-request-id header (x-everyais-operation-id carries the same value). It is not in the response body, so store the header.