
Output
image
Aspect ratio
1:1, 16:9, 9:16, 4:3, 3:4, Custom
Resolution
1024, 2048, 4096
Max batch
4
Inputs
- Batch up to 4 per request
Example prompt
A majestic white dragon sleeping on top of snowy mountains under the northern lights, glowing scales, cinematic fantasy, breathtaking atmosphere, ultra detailed concept artTry this prompt →
LLM-ready
API & LLM schema
Exact request contract for this model. Agents can fetch it from /api/v1/models?id=fal-ai/sana.
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. |
style_name | string | Optional | The style to generate the image in. · Allowed: (No style), Cinematic, Photographic, Anime, Manga, Digital Art, Pixel art, Fantasy art, Neonpunk, 3D Model · Default: (No style) |
output_format | string | Optional | The format of the generated image. · Allowed: jpeg, png · Default: jpeg |
seed | integer | Optional | The same seed and the same prompt given to the same version of the model will output the same image every time. |
negative_prompt | string | Optional | The negative prompt to use. Use it to address details that you don't want in the image. This could be colors, objects, scenery and even the small deta · Default: |
num_inference_steps | number | Optional | The number of inference steps to perform. · Default: 18 · Range: 1–50 |
guidance_scale | number | Optional | The CFG (Classifier Free Guidance) scale is a measure of how close you want the model to stick to your prompt when looking for a related image to show · Default: 5 · Range: 0–20 |
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, Custom |
resolution | string | Optional | Allowed: 1024, 2048, 4096 |
num_images | integer | Optional | Range: 1–4 |
Minimal request example
{
"model_id": "fal-ai/sana",
"prompt": "A majestic white dragon sleeping on top of snowy mountains under the northern lights, glowing scales, cinematic fantasy, breathtaking atmosphere, ultra detailed concept art"
}Raw JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://www.artemotion.ai/api/v1/models?id=fal-ai%2Fsana",
"title": "Sana generation request",
"description": "Request body accepted by POST /api/v1/generate for fal-ai/sana.",
"type": "object",
"properties": {
"model_id": {
"type": "string",
"const": "fal-ai/sana",
"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"
},
"style_name": {
"title": "Style Name",
"description": "The style to generate the image in.",
"default": "(No style)",
"type": "string",
"enum": [
"(No style)",
"Cinematic",
"Photographic",
"Anime",
"Manga",
"Digital Art",
"Pixel art",
"Fantasy art",
"Neonpunk",
"3D Model"
]
},
"output_format": {
"title": "Output Format",
"description": "The format of the generated image.",
"default": "jpeg",
"type": "string",
"enum": [
"jpeg",
"png"
]
},
"seed": {
"title": "Seed",
"description": "The same seed and the same prompt given to the same version of the model will output the same image every time.",
"type": "integer"
},
"negative_prompt": {
"title": "Negative Prompt",
"description": "The negative prompt to use. Use it to address details that you don't want in the image. This could be colors, objects, scenery and even the small deta",
"default": "",
"type": "string"
},
"num_inference_steps": {
"title": "Num Inference Steps",
"description": "The number of inference steps to perform.",
"default": 18,
"type": "number",
"minimum": 1,
"maximum": 50,
"multipleOf": 1
},
"guidance_scale": {
"title": "Guidance Scale",
"description": "The CFG (Classifier Free Guidance) scale is a measure of how close you want the model to stick to your prompt when looking for a related image to show",
"default": 5,
"type": "number",
"minimum": 0,
"maximum": 20,
"multipleOf": 0.1
},
"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",
"Custom"
]
},
"resolution": {
"type": "string",
"enum": [
"1024",
"2048",
"4096"
]
},
"num_images": {
"type": "integer",
"minimum": 1,
"maximum": 4
}
},
"required": [
"model_id",
"prompt"
],
"additionalProperties": false
}FAQ
How much does Sana 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 Sana fails?
Yes — failed generations are never charged. The credits are released back to your balance automatically.
Can I call Sana from the API?
Yes. Use POST /api/v1/generate with model_id: "fal-ai/sana". 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 Sana?
Start now →No commitment. New accounts get 50 free credits on signup. See pricing.