
Output
image
Aspect ratio
1:1, 16:9, 9:16, 4:3, 3:4, 21:9, 9:21, Custom
Resolution
512, 1024, 2048, 4096
Max batch
4
Inputs
- Batch up to 4 per request
Example prompt
A macro photograph of a dewdrop on a spider web at sunrise, refracting a miniature forest scene within the droplet, crystal clarity, shallow depth of fieldTry this prompt →
LLM-ready
API & LLM schema
Exact request contract for this model. Agents can fetch it from /api/v1/models?id=fal-ai/flux-2.
POST
/api/v1/generate17 fields · 2 required| Field | Type | Requirement | Contract |
|---|---|---|---|
model_id | constant | Required | ArtEmotion model identifier. |
extra | object | Optional | Model-specific settings may also be nested here. |
max_credits | number | Optional | Reject before submission if the estimated list price exceeds this cap. · Range: 1–… |
webhook_url | string | Optional | Format: uri |
webhook_secret | string | Optional | Optional model input. |
folder_id | string | Optional | Optional model input. |
prompt | string | Required | Optional model input. |
acceleration | string | Optional | The acceleration level to use for the image generation. · Allowed: none, regular, high · Default: regular |
enable_prompt_expansion | boolean | Optional | If set to true, the prompt will be expanded for better results. · Default: false |
num_inference_steps | number | Optional | The number of inference steps to perform. · Default: 28 · Range: 4–50 |
guidance_scale | number | Optional | Guidance Scale — how closely the model follows the prompt. · Default: 2.5 · Range: 0–20 |
seed | integer | Optional | The seed to use for the generation. If not provided, a random seed will be used. |
output_format | string | Optional | The format of the generated image. · Allowed: jpeg, png, webp · Default: png |
enable_safety_checker | boolean | Optional | If set to true, the safety checker will be enabled. · Default: true |
aspect_ratio | string | Optional | Allowed: 1:1, 16:9, 9:16, 4:3, 3:4, 21:9, 9:21, Custom |
resolution | string | Optional | Allowed: 512, 1024, 2048, 4096 |
num_images | integer | Optional | Range: 1–4 |
Minimal request example
{
"model_id": "fal-ai/flux-2",
"prompt": "A macro photograph of a dewdrop on a spider web at sunrise, refracting a miniature forest scene within the droplet, crystal clarity, shallow depth of field"
}Raw JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://www.artemotion.ai/api/v1/models?id=fal-ai%2Fflux-2",
"title": "Flux 2 generation request",
"description": "Request body accepted by POST /api/v1/generate for fal-ai/flux-2.",
"type": "object",
"properties": {
"model_id": {
"type": "string",
"const": "fal-ai/flux-2",
"description": "ArtEmotion model identifier."
},
"extra": {
"type": "object",
"additionalProperties": true,
"description": "Model-specific settings may also be nested here."
},
"max_credits": {
"type": "number",
"minimum": 1,
"description": "Reject before submission if the estimated list price exceeds this cap."
},
"webhook_url": {
"type": "string",
"format": "uri",
"maxLength": 2048
},
"webhook_secret": {
"type": "string",
"maxLength": 512
},
"folder_id": {
"type": "string"
},
"prompt": {
"type": "string"
},
"acceleration": {
"title": "Acceleration",
"description": "The acceleration level to use for the image generation.",
"default": "regular",
"type": "string",
"enum": [
"none",
"regular",
"high"
]
},
"enable_prompt_expansion": {
"title": "Enable Prompt Expansion",
"description": "If set to true, the prompt will be expanded for better results.",
"default": false,
"type": "boolean"
},
"num_inference_steps": {
"title": "Steps",
"description": "The number of inference steps to perform.",
"default": 28,
"type": "number",
"minimum": 4,
"maximum": 50,
"multipleOf": 1
},
"guidance_scale": {
"title": "Guidance Scale",
"description": "Guidance Scale — how closely the model follows the prompt.",
"default": 2.5,
"type": "number",
"minimum": 0,
"maximum": 20,
"multipleOf": 0.1
},
"seed": {
"title": "Seed",
"description": "The seed to use for the generation. If not provided, a random seed will be used.",
"type": "integer"
},
"output_format": {
"title": "Output Format",
"description": "The format of the generated image.",
"default": "png",
"type": "string",
"enum": [
"jpeg",
"png",
"webp"
]
},
"enable_safety_checker": {
"title": "Enable Safety Checker",
"description": "If set to true, the safety checker will be enabled.",
"default": true,
"type": "boolean"
},
"aspect_ratio": {
"type": "string",
"enum": [
"1:1",
"16:9",
"9:16",
"4:3",
"3:4",
"21:9",
"9:21",
"Custom"
]
},
"resolution": {
"type": "string",
"enum": [
"512",
"1024",
"2048",
"4096"
]
},
"num_images": {
"type": "integer",
"minimum": 1,
"maximum": 4
}
},
"required": [
"model_id",
"prompt"
],
"additionalProperties": false
}FAQ
How much does Flux 2 cost on ArtEmotion?
Credit-based pricing. You pay in ArtEmotion credits — every plan and top-up converts USD to credits at a fixed rate.
Do I get my credits back if Flux 2 fails?
Yes — failed generations are never charged. The credits are released back to your balance automatically.
Can I call Flux 2 from the API?
Yes. Use POST /api/v1/generate with model_id: "fal-ai/flux-2". See the API reference for the full schema.
Where are my generations stored?
Every output is saved to your personal Library. You can export or delete everything any time from Privacy & deletion.
Ready to generate with Flux 2?
Start now →No commitment. New accounts get 50 free credits on signup. See pricing.