{
  "wando_provider": 1,
  "id": "fal-ai",
  "name": "fal.ai",
  "version": "1.8.1",
  "author": "Wando",
  "updated": "2026-10-20",
  "docs_url": "https://docs.fal.ai",
  "update_url": "https://wandostudios.com/files/bblog/fal-ai.wandoprovider",
  "notes": "A proof of concept, checked against fal.ai's model pages on 2026-10-20 and not maintained; if you change it, delete update_url. Prices are Fal's list prices at the most expensive tier your settings reach. Large photos may need Cloudflare R2 (see the README). Seedream 4.5 is not in Advanced Edit or Social Media: Fal's size presets don't match Wando's Seedream sizes.",
  "hosts": [
    "queue.fal.run"
  ],
  "auth": {
    "label": "fal.ai API key",
    "header": "Authorization",
    "prefix": "Key "
  },
  "models": [
    {
      "id": "nano-banana-pro-edit",
      "label": "Nano Banana Pro",
      "group": "Google",
      "description": "Google Nano Banana Pro on fal.ai. It makes an image from a prompt or edits the references you add.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the change or the new image..."
      },
      "references": {
        "mode": "optional",
        "max": 14,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "aspect_ratio",
          "label": "Aspect Ratio",
          "type": "aspect_combo",
          "default": "auto",
          "options": [
            {
              "label": "Auto",
              "value": "auto"
            },
            "21:9",
            "16:9",
            "3:2",
            "4:3",
            "5:4",
            "1:1",
            "4:5",
            "3:4",
            "2:3",
            "9:16"
          ]
        },
        {
          "key": "resolution",
          "label": "Resolution",
          "type": "combo",
          "default": "1K",
          "options": [
            "1K",
            "2K",
            "4K"
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png",
            "webp"
          ]
        },
        {
          "key": "safety_tolerance",
          "label": "Safety Tolerance",
          "type": "combo",
          "default": "4",
          "options": [
            "1",
            "2",
            "3",
            "4",
            "5",
            "6"
          ],
          "help": "1 is the strictest, 6 the most permissive."
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "type": "seed"
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/nano-banana-pro",
        "body": {
          "prompt": "{{prompt}}",
          "aspect_ratio": "{{fields.aspect_ratio}}",
          "resolution": "{{fields.resolution}}",
          "output_format": "{{fields.output_format}}",
          "safety_tolerance": "{{fields.safety_tolerance}}",
          "num_images": "{{fields.num_images}}",
          "seed": "{{fields.seed}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "by_field": {
          "resolution": {
            "1K": 0.15,
            "2K": 0.15,
            "4K": 0.3
          }
        },
        "count_field": "num_images",
        "note": "Fal's price: $0.15 per image at 1K or 2K, and $0.30 at 4K."
      },
      "sizes": [
        {
          "aspect": "1:1",
          "tier": "1K",
          "width": 1024,
          "height": 1024,
          "values": {
            "aspect_ratio": "1:1",
            "resolution": "1K"
          }
        },
        {
          "aspect": "1:1",
          "tier": "2K",
          "width": 2048,
          "height": 2048,
          "values": {
            "aspect_ratio": "1:1",
            "resolution": "2K"
          }
        },
        {
          "aspect": "1:1",
          "tier": "4K",
          "width": 4096,
          "height": 4096,
          "values": {
            "aspect_ratio": "1:1",
            "resolution": "4K"
          }
        },
        {
          "aspect": "2:3",
          "tier": "1K",
          "width": 848,
          "height": 1264,
          "values": {
            "aspect_ratio": "2:3",
            "resolution": "1K"
          }
        },
        {
          "aspect": "2:3",
          "tier": "2K",
          "width": 1696,
          "height": 2528,
          "values": {
            "aspect_ratio": "2:3",
            "resolution": "2K"
          }
        },
        {
          "aspect": "2:3",
          "tier": "4K",
          "width": 3392,
          "height": 5056,
          "values": {
            "aspect_ratio": "2:3",
            "resolution": "4K"
          }
        },
        {
          "aspect": "3:2",
          "tier": "1K",
          "width": 1264,
          "height": 848,
          "values": {
            "aspect_ratio": "3:2",
            "resolution": "1K"
          }
        },
        {
          "aspect": "3:2",
          "tier": "2K",
          "width": 2528,
          "height": 1696,
          "values": {
            "aspect_ratio": "3:2",
            "resolution": "2K"
          }
        },
        {
          "aspect": "3:2",
          "tier": "4K",
          "width": 5056,
          "height": 3392,
          "values": {
            "aspect_ratio": "3:2",
            "resolution": "4K"
          }
        },
        {
          "aspect": "3:4",
          "tier": "1K",
          "width": 896,
          "height": 1200,
          "values": {
            "aspect_ratio": "3:4",
            "resolution": "1K"
          }
        },
        {
          "aspect": "3:4",
          "tier": "2K",
          "width": 1792,
          "height": 2400,
          "values": {
            "aspect_ratio": "3:4",
            "resolution": "2K"
          }
        },
        {
          "aspect": "3:4",
          "tier": "4K",
          "width": 3584,
          "height": 4800,
          "values": {
            "aspect_ratio": "3:4",
            "resolution": "4K"
          }
        },
        {
          "aspect": "4:3",
          "tier": "1K",
          "width": 1200,
          "height": 896,
          "values": {
            "aspect_ratio": "4:3",
            "resolution": "1K"
          }
        },
        {
          "aspect": "4:3",
          "tier": "2K",
          "width": 2400,
          "height": 1792,
          "values": {
            "aspect_ratio": "4:3",
            "resolution": "2K"
          }
        },
        {
          "aspect": "4:3",
          "tier": "4K",
          "width": 4800,
          "height": 3584,
          "values": {
            "aspect_ratio": "4:3",
            "resolution": "4K"
          }
        },
        {
          "aspect": "4:5",
          "tier": "1K",
          "width": 928,
          "height": 1152,
          "values": {
            "aspect_ratio": "4:5",
            "resolution": "1K"
          }
        },
        {
          "aspect": "4:5",
          "tier": "2K",
          "width": 1856,
          "height": 2304,
          "values": {
            "aspect_ratio": "4:5",
            "resolution": "2K"
          }
        },
        {
          "aspect": "4:5",
          "tier": "4K",
          "width": 3712,
          "height": 4608,
          "values": {
            "aspect_ratio": "4:5",
            "resolution": "4K"
          }
        },
        {
          "aspect": "5:4",
          "tier": "1K",
          "width": 1152,
          "height": 928,
          "values": {
            "aspect_ratio": "5:4",
            "resolution": "1K"
          }
        },
        {
          "aspect": "5:4",
          "tier": "2K",
          "width": 2304,
          "height": 1856,
          "values": {
            "aspect_ratio": "5:4",
            "resolution": "2K"
          }
        },
        {
          "aspect": "5:4",
          "tier": "4K",
          "width": 4608,
          "height": 3712,
          "values": {
            "aspect_ratio": "5:4",
            "resolution": "4K"
          }
        },
        {
          "aspect": "9:16",
          "tier": "1K",
          "width": 768,
          "height": 1376,
          "values": {
            "aspect_ratio": "9:16",
            "resolution": "1K"
          }
        },
        {
          "aspect": "9:16",
          "tier": "2K",
          "width": 1536,
          "height": 2752,
          "values": {
            "aspect_ratio": "9:16",
            "resolution": "2K"
          }
        },
        {
          "aspect": "9:16",
          "tier": "4K",
          "width": 3072,
          "height": 5504,
          "values": {
            "aspect_ratio": "9:16",
            "resolution": "4K"
          }
        },
        {
          "aspect": "16:9",
          "tier": "1K",
          "width": 1376,
          "height": 768,
          "values": {
            "aspect_ratio": "16:9",
            "resolution": "1K"
          }
        },
        {
          "aspect": "16:9",
          "tier": "2K",
          "width": 2752,
          "height": 1536,
          "values": {
            "aspect_ratio": "16:9",
            "resolution": "2K"
          }
        },
        {
          "aspect": "16:9",
          "tier": "4K",
          "width": 5504,
          "height": 3072,
          "values": {
            "aspect_ratio": "16:9",
            "resolution": "4K"
          }
        },
        {
          "aspect": "21:9",
          "tier": "1K",
          "width": 1584,
          "height": 672,
          "values": {
            "aspect_ratio": "21:9",
            "resolution": "1K"
          }
        },
        {
          "aspect": "21:9",
          "tier": "2K",
          "width": 3168,
          "height": 1344,
          "values": {
            "aspect_ratio": "21:9",
            "resolution": "2K"
          }
        },
        {
          "aspect": "21:9",
          "tier": "4K",
          "width": 6336,
          "height": 2688,
          "values": {
            "aspect_ratio": "21:9",
            "resolution": "4K"
          }
        }
      ],
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/fal-ai/nano-banana-pro/edit",
          "body": {
            "prompt": "{{prompt}}",
            "image_urls": "{{images}}",
            "aspect_ratio": "{{fields.aspect_ratio}}",
            "resolution": "{{fields.resolution}}",
            "output_format": "{{fields.output_format}}",
            "safety_tolerance": "{{fields.safety_tolerance}}",
            "num_images": "{{fields.num_images}}",
            "seed": "{{fields.seed}}"
          }
        },
        "fields": [
          "aspect_ratio",
          "resolution",
          "output_format",
          "safety_tolerance",
          "num_images",
          "seed"
        ],
        "references": {
          "max": 14,
          "send_as": "data_url"
        },
        "description": "Add references to edit or combine images."
      },
      "without_references": {
        "fields": [
          "aspect_ratio",
          "resolution",
          "output_format",
          "safety_tolerance",
          "num_images",
          "seed"
        ]
      }
    },
    {
      "id": "nano-banana",
      "label": "Nano Banana",
      "group": "Google",
      "description": "Nano Banana on fal.ai. Prompt-only generation or editing with references.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 3,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png",
            "webp"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "safety_tolerance",
          "label": "Safety Tolerance",
          "type": "combo",
          "default": "4",
          "options": [
            "1",
            "2",
            "3",
            "4",
            "5",
            "6"
          ],
          "help": "Controls the provider's content screening level; available values vary by model."
        },
        {
          "key": "aspect_ratio",
          "label": "Aspect Ratio",
          "type": "aspect_combo",
          "default": "1:1",
          "options": [
            "21:9",
            "16:9",
            "3:2",
            "4:3",
            "5:4",
            "1:1",
            "4:5",
            "3:4",
            "2:3",
            "9:16"
          ]
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/nano-banana",
        "body": {
          "prompt": "{{prompt}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "safety_tolerance": "{{fields.safety_tolerance}}",
          "aspect_ratio": "{{fields.aspect_ratio}}",
          "seed": "{{fields.seed}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "output_format",
          "num_images",
          "safety_tolerance",
          "aspect_ratio",
          "seed"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/fal-ai/nano-banana/edit",
          "body": {
            "image_urls": "{{images}}",
            "prompt": "{{prompt}}",
            "output_format": "{{fields.output_format}}",
            "num_images": "{{fields.num_images}}",
            "safety_tolerance": "{{fields.safety_tolerance}}",
            "aspect_ratio": "{{fields.aspect_ratio}}",
            "seed": "{{fields.seed}}"
          }
        },
        "fields": [
          "output_format",
          "num_images",
          "safety_tolerance",
          "aspect_ratio",
          "seed"
        ],
        "references": {
          "max": 3,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        },
        "description": "Add images to edit them."
      },
      "pricing": {
        "per_image": 0.04,
        "note": "Fal's price: $0.039 to $0.0398 per image. The estimate uses $0.04.",
        "count_field": "num_images"
      }
    },
    {
      "id": "nano-banana-2",
      "label": "Nano Banana 2",
      "group": "Google",
      "description": "Nano Banana 2 on fal.ai. Prompt-only generation or editing with references.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 14,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png",
            "webp"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "safety_tolerance",
          "label": "Safety Tolerance",
          "type": "combo",
          "default": "4",
          "options": [
            "1",
            "2",
            "3",
            "4",
            "5",
            "6"
          ],
          "help": "Controls the provider's content screening level; available values vary by model."
        },
        {
          "key": "aspect_ratio",
          "label": "Aspect Ratio",
          "type": "aspect_combo",
          "default": "auto",
          "options": [
            {
              "label": "Auto",
              "value": "auto"
            },
            "21:9",
            "16:9",
            "3:2",
            "4:3",
            "5:4",
            "1:1",
            "4:5",
            "3:4",
            "2:3",
            "9:16",
            "4:1",
            "1:4",
            "8:1",
            "1:8"
          ]
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        },
        {
          "key": "resolution",
          "label": "Resolution",
          "type": "combo",
          "default": "1K",
          "options": [
            "0.5K",
            "1K",
            "2K",
            "4K"
          ]
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/nano-banana-2",
        "body": {
          "prompt": "{{prompt}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "safety_tolerance": "{{fields.safety_tolerance}}",
          "aspect_ratio": "{{fields.aspect_ratio}}",
          "seed": "{{fields.seed}}",
          "resolution": "{{fields.resolution}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "output_format",
          "num_images",
          "safety_tolerance",
          "aspect_ratio",
          "seed",
          "resolution"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/fal-ai/nano-banana-2/edit",
          "body": {
            "prompt": "{{prompt}}",
            "output_format": "{{fields.output_format}}",
            "num_images": "{{fields.num_images}}",
            "safety_tolerance": "{{fields.safety_tolerance}}",
            "aspect_ratio": "{{fields.aspect_ratio}}",
            "seed": "{{fields.seed}}",
            "resolution": "{{fields.resolution}}",
            "image_urls": "{{images}}"
          }
        },
        "fields": [
          "output_format",
          "num_images",
          "safety_tolerance",
          "aspect_ratio",
          "seed",
          "resolution"
        ],
        "references": {
          "max": 14,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        },
        "description": "Add images to edit them."
      },
      "pricing": {
        "by_field": {
          "resolution": {
            "0.5K": 0.06,
            "1K": 0.08,
            "2K": 0.12,
            "4K": 0.16
          }
        },
        "count_field": "num_images",
        "note": "Fal's price: $0.06 at 0.5K, $0.08 at 1K, $0.12 at 2K and $0.16 at 4K per image."
      }
    },
    {
      "id": "nano-banana-2-1",
      "label": "Nano Banana 2.1",
      "group": "Google",
      "description": "Nano Banana 2.1 on fal.ai, an update to Nano Banana 2 with sharper text and steadier characters. Prompt-only generation or editing with references.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 14,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png",
            "webp"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "safety_tolerance",
          "label": "Safety Tolerance",
          "type": "combo",
          "default": "4",
          "options": [
            "1",
            "2",
            "3",
            "4",
            "5",
            "6"
          ],
          "help": "Controls the provider's content screening level; available values vary by model."
        },
        {
          "key": "aspect_ratio",
          "label": "Aspect Ratio",
          "type": "aspect_combo",
          "default": "auto",
          "options": [
            {
              "label": "Auto",
              "value": "auto"
            },
            "21:9",
            "16:9",
            "3:2",
            "4:3",
            "5:4",
            "1:1",
            "4:5",
            "3:4",
            "2:3",
            "9:16",
            "4:1",
            "1:4",
            "8:1",
            "1:8"
          ]
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        },
        {
          "key": "resolution",
          "label": "Resolution",
          "type": "combo",
          "default": "1K",
          "options": [
            "1K",
            "2K",
            "4K"
          ]
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/google/nano-banana-2.1",
        "body": {
          "prompt": "{{prompt}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "safety_tolerance": "{{fields.safety_tolerance}}",
          "aspect_ratio": "{{fields.aspect_ratio}}",
          "seed": "{{fields.seed}}",
          "resolution": "{{fields.resolution}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "output_format",
          "num_images",
          "safety_tolerance",
          "aspect_ratio",
          "seed",
          "resolution"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/google/nano-banana-2.1/edit",
          "body": {
            "prompt": "{{prompt}}",
            "output_format": "{{fields.output_format}}",
            "num_images": "{{fields.num_images}}",
            "safety_tolerance": "{{fields.safety_tolerance}}",
            "aspect_ratio": "{{fields.aspect_ratio}}",
            "seed": "{{fields.seed}}",
            "resolution": "{{fields.resolution}}",
            "image_urls": "{{images}}"
          }
        },
        "fields": [
          "output_format",
          "num_images",
          "safety_tolerance",
          "aspect_ratio",
          "seed",
          "resolution"
        ],
        "references": {
          "max": 14,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        },
        "description": "Add images to edit them.",
        "pricing": {
          "by_field": {
            "resolution": {
              "1K": 0.04,
              "2K": 0.059,
              "4K": 0.134
            }
          },
          "per_input_image": 0.002,
          "count_field": "num_images",
          "note": "Fal bills tokens. Its table: $0.04 at 1K, $0.059 at 2K and $0.134 at 4K per image; each reference adds about $0.002."
        }
      },
      "pricing": {
        "by_field": {
          "resolution": {
            "1K": 0.04,
            "2K": 0.059,
            "4K": 0.134
          }
        },
        "count_field": "num_images",
        "note": "Fal bills tokens. Its table: $0.04 at 1K, $0.059 at 2K and $0.134 at 4K per image."
      }
    },
    {
      "id": "nano-banana-lite",
      "label": "Nano Banana Lite",
      "group": "Google",
      "description": "Nano Banana Lite on fal.ai. Prompt-only generation or editing with references.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 4,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png",
            "webp"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "safety_tolerance",
          "label": "Safety Tolerance",
          "type": "combo",
          "default": "4",
          "options": [
            "1",
            "2",
            "3",
            "4",
            "5",
            "6"
          ],
          "help": "Controls the provider's content screening level; available values vary by model."
        },
        {
          "key": "aspect_ratio",
          "label": "Aspect Ratio",
          "type": "aspect_combo",
          "default": "auto",
          "options": [
            {
              "label": "Auto",
              "value": "auto"
            },
            "21:9",
            "16:9",
            "3:2",
            "4:3",
            "5:4",
            "1:1",
            "4:5",
            "3:4",
            "2:3",
            "9:16",
            "4:1",
            "1:4",
            "8:1",
            "1:8"
          ]
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/google/nano-banana-lite",
        "body": {
          "prompt": "{{prompt}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "safety_tolerance": "{{fields.safety_tolerance}}",
          "aspect_ratio": "{{fields.aspect_ratio}}",
          "seed": "{{fields.seed}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "output_format",
          "num_images",
          "safety_tolerance",
          "aspect_ratio",
          "seed"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/google/nano-banana-lite/edit",
          "body": {
            "prompt": "{{prompt}}",
            "output_format": "{{fields.output_format}}",
            "num_images": "{{fields.num_images}}",
            "safety_tolerance": "{{fields.safety_tolerance}}",
            "aspect_ratio": "{{fields.aspect_ratio}}",
            "seed": "{{fields.seed}}",
            "image_urls": "{{images}}"
          }
        },
        "fields": [
          "output_format",
          "num_images",
          "safety_tolerance",
          "aspect_ratio",
          "seed"
        ],
        "references": {
          "max": 4,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        }
      },
      "pricing": {
        "per_image": 0.05,
        "note": "Fal bills tokens: $37.50 per million output image tokens. Every image is 1K, about 1,290 tokens, so the estimate is $0.05 per image.",
        "count_field": "num_images"
      }
    },
    {
      "id": "nano-banana-2-lite",
      "label": "Nano Banana 2 Lite",
      "group": "Google",
      "description": "Google Nano Banana 2 Lite on fal.ai.",
      "prompt": {
        "mode": "required"
      },
      "references": {
        "mode": "none"
      },
      "fields": [
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png",
            "webp"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "safety_tolerance",
          "label": "Safety Tolerance",
          "type": "combo",
          "default": "4",
          "options": [
            "1",
            "2",
            "3",
            "4",
            "5",
            "6"
          ],
          "help": "Controls the provider's content screening level; available values vary by model."
        },
        {
          "key": "aspect_ratio",
          "label": "Aspect Ratio",
          "type": "aspect_combo",
          "default": "auto",
          "options": [
            {
              "label": "Auto",
              "value": "auto"
            },
            "21:9",
            "16:9",
            "3:2",
            "4:3",
            "5:4",
            "1:1",
            "4:5",
            "3:4",
            "2:3",
            "9:16",
            "4:1",
            "1:4",
            "8:1",
            "1:8"
          ]
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/google/nano-banana-2-lite",
        "body": {
          "prompt": "{{prompt}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "safety_tolerance": "{{fields.safety_tolerance}}",
          "aspect_ratio": "{{fields.aspect_ratio}}",
          "seed": "{{fields.seed}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_image": 0.05,
        "note": "Fal bills tokens: $37.50 per million output image tokens. Every image is 1K, about 1,290 tokens, so the estimate is $0.05 per image.",
        "count_field": "num_images"
      }
    },
    {
      "id": "gpt-image-2",
      "label": "GPT Image 2",
      "group": "OpenAI",
      "description": "OpenAI GPT Image 2 on fal.ai, strong at text in images. Add images to edit or combine them.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 16,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "background",
          "label": "Background",
          "type": "combo",
          "default": "auto",
          "options": [
            {
              "label": "Auto",
              "value": "auto"
            },
            {
              "label": "Transparent",
              "value": "transparent"
            },
            {
              "label": "Opaque",
              "value": "opaque"
            }
          ]
        },
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "landscape_4_3",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            },
            {
              "label": "Auto",
              "value": "auto"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png",
            "webp"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "quality",
          "label": "Quality",
          "type": "combo",
          "default": "high",
          "options": [
            {
              "label": "Auto",
              "value": "auto"
            },
            {
              "label": "Low",
              "value": "low"
            },
            {
              "label": "Medium",
              "value": "medium"
            },
            {
              "label": "High",
              "value": "high"
            }
          ]
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/openai/gpt-image-2",
        "body": {
          "prompt": "{{prompt}}",
          "background": "{{fields.background}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "quality": "{{fields.quality}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "background",
          "image_size",
          "output_format",
          "num_images",
          "quality"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/openai/gpt-image-2/edit",
          "body": {
            "image_urls": "{{images}}",
            "prompt": "{{prompt}}",
            "background": "{{fields.background}}",
            "image_size": "{{fields.image_size}}",
            "output_format": "{{fields.output_format}}",
            "num_images": "{{fields.num_images}}",
            "quality": "{{fields.quality}}",
            "mask_url": "{{mask}}"
          }
        },
        "fields": [
          "background",
          "image_size",
          "output_format",
          "num_images",
          "quality"
        ],
        "references": {
          "max": 16,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        },
        "pricing": {
          "per_image": 0.413,
          "by_field": {
            "image_size": {
              "square_hd": {
                "quality": {
                  "low": 0.015,
                  "medium": 0.061,
                  "high": 0.219,
                  "auto": 0.219
                }
              },
              "landscape_4_3": {
                "quality": {
                  "low": 0.011,
                  "medium": 0.043,
                  "high": 0.151,
                  "auto": 0.151
                }
              },
              "auto": {
                "quality": {
                  "low": 0.024,
                  "medium": 0.113,
                  "high": 0.413,
                  "auto": 0.413
                }
              }
            },
            "quality": {
              "low": 0.015,
              "medium": 0.061,
              "high": 0.219,
              "auto": 0.219
            }
          },
          "per_input_image": 0.009,
          "free_input_images": 1,
          "note": "Fal's edit price with one reference: 1024 x 1024 $0.015 low, $0.061 medium, $0.219 high; 4:3 $0.011, $0.043, $0.151. Auto size follows your image, up to 3840 x 2160: $0.024, $0.113, $0.413. Each extra reference adds about $0.009.",
          "count_field": "num_images"
        },
        "mask": {
          "mode": "optional"
        }
      },
      "pricing": {
        "per_image": 0.211,
        "by_field": {
          "image_size": {
            "square_hd": {
              "quality": {
                "low": 0.006,
                "medium": 0.053,
                "high": 0.211,
                "auto": 0.211
              }
            },
            "landscape_4_3": {
              "quality": {
                "low": 0.005,
                "medium": 0.037,
                "high": 0.145,
                "auto": 0.145
              }
            }
          },
          "quality": {
            "low": 0.006,
            "medium": 0.053,
            "high": 0.211,
            "auto": 0.211
          }
        },
        "note": "Fal's price: 1024 x 1024 $0.006 low, $0.053 medium, $0.211 high; 4:3 $0.005, $0.037, $0.145. Other sizes are priced as 1024 x 1024, Auto quality as high.",
        "count_field": "num_images"
      }
    },
    {
      "id": "gpt-image-2-5-flare",
      "label": "GPT Image 2.5 Flare",
      "group": "OpenAI",
      "description": "OpenAI GPT Image 2.5 Flare on fal.ai, the faster 2.5 version. Add images to edit or combine them.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 16,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "background",
          "label": "Background",
          "type": "combo",
          "default": "auto",
          "options": [
            {
              "label": "Auto",
              "value": "auto"
            },
            {
              "label": "Transparent",
              "value": "transparent"
            },
            {
              "label": "Opaque",
              "value": "opaque"
            }
          ]
        },
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "landscape_4_3",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            },
            {
              "label": "Auto",
              "value": "auto"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png",
            "webp"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 10,
          "default": 1
        },
        {
          "key": "quality",
          "label": "Quality",
          "type": "combo",
          "default": "high",
          "options": [
            {
              "label": "Auto",
              "value": "auto"
            },
            {
              "label": "Low",
              "value": "low"
            },
            {
              "label": "Medium",
              "value": "medium"
            },
            {
              "label": "High",
              "value": "high"
            },
            {
              "label": "Extra High",
              "value": "xhigh"
            },
            {
              "label": "Max",
              "value": "max"
            }
          ]
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/openai/gpt-image-2.5/flare/text-to-image",
        "body": {
          "prompt": "{{prompt}}",
          "background": "{{fields.background}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "quality": "{{fields.quality}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "background",
          "image_size",
          "output_format",
          "num_images",
          "quality"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/openai/gpt-image-2.5/flare/edit",
          "body": {
            "image_urls": "{{images}}",
            "prompt": "{{prompt}}",
            "background": "{{fields.background}}",
            "image_size": "{{fields.image_size}}",
            "output_format": "{{fields.output_format}}",
            "num_images": "{{fields.num_images}}",
            "quality": "{{fields.quality}}",
            "mask_url": "{{mask}}"
          }
        },
        "fields": [
          "background",
          "image_size",
          "output_format",
          "num_images",
          "quality"
        ],
        "references": {
          "max": 16,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        },
        "pricing": {
          "per_image": 0.4003,
          "by_field": {
            "image_size": {
              "square_hd": {
                "quality": {
                  "low": 0.0059,
                  "medium": 0.0132,
                  "high": 0.0527,
                  "xhigh": 0.0937,
                  "max": 0.2108,
                  "auto": 0.2108
                }
              },
              "landscape_4_3": {
                "quality": {
                  "low": 0.0041,
                  "medium": 0.0091,
                  "high": 0.0362,
                  "xhigh": 0.0642,
                  "max": 0.1445,
                  "auto": 0.1445
                }
              },
              "auto": {
                "quality": {
                  "low": 0.0112,
                  "medium": 0.026,
                  "high": 0.1001,
                  "xhigh": 0.1779,
                  "max": 0.4003,
                  "auto": 0.4003
                }
              }
            },
            "quality": {
              "low": 0.0059,
              "medium": 0.0132,
              "high": 0.0527,
              "xhigh": 0.0937,
              "max": 0.2108,
              "auto": 0.2108
            }
          },
          "per_input_image": 0.009,
          "free_input_images": 1,
          "note": "Fal's edit price with one reference, rounded up to $0.0001: 1024 x 1024 $0.0059 low to $0.2108 max; 4:3 $0.0041 to $0.1445. Auto size follows your image, up to 3840 x 2160: $0.0112 to $0.4003. Each extra reference adds about $0.009.",
          "count_field": "num_images"
        },
        "mask": {
          "mode": "optional"
        }
      },
      "pricing": {
        "per_image": 0.2108,
        "by_field": {
          "image_size": {
            "square_hd": {
              "quality": {
                "low": 0.0059,
                "medium": 0.0132,
                "high": 0.0527,
                "xhigh": 0.0937,
                "max": 0.2108,
                "auto": 0.2108
              }
            },
            "landscape_4_3": {
              "quality": {
                "low": 0.0041,
                "medium": 0.0091,
                "high": 0.0362,
                "xhigh": 0.0642,
                "max": 0.1445,
                "auto": 0.1445
              }
            }
          },
          "quality": {
            "low": 0.0059,
            "medium": 0.0132,
            "high": 0.0527,
            "xhigh": 0.0937,
            "max": 0.2108,
            "auto": 0.2108
          }
        },
        "note": "Fal's price, rounded up to $0.0001: 1024 x 1024 $0.0059 low to $0.2108 max; 4:3 $0.0041 to $0.1445. Other sizes are priced as 1024 x 1024, Auto quality as max.",
        "count_field": "num_images"
      }
    },
    {
      "id": "gpt-image-2-5-sunburst",
      "label": "GPT Image 2.5 Sunburst",
      "group": "OpenAI",
      "description": "OpenAI GPT Image 2.5 Sunburst on fal.ai, the more precise 2.5 version. Add images to edit or combine them.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 16,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "background",
          "label": "Background",
          "type": "combo",
          "default": "auto",
          "options": [
            {
              "label": "Auto",
              "value": "auto"
            },
            {
              "label": "Transparent",
              "value": "transparent"
            },
            {
              "label": "Opaque",
              "value": "opaque"
            }
          ]
        },
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "landscape_4_3",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            },
            {
              "label": "Auto",
              "value": "auto"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png",
            "webp"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 10,
          "default": 1
        },
        {
          "key": "quality",
          "label": "Quality",
          "type": "combo",
          "default": "high",
          "options": [
            {
              "label": "Auto",
              "value": "auto"
            },
            {
              "label": "Low",
              "value": "low"
            },
            {
              "label": "Medium",
              "value": "medium"
            },
            {
              "label": "High",
              "value": "high"
            },
            {
              "label": "Extra High",
              "value": "xhigh"
            },
            {
              "label": "Max",
              "value": "max"
            }
          ]
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/openai/gpt-image-2.5/sunburst/text-to-image",
        "body": {
          "prompt": "{{prompt}}",
          "background": "{{fields.background}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "quality": "{{fields.quality}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "background",
          "image_size",
          "output_format",
          "num_images",
          "quality"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/openai/gpt-image-2.5/sunburst/edit",
          "body": {
            "image_urls": "{{images}}",
            "prompt": "{{prompt}}",
            "background": "{{fields.background}}",
            "image_size": "{{fields.image_size}}",
            "output_format": "{{fields.output_format}}",
            "num_images": "{{fields.num_images}}",
            "quality": "{{fields.quality}}",
            "mask_url": "{{mask}}"
          }
        },
        "fields": [
          "background",
          "image_size",
          "output_format",
          "num_images",
          "quality"
        ],
        "references": {
          "max": 16,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        },
        "pricing": {
          "per_image": 0.4003,
          "by_field": {
            "image_size": {
              "square_hd": {
                "quality": {
                  "low": 0.0059,
                  "medium": 0.0132,
                  "high": 0.0527,
                  "xhigh": 0.0937,
                  "max": 0.2108,
                  "auto": 0.2108
                }
              },
              "landscape_4_3": {
                "quality": {
                  "low": 0.0041,
                  "medium": 0.0091,
                  "high": 0.0362,
                  "xhigh": 0.0642,
                  "max": 0.1445,
                  "auto": 0.1445
                }
              },
              "auto": {
                "quality": {
                  "low": 0.0112,
                  "medium": 0.026,
                  "high": 0.1001,
                  "xhigh": 0.1779,
                  "max": 0.4003,
                  "auto": 0.4003
                }
              }
            },
            "quality": {
              "low": 0.0059,
              "medium": 0.0132,
              "high": 0.0527,
              "xhigh": 0.0937,
              "max": 0.2108,
              "auto": 0.2108
            }
          },
          "per_input_image": 0.009,
          "free_input_images": 1,
          "note": "Fal's edit price with one reference, rounded up to $0.0001: 1024 x 1024 $0.0059 low to $0.2108 max; 4:3 $0.0041 to $0.1445. Auto size follows your image, up to 3840 x 2160: $0.0112 to $0.4003. Each extra reference adds about $0.009.",
          "count_field": "num_images"
        },
        "mask": {
          "mode": "optional"
        }
      },
      "pricing": {
        "per_image": 0.2108,
        "by_field": {
          "image_size": {
            "square_hd": {
              "quality": {
                "low": 0.0059,
                "medium": 0.0132,
                "high": 0.0527,
                "xhigh": 0.0937,
                "max": 0.2108,
                "auto": 0.2108
              }
            },
            "landscape_4_3": {
              "quality": {
                "low": 0.0041,
                "medium": 0.0091,
                "high": 0.0362,
                "xhigh": 0.0642,
                "max": 0.1445,
                "auto": 0.1445
              }
            }
          },
          "quality": {
            "low": 0.0059,
            "medium": 0.0132,
            "high": 0.0527,
            "xhigh": 0.0937,
            "max": 0.2108,
            "auto": 0.2108
          }
        },
        "note": "Fal's price, rounded up to $0.0001: 1024 x 1024 $0.0059 low to $0.2108 max; 4:3 $0.0041 to $0.1445. Other sizes are priced as 1024 x 1024, Auto quality as max.",
        "count_field": "num_images"
      }
    },
    {
      "id": "gpt-image-1-5",
      "label": "GPT Image 1.5",
      "group": "OpenAI",
      "description": "OpenAI GPT Image 1.5 on fal.ai. Add images to edit or combine them.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "background",
          "label": "Background",
          "type": "combo",
          "default": "auto",
          "options": [
            {
              "label": "Auto",
              "value": "auto"
            },
            {
              "label": "Transparent",
              "value": "transparent"
            },
            {
              "label": "Opaque",
              "value": "opaque"
            }
          ]
        },
        {
          "key": "image_size",
          "label": "Size",
          "type": "combo",
          "default": "1024x1024",
          "options": [
            "1024x1024",
            "1536x1024",
            "1024x1536"
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png",
            "webp"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "quality",
          "label": "Quality",
          "type": "combo",
          "default": "high",
          "options": [
            {
              "label": "Low",
              "value": "low"
            },
            {
              "label": "Medium",
              "value": "medium"
            },
            {
              "label": "High",
              "value": "high"
            }
          ]
        },
        {
          "key": "input_fidelity",
          "label": "Input Fidelity",
          "type": "combo",
          "default": "high",
          "options": [
            {
              "label": "Low",
              "value": "low"
            },
            {
              "label": "High",
              "value": "high"
            }
          ],
          "help": "Controls how closely the edit preserves visual details from its reference image."
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/gpt-image-1.5",
        "body": {
          "prompt": "{{prompt}}",
          "background": "{{fields.background}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "quality": "{{fields.quality}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "background",
          "image_size",
          "output_format",
          "num_images",
          "quality"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/fal-ai/gpt-image-1.5/edit",
          "body": {
            "image_urls": "{{images}}",
            "prompt": "{{prompt}}",
            "background": "{{fields.background}}",
            "image_size": "{{fields.image_size}}",
            "output_format": "{{fields.output_format}}",
            "num_images": "{{fields.num_images}}",
            "quality": "{{fields.quality}}",
            "input_fidelity": "{{fields.input_fidelity}}",
            "mask_image_url": "{{mask}}"
          }
        },
        "fields": [
          "background",
          "image_size",
          "output_format",
          "num_images",
          "quality",
          "input_fidelity"
        ],
        "references": {
          "max": 1,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        },
        "pricing": {
          "per_image": 0.2,
          "by_field": {
            "quality": {
              "low": {
                "image_size": {
                  "1024x1024": 0.009,
                  "1536x1024": 0.013,
                  "1024x1536": 0.013
                }
              },
              "medium": {
                "image_size": {
                  "1024x1024": 0.034,
                  "1536x1024": 0.05,
                  "1024x1536": 0.051
                }
              },
              "high": {
                "image_size": {
                  "1024x1024": 0.133,
                  "1536x1024": 0.199,
                  "1024x1536": 0.2
                }
              }
            }
          },
          "per_input_image": 0.025,
          "note": "Fal's price: low $0.009 at 1024 x 1024 and $0.013 at 3:2 or 2:3, medium $0.034 to $0.051, high $0.133 to $0.20. Each reference adds up to $0.025 of image tokens at high input fidelity.",
          "count_field": "num_images"
        },
        "mask": {
          "mode": "optional"
        }
      },
      "pricing": {
        "per_image": 0.2,
        "by_field": {
          "quality": {
            "low": {
              "image_size": {
                "1024x1024": 0.009,
                "1536x1024": 0.013,
                "1024x1536": 0.013
              }
            },
            "medium": {
              "image_size": {
                "1024x1024": 0.034,
                "1536x1024": 0.05,
                "1024x1536": 0.051
              }
            },
            "high": {
              "image_size": {
                "1024x1024": 0.133,
                "1536x1024": 0.199,
                "1024x1536": 0.2
              }
            }
          }
        },
        "note": "Fal's price: low $0.009 at 1024 x 1024 and $0.013 at 3:2 or 2:3, medium $0.034 to $0.051, high $0.133 to $0.20.",
        "count_field": "num_images"
      }
    },
    {
      "id": "gpt-image-1-mini",
      "label": "GPT Image 1 Mini",
      "group": "OpenAI",
      "description": "OpenAI GPT Image 1 Mini on fal.ai, the low cost GPT Image. Add images to edit them.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "background",
          "label": "Background",
          "type": "combo",
          "default": "auto",
          "options": [
            {
              "label": "Auto",
              "value": "auto"
            },
            {
              "label": "Transparent",
              "value": "transparent"
            },
            {
              "label": "Opaque",
              "value": "opaque"
            }
          ]
        },
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "auto",
          "options": [
            {
              "label": "Auto",
              "value": "auto"
            },
            "1024x1024",
            "1536x1024",
            "1024x1536"
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png",
            "webp"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "quality",
          "label": "Quality",
          "type": "combo",
          "default": "auto",
          "options": [
            {
              "label": "Auto",
              "value": "auto"
            },
            {
              "label": "Low",
              "value": "low"
            },
            {
              "label": "Medium",
              "value": "medium"
            },
            {
              "label": "High",
              "value": "high"
            }
          ]
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/gpt-image-1-mini",
        "body": {
          "prompt": "{{prompt}}",
          "background": "{{fields.background}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "quality": "{{fields.quality}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "background",
          "image_size",
          "output_format",
          "num_images",
          "quality"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/fal-ai/gpt-image-1-mini/edit",
          "body": {
            "image_urls": "{{images}}",
            "prompt": "{{prompt}}",
            "background": "{{fields.background}}",
            "image_size": "{{fields.image_size}}",
            "output_format": "{{fields.output_format}}",
            "num_images": "{{fields.num_images}}",
            "quality": "{{fields.quality}}"
          }
        },
        "fields": [
          "background",
          "image_size",
          "output_format",
          "num_images",
          "quality"
        ],
        "references": {
          "max": 1,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        },
        "pricing": {
          "per_image": 0.06,
          "by_field": {
            "image_size": {
              "1024x1024": {
                "quality": {
                  "low": 0.01,
                  "medium": 0.02,
                  "high": 0.04,
                  "auto": 0.04
                }
              }
            },
            "quality": {
              "low": 0.01,
              "medium": 0.02,
              "high": 0.06,
              "auto": 0.06
            }
          },
          "note": "Fal's price, each request rounded up to the cent: $0.01 low, $0.02 medium, $0.04 high at 1024 x 1024 and $0.06 high at other sizes. Auto is priced as the largest.",
          "count_field": "num_images"
        }
      },
      "pricing": {
        "per_image": 0.06,
        "by_field": {
          "image_size": {
            "1024x1024": {
              "quality": {
                "low": 0.01,
                "medium": 0.02,
                "high": 0.04,
                "auto": 0.04
              }
            }
          },
          "quality": {
            "low": 0.01,
            "medium": 0.02,
            "high": 0.06,
            "auto": 0.06
          }
        },
        "note": "Fal's price, each request rounded up to the cent: $0.01 low, $0.02 medium, $0.04 high at 1024 x 1024 and $0.06 high at other sizes. Auto is priced as the largest.",
        "count_field": "num_images"
      }
    },
    {
      "id": "flux-3",
      "label": "FLUX 3",
      "group": "FLUX",
      "description": "Black Forest Labs FLUX 3 Image. Add up to 10 images to edit or combine them; Auto then follows the first image's shape.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 10,
        "send_as": "data_url",
        "min_side": 256
      },
      "fields": [
        {
          "key": "aspect_ratio",
          "label": "Aspect Ratio",
          "type": "aspect_combo",
          "default": "auto",
          "options": [
            {
              "label": "Auto",
              "value": "auto"
            },
            "21:9",
            "2:1",
            "16:9",
            "3:2",
            "7:5",
            "4:3",
            "5:4",
            "1:1",
            "4:5",
            "3:4",
            "5:7",
            "2:3",
            "9:16",
            "1:2"
          ]
        },
        {
          "key": "resolution",
          "label": "Resolution",
          "type": "combo",
          "default": "1k",
          "options": [
            {
              "label": "0.25 MP",
              "value": "512sq"
            },
            {
              "label": "0.6 MP",
              "value": "768sq"
            },
            {
              "label": "1K",
              "value": "1k"
            },
            {
              "label": "2K",
              "value": "2k"
            },
            {
              "label": "4K",
              "value": "4k"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            {
              "label": "JPEG",
              "value": "jpeg"
            },
            {
              "label": "PNG",
              "value": "png"
            }
          ]
        },
        {
          "key": "safety_tolerance",
          "label": "Safety Tolerance",
          "type": "int_slider",
          "min": 0,
          "max": 4,
          "default": 2,
          "help": "0 is the strictest, 4 the most permissive."
        },
        {
          "key": "enable_prompt_expansion",
          "label": "Prompt expansion",
          "type": "bool",
          "default": false,
          "help": "Expands the prompt while keeping its intent and the roles of your images."
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/blackforestlabs/flux-3/text-to-image",
        "body": {
          "prompt": "{{prompt}}",
          "aspect_ratio": "{{fields.aspect_ratio}}",
          "resolution": "{{fields.resolution}}",
          "output_format": "{{fields.output_format}}",
          "safety_tolerance": "{{fields.safety_tolerance}}",
          "enable_prompt_expansion": "{{fields.enable_prompt_expansion}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_output_megapixel_block": 0.048,
        "output_megapixel_block_size": 1,
        "width": "images[*].width",
        "height": "images[*].height",
        "note": "Fal's price: $0.048 per started output megapixel. 1K costs $0.048 and 4K about $0.80."
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/blackforestlabs/flux-3/edit-image",
          "body": {
            "prompt": "{{prompt}}",
            "image_urls": "{{images}}",
            "aspect_ratio": "{{fields.aspect_ratio}}",
            "resolution": "{{fields.resolution}}",
            "output_format": "{{fields.output_format}}",
            "safety_tolerance": "{{fields.safety_tolerance}}",
            "enable_prompt_expansion": "{{fields.enable_prompt_expansion}}"
          }
        },
        "description": "Add up to 10 images to edit or combine them."
      }
    },
    {
      "id": "flux-3-klein",
      "label": "FLUX 3 Klein",
      "group": "FLUX",
      "description": "Black Forest Labs FLUX 3 Klein, fast and low cost. Add up to 10 images to edit or combine them.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 10,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "image_size",
          "label": "Size",
          "type": "size",
          "default": "1:1 (1024 x 1024)",
          "options": [
            {
              "label": "1:1 (1024 x 1024)",
              "value": {
                "width": 1024,
                "height": 1024
              }
            },
            {
              "label": "4:3 (1184 x 880)",
              "value": {
                "width": 1184,
                "height": 880
              }
            },
            {
              "label": "3:4 (880 x 1184)",
              "value": {
                "width": 880,
                "height": 1184
              }
            },
            {
              "label": "3:2 (1248 x 832)",
              "value": {
                "width": 1248,
                "height": 832
              }
            },
            {
              "label": "2:3 (832 x 1248)",
              "value": {
                "width": 832,
                "height": 1248
              }
            },
            {
              "label": "16:9 (1360 x 768)",
              "value": {
                "width": 1360,
                "height": 768
              }
            },
            {
              "label": "9:16 (768 x 1360)",
              "value": {
                "width": 768,
                "height": 1360
              }
            },
            {
              "label": "21:9 (1568 x 672)",
              "value": {
                "width": 1568,
                "height": 672
              }
            },
            {
              "label": "9:21 (672 x 1568)",
              "value": {
                "width": 672,
                "height": 1568
              }
            },
            {
              "label": "1:1 (2048 x 2048)",
              "value": {
                "width": 2048,
                "height": 2048
              }
            },
            {
              "label": "4:3 (2368 x 1776)",
              "value": {
                "width": 2368,
                "height": 1776
              }
            },
            {
              "label": "3:4 (1776 x 2368)",
              "value": {
                "width": 1776,
                "height": 2368
              }
            },
            {
              "label": "3:2 (2512 x 1680)",
              "value": {
                "width": 2512,
                "height": 1680
              }
            },
            {
              "label": "2:3 (1680 x 2512)",
              "value": {
                "width": 1680,
                "height": 2512
              }
            },
            {
              "label": "16:9 (2736 x 1536)",
              "value": {
                "width": 2736,
                "height": 1536
              }
            },
            {
              "label": "9:16 (1536 x 2736)",
              "value": {
                "width": 1536,
                "height": 2736
              }
            },
            {
              "label": "21:9 (3136 x 1344)",
              "value": {
                "width": 3136,
                "height": 1344
              }
            },
            {
              "label": "9:21 (1344 x 3136)",
              "value": {
                "width": 1344,
                "height": 3136
              }
            },
            {
              "label": "1:1 (4096 x 4096)",
              "value": {
                "width": 4096,
                "height": 4096
              }
            },
            {
              "label": "4:3 (4096 x 3072)",
              "value": {
                "width": 4096,
                "height": 3072
              }
            },
            {
              "label": "3:4 (3072 x 4096)",
              "value": {
                "width": 3072,
                "height": 4096
              }
            },
            {
              "label": "3:2 (4096 x 2736)",
              "value": {
                "width": 4096,
                "height": 2736
              }
            },
            {
              "label": "2:3 (2736 x 4096)",
              "value": {
                "width": 2736,
                "height": 4096
              }
            },
            {
              "label": "16:9 (4096 x 2304)",
              "value": {
                "width": 4096,
                "height": 2304
              }
            },
            {
              "label": "9:16 (2304 x 4096)",
              "value": {
                "width": 2304,
                "height": 4096
              }
            },
            {
              "label": "21:9 (4096 x 1760)",
              "value": {
                "width": 4096,
                "height": 1760
              }
            },
            {
              "label": "9:21 (1760 x 4096)",
              "value": {
                "width": 1760,
                "height": 4096
              }
            }
          ]
        },
        {
          "key": "edit_size",
          "label": "Size",
          "type": "size",
          "default": "Match input",
          "options": [
            {
              "label": "Match input",
              "value": null
            },
            {
              "label": "1:1 (1024 x 1024)",
              "value": {
                "width": 1024,
                "height": 1024
              }
            },
            {
              "label": "4:3 (1184 x 880)",
              "value": {
                "width": 1184,
                "height": 880
              }
            },
            {
              "label": "3:4 (880 x 1184)",
              "value": {
                "width": 880,
                "height": 1184
              }
            },
            {
              "label": "3:2 (1248 x 832)",
              "value": {
                "width": 1248,
                "height": 832
              }
            },
            {
              "label": "2:3 (832 x 1248)",
              "value": {
                "width": 832,
                "height": 1248
              }
            },
            {
              "label": "16:9 (1360 x 768)",
              "value": {
                "width": 1360,
                "height": 768
              }
            },
            {
              "label": "9:16 (768 x 1360)",
              "value": {
                "width": 768,
                "height": 1360
              }
            },
            {
              "label": "21:9 (1568 x 672)",
              "value": {
                "width": 1568,
                "height": 672
              }
            },
            {
              "label": "9:21 (672 x 1568)",
              "value": {
                "width": 672,
                "height": 1568
              }
            },
            {
              "label": "1:1 (2048 x 2048)",
              "value": {
                "width": 2048,
                "height": 2048
              }
            },
            {
              "label": "4:3 (2368 x 1776)",
              "value": {
                "width": 2368,
                "height": 1776
              }
            },
            {
              "label": "3:4 (1776 x 2368)",
              "value": {
                "width": 1776,
                "height": 2368
              }
            },
            {
              "label": "3:2 (2512 x 1680)",
              "value": {
                "width": 2512,
                "height": 1680
              }
            },
            {
              "label": "2:3 (1680 x 2512)",
              "value": {
                "width": 1680,
                "height": 2512
              }
            },
            {
              "label": "16:9 (2736 x 1536)",
              "value": {
                "width": 2736,
                "height": 1536
              }
            },
            {
              "label": "9:16 (1536 x 2736)",
              "value": {
                "width": 1536,
                "height": 2736
              }
            },
            {
              "label": "21:9 (3136 x 1344)",
              "value": {
                "width": 3136,
                "height": 1344
              }
            },
            {
              "label": "9:21 (1344 x 3136)",
              "value": {
                "width": 1344,
                "height": 3136
              }
            },
            {
              "label": "1:1 (4096 x 4096)",
              "value": {
                "width": 4096,
                "height": 4096
              }
            },
            {
              "label": "4:3 (4096 x 3072)",
              "value": {
                "width": 4096,
                "height": 3072
              }
            },
            {
              "label": "3:4 (3072 x 4096)",
              "value": {
                "width": 3072,
                "height": 4096
              }
            },
            {
              "label": "3:2 (4096 x 2736)",
              "value": {
                "width": 4096,
                "height": 2736
              }
            },
            {
              "label": "2:3 (2736 x 4096)",
              "value": {
                "width": 2736,
                "height": 4096
              }
            },
            {
              "label": "16:9 (4096 x 2304)",
              "value": {
                "width": 4096,
                "height": 2304
              }
            },
            {
              "label": "9:16 (2304 x 4096)",
              "value": {
                "width": 2304,
                "height": 4096
              }
            },
            {
              "label": "21:9 (4096 x 1760)",
              "value": {
                "width": 4096,
                "height": 1760
              }
            },
            {
              "label": "9:21 (1760 x 4096)",
              "value": {
                "width": 1760,
                "height": 4096
              }
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            {
              "label": "JPEG",
              "value": "jpeg"
            },
            {
              "label": "PNG",
              "value": "png"
            },
            {
              "label": "WebP",
              "value": "webp"
            }
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        },
        {
          "key": "enable_prompt_expansion",
          "label": "Prompt expansion",
          "type": "bool",
          "default": true,
          "help": "Expands the prompt into a detailed caption, grounded in your images when editing."
        },
        {
          "key": "enable_safety_checker",
          "label": "Safety checker",
          "type": "bool",
          "default": true,
          "help": "Turning it off works only if fal has approved your account. Otherwise results are still checked."
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/blackforestlabs/flux-3/klein/text-to-image",
        "body": {
          "prompt": "{{prompt}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "seed": "{{fields.seed}}",
          "enable_prompt_expansion": "{{fields.enable_prompt_expansion}}",
          "enable_safety_checker": "{{fields.enable_safety_checker}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_output_megapixel_block": 0.009,
        "output_megapixel_block_size": 1,
        "width": "images[*].width",
        "height": "images[*].height",
        "count_field": "num_images",
        "note": "Fal's price: $0.009 per started output megapixel. Fal's page also lists a planned per-image price by resolution, $0.036 at 4K."
      },
      "without_references": {
        "fields": [
          "image_size",
          "output_format",
          "num_images",
          "seed",
          "enable_prompt_expansion",
          "enable_safety_checker"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/blackforestlabs/flux-3/klein/edit-image",
          "body": {
            "prompt": "{{prompt}}",
            "image_urls": "{{images}}",
            "image_size": "{{fields.edit_size}}",
            "output_format": "{{fields.output_format}}",
            "num_images": "{{fields.num_images}}",
            "seed": "{{fields.seed}}",
            "enable_prompt_expansion": "{{fields.enable_prompt_expansion}}",
            "enable_safety_checker": "{{fields.enable_safety_checker}}"
          }
        },
        "fields": [
          "edit_size",
          "output_format",
          "num_images",
          "seed",
          "enable_prompt_expansion",
          "enable_safety_checker"
        ],
        "description": "Add up to 10 images to edit or combine them. Match input keeps one image's size, up to 4 MP."
      }
    },
    {
      "id": "flux-2-pro",
      "label": "FLUX.2 [pro]",
      "group": "FLUX",
      "description": "Black Forest Labs FLUX.2 [pro]. Add up to 9 images to edit or combine them.",
      "fields": [
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "landscape_4_3",
          "options": [
            {
              "label": "1:1 HD (1024 x 1024)",
              "value": "square_hd"
            },
            {
              "label": "1:1 (512 x 512)",
              "value": "square"
            },
            {
              "label": "3:4 (768 x 1024)",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16 (576 x 1024)",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3 (1024 x 768)",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9 (1024 x 576)",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png"
          ]
        },
        {
          "key": "safety_tolerance",
          "label": "Safety Tolerance",
          "type": "combo",
          "default": "2",
          "options": [
            "1",
            "2",
            "3",
            "4",
            "5"
          ],
          "help": "1 is the strictest, 5 the most permissive."
        },
        {
          "key": "enable_safety_checker",
          "label": "Safety checker",
          "type": "bool",
          "default": true,
          "help": "Turning it off works only if fal has approved your account. Otherwise results are still checked."
        },
        {
          "type": "seed"
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/flux-2-pro",
        "body": {
          "prompt": "{{prompt}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "safety_tolerance": "{{fields.safety_tolerance}}",
          "enable_safety_checker": "{{fields.enable_safety_checker}}",
          "seed": "{{fields.seed}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "error": "error"
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_request": 0.015,
        "per_output_megapixel_block": 0.015,
        "output_megapixel_block_size": 1,
        "width": "images[*].width",
        "height": "images[*].height",
        "note": "Fal's price: $0.03 for the first output megapixel, then $0.015 per started megapixel after it."
      },
      "sizes": [
        {
          "aspect": "1:1",
          "tier": "1K",
          "width": 1024,
          "height": 1024,
          "values": {
            "image_size": "square_hd"
          }
        },
        {
          "aspect": "1:1",
          "tier": "0.5K",
          "width": 512,
          "height": 512,
          "values": {
            "image_size": "square"
          }
        },
        {
          "aspect": "3:4",
          "tier": "1K",
          "width": 768,
          "height": 1024,
          "values": {
            "image_size": "portrait_4_3"
          }
        },
        {
          "aspect": "9:16",
          "tier": "1K",
          "width": 576,
          "height": 1024,
          "values": {
            "image_size": "portrait_16_9"
          }
        },
        {
          "aspect": "4:3",
          "tier": "1K",
          "width": 1024,
          "height": 768,
          "values": {
            "image_size": "landscape_4_3"
          }
        },
        {
          "aspect": "16:9",
          "tier": "1K",
          "width": 1024,
          "height": 576,
          "values": {
            "image_size": "landscape_16_9"
          }
        }
      ],
      "references": {
        "mode": "optional",
        "max": 9,
        "send_as": "data_url",
        "max_megapixels": 9
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/fal-ai/flux-2-pro/edit",
          "body": {
            "prompt": "{{prompt}}",
            "image_size": "{{fields.image_size}}",
            "output_format": "{{fields.output_format}}",
            "safety_tolerance": "{{fields.safety_tolerance}}",
            "enable_safety_checker": "{{fields.enable_safety_checker}}",
            "seed": "{{fields.seed}}",
            "image_urls": "{{images}}"
          }
        },
        "fields": [
          "image_size",
          "output_format",
          "safety_tolerance",
          "enable_safety_checker",
          "seed"
        ],
        "references": {
          "max": 9,
          "send_as": "data_url",
          "max_megapixels": 9
        },
        "pricing": {
          "per_request": 0.015,
          "per_output_megapixel_block": 0.015,
          "output_megapixel_block_size": 1,
          "width": "images[*].width",
          "height": "images[*].height",
          "note": "Fal's edit price: $0.03 for the first output megapixel, then $0.015 per started megapixel of output and references.",
          "per_input_megapixel_block": 0.015,
          "input_megapixel_block_size": 1
        }
      },
      "without_references": {
        "fields": [
          "image_size",
          "output_format",
          "safety_tolerance",
          "enable_safety_checker",
          "seed"
        ]
      }
    },
    {
      "id": "flux-2",
      "label": "FLUX.2",
      "group": "FLUX",
      "description": "FLUX.2 on fal.ai. Prompt-only generation or editing with references.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 4,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "landscape_4_3",
          "options": [
            {
              "label": "1:1 HD (1024 x 1024)",
              "value": "square_hd"
            },
            {
              "label": "1:1 (512 x 512)",
              "value": "square"
            },
            {
              "label": "3:4 (768 x 1024)",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16 (576 x 1024)",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3 (1024 x 768)",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9 (1024 x 576)",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png",
            "webp"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "enable_prompt_expansion",
          "label": "Expand Prompt",
          "type": "bool",
          "default": false
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        },
        {
          "key": "num_inference_steps",
          "label": "Steps",
          "type": "int_slider",
          "min": 4,
          "max": 50,
          "default": 28,
          "help": "Sets how many denoising steps the model runs. More steps can change detail and runtime."
        },
        {
          "key": "acceleration",
          "label": "Acceleration",
          "type": "combo",
          "default": "regular",
          "options": [
            {
              "label": "None",
              "value": "none"
            },
            {
              "label": "Regular",
              "value": "regular"
            },
            {
              "label": "High",
              "value": "high"
            }
          ]
        },
        {
          "key": "guidance_scale",
          "label": "Guidance",
          "type": "float_slider",
          "min": 0.0,
          "max": 20.0,
          "default": 2.5,
          "help": "Controls how strongly the result follows the prompt."
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/flux-2",
        "body": {
          "prompt": "{{prompt}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "enable_prompt_expansion": "{{fields.enable_prompt_expansion}}",
          "seed": "{{fields.seed}}",
          "num_inference_steps": "{{fields.num_inference_steps}}",
          "acceleration": "{{fields.acceleration}}",
          "guidance_scale": "{{fields.guidance_scale}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "image_size",
          "output_format",
          "num_images",
          "enable_prompt_expansion",
          "seed",
          "num_inference_steps",
          "acceleration",
          "guidance_scale"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/fal-ai/flux-2/edit",
          "body": {
            "image_urls": "{{images}}",
            "prompt": "{{prompt}}",
            "image_size": "{{fields.image_size}}",
            "output_format": "{{fields.output_format}}",
            "num_images": "{{fields.num_images}}",
            "enable_prompt_expansion": "{{fields.enable_prompt_expansion}}",
            "seed": "{{fields.seed}}",
            "num_inference_steps": "{{fields.num_inference_steps}}",
            "acceleration": "{{fields.acceleration}}",
            "guidance_scale": "{{fields.guidance_scale}}"
          }
        },
        "fields": [
          "image_size",
          "output_format",
          "num_images",
          "enable_prompt_expansion",
          "seed",
          "num_inference_steps",
          "acceleration",
          "guidance_scale"
        ],
        "references": {
          "max": 4,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        },
        "description": "Add images to edit them.",
        "pricing": {
          "per_megapixel": 0.012,
          "per_input_image": 0.012,
          "note": "Fal's edit price: $0.012 per output megapixel and $0.012 per reference, since references are resized to 1 MP.",
          "count_field": "num_images",
          "width": "images[*].width",
          "height": "images[*].height"
        }
      },
      "pricing": {
        "per_megapixel": 0.012,
        "note": "Fal's price: $0.012 per output megapixel.",
        "count_field": "num_images",
        "width": "images[*].width",
        "height": "images[*].height"
      },
      "sizes": [
        {
          "aspect": "1:1",
          "tier": "HD",
          "width": 1024,
          "height": 1024,
          "values": {
            "image_size": "square_hd"
          }
        },
        {
          "aspect": "1:1",
          "tier": "0.5K",
          "width": 512,
          "height": 512,
          "values": {
            "image_size": "square"
          }
        },
        {
          "aspect": "3:4",
          "tier": "1K",
          "width": 768,
          "height": 1024,
          "values": {
            "image_size": "portrait_4_3"
          }
        },
        {
          "aspect": "9:16",
          "tier": "1K",
          "width": 576,
          "height": 1024,
          "values": {
            "image_size": "portrait_16_9"
          }
        },
        {
          "aspect": "4:3",
          "tier": "1K",
          "width": 1024,
          "height": 768,
          "values": {
            "image_size": "landscape_4_3"
          }
        },
        {
          "aspect": "16:9",
          "tier": "1K",
          "width": 1024,
          "height": 576,
          "values": {
            "image_size": "landscape_16_9"
          }
        }
      ]
    },
    {
      "id": "flux-2-flash",
      "label": "FLUX.2 Flash",
      "group": "FLUX",
      "description": "FLUX.2 Flash on fal.ai. Prompt-only generation or editing with references.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 4,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "landscape_4_3",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png",
            "webp"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "enable_prompt_expansion",
          "label": "Expand Prompt",
          "type": "bool",
          "default": false
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        },
        {
          "key": "guidance_scale",
          "label": "Guidance",
          "type": "float_slider",
          "min": 0.0,
          "max": 20.0,
          "default": 2.5,
          "help": "Controls how strongly the result follows the prompt."
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/flux-2/flash",
        "body": {
          "prompt": "{{prompt}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "enable_prompt_expansion": "{{fields.enable_prompt_expansion}}",
          "seed": "{{fields.seed}}",
          "guidance_scale": "{{fields.guidance_scale}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "image_size",
          "output_format",
          "num_images",
          "enable_prompt_expansion",
          "seed",
          "guidance_scale"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/fal-ai/flux-2/flash/edit",
          "body": {
            "image_urls": "{{images}}",
            "prompt": "{{prompt}}",
            "image_size": "{{fields.image_size}}",
            "output_format": "{{fields.output_format}}",
            "num_images": "{{fields.num_images}}",
            "enable_prompt_expansion": "{{fields.enable_prompt_expansion}}",
            "seed": "{{fields.seed}}",
            "guidance_scale": "{{fields.guidance_scale}}"
          }
        },
        "fields": [
          "image_size",
          "output_format",
          "num_images",
          "enable_prompt_expansion",
          "seed",
          "guidance_scale"
        ],
        "references": {
          "max": 4,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        },
        "description": "Add images to edit them.",
        "pricing": {
          "per_megapixel": 0.005,
          "per_input_image": 0.005,
          "note": "Fal's edit price: $0.005 per output megapixel and $0.005 per reference, since references are resized to 1 MP.",
          "count_field": "num_images",
          "width": "images[*].width",
          "height": "images[*].height"
        }
      },
      "pricing": {
        "per_megapixel": 0.005,
        "note": "Fal's price: $0.005 per output megapixel.",
        "count_field": "num_images",
        "width": "images[*].width",
        "height": "images[*].height"
      }
    },
    {
      "id": "flux-2-max",
      "label": "FLUX.2 Max",
      "group": "FLUX",
      "description": "FLUX.2 Max on fal.ai. Prompt-only generation or editing with references.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 8,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "landscape_4_3",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png"
          ]
        },
        {
          "key": "safety_tolerance",
          "label": "Safety Tolerance",
          "type": "combo",
          "default": "2",
          "options": [
            "1",
            "2",
            "3",
            "4",
            "5"
          ],
          "help": "Controls the provider's content screening level; available values vary by model."
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/flux-2-max",
        "body": {
          "prompt": "{{prompt}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "safety_tolerance": "{{fields.safety_tolerance}}",
          "seed": "{{fields.seed}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "image_size",
          "output_format",
          "safety_tolerance",
          "seed"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/fal-ai/flux-2-max/edit",
          "body": {
            "image_urls": "{{images}}",
            "prompt": "{{prompt}}",
            "image_size": "{{fields.image_size}}",
            "output_format": "{{fields.output_format}}",
            "safety_tolerance": "{{fields.safety_tolerance}}",
            "seed": "{{fields.seed}}"
          }
        },
        "fields": [
          "image_size",
          "output_format",
          "safety_tolerance",
          "seed"
        ],
        "references": {
          "max": 8,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        },
        "pricing": {
          "per_request": 0.04,
          "per_output_megapixel_block": 0.03,
          "output_megapixel_block_size": 1,
          "width": "images[*].width",
          "height": "images[*].height",
          "note": "Fal's edit price: $0.07 for the first megapixel, then $0.03 per started megapixel of output and references.",
          "per_input_megapixel_block": 0.03,
          "input_megapixel_block_size": 1
        }
      },
      "pricing": {
        "per_request": 0.04,
        "per_output_megapixel_block": 0.03,
        "output_megapixel_block_size": 1,
        "width": "images[*].width",
        "height": "images[*].height",
        "note": "Fal's price: $0.07 for the first output megapixel, then $0.03 per started megapixel after it."
      }
    },
    {
      "id": "flux-2-flex",
      "label": "FLUX.2 Flex",
      "group": "FLUX",
      "description": "FLUX.2 Flex on fal.ai. Prompt-only generation or editing with references.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 10,
        "send_as": "data_url",
        "max_megapixels": 14
      },
      "fields": [
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "landscape_4_3",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png"
          ]
        },
        {
          "key": "safety_tolerance",
          "label": "Safety Tolerance",
          "type": "combo",
          "default": "2",
          "options": [
            "1",
            "2",
            "3",
            "4",
            "5"
          ],
          "help": "Controls the provider's content screening level; available values vary by model."
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        },
        {
          "key": "num_inference_steps",
          "label": "Steps",
          "type": "int_slider",
          "min": 2,
          "max": 50,
          "default": 28,
          "help": "Sets how many denoising steps the model runs. More steps can change detail and runtime."
        },
        {
          "key": "guidance_scale",
          "label": "Guidance",
          "type": "float_slider",
          "min": 1.5,
          "max": 10.0,
          "default": 3.5,
          "help": "Controls how strongly the result follows the prompt."
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/flux-2-flex",
        "body": {
          "prompt": "{{prompt}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "safety_tolerance": "{{fields.safety_tolerance}}",
          "seed": "{{fields.seed}}",
          "num_inference_steps": "{{fields.num_inference_steps}}",
          "guidance_scale": "{{fields.guidance_scale}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "image_size",
          "output_format",
          "safety_tolerance",
          "seed",
          "num_inference_steps",
          "guidance_scale"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/fal-ai/flux-2-flex/edit",
          "body": {
            "image_urls": "{{images}}",
            "prompt": "{{prompt}}",
            "image_size": "{{fields.image_size}}",
            "output_format": "{{fields.output_format}}",
            "safety_tolerance": "{{fields.safety_tolerance}}",
            "seed": "{{fields.seed}}",
            "num_inference_steps": "{{fields.num_inference_steps}}",
            "guidance_scale": "{{fields.guidance_scale}}"
          }
        },
        "fields": [
          "image_size",
          "output_format",
          "safety_tolerance",
          "seed",
          "num_inference_steps",
          "guidance_scale"
        ],
        "references": {
          "max": 10,
          "send_as": "data_url",
          "max_megapixels": 14
        },
        "result": {
          "images": "images[*].url"
        },
        "pricing": {
          "per_output_megapixel_block": 0.05,
          "output_megapixel_block_size": 1,
          "width": "images[*].width",
          "height": "images[*].height",
          "note": "Fal's edit price: $0.05 per started megapixel of output and references.",
          "per_input_megapixel_block": 0.05,
          "input_megapixel_block_size": 1
        }
      },
      "pricing": {
        "per_output_megapixel_block": 0.05,
        "output_megapixel_block_size": 1,
        "width": "images[*].width",
        "height": "images[*].height",
        "note": "Fal's price: $0.05 per started output megapixel."
      }
    },
    {
      "id": "flux-2-klein-4b",
      "label": "FLUX.2 Klein 4B",
      "group": "FLUX",
      "description": "FLUX.2 Klein 4B on fal.ai. Prompt-only generation or editing with references.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 4,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "landscape_4_3",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png",
            "webp"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        },
        {
          "key": "num_inference_steps",
          "label": "Steps",
          "type": "int_slider",
          "min": 4,
          "max": 8,
          "default": 4,
          "help": "Sets how many denoising steps the model runs. More steps can change detail and runtime."
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/flux-2/klein/4b",
        "body": {
          "prompt": "{{prompt}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "seed": "{{fields.seed}}",
          "num_inference_steps": "{{fields.num_inference_steps}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "image_size",
          "output_format",
          "num_images",
          "seed",
          "num_inference_steps"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/fal-ai/flux-2/klein/4b/edit",
          "body": {
            "image_urls": "{{images}}",
            "prompt": "{{prompt}}",
            "image_size": "{{fields.image_size}}",
            "output_format": "{{fields.output_format}}",
            "num_images": "{{fields.num_images}}",
            "seed": "{{fields.seed}}",
            "num_inference_steps": "{{fields.num_inference_steps}}"
          }
        },
        "fields": [
          "image_size",
          "output_format",
          "num_images",
          "seed",
          "num_inference_steps"
        ],
        "references": {
          "max": 4,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        },
        "description": "Add images to edit them.",
        "pricing": {
          "per_megapixel": 0.01,
          "per_input_image": 0.01,
          "note": "Fal's edit price: $0.01 per megapixel of input and output. References are resized to 1 MP, so each costs $0.01.",
          "count_field": "num_images",
          "width": "images[*].width",
          "height": "images[*].height"
        }
      },
      "pricing": {
        "per_megapixel": 0.005,
        "note": "Fal's price: $0.005 per output megapixel.",
        "count_field": "num_images",
        "width": "images[*].width",
        "height": "images[*].height"
      }
    },
    {
      "id": "flux-2-klein-9b",
      "label": "FLUX.2 Klein 9B",
      "group": "FLUX",
      "description": "FLUX.2 Klein 9B on fal.ai. Prompt-only generation or editing with references.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 4,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "landscape_4_3",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png",
            "webp"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        },
        {
          "key": "num_inference_steps",
          "label": "Steps",
          "type": "int_slider",
          "min": 4,
          "max": 8,
          "default": 4,
          "help": "Sets how many denoising steps the model runs. More steps can change detail and runtime."
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/flux-2/klein/9b",
        "body": {
          "prompt": "{{prompt}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "seed": "{{fields.seed}}",
          "num_inference_steps": "{{fields.num_inference_steps}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "image_size",
          "output_format",
          "num_images",
          "seed",
          "num_inference_steps"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/fal-ai/flux-2/klein/9b/edit",
          "body": {
            "image_urls": "{{images}}",
            "prompt": "{{prompt}}",
            "image_size": "{{fields.image_size}}",
            "output_format": "{{fields.output_format}}",
            "num_images": "{{fields.num_images}}",
            "seed": "{{fields.seed}}",
            "num_inference_steps": "{{fields.num_inference_steps}}"
          }
        },
        "fields": [
          "image_size",
          "output_format",
          "num_images",
          "seed",
          "num_inference_steps"
        ],
        "references": {
          "max": 4,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        },
        "description": "Add images to edit them.",
        "pricing": {
          "per_megapixel": 0.011,
          "per_input_image": 0.011,
          "note": "Fal's edit price: $0.011 per megapixel of input and output. References are resized to 1 MP, so each costs $0.011.",
          "count_field": "num_images",
          "width": "images[*].width",
          "height": "images[*].height"
        }
      },
      "pricing": {
        "per_megapixel": 0.006,
        "note": "Fal's price: $0.006 per output megapixel.",
        "count_field": "num_images",
        "width": "images[*].width",
        "height": "images[*].height"
      }
    },
    {
      "id": "flux-kontext-pro",
      "label": "FLUX.1 Kontext Pro",
      "group": "FLUX",
      "description": "FLUX.1 Kontext Pro on fal.ai. Prompt-only generation or editing with references.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "safety_tolerance",
          "label": "Safety Tolerance",
          "type": "combo",
          "default": "2",
          "options": [
            "1",
            "2",
            "3",
            "4",
            "5",
            "6"
          ],
          "help": "Controls the provider's content screening level; available values vary by model."
        },
        {
          "key": "aspect_ratio",
          "label": "Aspect Ratio",
          "type": "aspect_combo",
          "default": "1:1",
          "options": [
            "21:9",
            "16:9",
            "4:3",
            "3:2",
            "1:1",
            "2:3",
            "3:4",
            "9:16",
            "9:21"
          ]
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        },
        {
          "key": "guidance_scale",
          "label": "Guidance",
          "type": "float_slider",
          "min": 1.0,
          "max": 20.0,
          "default": 3.5,
          "help": "Controls how strongly the result follows the prompt."
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/flux-pro/kontext/text-to-image",
        "body": {
          "prompt": "{{prompt}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "safety_tolerance": "{{fields.safety_tolerance}}",
          "aspect_ratio": "{{fields.aspect_ratio}}",
          "seed": "{{fields.seed}}",
          "guidance_scale": "{{fields.guidance_scale}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "output_format",
          "num_images",
          "safety_tolerance",
          "aspect_ratio",
          "seed",
          "guidance_scale"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/fal-ai/flux-pro/kontext",
          "body": {
            "image_url": "{{image}}",
            "prompt": "{{prompt}}",
            "output_format": "{{fields.output_format}}",
            "num_images": "{{fields.num_images}}",
            "safety_tolerance": "{{fields.safety_tolerance}}",
            "aspect_ratio": "{{fields.aspect_ratio}}",
            "seed": "{{fields.seed}}",
            "guidance_scale": "{{fields.guidance_scale}}"
          }
        },
        "fields": [
          "output_format",
          "num_images",
          "safety_tolerance",
          "aspect_ratio",
          "seed",
          "guidance_scale"
        ],
        "references": {
          "max": 1,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        },
        "description": "Add images to edit them."
      },
      "pricing": {
        "per_image": 0.04,
        "note": "Fal's price: $0.04 per image.",
        "count_field": "num_images"
      }
    },
    {
      "id": "flux-kontext-max",
      "label": "FLUX.1 Kontext Max",
      "group": "FLUX",
      "description": "FLUX.1 Kontext Max on fal.ai. Prompt-only generation or editing with references.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "safety_tolerance",
          "label": "Safety Tolerance",
          "type": "combo",
          "default": "2",
          "options": [
            "1",
            "2",
            "3",
            "4",
            "5",
            "6"
          ],
          "help": "Controls the provider's content screening level; available values vary by model."
        },
        {
          "key": "aspect_ratio",
          "label": "Aspect Ratio",
          "type": "aspect_combo",
          "default": "1:1",
          "options": [
            "21:9",
            "16:9",
            "4:3",
            "3:2",
            "1:1",
            "2:3",
            "3:4",
            "9:16",
            "9:21"
          ]
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        },
        {
          "key": "guidance_scale",
          "label": "Guidance",
          "type": "float_slider",
          "min": 1.0,
          "max": 20.0,
          "default": 3.5,
          "help": "Controls how strongly the result follows the prompt."
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/flux-pro/kontext/max/text-to-image",
        "body": {
          "prompt": "{{prompt}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "safety_tolerance": "{{fields.safety_tolerance}}",
          "aspect_ratio": "{{fields.aspect_ratio}}",
          "seed": "{{fields.seed}}",
          "guidance_scale": "{{fields.guidance_scale}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "output_format",
          "num_images",
          "safety_tolerance",
          "aspect_ratio",
          "seed",
          "guidance_scale"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/fal-ai/flux-pro/kontext/max",
          "body": {
            "image_url": "{{image}}",
            "prompt": "{{prompt}}",
            "output_format": "{{fields.output_format}}",
            "num_images": "{{fields.num_images}}",
            "safety_tolerance": "{{fields.safety_tolerance}}",
            "aspect_ratio": "{{fields.aspect_ratio}}",
            "seed": "{{fields.seed}}",
            "guidance_scale": "{{fields.guidance_scale}}"
          }
        },
        "fields": [
          "output_format",
          "num_images",
          "safety_tolerance",
          "aspect_ratio",
          "seed",
          "guidance_scale"
        ],
        "references": {
          "max": 1,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        },
        "description": "Add images to edit them."
      },
      "pricing": {
        "per_image": 0.08,
        "note": "Fal's price: $0.08 per image.",
        "count_field": "num_images"
      }
    },
    {
      "id": "flux-dev",
      "label": "FLUX.1 Dev",
      "group": "FLUX",
      "description": "FLUX.1 Dev on fal.ai. Prompt-only generation or editing with references.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "landscape_4_3",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        },
        {
          "key": "num_inference_steps",
          "label": "Steps",
          "type": "int_slider",
          "min": 1,
          "max": 50,
          "default": 28,
          "help": "Sets how many denoising steps the model runs. More steps can change detail and runtime."
        },
        {
          "key": "acceleration",
          "label": "Acceleration",
          "type": "combo",
          "default": "none",
          "options": [
            {
              "label": "None",
              "value": "none"
            },
            {
              "label": "Regular",
              "value": "regular"
            },
            {
              "label": "High",
              "value": "high"
            }
          ]
        },
        {
          "key": "guidance_scale",
          "label": "Guidance",
          "type": "float_slider",
          "min": 1.0,
          "max": 20.0,
          "default": 3.5,
          "help": "Controls how strongly the result follows the prompt."
        },
        {
          "key": "strength",
          "label": "Strength",
          "type": "float_slider",
          "min": 0.01,
          "max": 1.0,
          "default": 0.95,
          "help": "Controls how much the edit changes the input image; lower values preserve more of it."
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/flux/dev",
        "body": {
          "prompt": "{{prompt}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "seed": "{{fields.seed}}",
          "num_inference_steps": "{{fields.num_inference_steps}}",
          "acceleration": "{{fields.acceleration}}",
          "guidance_scale": "{{fields.guidance_scale}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "image_size",
          "output_format",
          "num_images",
          "seed",
          "num_inference_steps",
          "acceleration",
          "guidance_scale"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/fal-ai/flux/dev/image-to-image",
          "body": {
            "image_url": "{{image}}",
            "prompt": "{{prompt}}",
            "output_format": "{{fields.output_format}}",
            "num_images": "{{fields.num_images}}",
            "seed": "{{fields.seed}}",
            "strength": "{{fields.strength}}",
            "num_inference_steps": "{{fields.num_inference_steps}}",
            "acceleration": "{{fields.acceleration}}",
            "guidance_scale": "{{fields.guidance_scale}}"
          }
        },
        "fields": [
          "output_format",
          "num_images",
          "seed",
          "strength",
          "num_inference_steps",
          "acceleration",
          "guidance_scale"
        ],
        "references": {
          "max": 1,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        },
        "description": "Add images to edit them.",
        "pricing": {
          "per_output_megapixel_block": 0.03,
          "output_megapixel_block_size": 1,
          "width": "images[*].width",
          "height": "images[*].height",
          "note": "Fal's image-to-image price: $0.03 per megapixel, rounded up to the next megapixel.",
          "count_field": "num_images"
        }
      },
      "pricing": {
        "per_output_megapixel_block": 0.025,
        "output_megapixel_block_size": 1,
        "width": "images[*].width",
        "height": "images[*].height",
        "note": "Fal's price: $0.025 per megapixel, rounded up to the next megapixel.",
        "count_field": "num_images"
      }
    },
    {
      "id": "flux-schnell",
      "label": "FLUX.1 Schnell",
      "group": "FLUX",
      "description": "Fast FLUX.1 image generation.",
      "prompt": {
        "mode": "required"
      },
      "references": {
        "mode": "none"
      },
      "fields": [
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "landscape_4_3",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        },
        {
          "key": "num_inference_steps",
          "label": "Steps",
          "type": "int_slider",
          "min": 1,
          "max": 12,
          "default": 4,
          "help": "Sets how many denoising steps the model runs. More steps can change detail and runtime."
        },
        {
          "key": "acceleration",
          "label": "Acceleration",
          "type": "combo",
          "default": "none",
          "options": [
            {
              "label": "None",
              "value": "none"
            },
            {
              "label": "Regular",
              "value": "regular"
            },
            {
              "label": "High",
              "value": "high"
            }
          ]
        },
        {
          "key": "guidance_scale",
          "label": "Guidance",
          "type": "float_slider",
          "min": 1.0,
          "max": 20.0,
          "default": 3.5,
          "help": "Controls how strongly the result follows the prompt."
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/flux/schnell",
        "body": {
          "prompt": "{{prompt}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "seed": "{{fields.seed}}",
          "num_inference_steps": "{{fields.num_inference_steps}}",
          "acceleration": "{{fields.acceleration}}",
          "guidance_scale": "{{fields.guidance_scale}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_output_megapixel_block": 0.003,
        "output_megapixel_block_size": 1,
        "width": "images[*].width",
        "height": "images[*].height",
        "note": "Fal's price: $0.003 per megapixel, rounded up to the next megapixel.",
        "count_field": "num_images"
      }
    },
    {
      "id": "flux-1-1-pro",
      "label": "FLUX1.1 Pro",
      "group": "FLUX",
      "description": "FLUX1.1 Pro image generation.",
      "prompt": {
        "mode": "required"
      },
      "references": {
        "mode": "none"
      },
      "fields": [
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "landscape_4_3",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "safety_tolerance",
          "label": "Safety Tolerance",
          "type": "combo",
          "default": "2",
          "options": [
            "1",
            "2",
            "3",
            "4",
            "5",
            "6"
          ],
          "help": "Controls the provider's content screening level; available values vary by model."
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/flux-pro/v1.1",
        "body": {
          "prompt": "{{prompt}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "safety_tolerance": "{{fields.safety_tolerance}}",
          "seed": "{{fields.seed}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_output_megapixel_block": 0.04,
        "output_megapixel_block_size": 1,
        "width": "images[*].width",
        "height": "images[*].height",
        "note": "Fal's price: $0.04 per megapixel, rounded up to the next megapixel.",
        "count_field": "num_images"
      }
    },
    {
      "id": "flux-1-1-ultra",
      "label": "FLUX1.1 Pro Ultra",
      "group": "FLUX",
      "description": "FLUX1.1 Pro Ultra image generation.",
      "prompt": {
        "mode": "required"
      },
      "references": {
        "mode": "optional",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "safety_tolerance",
          "label": "Safety Tolerance",
          "type": "combo",
          "default": "2",
          "options": [
            "1",
            "2",
            "3",
            "4",
            "5",
            "6"
          ],
          "help": "Controls the provider's content screening level; available values vary by model."
        },
        {
          "key": "aspect_ratio",
          "label": "Aspect Ratio",
          "type": "aspect_combo",
          "default": "16:9",
          "options": [
            "21:9",
            "16:9",
            "4:3",
            "3:2",
            "1:1",
            "2:3",
            "3:4",
            "9:16",
            "9:21"
          ]
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/flux-pro/v1.1-ultra",
        "body": {
          "prompt": "{{prompt}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "safety_tolerance": "{{fields.safety_tolerance}}",
          "aspect_ratio": "{{fields.aspect_ratio}}",
          "seed": "{{fields.seed}}",
          "image_url": "{{image}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_image": 0.06,
        "note": "Fal's price: $0.06 per image.",
        "count_field": "num_images"
      }
    },
    {
      "id": "flux-fill-pro",
      "label": "FLUX.1 Fill Pro",
      "group": "FLUX",
      "description": "Inpaints masked areas with FLUX.1 Fill Pro.",
      "prompt": {
        "mode": "required"
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "safety_tolerance",
          "label": "Safety Tolerance",
          "type": "combo",
          "default": "2",
          "options": [
            "1",
            "2",
            "3",
            "4",
            "5",
            "6"
          ],
          "help": "Controls the provider's content screening level; available values vary by model."
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/flux-pro/v1/fill",
        "body": {
          "image_url": "{{image}}",
          "mask_url": "{{mask}}",
          "prompt": "{{prompt}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "safety_tolerance": "{{fields.safety_tolerance}}",
          "seed": "{{fields.seed}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "mask": {
        "mode": "required"
      },
      "pricing": {
        "per_output_megapixel_block": 0.05,
        "output_megapixel_block_size": 1,
        "width": "images[*].width",
        "height": "images[*].height",
        "count_field": "num_images",
        "note": "Fal's price: $0.05 per started output megapixel."
      }
    },
    {
      "id": "seedream-4-5-edit",
      "label": "Seedream 4.5",
      "group": "Seedream",
      "description": "Seedream 4.5 creates images from prompts and edits references.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 10,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "max_images",
          "label": "Maximum Images",
          "type": "int_slider",
          "min": 1,
          "max": 6,
          "default": 1
        },
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "auto_2K",
          "options": [
            {
              "label": "Auto 2K",
              "value": "auto_2K"
            },
            {
              "label": "Auto 4K",
              "value": "auto_4K"
            },
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 6,
          "default": 1
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/bytedance/seedream/v4.5/text-to-image",
        "body": {
          "prompt": "{{prompt}}",
          "max_images": "{{fields.max_images}}",
          "image_size": "{{fields.image_size}}",
          "num_images": "{{fields.num_images}}",
          "seed": "{{fields.seed}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "max_images",
          "image_size",
          "num_images",
          "seed"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/fal-ai/bytedance/seedream/v4.5/edit",
          "body": {
            "image_urls": "{{images}}",
            "prompt": "{{prompt}}",
            "max_images": "{{fields.max_images}}",
            "image_size": "{{fields.image_size}}",
            "num_images": "{{fields.num_images}}",
            "seed": "{{fields.seed}}"
          }
        },
        "fields": [
          "max_images",
          "image_size",
          "num_images",
          "seed"
        ],
        "references": {
          "max": 10,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        },
        "description": "Add images to edit them.",
        "pricing": {
          "per_image": 0.04,
          "note": "Fal's price: $0.04 per image.",
          "count_field": "num_images"
        }
      },
      "pricing": {
        "per_image": 0.04,
        "note": "Fal's price: $0.04 per image.",
        "count_field": "num_images"
      }
    },
    {
      "id": "seedream-5-pro",
      "label": "Seedream 5 Pro",
      "group": "Seedream",
      "description": "Seedream 5 Pro makes images from prompts and edits references.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 10,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "auto_2K",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            },
            {
              "label": "Auto 1K",
              "value": "auto_1K"
            },
            {
              "label": "Auto 2K",
              "value": "auto_2K"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 6,
          "default": 1
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/bytedance/seedream/v5/pro/text-to-image",
        "body": {
          "prompt": "{{prompt}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "image_size",
          "output_format",
          "num_images"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/bytedance/seedream/v5/pro/edit",
          "body": {
            "image_urls": "{{images}}",
            "prompt": "{{prompt}}",
            "image_size": "{{fields.image_size}}",
            "output_format": "{{fields.output_format}}",
            "num_images": "{{fields.num_images}}"
          }
        },
        "fields": [
          "image_size",
          "output_format",
          "num_images"
        ],
        "references": {
          "max": 10,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        },
        "description": "Add images to edit them.",
        "pricing": {
          "per_image": 0.0675,
          "by_field": {
            "image_size": {
              "auto_2K": 0.135
            }
          },
          "per_input_image": 0.0045,
          "free_input_images": 1,
          "note": "Fal's price: $0.0675 per image up to 1536 x 1536 pixels and $0.135 up to 2048 x 2048. Auto 2K is priced at the higher tier. The first reference is free, then $0.0045 each.",
          "count_field": "num_images"
        }
      },
      "pricing": {
        "per_image": 0.0675,
        "by_field": {
          "image_size": {
            "auto_2K": 0.135
          }
        },
        "note": "Fal's price: $0.0675 per image up to 1536 x 1536 pixels and $0.135 up to 2048 x 2048. Auto 2K is priced at the higher tier.",
        "count_field": "num_images"
      }
    },
    {
      "id": "seedream-5-flash",
      "label": "Seedream 5 Flash",
      "group": "Seedream",
      "description": "Seedream 5 Flash makes images from prompts and edits references.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 10,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "auto_2K",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            },
            {
              "label": "Auto 1K",
              "value": "auto_1K"
            },
            {
              "label": "Auto 2K",
              "value": "auto_2K"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 6,
          "default": 1
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/bytedance/seedream/v5/flash/text-to-image",
        "body": {
          "prompt": "{{prompt}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "image_size",
          "output_format",
          "num_images"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/bytedance/seedream/v5/flash/edit",
          "body": {
            "image_urls": "{{images}}",
            "prompt": "{{prompt}}",
            "image_size": "{{fields.image_size}}",
            "output_format": "{{fields.output_format}}",
            "num_images": "{{fields.num_images}}"
          }
        },
        "fields": [
          "image_size",
          "output_format",
          "num_images"
        ],
        "references": {
          "max": 10,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        },
        "description": "Add images to edit them."
      },
      "pricing": {
        "per_image": 0.027,
        "note": "Fal's price: $0.027 per image.",
        "count_field": "num_images"
      }
    },
    {
      "id": "seedream-5-lite",
      "label": "Seedream 5 Lite",
      "group": "Seedream",
      "description": "Seedream 5 Lite makes images from prompts and edits references.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 10,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "max_images",
          "label": "Maximum Images",
          "type": "int_slider",
          "min": 1,
          "max": 6,
          "default": 1
        },
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "auto_2K",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            },
            {
              "label": "Auto 2K",
              "value": "auto_2K"
            },
            "auto_3K",
            {
              "label": "Auto 4K",
              "value": "auto_4K"
            }
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 6,
          "default": 1
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/bytedance/seedream/v5/lite/text-to-image",
        "body": {
          "prompt": "{{prompt}}",
          "max_images": "{{fields.max_images}}",
          "image_size": "{{fields.image_size}}",
          "num_images": "{{fields.num_images}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "max_images",
          "image_size",
          "num_images"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/bytedance/seedream/v5/lite/edit",
          "body": {
            "image_urls": "{{images}}",
            "prompt": "{{prompt}}",
            "max_images": "{{fields.max_images}}",
            "image_size": "{{fields.image_size}}",
            "num_images": "{{fields.num_images}}"
          }
        },
        "fields": [
          "max_images",
          "image_size",
          "num_images"
        ],
        "references": {
          "max": 10,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        },
        "description": "Add images to edit them."
      },
      "pricing": {
        "per_image": 0.035,
        "note": "Fal's price: $0.035 per image.",
        "count_field": "num_images"
      }
    },
    {
      "id": "seedream-4-edit",
      "label": "Seedream 4",
      "group": "Seedream",
      "description": "Seedream 4 makes images from prompts and edits references.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 10,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "max_images",
          "label": "Maximum Images",
          "type": "int_slider",
          "min": 1,
          "max": 6,
          "default": 1
        },
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "auto_2K",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            },
            {
              "label": "Auto",
              "value": "auto"
            },
            {
              "label": "Auto 2K",
              "value": "auto_2K"
            },
            {
              "label": "Auto 4K",
              "value": "auto_4K"
            }
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 6,
          "default": 1
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/bytedance/seedream/v4/text-to-image",
        "body": {
          "prompt": "{{prompt}}",
          "max_images": "{{fields.max_images}}",
          "image_size": "{{fields.image_size}}",
          "num_images": "{{fields.num_images}}",
          "seed": "{{fields.seed}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "max_images",
          "image_size",
          "num_images",
          "seed"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/fal-ai/bytedance/seedream/v4/edit",
          "body": {
            "image_urls": "{{images}}",
            "prompt": "{{prompt}}",
            "max_images": "{{fields.max_images}}",
            "image_size": "{{fields.image_size}}",
            "num_images": "{{fields.num_images}}",
            "seed": "{{fields.seed}}"
          }
        },
        "fields": [
          "max_images",
          "image_size",
          "num_images",
          "seed"
        ],
        "references": {
          "max": 10,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        },
        "description": "Add images to edit them."
      },
      "pricing": {
        "per_image": 0.03,
        "note": "Fal's price: $0.03 per image.",
        "count_field": "num_images"
      }
    },
    {
      "id": "ideogram-v4-5",
      "label": "Ideogram V4.5",
      "group": "Ideogram",
      "description": "Ideogram 4.5, strong at text and layout. Add an image to edit it, plus up to 4 references.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 5,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "quality",
          "label": "Quality",
          "type": "combo",
          "default": "medium",
          "options": [
            {
              "label": "Low",
              "value": "low"
            },
            {
              "label": "Medium",
              "value": "medium"
            },
            {
              "label": "High",
              "value": "high"
            }
          ]
        },
        {
          "key": "edit_quality",
          "label": "Quality",
          "type": "combo",
          "default": "medium",
          "options": [
            {
              "label": "Very Low",
              "value": "very_low"
            },
            {
              "label": "Low",
              "value": "low"
            },
            {
              "label": "Medium",
              "value": "medium"
            },
            {
              "label": "High",
              "value": "high"
            }
          ]
        },
        {
          "key": "image_size",
          "label": "Size",
          "type": "size",
          "default": "1:1 (1024 x 1024)",
          "options": [
            {
              "label": "3:1 (3072 x 1024)",
              "value": {
                "width": 3072,
                "height": 1024
              }
            },
            {
              "label": "8:3 (3328 x 1248)",
              "value": {
                "width": 3328,
                "height": 1248
              }
            },
            {
              "label": "23:9 (2944 x 1152)",
              "value": {
                "width": 2944,
                "height": 1152
              }
            },
            {
              "label": "22:9 (3168 x 1296)",
              "value": {
                "width": 3168,
                "height": 1296
              }
            },
            {
              "label": "12:5 (3072 x 1280)",
              "value": {
                "width": 3072,
                "height": 1280
              }
            },
            {
              "label": "2:1 (1440 x 720)",
              "value": {
                "width": 1440,
                "height": 720
              }
            },
            {
              "label": "2:1 (2880 x 1440)",
              "value": {
                "width": 2880,
                "height": 1440
              }
            },
            {
              "label": "16:9 (1280 x 720)",
              "value": {
                "width": 1280,
                "height": 720
              }
            },
            {
              "label": "16:9 (2560 x 1440)",
              "value": {
                "width": 2560,
                "height": 1440
              }
            },
            {
              "label": "16:10 (1280 x 800)",
              "value": {
                "width": 1280,
                "height": 800
              }
            },
            {
              "label": "16:10 (2560 x 1600)",
              "value": {
                "width": 2560,
                "height": 1600
              }
            },
            {
              "label": "3:2 (1248 x 832)",
              "value": {
                "width": 1248,
                "height": 832
              }
            },
            {
              "label": "3:2 (2496 x 1664)",
              "value": {
                "width": 2496,
                "height": 1664
              }
            },
            {
              "label": "4:3 (1152 x 864)",
              "value": {
                "width": 1152,
                "height": 864
              }
            },
            {
              "label": "4:3 (2304 x 1728)",
              "value": {
                "width": 2304,
                "height": 1728
              }
            },
            {
              "label": "5:4 (1120 x 896)",
              "value": {
                "width": 1120,
                "height": 896
              }
            },
            {
              "label": "5:4 (2240 x 1792)",
              "value": {
                "width": 2240,
                "height": 1792
              }
            },
            {
              "label": "1:1 (1024 x 1024)",
              "value": {
                "width": 1024,
                "height": 1024
              }
            },
            {
              "label": "1:1 (2048 x 2048)",
              "value": {
                "width": 2048,
                "height": 2048
              }
            },
            {
              "label": "4:5 (896 x 1120)",
              "value": {
                "width": 896,
                "height": 1120
              }
            },
            {
              "label": "4:5 (1792 x 2240)",
              "value": {
                "width": 1792,
                "height": 2240
              }
            },
            {
              "label": "3:4 (864 x 1152)",
              "value": {
                "width": 864,
                "height": 1152
              }
            },
            {
              "label": "3:4 (1728 x 2304)",
              "value": {
                "width": 1728,
                "height": 2304
              }
            },
            {
              "label": "2:3 (832 x 1248)",
              "value": {
                "width": 832,
                "height": 1248
              }
            },
            {
              "label": "2:3 (1664 x 2496)",
              "value": {
                "width": 1664,
                "height": 2496
              }
            },
            {
              "label": "10:16 (800 x 1280)",
              "value": {
                "width": 800,
                "height": 1280
              }
            },
            {
              "label": "10:16 (1600 x 2560)",
              "value": {
                "width": 1600,
                "height": 2560
              }
            },
            {
              "label": "9:16 (720 x 1280)",
              "value": {
                "width": 720,
                "height": 1280
              }
            },
            {
              "label": "9:16 (1440 x 2560)",
              "value": {
                "width": 1440,
                "height": 2560
              }
            },
            {
              "label": "1:2 (720 x 1440)",
              "value": {
                "width": 720,
                "height": 1440
              }
            },
            {
              "label": "1:2 (1440 x 2880)",
              "value": {
                "width": 1440,
                "height": 2880
              }
            },
            {
              "label": "5:12 (1280 x 3072)",
              "value": {
                "width": 1280,
                "height": 3072
              }
            },
            {
              "label": "9:22 (1296 x 3168)",
              "value": {
                "width": 1296,
                "height": 3168
              }
            },
            {
              "label": "9:23 (1152 x 2944)",
              "value": {
                "width": 1152,
                "height": 2944
              }
            },
            {
              "label": "3:8 (1248 x 3328)",
              "value": {
                "width": 1248,
                "height": 3328
              }
            },
            {
              "label": "1:3 (1024 x 3072)",
              "value": {
                "width": 1024,
                "height": 3072
              }
            }
          ]
        },
        {
          "key": "edit_size",
          "label": "Size",
          "type": "size",
          "default": "Match input",
          "options": [
            {
              "label": "Match input",
              "value": null
            },
            {
              "label": "3:1 (3072 x 1024)",
              "value": {
                "width": 3072,
                "height": 1024
              }
            },
            {
              "label": "8:3 (3328 x 1248)",
              "value": {
                "width": 3328,
                "height": 1248
              }
            },
            {
              "label": "23:9 (2944 x 1152)",
              "value": {
                "width": 2944,
                "height": 1152
              }
            },
            {
              "label": "12:5 (3072 x 1280)",
              "value": {
                "width": 3072,
                "height": 1280
              }
            },
            {
              "label": "2:1 (2880 x 1440)",
              "value": {
                "width": 2880,
                "height": 1440
              }
            },
            {
              "label": "16:9 (2560 x 1440)",
              "value": {
                "width": 2560,
                "height": 1440
              }
            },
            {
              "label": "16:10 (1280 x 800)",
              "value": {
                "width": 1280,
                "height": 800
              }
            },
            {
              "label": "16:10 (2560 x 1600)",
              "value": {
                "width": 2560,
                "height": 1600
              }
            },
            {
              "label": "3:2 (1248 x 832)",
              "value": {
                "width": 1248,
                "height": 832
              }
            },
            {
              "label": "3:2 (2496 x 1664)",
              "value": {
                "width": 2496,
                "height": 1664
              }
            },
            {
              "label": "4:3 (1152 x 864)",
              "value": {
                "width": 1152,
                "height": 864
              }
            },
            {
              "label": "4:3 (2304 x 1728)",
              "value": {
                "width": 2304,
                "height": 1728
              }
            },
            {
              "label": "5:4 (1120 x 896)",
              "value": {
                "width": 1120,
                "height": 896
              }
            },
            {
              "label": "5:4 (2240 x 1792)",
              "value": {
                "width": 2240,
                "height": 1792
              }
            },
            {
              "label": "1:1 (1024 x 1024)",
              "value": {
                "width": 1024,
                "height": 1024
              }
            },
            {
              "label": "1:1 (2048 x 2048)",
              "value": {
                "width": 2048,
                "height": 2048
              }
            },
            {
              "label": "4:5 (896 x 1120)",
              "value": {
                "width": 896,
                "height": 1120
              }
            },
            {
              "label": "4:5 (1792 x 2240)",
              "value": {
                "width": 1792,
                "height": 2240
              }
            },
            {
              "label": "3:4 (864 x 1152)",
              "value": {
                "width": 864,
                "height": 1152
              }
            },
            {
              "label": "3:4 (1728 x 2304)",
              "value": {
                "width": 1728,
                "height": 2304
              }
            },
            {
              "label": "2:3 (832 x 1248)",
              "value": {
                "width": 832,
                "height": 1248
              }
            },
            {
              "label": "2:3 (1664 x 2496)",
              "value": {
                "width": 1664,
                "height": 2496
              }
            },
            {
              "label": "10:16 (800 x 1280)",
              "value": {
                "width": 800,
                "height": 1280
              }
            },
            {
              "label": "10:16 (1600 x 2560)",
              "value": {
                "width": 1600,
                "height": 2560
              }
            },
            {
              "label": "9:16 (1440 x 2560)",
              "value": {
                "width": 1440,
                "height": 2560
              }
            },
            {
              "label": "1:2 (1440 x 2880)",
              "value": {
                "width": 1440,
                "height": 2880
              }
            },
            {
              "label": "5:12 (1280 x 3072)",
              "value": {
                "width": 1280,
                "height": 3072
              }
            },
            {
              "label": "9:23 (1152 x 2944)",
              "value": {
                "width": 1152,
                "height": 2944
              }
            },
            {
              "label": "3:8 (1248 x 3328)",
              "value": {
                "width": 1248,
                "height": 3328
              }
            },
            {
              "label": "1:3 (1024 x 3072)",
              "value": {
                "width": 1024,
                "height": 3072
              }
            }
          ],
          "help": "Other sizes work only without a mask and with Regular precision."
        },
        {
          "key": "edit_precision",
          "label": "Precision",
          "type": "combo",
          "default": "regular",
          "options": [
            {
              "label": "Regular",
              "value": "regular"
            },
            {
              "label": "High",
              "value": "high"
            }
          ],
          "help": "High keeps the unchanged pixels exactly as they were."
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 8,
          "default": 1
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        },
        {
          "key": "enable_prompt_expansion",
          "label": "Prompt expansion",
          "type": "bool",
          "default": true
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/ideogram/v4.5",
        "body": {
          "prompt": "{{prompt}}",
          "image_size": "{{fields.image_size}}",
          "quality": "{{fields.quality}}",
          "num_images": "{{fields.num_images}}",
          "seed": "{{fields.seed}}",
          "enable_prompt_expansion": "{{fields.enable_prompt_expansion}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_image": 0.22,
        "by_field": {
          "quality": {
            "low": 0.03,
            "medium": 0.06,
            "high": 0.22
          }
        },
        "count_field": "num_images",
        "note": "Fal's price per image: $0.03 Low, $0.06 Medium, $0.22 High. The size doesn't change it."
      },
      "without_references": {
        "fields": [
          "quality",
          "image_size",
          "num_images",
          "seed",
          "enable_prompt_expansion"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/ideogram/v4.5/edit",
          "body": {
            "prompt": "{{prompt}}",
            "image_url": "{{images[0]}}",
            "reference_image_urls": [
              "{{images[1]}}",
              "{{images[2]}}",
              "{{images[3]}}",
              "{{images[4]}}"
            ],
            "mask_url": "{{mask}}",
            "image_size": "{{fields.edit_size}}",
            "quality": "{{fields.edit_quality}}",
            "edit_precision": "{{fields.edit_precision}}",
            "num_images": "{{fields.num_images}}",
            "seed": "{{fields.seed}}"
          }
        },
        "fields": [
          "edit_quality",
          "edit_size",
          "edit_precision",
          "num_images",
          "seed"
        ],
        "mask": {
          "mode": "optional",
          "paint": "black"
        },
        "pricing": {
          "per_image": 0.22,
          "by_field": {
            "edit_quality": {
              "very_low": 0.008,
              "low": 0.03,
              "medium": 0.06,
              "high": 0.22
            }
          },
          "count_field": "num_images",
          "note": "Fal's edit price per image: $0.008 Very Low, $0.03 Low, $0.06 Medium, $0.22 High. The size doesn't change it."
        },
        "description": "The first image is edited and the others are references. With a mask, Ideogram takes 3 references."
      }
    },
    {
      "id": "ideogram-v3",
      "label": "Ideogram V3",
      "group": "Ideogram",
      "description": "Ideogram V3 text to image, with style references if you like. Add an image and a mask to edit it.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "negative_prompt",
          "label": "Negative Prompt",
          "type": "textarea"
        },
        {
          "key": "rendering_speed",
          "label": "Rendering Speed",
          "type": "combo",
          "default": "BALANCED",
          "options": [
            {
              "label": "Turbo",
              "value": "TURBO"
            },
            {
              "label": "Balanced",
              "value": "BALANCED"
            },
            {
              "label": "Quality",
              "value": "QUALITY"
            }
          ]
        },
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "square_hd",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "style_preset",
          "label": "Style",
          "type": "combo",
          "default": "FOREST_REVERIE",
          "options": [
            {
              "label": "80s illustration",
              "value": "80S_ILLUSTRATION"
            },
            {
              "label": "90s nostalgia",
              "value": "90S_NOSTALGIA"
            },
            {
              "label": "Abstract organic",
              "value": "ABSTRACT_ORGANIC"
            },
            {
              "label": "Analog nostalgia",
              "value": "ANALOG_NOSTALGIA"
            },
            {
              "label": "Art brut",
              "value": "ART_BRUT"
            },
            {
              "label": "Art deco",
              "value": "ART_DECO"
            },
            {
              "label": "Art poster",
              "value": "ART_POSTER"
            },
            {
              "label": "Aura",
              "value": "AURA"
            },
            {
              "label": "Avant garde",
              "value": "AVANT_GARDE"
            },
            {
              "label": "Bauhaus",
              "value": "BAUHAUS"
            },
            {
              "label": "Blueprint",
              "value": "BLUEPRINT"
            },
            {
              "label": "Blurry motion",
              "value": "BLURRY_MOTION"
            },
            {
              "label": "Bright art",
              "value": "BRIGHT_ART"
            },
            {
              "label": "C4D cartoon",
              "value": "C4D_CARTOON"
            },
            {
              "label": "Children's book",
              "value": "CHILDRENS_BOOK"
            },
            {
              "label": "Collage",
              "value": "COLLAGE"
            },
            {
              "label": "Coloring book I",
              "value": "COLORING_BOOK_I"
            },
            {
              "label": "Coloring book II",
              "value": "COLORING_BOOK_II"
            },
            {
              "label": "Cubism",
              "value": "CUBISM"
            },
            {
              "label": "Dark aura",
              "value": "DARK_AURA"
            },
            {
              "label": "Doodle",
              "value": "DOODLE"
            },
            {
              "label": "Double exposure",
              "value": "DOUBLE_EXPOSURE"
            },
            {
              "label": "Dramatic cinema",
              "value": "DRAMATIC_CINEMA"
            },
            {
              "label": "Editorial",
              "value": "EDITORIAL"
            },
            {
              "label": "Emotional minimal",
              "value": "EMOTIONAL_MINIMAL"
            },
            {
              "label": "Ethereal party",
              "value": "ETHEREAL_PARTY"
            },
            {
              "label": "Expired film",
              "value": "EXPIRED_FILM"
            },
            {
              "label": "Flat art",
              "value": "FLAT_ART"
            },
            {
              "label": "Flat vector",
              "value": "FLAT_VECTOR"
            },
            {
              "label": "Forest reverie",
              "value": "FOREST_REVERIE"
            },
            {
              "label": "Geo minimalist",
              "value": "GEO_MINIMALIST"
            },
            {
              "label": "Glass prism",
              "value": "GLASS_PRISM"
            },
            {
              "label": "Golden hour",
              "value": "GOLDEN_HOUR"
            },
            {
              "label": "Graffiti I",
              "value": "GRAFFITI_I"
            },
            {
              "label": "Graffiti II",
              "value": "GRAFFITI_II"
            },
            {
              "label": "Halftone print",
              "value": "HALFTONE_PRINT"
            },
            {
              "label": "High contrast",
              "value": "HIGH_CONTRAST"
            },
            {
              "label": "Hippie era",
              "value": "HIPPIE_ERA"
            },
            {
              "label": "Iconic",
              "value": "ICONIC"
            },
            {
              "label": "Japandi fusion",
              "value": "JAPANDI_FUSION"
            },
            {
              "label": "Jazzy",
              "value": "JAZZY"
            },
            {
              "label": "Long exposure",
              "value": "LONG_EXPOSURE"
            },
            {
              "label": "Magazine editorial",
              "value": "MAGAZINE_EDITORIAL"
            },
            {
              "label": "Minimal illustration",
              "value": "MINIMAL_ILLUSTRATION"
            },
            {
              "label": "Mixed media",
              "value": "MIXED_MEDIA"
            },
            {
              "label": "Monochrome",
              "value": "MONOCHROME"
            },
            {
              "label": "Nightlife",
              "value": "NIGHTLIFE"
            },
            {
              "label": "Oil painting",
              "value": "OIL_PAINTING"
            },
            {
              "label": "Old cartoons",
              "value": "OLD_CARTOONS"
            },
            {
              "label": "Paint gesture",
              "value": "PAINT_GESTURE"
            },
            {
              "label": "Pop art",
              "value": "POP_ART"
            },
            {
              "label": "Retro etching",
              "value": "RETRO_ETCHING"
            },
            {
              "label": "Riviera pop",
              "value": "RIVIERA_POP"
            },
            {
              "label": "Spotlight 80s",
              "value": "SPOTLIGHT_80S"
            },
            {
              "label": "Stylized red",
              "value": "STYLIZED_RED"
            },
            {
              "label": "Surreal collage",
              "value": "SURREAL_COLLAGE"
            },
            {
              "label": "Travel poster",
              "value": "TRAVEL_POSTER"
            },
            {
              "label": "Vintage geo",
              "value": "VINTAGE_GEO"
            },
            {
              "label": "Vintage poster",
              "value": "VINTAGE_POSTER"
            },
            {
              "label": "Watercolor",
              "value": "WATERCOLOR"
            },
            {
              "label": "Weird",
              "value": "WEIRD"
            },
            {
              "label": "Woodblock print",
              "value": "WOODBLOCK_PRINT"
            }
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 8,
          "default": 1
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        },
        {
          "key": "style",
          "label": "Style",
          "type": "combo",
          "default": "GENERAL",
          "options": [
            {
              "label": "Auto",
              "value": "AUTO"
            },
            {
              "label": "General",
              "value": "GENERAL"
            },
            {
              "label": "Realistic",
              "value": "REALISTIC"
            },
            {
              "label": "Design",
              "value": "DESIGN"
            }
          ]
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/ideogram/v3",
        "body": {
          "prompt": "{{prompt}}",
          "negative_prompt": "{{fields.negative_prompt}}",
          "rendering_speed": "{{fields.rendering_speed}}",
          "image_size": "{{fields.image_size}}",
          "style_preset": "{{fields.style_preset}}",
          "num_images": "{{fields.num_images}}",
          "seed": "{{fields.seed}}",
          "style": "{{fields.style}}",
          "image_urls": "{{inputs.style}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "negative_prompt",
          "rendering_speed",
          "image_size",
          "style_preset",
          "num_images",
          "seed",
          "style"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/fal-ai/ideogram/v3/edit",
          "body": {
            "image_url": "{{image}}",
            "mask_url": "{{mask}}",
            "prompt": "{{prompt}}",
            "rendering_speed": "{{fields.rendering_speed}}",
            "style_preset": "{{fields.style_preset}}",
            "num_images": "{{fields.num_images}}",
            "seed": "{{fields.seed}}",
            "image_urls": "{{inputs.style}}"
          }
        },
        "fields": [
          "rendering_speed",
          "style_preset",
          "num_images",
          "seed"
        ],
        "result": {
          "images": "images[*].url"
        },
        "description": "Add images to edit them.",
        "mask": {
          "mode": "required"
        }
      },
      "pricing": {
        "per_image": 0.06,
        "by_field": {
          "rendering_speed": {
            "TURBO": 0.03,
            "BALANCED": 0.06,
            "QUALITY": 0.09
          }
        },
        "note": "Fal's price: $0.03 Turbo, $0.06 Balanced or $0.09 Quality per image.",
        "count_field": "num_images"
      },
      "image_inputs": [
        {
          "key": "style",
          "label": "Style References",
          "mode": "optional",
          "max": 3,
          "max_mb": 3,
          "help": "Up to 3 images whose style the result follows. fal takes 10 MB for all of them together."
        }
      ]
    },
    {
      "id": "ideogram-v3-transparent",
      "label": "Ideogram V3 Transparent",
      "group": "Ideogram",
      "description": "Generates a transparent-background image.",
      "prompt": {
        "mode": "required"
      },
      "references": {
        "mode": "none"
      },
      "fields": [
        {
          "key": "negative_prompt",
          "label": "Negative Prompt",
          "type": "textarea"
        },
        {
          "key": "rendering_speed",
          "label": "Rendering Speed",
          "type": "combo",
          "default": "BALANCED",
          "options": [
            {
              "label": "Turbo",
              "value": "TURBO"
            },
            {
              "label": "Balanced",
              "value": "BALANCED"
            },
            {
              "label": "Quality",
              "value": "QUALITY"
            }
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 8,
          "default": 1
        },
        {
          "key": "aspect_ratio",
          "label": "Aspect Ratio",
          "type": "aspect_combo",
          "default": "1:1",
          "options": [
            "1:3",
            "3:1",
            "1:2",
            "2:1",
            "9:16",
            "16:9",
            "10:16",
            "16:10",
            "2:3",
            "3:2",
            "3:4",
            "4:3",
            "4:5",
            "5:4",
            "1:1"
          ]
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/ideogram/v3/generate-transparent",
        "body": {
          "prompt": "{{prompt}}",
          "negative_prompt": "{{fields.negative_prompt}}",
          "rendering_speed": "{{fields.rendering_speed}}",
          "num_images": "{{fields.num_images}}",
          "aspect_ratio": "{{fields.aspect_ratio}}",
          "seed": "{{fields.seed}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_image": 0.06,
        "by_field": {
          "rendering_speed": {
            "TURBO": 0.03,
            "BALANCED": 0.06,
            "QUALITY": 0.09
          }
        },
        "note": "Fal's price: $0.03 Turbo, $0.06 Balanced or $0.09 Quality per image.",
        "count_field": "num_images"
      }
    },
    {
      "id": "ideogram-v4",
      "label": "Ideogram V4",
      "group": "Ideogram",
      "description": "Ideogram V4 prompt generation and image remix.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "rendering_speed",
          "label": "Rendering Speed",
          "type": "combo",
          "default": "BALANCED",
          "options": [
            {
              "label": "Turbo",
              "value": "TURBO"
            },
            {
              "label": "Balanced",
              "value": "BALANCED"
            },
            {
              "label": "Quality",
              "value": "QUALITY"
            }
          ]
        },
        {
          "key": "expansion_model",
          "label": "Prompt Expansion",
          "type": "combo",
          "default": "Medium",
          "options": [
            "None",
            "Medium",
            "Large"
          ]
        },
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "square_hd",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        },
        {
          "key": "acceleration",
          "label": "Acceleration",
          "type": "combo",
          "default": "none",
          "options": [
            {
              "label": "None",
              "value": "none"
            },
            {
              "label": "Low",
              "value": "low"
            },
            {
              "label": "Regular",
              "value": "regular"
            },
            {
              "label": "High",
              "value": "high"
            }
          ]
        },
        {
          "key": "strength",
          "label": "Strength",
          "type": "float_slider",
          "min": 0.0,
          "max": 1.0,
          "default": 0.8,
          "help": "Controls how much the edit changes the input image; lower values preserve more of it."
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/ideogram/v4",
        "body": {
          "prompt": "{{prompt}}",
          "rendering_speed": "{{fields.rendering_speed}}",
          "expansion_model": "{{fields.expansion_model}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "seed": "{{fields.seed}}",
          "acceleration": "{{fields.acceleration}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "rendering_speed",
          "expansion_model",
          "image_size",
          "output_format",
          "num_images",
          "seed",
          "acceleration"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/ideogram/v4/image-to-image",
          "body": {
            "image_url": "{{image}}",
            "prompt": "{{prompt}}",
            "rendering_speed": "{{fields.rendering_speed}}",
            "expansion_model": "{{fields.expansion_model}}",
            "image_size": "{{fields.image_size}}",
            "output_format": "{{fields.output_format}}",
            "num_images": "{{fields.num_images}}",
            "seed": "{{fields.seed}}",
            "strength": "{{fields.strength}}",
            "acceleration": "{{fields.acceleration}}"
          }
        },
        "fields": [
          "rendering_speed",
          "expansion_model",
          "image_size",
          "output_format",
          "num_images",
          "seed",
          "strength",
          "acceleration"
        ],
        "references": {
          "max": 1,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        },
        "pricing": {
          "per_megapixel": 0.015,
          "per_megapixel_by_field": {
            "rendering_speed": {
              "TURBO": 0.0075,
              "BALANCED": 0.015,
              "QUALITY": 0.025
            }
          },
          "note": "Fal's price per output megapixel: $0.0075 Turbo, $0.015 Balanced, $0.025 Quality.",
          "count_field": "num_images",
          "width": "images[*].width",
          "height": "images[*].height"
        }
      },
      "pricing": {
        "per_megapixel": 0.015,
        "per_megapixel_by_field": {
          "rendering_speed": {
            "TURBO": 0.0075,
            "BALANCED": 0.015,
            "QUALITY": 0.025
          }
        },
        "note": "Fal's price per output megapixel: $0.0075 Turbo, $0.015 Balanced, $0.025 Quality.",
        "count_field": "num_images",
        "width": "images[*].width",
        "height": "images[*].height"
      }
    },
    {
      "id": "ideogram-v4-fast",
      "label": "Ideogram V4 Fast",
      "group": "Ideogram",
      "description": "Fast Ideogram V4 generation.",
      "prompt": {
        "mode": "required"
      },
      "references": {
        "mode": "none"
      },
      "fields": [
        {
          "key": "rendering_speed",
          "label": "Rendering Speed",
          "type": "combo",
          "default": "BALANCED",
          "options": [
            {
              "label": "Turbo",
              "value": "TURBO"
            },
            {
              "label": "Balanced",
              "value": "BALANCED"
            },
            {
              "label": "Quality",
              "value": "QUALITY"
            }
          ]
        },
        {
          "key": "expansion_model",
          "label": "Prompt Expansion",
          "type": "combo",
          "default": "Medium",
          "options": [
            "None",
            "Medium"
          ]
        },
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "square_hd",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/ideogram/v4/fast",
        "body": {
          "prompt": "{{prompt}}",
          "rendering_speed": "{{fields.rendering_speed}}",
          "expansion_model": "{{fields.expansion_model}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "seed": "{{fields.seed}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_megapixel": 0.0105,
        "per_megapixel_by_field": {
          "rendering_speed": {
            "TURBO": 0.00525,
            "BALANCED": 0.0105,
            "QUALITY": 0.0175
          }
        },
        "note": "Fal's price per output megapixel: $0.00525 Turbo, $0.0105 Balanced, $0.0175 Quality.",
        "count_field": "num_images",
        "width": "images[*].width",
        "height": "images[*].height"
      }
    },
    {
      "id": "ideogram-v4-instant",
      "label": "Ideogram V4 Instant",
      "group": "Ideogram",
      "description": "Instant Ideogram V4 generation.",
      "prompt": {
        "mode": "required"
      },
      "references": {
        "mode": "none"
      },
      "fields": [
        {
          "key": "expansion_model",
          "label": "Prompt Expansion",
          "type": "combo",
          "default": "Medium",
          "options": [
            "None",
            "Medium"
          ]
        },
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "square_hd",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/ideogram/v4/instant",
        "body": {
          "prompt": "{{prompt}}",
          "expansion_model": "{{fields.expansion_model}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "seed": "{{fields.seed}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_megapixel": 0.0075,
        "note": "Fal's price: $0.0075 per output megapixel.",
        "count_field": "num_images",
        "width": "images[*].width",
        "height": "images[*].height"
      }
    },
    {
      "id": "ideogram-v3-reframe",
      "label": "Ideogram V3 Reframe",
      "group": "Ideogram",
      "description": "Reframes an image to a new aspect ratio.",
      "prompt": {
        "mode": "none"
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "rendering_speed",
          "label": "Rendering Speed",
          "type": "combo",
          "default": "BALANCED",
          "options": [
            {
              "label": "Turbo",
              "value": "TURBO"
            },
            {
              "label": "Balanced",
              "value": "BALANCED"
            },
            {
              "label": "Quality",
              "value": "QUALITY"
            }
          ]
        },
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "portrait_4_3",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "style_preset",
          "label": "Style",
          "type": "combo",
          "default": "FOREST_REVERIE",
          "options": [
            {
              "label": "80s illustration",
              "value": "80S_ILLUSTRATION"
            },
            {
              "label": "90s nostalgia",
              "value": "90S_NOSTALGIA"
            },
            {
              "label": "Abstract organic",
              "value": "ABSTRACT_ORGANIC"
            },
            {
              "label": "Analog nostalgia",
              "value": "ANALOG_NOSTALGIA"
            },
            {
              "label": "Art brut",
              "value": "ART_BRUT"
            },
            {
              "label": "Art deco",
              "value": "ART_DECO"
            },
            {
              "label": "Art poster",
              "value": "ART_POSTER"
            },
            {
              "label": "Aura",
              "value": "AURA"
            },
            {
              "label": "Avant garde",
              "value": "AVANT_GARDE"
            },
            {
              "label": "Bauhaus",
              "value": "BAUHAUS"
            },
            {
              "label": "Blueprint",
              "value": "BLUEPRINT"
            },
            {
              "label": "Blurry motion",
              "value": "BLURRY_MOTION"
            },
            {
              "label": "Bright art",
              "value": "BRIGHT_ART"
            },
            {
              "label": "C4D cartoon",
              "value": "C4D_CARTOON"
            },
            {
              "label": "Children's book",
              "value": "CHILDRENS_BOOK"
            },
            {
              "label": "Collage",
              "value": "COLLAGE"
            },
            {
              "label": "Coloring book I",
              "value": "COLORING_BOOK_I"
            },
            {
              "label": "Coloring book II",
              "value": "COLORING_BOOK_II"
            },
            {
              "label": "Cubism",
              "value": "CUBISM"
            },
            {
              "label": "Dark aura",
              "value": "DARK_AURA"
            },
            {
              "label": "Doodle",
              "value": "DOODLE"
            },
            {
              "label": "Double exposure",
              "value": "DOUBLE_EXPOSURE"
            },
            {
              "label": "Dramatic cinema",
              "value": "DRAMATIC_CINEMA"
            },
            {
              "label": "Editorial",
              "value": "EDITORIAL"
            },
            {
              "label": "Emotional minimal",
              "value": "EMOTIONAL_MINIMAL"
            },
            {
              "label": "Ethereal party",
              "value": "ETHEREAL_PARTY"
            },
            {
              "label": "Expired film",
              "value": "EXPIRED_FILM"
            },
            {
              "label": "Flat art",
              "value": "FLAT_ART"
            },
            {
              "label": "Flat vector",
              "value": "FLAT_VECTOR"
            },
            {
              "label": "Forest reverie",
              "value": "FOREST_REVERIE"
            },
            {
              "label": "Geo minimalist",
              "value": "GEO_MINIMALIST"
            },
            {
              "label": "Glass prism",
              "value": "GLASS_PRISM"
            },
            {
              "label": "Golden hour",
              "value": "GOLDEN_HOUR"
            },
            {
              "label": "Graffiti I",
              "value": "GRAFFITI_I"
            },
            {
              "label": "Graffiti II",
              "value": "GRAFFITI_II"
            },
            {
              "label": "Halftone print",
              "value": "HALFTONE_PRINT"
            },
            {
              "label": "High contrast",
              "value": "HIGH_CONTRAST"
            },
            {
              "label": "Hippie era",
              "value": "HIPPIE_ERA"
            },
            {
              "label": "Iconic",
              "value": "ICONIC"
            },
            {
              "label": "Japandi fusion",
              "value": "JAPANDI_FUSION"
            },
            {
              "label": "Jazzy",
              "value": "JAZZY"
            },
            {
              "label": "Long exposure",
              "value": "LONG_EXPOSURE"
            },
            {
              "label": "Magazine editorial",
              "value": "MAGAZINE_EDITORIAL"
            },
            {
              "label": "Minimal illustration",
              "value": "MINIMAL_ILLUSTRATION"
            },
            {
              "label": "Mixed media",
              "value": "MIXED_MEDIA"
            },
            {
              "label": "Monochrome",
              "value": "MONOCHROME"
            },
            {
              "label": "Nightlife",
              "value": "NIGHTLIFE"
            },
            {
              "label": "Oil painting",
              "value": "OIL_PAINTING"
            },
            {
              "label": "Old cartoons",
              "value": "OLD_CARTOONS"
            },
            {
              "label": "Paint gesture",
              "value": "PAINT_GESTURE"
            },
            {
              "label": "Pop art",
              "value": "POP_ART"
            },
            {
              "label": "Retro etching",
              "value": "RETRO_ETCHING"
            },
            {
              "label": "Riviera pop",
              "value": "RIVIERA_POP"
            },
            {
              "label": "Spotlight 80s",
              "value": "SPOTLIGHT_80S"
            },
            {
              "label": "Stylized red",
              "value": "STYLIZED_RED"
            },
            {
              "label": "Surreal collage",
              "value": "SURREAL_COLLAGE"
            },
            {
              "label": "Travel poster",
              "value": "TRAVEL_POSTER"
            },
            {
              "label": "Vintage geo",
              "value": "VINTAGE_GEO"
            },
            {
              "label": "Vintage poster",
              "value": "VINTAGE_POSTER"
            },
            {
              "label": "Watercolor",
              "value": "WATERCOLOR"
            },
            {
              "label": "Weird",
              "value": "WEIRD"
            },
            {
              "label": "Woodblock print",
              "value": "WOODBLOCK_PRINT"
            }
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 8,
          "default": 1
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        },
        {
          "key": "style",
          "label": "Style",
          "type": "combo",
          "default": "GENERAL",
          "options": [
            {
              "label": "Auto",
              "value": "AUTO"
            },
            {
              "label": "General",
              "value": "GENERAL"
            },
            {
              "label": "Realistic",
              "value": "REALISTIC"
            },
            {
              "label": "Design",
              "value": "DESIGN"
            }
          ]
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/ideogram/v3/reframe",
        "body": {
          "image_size": "{{fields.image_size}}",
          "image_url": "{{image}}",
          "rendering_speed": "{{fields.rendering_speed}}",
          "style_preset": "{{fields.style_preset}}",
          "num_images": "{{fields.num_images}}",
          "seed": "{{fields.seed}}",
          "style": "{{fields.style}}",
          "image_urls": "{{inputs.style}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_image": 0.06,
        "by_field": {
          "rendering_speed": {
            "TURBO": 0.03,
            "BALANCED": 0.06,
            "QUALITY": 0.09
          }
        },
        "count_field": "num_images",
        "note": "Fal's price: $0.03 Turbo, $0.06 Balanced or $0.09 Quality per image."
      },
      "image_inputs": [
        {
          "key": "style",
          "label": "Style References",
          "mode": "optional",
          "max": 3,
          "max_mb": 3,
          "help": "Up to 3 images whose style the result follows. fal takes 10 MB for all of them together."
        }
      ]
    },
    {
      "id": "qwen-image-3",
      "label": "Qwen Image 3",
      "group": "Qwen",
      "description": "Qwen Image 3 generation and reference editing.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 3,
        "send_as": "data_url",
        "max_mb": 9.5,
        "max_side": 2048
      },
      "fields": [
        {
          "key": "negative_prompt",
          "label": "Negative Prompt",
          "type": "textarea"
        },
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "square_hd",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png",
            "webp"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 6,
          "default": 1
        },
        {
          "key": "enable_prompt_expansion",
          "label": "Expand Prompt",
          "type": "bool",
          "default": true
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/alibaba/qwen-image-3/text-to-image",
        "body": {
          "prompt": "{{prompt}}",
          "negative_prompt": "{{fields.negative_prompt}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "enable_prompt_expansion": "{{fields.enable_prompt_expansion}}",
          "seed": "{{fields.seed}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "negative_prompt",
          "image_size",
          "output_format",
          "num_images",
          "enable_prompt_expansion",
          "seed"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/alibaba/qwen-image-3/edit",
          "body": {
            "image_urls": "{{images}}",
            "prompt": "{{prompt}}",
            "negative_prompt": "{{fields.negative_prompt}}",
            "image_size": "{{fields.image_size}}",
            "output_format": "{{fields.output_format}}",
            "num_images": "{{fields.num_images}}",
            "enable_prompt_expansion": "{{fields.enable_prompt_expansion}}",
            "seed": "{{fields.seed}}"
          }
        },
        "fields": [
          "negative_prompt",
          "image_size",
          "output_format",
          "num_images",
          "enable_prompt_expansion",
          "seed"
        ],
        "references": {
          "max": 3,
          "send_as": "data_url",
          "max_mb": 9.5,
          "max_side": 2048
        },
        "result": {
          "images": "images[*].url"
        },
        "pricing": {
          "per_image": 0.075,
          "note": "Fal's price: $0.04 per image at 1K and $0.075 at 2K. Edits are priced at 2K.",
          "count_field": "num_images"
        }
      },
      "pricing": {
        "per_image": 0.04,
        "note": "Fal's price: $0.04 per image at 1K and $0.075 at 2K. This tab's sizes are 1K.",
        "count_field": "num_images"
      }
    },
    {
      "id": "qwen-image-2512",
      "label": "Qwen Image 2512",
      "group": "Qwen",
      "description": "Qwen Image 2512 text-to-image.",
      "prompt": {
        "mode": "required"
      },
      "references": {
        "mode": "none"
      },
      "fields": [
        {
          "key": "negative_prompt",
          "label": "Negative Prompt",
          "type": "textarea"
        },
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "landscape_4_3",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png",
            "webp"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        },
        {
          "key": "num_inference_steps",
          "label": "Steps",
          "type": "int_slider",
          "min": 1,
          "max": 50,
          "default": 28,
          "help": "Sets how many denoising steps the model runs. More steps can change detail and runtime."
        },
        {
          "key": "acceleration",
          "label": "Acceleration",
          "type": "combo",
          "default": "regular",
          "options": [
            {
              "label": "None",
              "value": "none"
            },
            {
              "label": "Regular",
              "value": "regular"
            },
            {
              "label": "High",
              "value": "high"
            }
          ]
        },
        {
          "key": "guidance_scale",
          "label": "Guidance",
          "type": "float_slider",
          "min": 0.0,
          "max": 20.0,
          "default": 4.0,
          "help": "Controls how strongly the result follows the prompt."
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/qwen-image-2512",
        "body": {
          "prompt": "{{prompt}}",
          "negative_prompt": "{{fields.negative_prompt}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "seed": "{{fields.seed}}",
          "num_inference_steps": "{{fields.num_inference_steps}}",
          "acceleration": "{{fields.acceleration}}",
          "guidance_scale": "{{fields.guidance_scale}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_output_megapixel_block": 0.02,
        "output_megapixel_block_size": 1,
        "width": "images[*].width",
        "height": "images[*].height",
        "count_field": "num_images",
        "note": "Fal's price: $0.02 per started output megapixel."
      }
    },
    {
      "id": "qwen-image-edit-plus",
      "label": "Qwen Image Edit Plus",
      "group": "Qwen",
      "description": "Edits one or more reference images with Qwen Image Edit Plus.",
      "prompt": {
        "mode": "required"
      },
      "references": {
        "mode": "required",
        "max": 4,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "negative_prompt",
          "label": "Negative Prompt",
          "type": "textarea"
        },
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "square_hd",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        },
        {
          "key": "num_inference_steps",
          "label": "Steps",
          "type": "int_slider",
          "min": 2,
          "max": 100,
          "default": 50,
          "help": "Sets how many denoising steps the model runs. More steps can change detail and runtime."
        },
        {
          "key": "acceleration",
          "label": "Acceleration",
          "type": "combo",
          "default": "regular",
          "options": [
            {
              "label": "None",
              "value": "none"
            },
            {
              "label": "Regular",
              "value": "regular"
            }
          ]
        },
        {
          "key": "guidance_scale",
          "label": "Guidance",
          "type": "float_slider",
          "min": 0.0,
          "max": 20.0,
          "default": 4.0,
          "help": "Controls how strongly the result follows the prompt."
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/qwen-image-edit-plus",
        "body": {
          "image_urls": "{{images}}",
          "prompt": "{{prompt}}",
          "negative_prompt": "{{fields.negative_prompt}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "seed": "{{fields.seed}}",
          "num_inference_steps": "{{fields.num_inference_steps}}",
          "acceleration": "{{fields.acceleration}}",
          "guidance_scale": "{{fields.guidance_scale}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_megapixel": 0.03,
        "width": "images[*].width",
        "height": "images[*].height",
        "count_field": "num_images",
        "note": "Fal's price: $0.03 per output megapixel."
      }
    },
    {
      "id": "qwen-image-edit-2511",
      "label": "Qwen Image Edit 2511",
      "group": "Qwen",
      "description": "Edits one or more images with Qwen Image Edit 2511.",
      "prompt": {
        "mode": "required"
      },
      "references": {
        "mode": "required",
        "max": 4,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "negative_prompt",
          "label": "Negative Prompt",
          "type": "textarea"
        },
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "portrait_4_3",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png",
            "webp"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        },
        {
          "key": "num_inference_steps",
          "label": "Steps",
          "type": "int_slider",
          "min": 1,
          "max": 50,
          "default": 28,
          "help": "Sets how many denoising steps the model runs. More steps can change detail and runtime."
        },
        {
          "key": "acceleration",
          "label": "Acceleration",
          "type": "combo",
          "default": "regular",
          "options": [
            {
              "label": "None",
              "value": "none"
            },
            {
              "label": "Regular",
              "value": "regular"
            },
            {
              "label": "High",
              "value": "high"
            }
          ]
        },
        {
          "key": "guidance_scale",
          "label": "Guidance",
          "type": "float_slider",
          "min": 1.0,
          "max": 20.0,
          "default": 4.5,
          "help": "Controls how strongly the result follows the prompt."
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/qwen-image-edit-2511",
        "body": {
          "image_urls": "{{images}}",
          "prompt": "{{prompt}}",
          "negative_prompt": "{{fields.negative_prompt}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "seed": "{{fields.seed}}",
          "num_inference_steps": "{{fields.num_inference_steps}}",
          "acceleration": "{{fields.acceleration}}",
          "guidance_scale": "{{fields.guidance_scale}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_megapixel": 0.03,
        "width": "images[*].width",
        "height": "images[*].height",
        "count_field": "num_images",
        "note": "Fal's price: $0.03 per output megapixel."
      }
    },
    {
      "id": "qwen-image-inpaint",
      "label": "Qwen Image Inpaint",
      "group": "Qwen",
      "description": "Repaints the masked area of a reference image.",
      "prompt": {
        "mode": "required"
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "negative_prompt",
          "label": "Negative Prompt",
          "type": "textarea"
        },
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "portrait_4_3",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        },
        {
          "key": "strength",
          "label": "Strength",
          "type": "float_slider",
          "min": 0.01,
          "max": 1.0,
          "default": 0.93,
          "help": "Controls how much the edit changes the input image; lower values preserve more of it."
        },
        {
          "key": "num_inference_steps",
          "label": "Steps",
          "type": "int_slider",
          "min": 2,
          "max": 50,
          "default": 30,
          "help": "Sets how many denoising steps the model runs. More steps can change detail and runtime."
        },
        {
          "key": "acceleration",
          "label": "Acceleration",
          "type": "combo",
          "default": "regular",
          "options": [
            {
              "label": "None",
              "value": "none"
            },
            {
              "label": "Regular",
              "value": "regular"
            },
            {
              "label": "High",
              "value": "high"
            }
          ]
        },
        {
          "key": "guidance_scale",
          "label": "Guidance",
          "type": "float_slider",
          "min": 0.0,
          "max": 20.0,
          "default": 4.0,
          "help": "Controls how strongly the result follows the prompt."
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/qwen-image-edit/inpaint",
        "body": {
          "image_url": "{{image}}",
          "mask_url": "{{mask}}",
          "prompt": "{{prompt}}",
          "negative_prompt": "{{fields.negative_prompt}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "seed": "{{fields.seed}}",
          "strength": "{{fields.strength}}",
          "num_inference_steps": "{{fields.num_inference_steps}}",
          "acceleration": "{{fields.acceleration}}",
          "guidance_scale": "{{fields.guidance_scale}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "mask": {
        "mode": "required"
      },
      "pricing": {
        "per_megapixel": 0.03,
        "width": "images[*].width",
        "height": "images[*].height",
        "count_field": "num_images",
        "note": "Fal's price: $0.03 per output megapixel."
      }
    },
    {
      "id": "qwen-image-layered",
      "label": "Qwen Image Layered",
      "group": "Qwen",
      "description": "Splits your image into 2 to 10 transparent layers. Wando saves each layer and a layered composite. A caption of the image is optional.",
      "prompt": {
        "mode": "optional",
        "placeholder": "Caption the image (optional)..."
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "negative_prompt",
          "label": "Negative Prompt",
          "type": "textarea"
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "png",
            "webp"
          ]
        },
        {
          "key": "num_layers",
          "label": "Layers",
          "type": "int_slider",
          "min": 2,
          "max": 10,
          "default": 4
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        },
        {
          "key": "num_inference_steps",
          "label": "Steps",
          "type": "int_slider",
          "min": 1,
          "max": 50,
          "default": 28,
          "help": "Sets how many denoising steps the model runs. More steps can change detail and runtime."
        },
        {
          "key": "acceleration",
          "label": "Acceleration",
          "type": "combo",
          "default": "regular",
          "options": [
            {
              "label": "None",
              "value": "none"
            },
            {
              "label": "Regular",
              "value": "regular"
            },
            {
              "label": "High",
              "value": "high"
            }
          ]
        },
        {
          "key": "guidance_scale",
          "label": "Guidance",
          "type": "float_slider",
          "min": 1.0,
          "max": 20.0,
          "default": 5.0,
          "help": "Controls how strongly the result follows the prompt."
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/qwen-image-layered",
        "body": {
          "image_url": "{{image}}",
          "negative_prompt": "{{fields.negative_prompt}}",
          "output_format": "{{fields.output_format}}",
          "num_layers": "{{fields.num_layers}}",
          "seed": "{{fields.seed}}",
          "num_inference_steps": "{{fields.num_inference_steps}}",
          "acceleration": "{{fields.acceleration}}",
          "guidance_scale": "{{fields.guidance_scale}}",
          "prompt": "{{prompt}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url",
        "kind": "layers",
        "layer_order": "bottom_first"
      },
      "pricing": {
        "per_image": 0.05,
        "count_field": "num_layers",
        "note": "Fal's price: $0.05 per layer."
      }
    },
    {
      "id": "recraft-v3",
      "label": "Recraft V3",
      "group": "Recraft",
      "description": "Recraft V3 image generation, style references and editing.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 1,
        "send_as": "data_url",
        "max_mb": 4.7,
        "max_megapixels": 16,
        "max_side": 4096
      },
      "fields": [
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "square_hd",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "style",
          "label": "Style",
          "type": "combo",
          "default": "realistic_image",
          "options": [
            {
              "label": "Any",
              "value": "any"
            },
            {
              "label": "Realistic",
              "value": "realistic_image"
            },
            {
              "label": "Digital illustration",
              "value": "digital_illustration"
            },
            {
              "label": "Vector illustration",
              "value": "vector_illustration"
            },
            {
              "label": "Realistic: black and white",
              "value": "realistic_image/b_and_w"
            },
            {
              "label": "Realistic: hard flash",
              "value": "realistic_image/hard_flash"
            },
            {
              "label": "Realistic: HDR",
              "value": "realistic_image/hdr"
            },
            {
              "label": "Realistic: natural light",
              "value": "realistic_image/natural_light"
            },
            {
              "label": "Realistic: studio portrait",
              "value": "realistic_image/studio_portrait"
            },
            {
              "label": "Realistic: enterprise",
              "value": "realistic_image/enterprise"
            },
            {
              "label": "Realistic: motion blur",
              "value": "realistic_image/motion_blur"
            },
            {
              "label": "Realistic: evening light",
              "value": "realistic_image/evening_light"
            },
            {
              "label": "Realistic: faded nostalgia",
              "value": "realistic_image/faded_nostalgia"
            },
            {
              "label": "Realistic: forest life",
              "value": "realistic_image/forest_life"
            },
            {
              "label": "Realistic: mystic naturalism",
              "value": "realistic_image/mystic_naturalism"
            },
            {
              "label": "Realistic: natural tones",
              "value": "realistic_image/natural_tones"
            },
            {
              "label": "Realistic: organic calm",
              "value": "realistic_image/organic_calm"
            },
            {
              "label": "Realistic: real life glow",
              "value": "realistic_image/real_life_glow"
            },
            {
              "label": "Realistic: retro realism",
              "value": "realistic_image/retro_realism"
            },
            {
              "label": "Realistic: retro snapshot",
              "value": "realistic_image/retro_snapshot"
            },
            {
              "label": "Realistic: urban drama",
              "value": "realistic_image/urban_drama"
            },
            {
              "label": "Realistic: village realism",
              "value": "realistic_image/village_realism"
            },
            {
              "label": "Realistic: warm folk",
              "value": "realistic_image/warm_folk"
            },
            {
              "label": "Digital illustration: pixel art",
              "value": "digital_illustration/pixel_art"
            },
            {
              "label": "Digital illustration: hand drawn",
              "value": "digital_illustration/hand_drawn"
            },
            {
              "label": "Digital illustration: grain",
              "value": "digital_illustration/grain"
            },
            {
              "label": "Digital illustration: infantile sketch",
              "value": "digital_illustration/infantile_sketch"
            },
            {
              "label": "Digital illustration: 2D art poster",
              "value": "digital_illustration/2d_art_poster"
            },
            {
              "label": "Digital illustration: handmade 3D",
              "value": "digital_illustration/handmade_3d"
            },
            {
              "label": "Digital illustration: hand drawn outline",
              "value": "digital_illustration/hand_drawn_outline"
            },
            {
              "label": "Digital illustration: engraving color",
              "value": "digital_illustration/engraving_color"
            },
            {
              "label": "Digital illustration: 2D art poster 2",
              "value": "digital_illustration/2d_art_poster_2"
            },
            {
              "label": "Digital illustration: antiquarian",
              "value": "digital_illustration/antiquarian"
            },
            {
              "label": "Digital illustration: bold fantasy",
              "value": "digital_illustration/bold_fantasy"
            },
            {
              "label": "Digital illustration: child book",
              "value": "digital_illustration/child_book"
            },
            {
              "label": "Digital illustration: child books",
              "value": "digital_illustration/child_books"
            },
            {
              "label": "Digital illustration: cover",
              "value": "digital_illustration/cover"
            },
            {
              "label": "Digital illustration: crosshatch",
              "value": "digital_illustration/crosshatch"
            },
            {
              "label": "Digital illustration: digital engraving",
              "value": "digital_illustration/digital_engraving"
            },
            {
              "label": "Digital illustration: expressionism",
              "value": "digital_illustration/expressionism"
            },
            {
              "label": "Digital illustration: freehand details",
              "value": "digital_illustration/freehand_details"
            },
            {
              "label": "Digital illustration: grain 20",
              "value": "digital_illustration/grain_20"
            },
            {
              "label": "Digital illustration: graphic intensity",
              "value": "digital_illustration/graphic_intensity"
            },
            {
              "label": "Digital illustration: hard comics",
              "value": "digital_illustration/hard_comics"
            },
            {
              "label": "Digital illustration: long shadow",
              "value": "digital_illustration/long_shadow"
            },
            {
              "label": "Digital illustration: modern folk",
              "value": "digital_illustration/modern_folk"
            },
            {
              "label": "Digital illustration: multicolor",
              "value": "digital_illustration/multicolor"
            },
            {
              "label": "Digital illustration: neon calm",
              "value": "digital_illustration/neon_calm"
            },
            {
              "label": "Digital illustration: noir",
              "value": "digital_illustration/noir"
            },
            {
              "label": "Digital illustration: nostalgic pastel",
              "value": "digital_illustration/nostalgic_pastel"
            },
            {
              "label": "Digital illustration: outline details",
              "value": "digital_illustration/outline_details"
            },
            {
              "label": "Digital illustration: pastel gradient",
              "value": "digital_illustration/pastel_gradient"
            },
            {
              "label": "Digital illustration: pastel sketch",
              "value": "digital_illustration/pastel_sketch"
            },
            {
              "label": "Digital illustration: pop art",
              "value": "digital_illustration/pop_art"
            },
            {
              "label": "Digital illustration: pop renaissance",
              "value": "digital_illustration/pop_renaissance"
            },
            {
              "label": "Digital illustration: street art",
              "value": "digital_illustration/street_art"
            },
            {
              "label": "Digital illustration: tablet sketch",
              "value": "digital_illustration/tablet_sketch"
            },
            {
              "label": "Digital illustration: urban glow",
              "value": "digital_illustration/urban_glow"
            },
            {
              "label": "Digital illustration: urban sketching",
              "value": "digital_illustration/urban_sketching"
            },
            {
              "label": "Digital illustration: vanilla dreams",
              "value": "digital_illustration/vanilla_dreams"
            },
            {
              "label": "Digital illustration: young adult book",
              "value": "digital_illustration/young_adult_book"
            },
            {
              "label": "Digital illustration: young adult book 2",
              "value": "digital_illustration/young_adult_book_2"
            },
            {
              "label": "Vector illustration: bold stroke",
              "value": "vector_illustration/bold_stroke"
            },
            {
              "label": "Vector illustration: chemistry",
              "value": "vector_illustration/chemistry"
            },
            {
              "label": "Vector illustration: colored stencil",
              "value": "vector_illustration/colored_stencil"
            },
            {
              "label": "Vector illustration: contour pop art",
              "value": "vector_illustration/contour_pop_art"
            },
            {
              "label": "Vector illustration: cosmics",
              "value": "vector_illustration/cosmics"
            },
            {
              "label": "Vector illustration: cutout",
              "value": "vector_illustration/cutout"
            },
            {
              "label": "Vector illustration: depressive",
              "value": "vector_illustration/depressive"
            },
            {
              "label": "Vector illustration: editorial",
              "value": "vector_illustration/editorial"
            },
            {
              "label": "Vector illustration: emotional flat",
              "value": "vector_illustration/emotional_flat"
            },
            {
              "label": "Vector illustration: infographical",
              "value": "vector_illustration/infographical"
            },
            {
              "label": "Vector illustration: marker outline",
              "value": "vector_illustration/marker_outline"
            },
            {
              "label": "Vector illustration: mosaic",
              "value": "vector_illustration/mosaic"
            },
            {
              "label": "Vector illustration: naivector",
              "value": "vector_illustration/naivector"
            },
            {
              "label": "Vector illustration: roundish flat",
              "value": "vector_illustration/roundish_flat"
            },
            {
              "label": "Vector illustration: segmented colors",
              "value": "vector_illustration/segmented_colors"
            },
            {
              "label": "Vector illustration: sharp contrast",
              "value": "vector_illustration/sharp_contrast"
            },
            {
              "label": "Vector illustration: thin",
              "value": "vector_illustration/thin"
            },
            {
              "label": "Vector illustration: vector photo",
              "value": "vector_illustration/vector_photo"
            },
            {
              "label": "Vector illustration: vivid shapes",
              "value": "vector_illustration/vivid_shapes"
            },
            {
              "label": "Vector illustration: engraving",
              "value": "vector_illustration/engraving"
            },
            {
              "label": "Vector illustration: line art",
              "value": "vector_illustration/line_art"
            },
            {
              "label": "Vector illustration: line circuit",
              "value": "vector_illustration/line_circuit"
            },
            {
              "label": "Vector illustration: linocut",
              "value": "vector_illustration/linocut"
            }
          ]
        },
        {
          "key": "colors",
          "label": "Colors",
          "type": "palette",
          "max": 10,
          "item": {
            "r": "{{color.r}}",
            "g": "{{color.g}}",
            "b": "{{color.b}}"
          }
        },
        {
          "key": "negative_prompt",
          "label": "Negative Prompt",
          "type": "textarea"
        },
        {
          "key": "strength",
          "label": "Strength",
          "type": "float_slider",
          "min": 0.0,
          "max": 1.0,
          "default": 0.5,
          "help": "Controls how much the edit changes the input image; lower values preserve more of it."
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/recraft/v3/text-to-image",
        "body": {
          "prompt": "{{prompt}}",
          "image_size": "{{fields.image_size}}",
          "style": "{{fields.style}}",
          "colors": "{{fields.colors}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "image_size",
          "style",
          "colors",
          "colors"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/fal-ai/recraft/v3/image-to-image",
          "body": {
            "image_url": "{{image}}",
            "prompt": "{{prompt}}",
            "negative_prompt": "{{fields.negative_prompt}}",
            "strength": "{{fields.strength}}",
            "style": "{{fields.style}}",
            "colors": "{{fields.colors}}"
          }
        },
        "fields": [
          "negative_prompt",
          "strength",
          "style",
          "colors",
          "colors"
        ],
        "references": {
          "max": 1,
          "send_as": "data_url",
          "max_mb": 4.7
        },
        "result": {
          "images": "images[*].url"
        },
        "description": "Add images to edit them."
      },
      "pricing": {
        "per_image": 0.04,
        "by_field": {
          "style": {
            "vector_illustration": 0.08,
            "vector_illustration/bold_stroke": 0.08,
            "vector_illustration/chemistry": 0.08,
            "vector_illustration/colored_stencil": 0.08,
            "vector_illustration/contour_pop_art": 0.08,
            "vector_illustration/cosmics": 0.08,
            "vector_illustration/cutout": 0.08,
            "vector_illustration/depressive": 0.08,
            "vector_illustration/editorial": 0.08,
            "vector_illustration/emotional_flat": 0.08,
            "vector_illustration/infographical": 0.08,
            "vector_illustration/marker_outline": 0.08,
            "vector_illustration/mosaic": 0.08,
            "vector_illustration/naivector": 0.08,
            "vector_illustration/roundish_flat": 0.08,
            "vector_illustration/segmented_colors": 0.08,
            "vector_illustration/sharp_contrast": 0.08,
            "vector_illustration/thin": 0.08,
            "vector_illustration/vector_photo": 0.08,
            "vector_illustration/vivid_shapes": 0.08,
            "vector_illustration/engraving": 0.08,
            "vector_illustration/line_art": 0.08,
            "vector_illustration/line_circuit": 0.08,
            "vector_illustration/linocut": 0.08
          }
        },
        "note": "Fal's price: $0.04 per image, or $0.08 for vector styles."
      }
    },
    {
      "id": "recraft-v4",
      "label": "Recraft V4",
      "group": "Recraft",
      "description": "Recraft V4 image or vector generation.",
      "prompt": {
        "mode": "required"
      },
      "references": {
        "mode": "none"
      },
      "fields": [
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "square_hd",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "colors",
          "label": "Colors",
          "type": "palette",
          "max": 10,
          "item": {
            "r": "{{color.r}}",
            "g": "{{color.g}}",
            "b": "{{color.b}}"
          }
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/recraft/v4/text-to-image",
        "body": {
          "prompt": "{{prompt}}",
          "image_size": "{{fields.image_size}}",
          "colors": "{{fields.colors}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_image": 0.04,
        "note": "Fal's price: $0.04 per image."
      }
    },
    {
      "id": "recraft-v4-1",
      "label": "Recraft V4.1",
      "group": "Recraft",
      "description": "Recraft V4.1 image generation for design work. Flash is fast and low cost.",
      "prompt": {
        "mode": "required"
      },
      "references": {
        "mode": "none"
      },
      "fields": [
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "square_hd",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "colors",
          "label": "Colors",
          "type": "palette",
          "max": 10,
          "item": {
            "r": "{{color.r}}",
            "g": "{{color.g}}",
            "b": "{{color.b}}"
          }
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/recraft/v4.1/text-to-image",
        "body": {
          "prompt": "{{prompt}}",
          "image_size": "{{fields.image_size}}",
          "colors": "{{fields.colors}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_image": 0.035,
        "note": "Fal's price: $0.035 per image."
      },
      "variants": {
        "label": "Version",
        "default": "standard",
        "options": [
          {
            "id": "standard",
            "label": "Standard",
            "description": "The standard model."
          },
          {
            "id": "flash",
            "label": "Flash",
            "description": "Fast, low cost images.",
            "request": {
              "method": "POST",
              "url": "https://queue.fal.run/recraft/v4.1/flash/text-to-image",
              "body": {
                "prompt": "{{prompt}}",
                "image_size": "{{fields.image_size}}",
                "colors": "{{fields.colors}}"
              }
            },
            "pricing": {
              "per_image": 0.007,
              "note": "Fal's price: $0.007 per image."
            }
          }
        ]
      }
    },
    {
      "id": "recraft-v4-pro",
      "label": "Recraft V4 Pro",
      "group": "Recraft",
      "description": "Recraft V4 Pro text-to-image on fal.ai.",
      "prompt": {
        "mode": "required"
      },
      "references": {
        "mode": "none"
      },
      "fields": [
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "square_hd",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "colors",
          "label": "Colors",
          "type": "palette",
          "max": 10,
          "item": {
            "r": "{{color.r}}",
            "g": "{{color.g}}",
            "b": "{{color.b}}"
          }
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/recraft/v4/pro/text-to-image",
        "body": {
          "prompt": "{{prompt}}",
          "image_size": "{{fields.image_size}}",
          "colors": "{{fields.colors}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_image": 0.25,
        "note": "Fal's price: $0.25 per image."
      }
    },
    {
      "id": "recraft-v4-vector",
      "label": "Recraft V4 Vector",
      "group": "Recraft",
      "description": "Recraft V4 Vector image or vector generation.",
      "prompt": {
        "mode": "required"
      },
      "references": {
        "mode": "none"
      },
      "fields": [
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "square_hd",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "colors",
          "label": "Colors",
          "type": "palette",
          "max": 10,
          "item": {
            "r": "{{color.r}}",
            "g": "{{color.g}}",
            "b": "{{color.b}}"
          }
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/recraft/v4/text-to-vector",
        "body": {
          "prompt": "{{prompt}}",
          "image_size": "{{fields.image_size}}",
          "colors": "{{fields.colors}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_image": 0.08,
        "note": "Fal's price: $0.08 per image."
      }
    },
    {
      "id": "recraft-v4-1-vector",
      "label": "Recraft V4.1 Vector",
      "group": "Recraft",
      "description": "Recraft V4.1 Vector image or vector generation.",
      "prompt": {
        "mode": "required"
      },
      "references": {
        "mode": "none"
      },
      "fields": [
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "square_hd",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "colors",
          "label": "Colors",
          "type": "palette",
          "max": 10,
          "item": {
            "r": "{{color.r}}",
            "g": "{{color.g}}",
            "b": "{{color.b}}"
          }
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/recraft/v4.1/text-to-vector",
        "body": {
          "prompt": "{{prompt}}",
          "image_size": "{{fields.image_size}}",
          "colors": "{{fields.colors}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_image": 0.08,
        "note": "Fal's price: $0.08 per image."
      }
    },
    {
      "id": "recraft-v4-1-pro",
      "label": "Recraft V4.1 Pro",
      "group": "Recraft",
      "description": "Recraft V4.1 Pro.",
      "prompt": {
        "mode": "required"
      },
      "references": {
        "mode": "none"
      },
      "fields": [
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "square_hd",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "colors",
          "label": "Colors",
          "type": "palette",
          "max": 10,
          "item": {
            "r": "{{color.r}}",
            "g": "{{color.g}}",
            "b": "{{color.b}}"
          }
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/recraft/v4.1/pro/text-to-image",
        "body": {
          "prompt": "{{prompt}}",
          "image_size": "{{fields.image_size}}",
          "colors": "{{fields.colors}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_image": 0.21,
        "note": "Fal's price: $0.21 per image."
      }
    },
    {
      "id": "grok-imagine",
      "label": "Grok Imagine",
      "group": "Grok",
      "description": "Grok Imagine v1 text-to-image and editing.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 3,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png",
            "webp"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "aspect_ratio",
          "label": "Aspect Ratio",
          "type": "aspect_combo",
          "default": "1:1",
          "options": [
            "2:1",
            "20:9",
            "19.5:9",
            "16:9",
            "4:3",
            "3:2",
            "1:1",
            "2:3",
            "3:4",
            "9:16",
            "9:19.5",
            "9:20",
            "1:2"
          ]
        },
        {
          "key": "resolution",
          "label": "Resolution",
          "type": "combo",
          "default": "1k",
          "options": [
            "1k",
            "2k"
          ]
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/xai/grok-imagine-image",
        "body": {
          "prompt": "{{prompt}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "aspect_ratio": "{{fields.aspect_ratio}}",
          "resolution": "{{fields.resolution}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "output_format",
          "num_images",
          "aspect_ratio",
          "resolution"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/xai/grok-imagine-image/edit",
          "body": {
            "prompt": "{{prompt}}",
            "output_format": "{{fields.output_format}}",
            "num_images": "{{fields.num_images}}",
            "aspect_ratio": "{{fields.aspect_ratio}}",
            "resolution": "{{fields.resolution}}",
            "image_urls": "{{images}}"
          }
        },
        "fields": [
          "output_format",
          "num_images",
          "aspect_ratio",
          "resolution"
        ],
        "references": {
          "max": 3,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        },
        "description": "Add images to edit them.",
        "pricing": {
          "per_image": 0.02,
          "per_input_image": 0.002,
          "note": "Fal's edit price: $0.022 per image, which is $0.02 for the image and $0.002 for the reference.",
          "count_field": "num_images"
        }
      },
      "pricing": {
        "per_image": 0.02,
        "note": "Fal's price: $0.02 per image.",
        "count_field": "num_images"
      }
    },
    {
      "id": "grok-imagine-v2",
      "label": "Grok Imagine 2",
      "group": "Grok",
      "description": "Grok Imagine 2 generation and reference editing. Uses the 1K medium tier.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 5,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png",
            "webp"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "aspect_ratio",
          "label": "Aspect Ratio",
          "type": "aspect_combo",
          "default": "1:1",
          "options": [
            "2:1",
            "20:9",
            "19.5:9",
            "16:9",
            "4:3",
            "3:2",
            "1:1",
            "2:3",
            "3:4",
            "9:16",
            "9:19.5",
            "9:20",
            "1:2"
          ]
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/xai/grok-imagine-image/v2.0/text-to-image",
        "body": {
          "prompt": "{{prompt}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "aspect_ratio": "{{fields.aspect_ratio}}",
          "quality": "medium",
          "resolution": "1k"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "output_format",
          "num_images",
          "aspect_ratio"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/xai/grok-imagine-image/v2.0/edit",
          "body": {
            "prompt": "{{prompt}}",
            "output_format": "{{fields.output_format}}",
            "num_images": "{{fields.num_images}}",
            "aspect_ratio": "{{fields.aspect_ratio}}",
            "quality": "medium",
            "resolution": "1k",
            "image_urls": "{{images}}"
          }
        },
        "fields": [
          "output_format",
          "num_images",
          "aspect_ratio"
        ],
        "references": {
          "max": 5,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        },
        "description": "Add images to edit them.",
        "pricing": {
          "per_image": 0.06,
          "per_input_image": 0.01,
          "note": "Fal's price at 1K, medium quality: $0.06 per image, plus $0.01 per reference.",
          "count_field": "num_images"
        }
      },
      "pricing": {
        "per_image": 0.06,
        "note": "Fal's price at 1K, medium quality: $0.06 per image.",
        "count_field": "num_images"
      }
    },
    {
      "id": "krea-3",
      "label": "Krea 3",
      "group": "More",
      "description": "Krea 3 image generation. Add up to 8 images to edit or combine them. The negative prompt is used by Berry only.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 8,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "image_size",
          "label": "Size",
          "type": "size",
          "default": "1:1 (1024 x 1024)",
          "options": [
            {
              "label": "Auto",
              "value": null
            },
            {
              "label": "1:1 (1024 x 1024)",
              "value": {
                "width": 1024,
                "height": 1024
              }
            },
            {
              "label": "4:5 (912 x 1152)",
              "value": {
                "width": 912,
                "height": 1152
              }
            },
            {
              "label": "3:4 (880 x 1184)",
              "value": {
                "width": 880,
                "height": 1184
              }
            },
            {
              "label": "2:3 (832 x 1248)",
              "value": {
                "width": 832,
                "height": 1248
              }
            },
            {
              "label": "9:16 (768 x 1360)",
              "value": {
                "width": 768,
                "height": 1360
              }
            },
            {
              "label": "5:4 (1152 x 912)",
              "value": {
                "width": 1152,
                "height": 912
              }
            },
            {
              "label": "4:3 (1184 x 880)",
              "value": {
                "width": 1184,
                "height": 880
              }
            },
            {
              "label": "3:2 (1248 x 832)",
              "value": {
                "width": 1248,
                "height": 832
              }
            },
            {
              "label": "16:9 (1360 x 768)",
              "value": {
                "width": 1360,
                "height": 768
              }
            },
            {
              "label": "21:9 (1568 x 672)",
              "value": {
                "width": 1568,
                "height": 672
              }
            },
            {
              "label": "1:1 (2048 x 2048)",
              "value": {
                "width": 2048,
                "height": 2048
              }
            },
            {
              "label": "4:5 (1824 x 2288)",
              "value": {
                "width": 1824,
                "height": 2288
              }
            },
            {
              "label": "3:4 (1776 x 2368)",
              "value": {
                "width": 1776,
                "height": 2368
              }
            },
            {
              "label": "2:3 (1680 x 2512)",
              "value": {
                "width": 1680,
                "height": 2512
              }
            },
            {
              "label": "9:16 (1536 x 2736)",
              "value": {
                "width": 1536,
                "height": 2736
              }
            },
            {
              "label": "5:4 (2288 x 1824)",
              "value": {
                "width": 2288,
                "height": 1824
              }
            },
            {
              "label": "4:3 (2368 x 1776)",
              "value": {
                "width": 2368,
                "height": 1776
              }
            },
            {
              "label": "3:2 (2512 x 1680)",
              "value": {
                "width": 2512,
                "height": 1680
              }
            },
            {
              "label": "16:9 (2736 x 1536)",
              "value": {
                "width": 2736,
                "height": 1536
              }
            },
            {
              "label": "21:9 (3136 x 1344)",
              "value": {
                "width": 3136,
                "height": 1344
              }
            }
          ],
          "help": "Auto lets the model pick the shape, at about 2048 x 2048."
        },
        {
          "key": "model",
          "label": "Model",
          "type": "combo",
          "default": "berry",
          "options": [
            {
              "label": "Berry (quality)",
              "value": "berry"
            },
            {
              "label": "Jam (speed)",
              "value": "jam"
            }
          ]
        },
        {
          "key": "reasoning_level",
          "label": "Reasoning",
          "type": "combo",
          "default": "medium",
          "options": [
            {
              "label": "Low",
              "value": "low"
            },
            {
              "label": "Medium",
              "value": "medium"
            }
          ]
        },
        {
          "key": "reasoning_level_edit",
          "label": "Reasoning",
          "type": "combo",
          "default": "medium",
          "options": [
            {
              "label": "Low",
              "value": "low"
            },
            {
              "label": "Medium",
              "value": "medium"
            },
            {
              "label": "High",
              "value": "high"
            }
          ],
          "help": "High plans the edit with segmentation, web search and reference photos, and keeps unedited areas of a single image. It bills 5 more megapixels."
        },
        {
          "key": "negative_prompt",
          "label": "Negative prompt",
          "type": "textarea",
          "max_length": 1024
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            {
              "label": "PNG",
              "value": "png"
            },
            {
              "label": "JPEG",
              "value": "jpeg"
            }
          ]
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/krea/v3/text-to-image",
        "body": {
          "prompt": "{{prompt}}",
          "image_size": "{{fields.image_size}}",
          "model": "{{fields.model}}",
          "reasoning_level": "{{fields.reasoning_level}}",
          "negative_prompt": "{{fields.negative_prompt}}",
          "seed": "{{fields.seed}}",
          "output_format": "{{fields.output_format}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_output_megapixel_block": 0.025,
        "output_megapixel_block_size": 1,
        "width": "images[*].width",
        "height": "images[*].height",
        "note": "Fal's price: $0.025 per started output megapixel."
      },
      "without_references": {
        "fields": [
          "image_size",
          "model",
          "reasoning_level",
          "negative_prompt",
          "seed",
          "output_format"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/krea/v3/edit",
          "body": {
            "prompt": "{{prompt}}",
            "image_urls": "{{images}}",
            "image_size": "{{fields.image_size}}",
            "model": "{{fields.model}}",
            "reasoning_level": "{{fields.reasoning_level_edit}}",
            "negative_prompt": "{{fields.negative_prompt}}",
            "seed": "{{fields.seed}}",
            "output_format": "{{fields.output_format}}"
          }
        },
        "fields": [
          "image_size",
          "model",
          "reasoning_level_edit",
          "negative_prompt",
          "seed",
          "output_format"
        ],
        "pricing": {
          "per_output_megapixel_block": 0.025,
          "output_megapixel_block_size": 1,
          "per_input_megapixel_block": 0.025,
          "input_megapixel_block_size": 1,
          "extra_by_field": {
            "reasoning_level_edit": {
              "high": 0.125
            }
          },
          "width": "images[*].width",
          "height": "images[*].height",
          "note": "Fal's edit price: $0.025 per started megapixel of output and of each image, counted at most at the output's size. High reasoning adds 5 MP ($0.125)."
        },
        "description": "Add up to 8 images to edit or combine them."
      }
    },
    {
      "id": "moss-image",
      "label": "MOSS Image",
      "group": "More",
      "description": "MOSS Image renders Chinese and English text and follows structured layouts for text and object placement.",
      "prompt": {
        "mode": "required"
      },
      "references": {
        "mode": "none"
      },
      "fields": [
        {
          "key": "image_size",
          "label": "Size",
          "type": "size",
          "default": "1:1 (1024 x 1024)",
          "options": [
            {
              "label": "1:1 (1024 x 1024)",
              "value": {
                "width": 1024,
                "height": 1024
              }
            },
            {
              "label": "4:3 (1184 x 880)",
              "value": {
                "width": 1184,
                "height": 880
              }
            },
            {
              "label": "3:4 (880 x 1184)",
              "value": {
                "width": 880,
                "height": 1184
              }
            },
            {
              "label": "3:2 (1248 x 832)",
              "value": {
                "width": 1248,
                "height": 832
              }
            },
            {
              "label": "2:3 (832 x 1248)",
              "value": {
                "width": 832,
                "height": 1248
              }
            },
            {
              "label": "16:9 (1360 x 768)",
              "value": {
                "width": 1360,
                "height": 768
              }
            },
            {
              "label": "9:16 (768 x 1360)",
              "value": {
                "width": 768,
                "height": 1360
              }
            },
            {
              "label": "1:1 (2048 x 2048)",
              "value": {
                "width": 2048,
                "height": 2048
              }
            },
            {
              "label": "4:3 (2048 x 1536)",
              "value": {
                "width": 2048,
                "height": 1536
              }
            },
            {
              "label": "3:4 (1536 x 2048)",
              "value": {
                "width": 1536,
                "height": 2048
              }
            },
            {
              "label": "3:2 (2048 x 1360)",
              "value": {
                "width": 2048,
                "height": 1360
              }
            },
            {
              "label": "2:3 (1360 x 2048)",
              "value": {
                "width": 1360,
                "height": 2048
              }
            },
            {
              "label": "16:9 (2048 x 1152)",
              "value": {
                "width": 2048,
                "height": 1152
              }
            },
            {
              "label": "9:16 (1152 x 2048)",
              "value": {
                "width": 1152,
                "height": 2048
              }
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            {
              "label": "JPEG",
              "value": "jpeg"
            },
            {
              "label": "PNG",
              "value": "png"
            },
            {
              "label": "WebP",
              "value": "webp"
            }
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "negative_prompt",
          "label": "Negative prompt",
          "type": "textarea",
          "max_length": 16384
        },
        {
          "key": "num_inference_steps",
          "label": "Steps",
          "type": "int_slider",
          "min": 1,
          "max": 100,
          "default": 50,
          "help": "Sets how many denoising steps the model runs. More steps can change detail and runtime."
        },
        {
          "key": "guidance_scale",
          "label": "Guidance",
          "type": "float_slider",
          "min": 0,
          "max": 10,
          "default": 3,
          "help": "How closely the image follows the prompt."
        },
        {
          "key": "enable_prompt_expansion",
          "label": "Prompt expansion",
          "type": "bool",
          "default": true,
          "help": "Plans a layout from the prompt first, keeping any text you ask for."
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        },
        {
          "key": "enable_safety_checker",
          "label": "Safety checker",
          "type": "bool",
          "default": true,
          "help": "Turning it off works only if fal has approved your account. Otherwise results are still checked."
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/moss-image",
        "body": {
          "prompt": "{{prompt}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "negative_prompt": "{{fields.negative_prompt}}",
          "num_inference_steps": "{{fields.num_inference_steps}}",
          "guidance_scale": "{{fields.guidance_scale}}",
          "enable_prompt_expansion": "{{fields.enable_prompt_expansion}}",
          "seed": "{{fields.seed}}",
          "enable_safety_checker": "{{fields.enable_safety_checker}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_output_megapixel_block": 0.05,
        "output_megapixel_block_size": 1,
        "width": "images[*].width",
        "height": "images[*].height",
        "count_field": "num_images",
        "note": "Fal's price: $0.05 per started output megapixel."
      }
    },
    {
      "id": "hunyuan-image-3",
      "label": "Hunyuan Image 3",
      "group": "More",
      "description": "Hunyuan Image 3 creates images from prompts or edits references.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 3,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "auto",
          "options": [
            {
              "label": "Auto",
              "value": "auto"
            },
            {
              "label": "1:1 HD (1024 x 1024)",
              "value": "square_hd"
            },
            {
              "label": "1:1 (512 x 512)",
              "value": "square"
            },
            {
              "label": "3:4 (768 x 1024)",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16 (576 x 1024)",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3 (1024 x 768)",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9 (1024 x 576)",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "enable_prompt_expansion",
          "label": "Expand Prompt",
          "type": "bool",
          "default": true
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/hunyuan-image/v3/instruct/text-to-image",
        "body": {
          "prompt": "{{prompt}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "enable_prompt_expansion": "{{fields.enable_prompt_expansion}}",
          "seed": "{{fields.seed}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "without_references": {
        "fields": [
          "image_size",
          "output_format",
          "num_images",
          "enable_prompt_expansion",
          "seed"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/fal-ai/hunyuan-image/v3/instruct/edit",
          "body": {
            "image_urls": "{{images}}",
            "prompt": "{{prompt}}",
            "image_size": "{{fields.image_size}}",
            "output_format": "{{fields.output_format}}",
            "num_images": "{{fields.num_images}}",
            "enable_prompt_expansion": "{{fields.enable_prompt_expansion}}",
            "seed": "{{fields.seed}}"
          }
        },
        "fields": [
          "image_size",
          "output_format",
          "num_images",
          "enable_prompt_expansion",
          "seed"
        ],
        "references": {
          "max": 3,
          "send_as": "data_url"
        },
        "result": {
          "images": "images[*].url"
        },
        "pricing": {
          "per_megapixel": 0.09,
          "width": "images[*].width",
          "height": "images[*].height",
          "count_field": "num_images",
          "note": "Fal's price: $0.09 per megapixel."
        }
      },
      "pricing": {
        "per_megapixel": 0.09,
        "width": "images[*].width",
        "height": "images[*].height",
        "count_field": "num_images",
        "note": "Fal's price: $0.09 per megapixel."
      },
      "sizes": [
        {
          "aspect": "1:1",
          "tier": "1K",
          "width": 1024,
          "height": 1024,
          "values": {
            "image_size": "square_hd"
          }
        },
        {
          "aspect": "1:1",
          "tier": "0.5K",
          "width": 512,
          "height": 512,
          "values": {
            "image_size": "square"
          }
        },
        {
          "aspect": "3:4",
          "tier": "1K",
          "width": 768,
          "height": 1024,
          "values": {
            "image_size": "portrait_4_3"
          }
        },
        {
          "aspect": "9:16",
          "tier": "1K",
          "width": 576,
          "height": 1024,
          "values": {
            "image_size": "portrait_16_9"
          }
        },
        {
          "aspect": "4:3",
          "tier": "1K",
          "width": 1024,
          "height": 768,
          "values": {
            "image_size": "landscape_4_3"
          }
        },
        {
          "aspect": "16:9",
          "tier": "1K",
          "width": 1024,
          "height": 576,
          "values": {
            "image_size": "landscape_16_9"
          }
        }
      ]
    },
    {
      "id": "luma-photon",
      "label": "Luma Photon",
      "group": "More",
      "description": "Luma Photon text-to-image.",
      "prompt": {
        "mode": "required"
      },
      "references": {
        "mode": "none"
      },
      "fields": [
        {
          "key": "aspect_ratio",
          "label": "Aspect Ratio",
          "type": "aspect_combo",
          "default": "1:1",
          "options": [
            "16:9",
            "9:16",
            "1:1",
            "4:3",
            "3:4",
            "21:9",
            "9:21"
          ]
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/luma-photon",
        "body": {
          "prompt": "{{prompt}}",
          "aspect_ratio": "{{fields.aspect_ratio}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_image": 0.05,
        "note": "Fal's price: $0.019 per megapixel. fal doesn't report the size of Photon's images, so the estimate is $0.05 per image, about 2.6 megapixels."
      }
    },
    {
      "id": "minimax-image-01",
      "label": "MiniMax Image-01",
      "group": "More",
      "description": "MiniMax Image-01 text-to-image.",
      "prompt": {
        "mode": "required"
      },
      "references": {
        "mode": "none"
      },
      "fields": [
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 9,
          "default": 1
        },
        {
          "key": "aspect_ratio",
          "label": "Aspect Ratio",
          "type": "aspect_combo",
          "default": "1:1",
          "options": [
            "1:1",
            "16:9",
            "4:3",
            "3:2",
            "2:3",
            "3:4",
            "9:16",
            "21:9"
          ]
        },
        {
          "key": "prompt_optimizer",
          "label": "Improve Prompt",
          "type": "bool",
          "default": false
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/minimax/image-01",
        "body": {
          "prompt": "{{prompt}}",
          "num_images": "{{fields.num_images}}",
          "aspect_ratio": "{{fields.aspect_ratio}}",
          "prompt_optimizer": "{{fields.prompt_optimizer}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_image": 0.01,
        "note": "Fal's price: $0.01 per image.",
        "count_field": "num_images"
      }
    },
    {
      "id": "sana-sprint",
      "label": "Sana Sprint",
      "group": "More",
      "description": "Sana Sprint text-to-image.",
      "prompt": {
        "mode": "required"
      },
      "references": {
        "mode": "none"
      },
      "fields": [
        {
          "key": "negative_prompt",
          "label": "Negative Prompt",
          "type": "textarea"
        },
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "portrait_4_3",
          "options": [
            {
              "label": "1:1 HD",
              "value": "square_hd"
            },
            {
              "label": "1:1",
              "value": "square"
            },
            {
              "label": "3:4",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        },
        {
          "key": "style_name",
          "label": "Style",
          "type": "combo",
          "default": "(No style)",
          "options": [
            "(No style)",
            "Cinematic",
            "Photographic",
            "Anime",
            "Manga",
            "Digital Art",
            "Pixel art",
            "Fantasy art",
            "Neonpunk",
            "3D Model"
          ]
        },
        {
          "key": "num_inference_steps",
          "label": "Steps",
          "type": "int_slider",
          "min": 1,
          "max": 20,
          "default": 2,
          "help": "Sets how many denoising steps the model runs. More steps can change detail and runtime."
        },
        {
          "key": "guidance_scale",
          "label": "Guidance",
          "type": "float_slider",
          "min": 0.0,
          "max": 20.0,
          "default": 5.0,
          "help": "Controls how strongly the result follows the prompt."
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/sana/sprint",
        "body": {
          "prompt": "{{prompt}}",
          "negative_prompt": "{{fields.negative_prompt}}",
          "image_size": "{{fields.image_size}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "seed": "{{fields.seed}}",
          "style_name": "{{fields.style_name}}",
          "num_inference_steps": "{{fields.num_inference_steps}}",
          "guidance_scale": "{{fields.guidance_scale}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_megapixel": 0.0025,
        "width": "images[*].width",
        "height": "images[*].height",
        "count_field": "num_images",
        "note": "Fal's price: $0.0025 per output megapixel."
      }
    },
    {
      "id": "recraft-crisp-upscale",
      "label": "Recraft Crisp Upscale",
      "group": "Upscale & Restore",
      "description": "Crisp Upscale sharpens and cleans up one image. fal does not publish its output size, so Wando can't show its exact output dimensions before the run.",
      "prompt": {
        "mode": "none"
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url",
        "max_mb": 9.5,
        "max_megapixels": 16,
        "max_side": 4096
      },
      "fields": [],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/recraft/upscale/crisp",
        "body": {
          "image_url": "{{image}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "image.url"
      },
      "pricing": {
        "per_image": 0.004,
        "note": "Fal's price: $0.004 per image."
      }
    },
    {
      "id": "topaz-creative-upscale",
      "label": "Topaz Creative Upscale",
      "group": "Upscale & Restore",
      "description": "Topaz Creative enlarges and restores a reference image.",
      "prompt": {
        "mode": "none"
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png"
          ]
        },
        {
          "key": "color_preservation",
          "label": "Color Preservation",
          "type": "bool",
          "default": false
        },
        {
          "key": "crop_to_fill",
          "label": "Crop to Fill",
          "type": "bool",
          "default": false
        },
        {
          "key": "upscale_factor",
          "label": "Upscale Factor",
          "type": "float_slider",
          "min": 1.0,
          "max": 4.0,
          "default": 2.0
        },
        {
          "key": "model",
          "label": "Model",
          "type": "combo",
          "default": "Bloom 2",
          "options": [
            "Bloom 2",
            "Bloom",
            "Bloom Realism"
          ]
        },
        {
          "key": "autoprompt",
          "label": "Enhance Prompt",
          "type": "bool",
          "default": false
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/topaz/upscale/image/creative",
        "body": {
          "image_url": "{{image}}",
          "output_format": "{{fields.output_format}}",
          "color_preservation": "{{fields.color_preservation}}",
          "crop_to_fill": "{{fields.crop_to_fill}}",
          "upscale_factor": "{{fields.upscale_factor}}",
          "model": "{{fields.model}}",
          "autoprompt": "{{fields.autoprompt}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "image.url"
      },
      "pricing": {
        "per_output_megapixel_block": 0.08,
        "output_megapixel_block_size": 2,
        "width": "image.width",
        "height": "image.height",
        "note": "Fal's price: $0.08 per started 2 megapixels of output."
      },
      "upscale": {
        "field": "upscale_factor"
      }
    },
    {
      "id": "topaz-precision-upscale",
      "label": "Topaz Precision Upscale",
      "group": "Upscale & Restore",
      "description": "Topaz Precision enlarges a reference image with detailed controls.",
      "prompt": {
        "mode": "none"
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "face_enhancement",
          "label": "Face Enhancement",
          "type": "bool",
          "default": true
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png"
          ]
        },
        {
          "key": "crop_to_fill",
          "label": "Crop to Fill",
          "type": "bool",
          "default": false
        },
        {
          "key": "upscale_factor",
          "label": "Upscale Factor",
          "type": "float_slider",
          "min": 1.0,
          "max": 4.0,
          "default": 2.0
        },
        {
          "key": "model",
          "label": "Model",
          "type": "combo",
          "default": "Standard V2",
          "options": [
            "Standard V2",
            "High Fidelity V3",
            "High Fidelity V2",
            "Low Resolution V2",
            "CGI",
            "Text Refine",
            "Faces"
          ]
        },
        {
          "key": "face_enhancement_strength",
          "label": "Face Strength",
          "type": "float_slider",
          "min": 0.0,
          "max": 1.0,
          "default": 0.8,
          "help": "Controls the intensity of face restoration."
        },
        {
          "key": "face_enhancement_creativity",
          "label": "Face Creativity",
          "type": "float_slider",
          "min": 0.0,
          "max": 1.0,
          "default": 0.0,
          "help": "Allows more reconstruction when facial details are missing or unclear."
        },
        {
          "key": "subject_detection",
          "label": "Subject Detection",
          "type": "combo",
          "default": "All",
          "options": [
            "All",
            "Foreground",
            "Background"
          ]
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/topaz/upscale/image/precision",
        "body": {
          "image_url": "{{image}}",
          "face_enhancement": "{{fields.face_enhancement}}",
          "output_format": "{{fields.output_format}}",
          "crop_to_fill": "{{fields.crop_to_fill}}",
          "upscale_factor": "{{fields.upscale_factor}}",
          "model": "{{fields.model}}",
          "face_enhancement_strength": "{{fields.face_enhancement_strength}}",
          "face_enhancement_creativity": "{{fields.face_enhancement_creativity}}",
          "subject_detection": "{{fields.subject_detection}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "image.url"
      },
      "pricing": {
        "per_output_megapixel_block": 0.08,
        "output_megapixel_block_size": 24,
        "width": "image.width",
        "height": "image.height",
        "note": "Fal's price: $0.08 per started 24 megapixels of output."
      },
      "upscale": {
        "field": "upscale_factor"
      }
    },
    {
      "id": "topaz-generative-upscale",
      "label": "Topaz Generative Upscale",
      "group": "Upscale & Restore",
      "description": "Topaz Labs generative upscaling, 1x to 4x, that rebuilds detail in small or blurry images. Pick the Topaz model under Version.",
      "prompt": {
        "mode": "none"
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "upscale_factor",
          "label": "Upscale Factor",
          "type": "float_slider",
          "min": 1.0,
          "max": 4.0,
          "default": 2.0
        },
        {
          "key": "enhancement_strength",
          "label": "Enhancement",
          "type": "combo",
          "default": "",
          "options": [
            {
              "label": "Auto",
              "value": ""
            },
            {
              "label": "Low",
              "value": "low"
            },
            {
              "label": "Medium",
              "value": "medium"
            },
            {
              "label": "High",
              "value": "high"
            }
          ],
          "help": "How much new detail Wonder adds. Auto lets Topaz choose."
        },
        {
          "key": "subject_detection",
          "label": "Subject Detection",
          "type": "combo",
          "default": "All",
          "options": [
            "All",
            "Foreground",
            "Background"
          ]
        },
        {
          "key": "creativity",
          "label": "Creativity",
          "type": "combo",
          "default": "",
          "options": [
            {
              "label": "Auto",
              "value": ""
            },
            {
              "label": "1",
              "value": 1
            },
            {
              "label": "2",
              "value": 2
            },
            {
              "label": "3",
              "value": 3
            },
            {
              "label": "4",
              "value": 4
            },
            {
              "label": "5",
              "value": 5
            },
            {
              "label": "6",
              "value": 6
            }
          ],
          "help": "Higher invents more new detail. Auto lets Topaz choose."
        },
        {
          "key": "texture",
          "label": "Texture",
          "type": "combo",
          "default": "",
          "options": [
            {
              "label": "Auto",
              "value": ""
            },
            {
              "label": "1",
              "value": 1
            },
            {
              "label": "2",
              "value": 2
            },
            {
              "label": "3",
              "value": 3
            },
            {
              "label": "4",
              "value": 4
            },
            {
              "label": "5",
              "value": 5
            }
          ],
          "help": "Higher adds more fine texture. Auto lets Topaz choose."
        },
        {
          "key": "redefine_prompt",
          "label": "Guide",
          "type": "textarea",
          "default": "",
          "placeholder": "Optional: describe the detail to add...",
          "help": "Redefine can follow a short description, up to 1024 characters."
        },
        {
          "key": "face_enhancement",
          "label": "Face Enhancement",
          "type": "bool",
          "default": true
        },
        {
          "key": "face_enhancement_strength",
          "label": "Face Strength",
          "type": "float_slider",
          "min": 0.0,
          "max": 1.0,
          "default": 0.8,
          "help": "Controls the intensity of face restoration."
        },
        {
          "key": "face_enhancement_creativity",
          "label": "Face Creativity",
          "type": "float_slider",
          "min": 0.0,
          "max": 1.0,
          "default": 0.0,
          "help": "Allows more reconstruction when facial details are missing or unclear."
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png"
          ]
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/topaz/upscale/image/generative",
        "body": {
          "image_url": "{{image}}",
          "model": "Wonder 3.5",
          "upscale_factor": "{{fields.upscale_factor}}",
          "enhancement_strength": "{{fields.enhancement_strength}}",
          "face_enhancement": "{{fields.face_enhancement}}",
          "face_enhancement_strength": "{{fields.face_enhancement_strength}}",
          "face_enhancement_creativity": "{{fields.face_enhancement_creativity}}",
          "output_format": "{{fields.output_format}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "image.url"
      },
      "pricing": {
        "per_output_megapixel_block": 0.08,
        "output_megapixel_block_size": 8,
        "note": "Fal's price: $0.08 per started 8 megapixels of output."
      },
      "upscale": {
        "field": "upscale_factor"
      },
      "variants": {
        "label": "Version",
        "default": "wonder-3-5",
        "options": [
          {
            "id": "wonder-3-5",
            "label": "Wonder 3.5",
            "description": "The latest Wonder: fine detail with fewer repeating patterns.",
            "fields": [
              "upscale_factor",
              "enhancement_strength",
              "face_enhancement",
              "face_enhancement_strength",
              "face_enhancement_creativity",
              "output_format"
            ],
            "request": {
              "method": "POST",
              "url": "https://queue.fal.run/topaz/upscale/image/generative",
              "body": {
                "image_url": "{{image}}",
                "model": "Wonder 3.5",
                "upscale_factor": "{{fields.upscale_factor}}",
                "enhancement_strength": "{{fields.enhancement_strength}}",
                "face_enhancement": "{{fields.face_enhancement}}",
                "face_enhancement_strength": "{{fields.face_enhancement_strength}}",
                "face_enhancement_creativity": "{{fields.face_enhancement_creativity}}",
                "output_format": "{{fields.output_format}}"
              }
            },
            "pricing": {
              "per_output_megapixel_block": 0.08,
              "output_megapixel_block_size": 8,
              "note": "Fal's price: $0.08 per started 8 megapixels of output."
            }
          },
          {
            "id": "wonder-3",
            "label": "Wonder 3",
            "description": "Topaz's generative realism model.",
            "fields": [
              "upscale_factor",
              "enhancement_strength",
              "subject_detection",
              "face_enhancement",
              "face_enhancement_strength",
              "face_enhancement_creativity",
              "output_format"
            ],
            "request": {
              "method": "POST",
              "url": "https://queue.fal.run/topaz/upscale/image/generative",
              "body": {
                "image_url": "{{image}}",
                "model": "Wonder 3",
                "upscale_factor": "{{fields.upscale_factor}}",
                "enhancement_strength": "{{fields.enhancement_strength}}",
                "subject_detection": "{{fields.subject_detection}}",
                "face_enhancement": "{{fields.face_enhancement}}",
                "face_enhancement_strength": "{{fields.face_enhancement_strength}}",
                "face_enhancement_creativity": "{{fields.face_enhancement_creativity}}",
                "output_format": "{{fields.output_format}}"
              }
            },
            "pricing": {
              "per_output_megapixel_block": 0.08,
              "output_megapixel_block_size": 8,
              "note": "Fal's price: $0.08 per started 8 megapixels of output."
            }
          },
          {
            "id": "recover-3",
            "label": "Recover 3",
            "description": "Rebuilds natural detail.",
            "fields": [
              "upscale_factor",
              "face_enhancement",
              "face_enhancement_strength",
              "face_enhancement_creativity",
              "output_format"
            ],
            "request": {
              "method": "POST",
              "url": "https://queue.fal.run/topaz/upscale/image/generative",
              "body": {
                "image_url": "{{image}}",
                "model": "Recover 3",
                "upscale_factor": "{{fields.upscale_factor}}",
                "face_enhancement": "{{fields.face_enhancement}}",
                "face_enhancement_strength": "{{fields.face_enhancement_strength}}",
                "face_enhancement_creativity": "{{fields.face_enhancement_creativity}}",
                "output_format": "{{fields.output_format}}"
              }
            },
            "pricing": {
              "per_output_megapixel_block": 0.08,
              "output_megapixel_block_size": 4,
              "note": "Fal's price: $0.08 per started 4 megapixels of output."
            }
          },
          {
            "id": "standard-max",
            "label": "Standard MAX",
            "description": "High quality upscaling that stays close to your image.",
            "fields": [
              "upscale_factor",
              "face_enhancement",
              "face_enhancement_strength",
              "face_enhancement_creativity",
              "output_format"
            ],
            "request": {
              "method": "POST",
              "url": "https://queue.fal.run/topaz/upscale/image/generative",
              "body": {
                "image_url": "{{image}}",
                "model": "Standard MAX",
                "upscale_factor": "{{fields.upscale_factor}}",
                "face_enhancement": "{{fields.face_enhancement}}",
                "face_enhancement_strength": "{{fields.face_enhancement_strength}}",
                "face_enhancement_creativity": "{{fields.face_enhancement_creativity}}",
                "output_format": "{{fields.output_format}}"
              }
            },
            "pricing": {
              "per_output_megapixel_block": 0.08,
              "output_megapixel_block_size": 4,
              "note": "Fal's price: $0.08 per started 4 megapixels of output."
            }
          },
          {
            "id": "redefine",
            "label": "Redefine",
            "description": "Adds creative detail, optionally guided by a description.",
            "fields": [
              "upscale_factor",
              "creativity",
              "texture",
              "redefine_prompt",
              "face_enhancement",
              "face_enhancement_strength",
              "face_enhancement_creativity",
              "output_format"
            ],
            "request": {
              "method": "POST",
              "url": "https://queue.fal.run/topaz/upscale/image/generative",
              "body": {
                "image_url": "{{image}}",
                "model": "Redefine",
                "upscale_factor": "{{fields.upscale_factor}}",
                "creativity": "{{fields.creativity}}",
                "texture": "{{fields.texture}}",
                "prompt": "{{fields.redefine_prompt}}",
                "face_enhancement": "{{fields.face_enhancement}}",
                "face_enhancement_strength": "{{fields.face_enhancement_strength}}",
                "face_enhancement_creativity": "{{fields.face_enhancement_creativity}}",
                "output_format": "{{fields.output_format}}"
              }
            },
            "pricing": {
              "per_output_megapixel_block": 0.08,
              "output_megapixel_block_size": 4,
              "note": "Fal's price: $0.08 per started 4 megapixels of output."
            }
          },
          {
            "id": "recovery-v2",
            "label": "Recovery V2",
            "description": "For very small, low resolution images.",
            "fields": [
              "upscale_factor",
              "subject_detection",
              "face_enhancement",
              "face_enhancement_strength",
              "face_enhancement_creativity",
              "output_format"
            ],
            "request": {
              "method": "POST",
              "url": "https://queue.fal.run/topaz/upscale/image/generative",
              "body": {
                "image_url": "{{image}}",
                "model": "Recovery V2",
                "upscale_factor": "{{fields.upscale_factor}}",
                "subject_detection": "{{fields.subject_detection}}",
                "face_enhancement": "{{fields.face_enhancement}}",
                "face_enhancement_strength": "{{fields.face_enhancement_strength}}",
                "face_enhancement_creativity": "{{fields.face_enhancement_creativity}}",
                "output_format": "{{fields.output_format}}"
              }
            },
            "pricing": {
              "per_output_megapixel_block": 0.08,
              "output_megapixel_block_size": 4,
              "note": "Fal's price: $0.08 per started 4 megapixels of output."
            }
          }
        ]
      }
    },
    {
      "id": "clarity-upscaler",
      "label": "Clarity Upscaler",
      "group": "Upscale & Restore",
      "description": "Clarity Upscaler enlarges and sharpens a reference image.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the result..."
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "negative_prompt",
          "label": "Negative Prompt",
          "type": "textarea"
        },
        {
          "key": "creativity",
          "label": "Creativity",
          "type": "float_slider",
          "min": 0.0,
          "max": 1.0,
          "default": 0.35,
          "help": "Controls how much the upscaler can add or reinterpret image detail."
        },
        {
          "key": "resemblance",
          "label": "Resemblance",
          "type": "float_slider",
          "min": 0.0,
          "max": 1.0,
          "default": 0.6
        },
        {
          "key": "upscale_factor",
          "label": "Upscale Factor",
          "type": "float_slider",
          "min": 1.0,
          "max": 4.0,
          "default": 2.0
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        },
        {
          "key": "num_inference_steps",
          "label": "Steps",
          "type": "int_slider",
          "min": 4,
          "max": 50,
          "default": 18,
          "help": "Sets how many denoising steps the model runs. More steps can change detail and runtime."
        },
        {
          "key": "guidance_scale",
          "label": "Guidance",
          "type": "float_slider",
          "min": 0.0,
          "max": 20.0,
          "default": 4.0,
          "help": "Controls how strongly the result follows the prompt."
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/clarity-upscaler",
        "body": {
          "image_url": "{{image}}",
          "negative_prompt": "{{fields.negative_prompt}}",
          "creativity": "{{fields.creativity}}",
          "resemblance": "{{fields.resemblance}}",
          "upscale_factor": "{{fields.upscale_factor}}",
          "seed": "{{fields.seed}}",
          "num_inference_steps": "{{fields.num_inference_steps}}",
          "guidance_scale": "{{fields.guidance_scale}}",
          "prompt": "{{prompt}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "image.url"
      },
      "pricing": {
        "per_megapixel": 0.03,
        "width": "image.width",
        "height": "image.height",
        "note": "Fal's price: $0.03 per output megapixel."
      },
      "upscale": {
        "field": "upscale_factor"
      }
    },
    {
      "id": "esrgan-upscaler",
      "label": "ESRGAN Upscaler",
      "group": "Upscale & Restore",
      "description": "ESRGAN enlarges or restores a reference image.",
      "prompt": {
        "mode": "none"
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "png",
            "jpeg"
          ]
        },
        {
          "key": "model",
          "label": "Model",
          "type": "combo",
          "default": "RealESRGAN_x4plus",
          "options": [
            "RealESRGAN_x4plus",
            "RealESRGAN_x2plus",
            "RealESRGAN_x4plus_anime_6B",
            "RealESRGAN_x4_v3",
            "RealESRGAN_x4_wdn_v3",
            "RealESRGAN_x4_anime_v3"
          ]
        },
        {
          "key": "scale",
          "label": "Scale",
          "type": "float_slider",
          "min": 1.0,
          "max": 8.0,
          "default": 2.0
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/esrgan",
        "body": {
          "image_url": "{{image}}",
          "output_format": "{{fields.output_format}}",
          "model": "{{fields.model}}",
          "scale": "{{fields.scale}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "image.url"
      },
      "pricing": {
        "per_second": 0.00111,
        "seconds": "poll.metrics.inference_time",
        "note": "Fal's price: $0.00111 per compute second."
      },
      "upscale": {
        "field": "scale"
      }
    },
    {
      "id": "seedvr-upscale",
      "label": "SeedVR2 Upscale",
      "group": "Upscale & Restore",
      "description": "Upscales an image up to 10x. Add one image. No prompt needed.",
      "prompt": {
        "mode": "none"
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "upscale_factor",
          "label": "Upscale",
          "type": "combo",
          "default": "2x",
          "options": [
            {
              "label": "1x",
              "value": 1
            },
            {
              "label": "2x",
              "value": 2
            },
            {
              "label": "3x",
              "value": 3
            },
            {
              "label": "4x",
              "value": 4
            },
            {
              "label": "5x",
              "value": 5
            },
            {
              "label": "6x",
              "value": 6
            },
            {
              "label": "7x",
              "value": 7
            },
            {
              "label": "8x",
              "value": 8
            },
            {
              "label": "9x",
              "value": 9
            },
            {
              "label": "10x",
              "value": 10
            }
          ]
        },
        {
          "key": "output_format_standard",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "png",
            "jpg",
            "webp"
          ]
        },
        {
          "key": "output_format_seamless",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "png",
            "jpeg",
            "webp"
          ]
        },
        {
          "key": "noise_scale",
          "label": "Noise",
          "type": "float_slider",
          "min": 0,
          "max": 1,
          "default": 0.1,
          "decimals": 2,
          "help": "How much new detail the model may add. Higher looks sharper but strays further from the original."
        },
        {
          "key": "enable_safety_checker",
          "label": "Safety checker",
          "type": "bool",
          "default": true
        },
        {
          "type": "seed"
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/seedvr/upscale/image",
        "body": {
          "image_url": "{{image}}",
          "upscale_mode": "factor",
          "upscale_factor": "{{fields.upscale_factor}}",
          "noise_scale": "{{fields.noise_scale}}",
          "output_format": "{{fields.output_format_standard}}",
          "seed": "{{fields.seed}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "error": "error"
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "image.url"
      },
      "upscale": {
        "field": "upscale_factor",
        "factors": {
          "1x": 1,
          "2x": 2,
          "3x": 3,
          "4x": 4,
          "5x": 5,
          "6x": 6,
          "7x": 7,
          "8x": 8,
          "9x": 9,
          "10x": 10
        }
      },
      "pricing": {
        "per_megapixel": 0.001,
        "width": "image.width",
        "height": "image.height",
        "note": "Fal's price: $0.001 per megapixel of output."
      },
      "variants": {
        "label": "Type",
        "default": "standard",
        "options": [
          {
            "id": "standard",
            "label": "Standard",
            "description": "Upscales an image up to 10x. Add one image. No prompt needed.",
            "fields": [
              "upscale_factor",
              "output_format_standard",
              "noise_scale",
              "seed"
            ]
          },
          {
            "id": "seamless",
            "label": "Seamless",
            "description": "Upscales a tiling texture and keeps it seamless. Add one image. No prompt needed.",
            "request": {
              "url": "https://queue.fal.run/fal-ai/seedvr/upscale/image/seamless",
              "body": {
                "image_url": "{{image}}",
                "upscale_mode": "factor",
                "upscale_factor": "{{fields.upscale_factor}}",
                "noise_scale": "{{fields.noise_scale}}",
                "output_format": "{{fields.output_format_seamless}}",
                "enable_safety_checker": "{{fields.enable_safety_checker}}",
                "seed": "{{fields.seed}}"
              }
            },
            "fields": [
              "upscale_factor",
              "output_format_seamless",
              "noise_scale",
              "enable_safety_checker",
              "seed"
            ],
            "pricing": {
              "per_megapixel": 0.0025,
              "width": "image.width",
              "height": "image.height",
              "note": "Fal's price: $0.0025 per megapixel of output."
            }
          }
        ]
      }
    },
    {
      "id": "phota-enhance",
      "label": "Phota Enhance",
      "group": "Upscale & Restore",
      "description": "Phota's photo enhancement, keeping people's identity. Add one image. No prompt needed. Wando can't show the result's size before a run.",
      "prompt": {
        "mode": "none"
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            {
              "label": "JPEG",
              "value": "jpeg"
            },
            {
              "label": "PNG",
              "value": "png"
            }
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/phota/enhance",
        "body": {
          "image_url": "{{image}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_image": 0.13,
        "count_field": "num_images",
        "note": "Fal's price: $0.13 per image."
      }
    },
    {
      "id": "bria-fibo-2",
      "label": "Bria FIBO 2.0",
      "group": "Image Tools",
      "description": "Bria FIBO 2.0, trained only on licensed data. Strong on prompts that need real knowledge. Add up to 4 images to edit them.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the image or the change..."
      },
      "references": {
        "mode": "optional",
        "max": 4,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "aspect_ratio",
          "label": "Aspect Ratio",
          "type": "aspect_combo",
          "default": "1:1",
          "options": [
            "1:1",
            "1:2",
            "1:3",
            "1:4",
            "1:5",
            "2:1",
            "2:3",
            "3:1",
            "3:2",
            "3:4",
            "4:1",
            "4:3",
            "4:5",
            "5:1",
            "5:4",
            "9:16",
            "9:21",
            "10:16",
            "16:9",
            "16:10",
            "21:9"
          ]
        },
        {
          "key": "edit_aspect_ratio",
          "label": "Aspect Ratio",
          "type": "aspect_combo",
          "default": "Match first image",
          "options": [
            {
              "label": "Match first image",
              "value": null
            },
            "1:1",
            "1:2",
            "1:3",
            "1:4",
            "1:5",
            "2:1",
            "2:3",
            "3:1",
            "3:2",
            "3:4",
            "4:1",
            "4:3",
            "4:5",
            "5:1",
            "5:4",
            "9:16",
            "9:21",
            "10:16",
            "16:9",
            "16:10",
            "21:9"
          ]
        },
        {
          "key": "style",
          "label": "Style",
          "type": "combo",
          "default": "None",
          "options": [
            {
              "label": "None",
              "value": null
            },
            "Kodak Film",
            "Hard Flash",
            "Hazy Dreamy",
            "Rough Realism"
          ]
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true,
          "max": 2147483647
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/bria/fibo-2/generate",
        "body": {
          "prompt": "{{prompt}}",
          "aspect_ratio": "{{fields.aspect_ratio}}",
          "style": "{{fields.style}}",
          "seed": "{{fields.seed}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": [
          "image.url",
          "images[*].url"
        ]
      },
      "pricing": {
        "per_image": 0.04,
        "note": "Fal's price: $0.04 per image."
      },
      "without_references": {
        "fields": [
          "aspect_ratio",
          "style",
          "seed"
        ]
      },
      "with_references": {
        "request": {
          "method": "POST",
          "url": "https://queue.fal.run/bria/fibo-2/edit",
          "body": {
            "instruction": "{{prompt}}",
            "image_urls": "{{images}}",
            "mask_url": "{{mask}}",
            "aspect_ratio": "{{fields.edit_aspect_ratio}}",
            "seed": "{{fields.seed}}"
          }
        },
        "fields": [
          "edit_aspect_ratio",
          "seed"
        ],
        "mask": {
          "mode": "optional",
          "paint": "white"
        },
        "description": "Add up to 4 images to edit or combine them. One image keeps its own shape. A mask works with one image and keeps everything outside it."
      }
    },
    {
      "id": "bria-background-remove",
      "label": "Bria Background Remove",
      "group": "Image Tools",
      "description": "Removes the background and returns a transparent image.",
      "prompt": {
        "mode": "none"
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/bria/background/remove",
        "body": {
          "image_url": "{{image}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "image.url"
      },
      "pricing": {
        "per_image": 0.018,
        "note": "Fal's price: $0.018 per image."
      }
    },
    {
      "id": "bria-guided-remove-background",
      "label": "Bria Guided Background Removal",
      "group": "Image Tools",
      "description": "Removes the background and keeps the original pixels of the subject. A prompt can add, drop or narrow what is kept.",
      "prompt": {
        "mode": "optional",
        "placeholder": "Optional: what to keep, e.g. only the chair"
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "autocrop",
          "label": "Crop to subject",
          "type": "bool",
          "default": false
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/bria/guided-remove-background",
        "body": {
          "image_url": "{{image}}",
          "prompt": "{{prompt}}",
          "autocrop": "{{fields.autocrop}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "image.url"
      },
      "pricing": {
        "per_image": 0.03,
        "note": "Fal's price: $0.03 per image."
      }
    },
    {
      "id": "bria-eraser",
      "label": "Bria Eraser",
      "group": "Image Tools",
      "description": "Removes an object inside the painted mask.",
      "prompt": {
        "mode": "none"
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "preserve_alpha",
          "label": "Keep Transparency",
          "type": "bool",
          "default": false
        },
        {
          "key": "mask_type",
          "label": "Mask Type",
          "type": "combo",
          "default": "manual",
          "options": [
            {
              "label": "Manual",
              "value": "manual"
            },
            {
              "label": "Automatic",
              "value": "automatic"
            }
          ]
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/bria/eraser",
        "body": {
          "image_url": "{{image}}",
          "mask_url": "{{mask}}",
          "preserve_alpha": "{{fields.preserve_alpha}}",
          "mask_type": "{{fields.mask_type}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "image.url"
      },
      "mask": {
        "mode": "required"
      },
      "pricing": {
        "per_image": 0.04,
        "note": "Fal's price: $0.04 per image."
      }
    },
    {
      "id": "bria-expand",
      "label": "Bria Expand",
      "group": "Image Tools",
      "description": "Extends an image to a new aspect ratio, keeping the original in the middle. A prompt can say what fills the new area.",
      "prompt": {
        "mode": "optional",
        "placeholder": "Optional: what should appear in the new area"
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "aspect_ratio",
          "label": "Aspect Ratio",
          "type": "aspect_combo",
          "default": "16:9",
          "options": [
            "1:1",
            "2:3",
            "3:2",
            "3:4",
            "4:3",
            "4:5",
            "5:4",
            "9:16",
            "16:9"
          ]
        },
        {
          "key": "preserve_alpha",
          "label": "Keep transparency",
          "type": "bool",
          "default": true
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true,
          "max": 2147483647
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/bria/fibo-edit-1.5/expand",
        "body": {
          "image_url": "{{image}}",
          "prompt": "{{prompt}}",
          "aspect_ratio": "{{fields.aspect_ratio}}",
          "preserve_alpha": "{{fields.preserve_alpha}}",
          "seed": "{{fields.seed}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "image.url"
      },
      "pricing": {
        "per_image": 0.04,
        "note": "Fal's price: $0.04 per image."
      }
    },
    {
      "id": "bria-product-holding",
      "label": "Bria Product Holding",
      "group": "Image Tools",
      "description": "Bria Product Holding puts the product in your images into the hands of the person in your photo.",
      "prompt": {
        "mode": "optional",
        "placeholder": "Optional extra direction..."
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url"
      },
      "image_inputs": [
        {
          "key": "products",
          "label": "Products",
          "mode": "required",
          "max": 3,
          "help": "One to three photos of the product: its packaging, another angle, or an item that goes with it."
        }
      ],
      "fields": [
        {
          "key": "aspect_ratio",
          "label": "Aspect Ratio",
          "type": "aspect_combo",
          "default": "",
          "options": [
            {
              "label": "Match photo",
              "value": ""
            },
            "1:1",
            "2:3",
            "3:2",
            "3:4",
            "4:3",
            "4:5",
            "5:4",
            "9:16",
            "16:9"
          ]
        },
        {
          "type": "seed"
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/bria/fibo-edit-1.5/product-holding",
        "body": {
          "person_image_url": "{{image}}",
          "product_image_urls": "{{inputs.products}}",
          "instruction": "{{prompt}}",
          "aspect_ratio": "{{fields.aspect_ratio}}",
          "seed": "{{fields.seed}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": [
          "image.url",
          "images[*].url"
        ]
      },
      "pricing": {
        "per_image": 0.04,
        "note": "Fal's price: $0.04 per image."
      }
    },
    {
      "id": "bria-virtual-try-on",
      "label": "Bria Virtual Try-On",
      "group": "Image Tools",
      "description": "Bria Virtual Try-On dresses the person in your photo in the garments or accessories in your images.",
      "prompt": {
        "mode": "optional",
        "placeholder": "Optional extra direction..."
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url"
      },
      "image_inputs": [
        {
          "key": "garments",
          "label": "Garments",
          "mode": "required",
          "max": 3,
          "help": "One to three photos of clothes or accessories to put on."
        }
      ],
      "fields": [
        {
          "key": "aspect_ratio",
          "label": "Aspect Ratio",
          "type": "aspect_combo",
          "default": "",
          "options": [
            {
              "label": "Match photo",
              "value": ""
            },
            "1:1",
            "2:3",
            "3:2",
            "3:4",
            "4:3",
            "4:5",
            "5:4",
            "9:16",
            "16:9"
          ]
        },
        {
          "type": "seed"
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/bria/fibo-edit-1.5/virtual-try-on",
        "body": {
          "person_image_url": "{{image}}",
          "garment_image_urls": "{{inputs.garments}}",
          "instruction": "{{prompt}}",
          "aspect_ratio": "{{fields.aspect_ratio}}",
          "seed": "{{fields.seed}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": [
          "image.url",
          "images[*].url"
        ]
      },
      "pricing": {
        "per_image": 0.04,
        "note": "Fal's price: $0.04 per image."
      }
    },
    {
      "id": "birefnet-v2",
      "label": "BiRefNet V2",
      "group": "Image Tools",
      "description": "Cuts a foreground object out of a reference image.",
      "prompt": {
        "mode": "none"
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "webp",
            "png",
            {
              "label": "GIF",
              "value": "gif"
            }
          ]
        },
        {
          "key": "mask_only",
          "label": "Mask Only",
          "type": "bool",
          "default": false
        },
        {
          "key": "operating_resolution",
          "label": "Resolution",
          "type": "combo",
          "default": "1024x1024",
          "options": [
            "1024x1024",
            "2048x2048",
            "2304x2304"
          ]
        },
        {
          "key": "model",
          "label": "Model",
          "type": "combo",
          "default": "General Use (Light)",
          "options": [
            "General Use (Light)",
            "General Use (Light 2K)",
            "General Use (Heavy)",
            "Matting",
            "Portrait",
            "General Use (Dynamic)"
          ]
        },
        {
          "key": "refine_foreground",
          "label": "Refine Foreground",
          "type": "bool",
          "default": true
        },
        {
          "key": "output_mask",
          "label": "Output Mask",
          "type": "bool",
          "default": false
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/birefnet/v2",
        "body": {
          "image_url": "{{image}}",
          "output_format": "{{fields.output_format}}",
          "mask_only": "{{fields.mask_only}}",
          "operating_resolution": "{{fields.operating_resolution}}",
          "model": "{{fields.model}}",
          "refine_foreground": "{{fields.refine_foreground}}",
          "output_mask": "{{fields.output_mask}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "image.url"
      },
      "pricing": {
        "per_second": 0.0008,
        "seconds": "poll.metrics.inference_time",
        "note": "Fal bills $0.0008 per compute second; its model page rounds the rate to $0."
      }
    },
    {
      "id": "rembg",
      "label": "Background Remover",
      "group": "Image Tools",
      "description": "Removes an image background.",
      "prompt": {
        "mode": "none"
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/imageutils/rembg",
        "body": {
          "image_url": "{{image}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "image.url"
      },
      "pricing": {
        "per_second": 0.000625,
        "seconds": "poll.metrics.inference_time",
        "note": "Fal bills $0.000625 per compute second; its model page rounds the rate to $0."
      }
    },
    {
      "id": "ideogram-object-removal",
      "label": "Ideogram Object Removal",
      "group": "Image Tools",
      "description": "Removes what you paint in the mask and fills the area in.",
      "prompt": {
        "mode": "none"
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url",
        "max_mb": 10
      },
      "fields": [],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/ideogram/object-removal",
        "body": {
          "image_url": "{{image}}",
          "mask_url": "{{mask}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "image.url"
      },
      "mask": {
        "mode": "required",
        "paint": "white"
      },
      "pricing": {
        "per_image": 0.03,
        "note": "Fal's price: $0.03 per image."
      }
    },
    {
      "id": "phota-edit",
      "label": "Phota Edit",
      "group": "Image Tools",
      "description": "Phota's photo editing keeps people's identity while it edits, such as erasing distractions. Add up to 10 images. 4K works only with Nano Banana 2.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the change..."
      },
      "references": {
        "mode": "required",
        "max": 10,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "base_model",
          "label": "Base model",
          "type": "combo",
          "default": "nb2",
          "options": [
            {
              "label": "Nano Banana 2",
              "value": "nb2"
            },
            {
              "label": "Qwen Image 2",
              "value": "qwen-image-2"
            },
            {
              "label": "FLUX.2",
              "value": "flux-2"
            },
            {
              "label": "Seedream 5 Pro",
              "value": "seedream-5-pro"
            }
          ]
        },
        {
          "key": "resolution",
          "label": "Resolution",
          "type": "combo",
          "default": "1K",
          "options": [
            "1K",
            "4K"
          ]
        },
        {
          "key": "aspect_ratio",
          "label": "Aspect Ratio",
          "type": "aspect_combo",
          "default": "auto",
          "options": [
            {
              "label": "Auto",
              "value": "auto"
            },
            "1:1",
            "16:9",
            "4:3",
            "3:4",
            "9:16"
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            {
              "label": "JPEG",
              "value": "jpeg"
            },
            {
              "label": "PNG",
              "value": "png"
            }
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/phota/edit",
        "body": {
          "prompt": "{{prompt}}",
          "image_urls": "{{images}}",
          "base_model": "{{fields.base_model}}",
          "resolution": "{{fields.resolution}}",
          "aspect_ratio": "{{fields.aspect_ratio}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_image": 0.18,
        "by_field": {
          "resolution": {
            "1K": 0.09,
            "4K": 0.18
          }
        },
        "count_field": "num_images",
        "note": "Fal's price: $0.09 per 1K image, $0.18 per 4K image."
      }
    },
    {
      "id": "iclight-v2",
      "label": "IC-Light Relight",
      "group": "Image Tools",
      "description": "Relights a photo. Add one image and describe the new light and setting.",
      "prompt": {
        "mode": "required",
        "placeholder": "Describe the light, e.g. warm sunset light from the left..."
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "image_size",
          "label": "Size",
          "type": "aspect_combo",
          "default": "landscape_4_3",
          "options": [
            {
              "label": "1:1 HD (1024 x 1024)",
              "value": "square_hd"
            },
            {
              "label": "1:1 (512 x 512)",
              "value": "square"
            },
            {
              "label": "3:4 (768 x 1024)",
              "value": "portrait_4_3"
            },
            {
              "label": "9:16 (576 x 1024)",
              "value": "portrait_16_9"
            },
            {
              "label": "4:3 (1024 x 768)",
              "value": "landscape_4_3"
            },
            {
              "label": "16:9 (1024 x 576)",
              "value": "landscape_16_9"
            }
          ]
        },
        {
          "key": "initial_latent",
          "label": "Light From",
          "type": "combo",
          "default": "None",
          "options": [
            {
              "label": "Anywhere",
              "value": "None"
            },
            "Left",
            "Right",
            "Top",
            "Bottom"
          ],
          "help": "Anywhere leaves the direction to the prompt."
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png"
          ]
        },
        {
          "key": "num_images",
          "label": "Images",
          "type": "int_slider",
          "min": 1,
          "max": 4,
          "default": 1
        },
        {
          "key": "num_inference_steps",
          "label": "Steps",
          "type": "int_slider",
          "min": 1,
          "max": 50,
          "default": 28,
          "help": "How many passes refine the image. More is slower and can add detail."
        },
        {
          "key": "guidance_scale",
          "label": "Guidance",
          "type": "float_slider",
          "min": 0,
          "max": 20,
          "default": 5,
          "help": "How closely the result follows your prompt. Higher follows it more strictly but can look overdone."
        },
        {
          "key": "negative_prompt",
          "label": "Negative prompt",
          "type": "textarea"
        },
        {
          "type": "seed"
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/iclight-v2",
        "body": {
          "prompt": "{{prompt}}",
          "image_url": "{{image}}",
          "image_size": "{{fields.image_size}}",
          "initial_latent": "{{fields.initial_latent}}",
          "output_format": "{{fields.output_format}}",
          "num_images": "{{fields.num_images}}",
          "num_inference_steps": "{{fields.num_inference_steps}}",
          "guidance_scale": "{{fields.guidance_scale}}",
          "negative_prompt": "{{fields.negative_prompt}}",
          "seed": "{{fields.seed}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "error": "error"
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_megapixel": 0.1,
        "width": "images[*].width",
        "height": "images[*].height",
        "note": "Fal's price: $0.10 per megapixel.",
        "count_field": "num_images"
      },
      "sizes": [
        {
          "aspect": "1:1",
          "tier": "1K",
          "width": 1024,
          "height": 1024,
          "values": {
            "image_size": "square_hd"
          }
        },
        {
          "aspect": "1:1",
          "tier": "0.5K",
          "width": 512,
          "height": 512,
          "values": {
            "image_size": "square"
          }
        },
        {
          "aspect": "3:4",
          "tier": "1K",
          "width": 768,
          "height": 1024,
          "values": {
            "image_size": "portrait_4_3"
          }
        },
        {
          "aspect": "9:16",
          "tier": "1K",
          "width": 576,
          "height": 1024,
          "values": {
            "image_size": "portrait_16_9"
          }
        },
        {
          "aspect": "4:3",
          "tier": "1K",
          "width": 1024,
          "height": 768,
          "values": {
            "image_size": "landscape_4_3"
          }
        },
        {
          "aspect": "16:9",
          "tier": "1K",
          "width": 1024,
          "height": 576,
          "values": {
            "image_size": "landscape_16_9"
          }
        }
      ]
    },
    {
      "id": "patina",
      "label": "PATINA Material Maps",
      "group": "Image Tools",
      "description": "Makes PBR texture maps (base color, normal, roughness, metalness, height) from a photo or render. Add one image. No prompt needed. Each map is a separate image.",
      "prompt": {
        "mode": "none"
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "maps",
          "label": "Maps",
          "type": "combo",
          "default": "All five",
          "options": [
            {
              "label": "All five",
              "value": [
                "basecolor",
                "normal",
                "roughness",
                "metalness",
                "height"
              ]
            },
            {
              "label": "Base color, normal, roughness",
              "value": [
                "basecolor",
                "normal",
                "roughness"
              ]
            },
            {
              "label": "Normal only",
              "value": [
                "normal"
              ]
            },
            {
              "label": "Height only",
              "value": [
                "height"
              ]
            }
          ]
        },
        {
          "key": "output_format",
          "label": "Format",
          "type": "combo",
          "default": "png",
          "options": [
            "jpeg",
            "png",
            "webp"
          ]
        },
        {
          "type": "seed"
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/patina",
        "body": {
          "image_url": "{{image}}",
          "maps": "{{fields.maps}}",
          "output_format": "{{fields.output_format}}",
          "seed": "{{fields.seed}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "error": "error"
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_request": 0.01,
        "per_megapixel": 0.01,
        "width": "images[*].width",
        "height": "images[*].height",
        "note": "Fal's price: $0.01 per run plus $0.01 per megapixel of each map. All five maps of a 1024 x 1024 image cost about $0.06."
      }
    },
    {
      "id": "marigold-depth",
      "label": "Marigold Depth",
      "group": "Image Tools",
      "description": "Marigold V2 makes a depth map from one image, or a normal, albedo or see-through depth map. No prompt needed.",
      "prompt": {
        "mode": "none"
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url",
        "max_side": 2048
      },
      "fields": [
        {
          "key": "prediction_type",
          "label": "Map",
          "type": "combo",
          "default": "depth",
          "options": [
            {
              "label": "Depth",
              "value": "depth"
            },
            {
              "label": "See-through depth",
              "value": "see-through-depth"
            },
            {
              "label": "Normals",
              "value": "normals"
            },
            {
              "label": "Albedo",
              "value": "albedo"
            }
          ]
        },
        {
          "key": "seed",
          "type": "seed",
          "auto_seed": true
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/marigold-v2",
        "body": {
          "image_url": "{{image}}",
          "prediction_type": "{{fields.prediction_type}}",
          "seed": "{{fields.seed}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "image.url"
      },
      "pricing": {
        "per_image": 0.03,
        "note": "Fal's price: $0.03 per image. The size doesn't change it."
      }
    },
    {
      "id": "image2pixel",
      "label": "Image2Pixel",
      "group": "Image Tools",
      "description": "Turns an image into clean pixel art. Add one image. No prompt needed. Returns the pixel art and a scaled-up copy.",
      "prompt": {
        "mode": "none"
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url"
      },
      "fields": [
        {
          "key": "max_colors",
          "label": "Max Colors",
          "type": "int_slider",
          "min": 1,
          "max": 256,
          "default": 32
        },
        {
          "key": "auto_color_detect",
          "label": "Find the best number of colors",
          "type": "bool",
          "default": false
        },
        {
          "key": "downscale_method",
          "label": "Downscale",
          "type": "combo",
          "default": "dominant",
          "options": [
            {
              "label": "Dominant color",
              "value": "dominant"
            },
            {
              "label": "Median",
              "value": "median"
            },
            {
              "label": "Mode",
              "value": "mode"
            },
            {
              "label": "Mean",
              "value": "mean"
            },
            {
              "label": "Content-adaptive",
              "value": "content-adaptive"
            }
          ],
          "help": "How each block of the image becomes one pixel. Dominant color uses the block's most common color."
        },
        {
          "key": "detect_method",
          "label": "Pixel Scale",
          "type": "combo",
          "default": "auto",
          "options": [
            {
              "label": "Auto",
              "value": "auto"
            },
            {
              "label": "Runs",
              "value": "runs"
            },
            {
              "label": "Edges",
              "value": "edge"
            }
          ],
          "help": "How the model finds the size of one art pixel. Auto works for most images."
        },
        {
          "key": "transparent_background",
          "label": "Transparent background",
          "type": "bool",
          "default": false
        },
        {
          "key": "background_mode",
          "label": "Background From",
          "type": "combo",
          "default": "corners",
          "options": [
            {
              "label": "Corners",
              "value": "corners"
            },
            {
              "label": "Edges",
              "value": "edges"
            },
            {
              "label": "Edge midpoints",
              "value": "midpoints"
            }
          ]
        },
        {
          "key": "cleanup_jaggy",
          "label": "Clean up jagged edges",
          "type": "bool",
          "default": false
        },
        {
          "key": "trim_borders",
          "label": "Trim borders",
          "type": "bool",
          "default": false
        }
      ],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/image2pixel",
        "body": {
          "image_url": "{{image}}",
          "max_colors": "{{fields.max_colors}}",
          "auto_color_detect": "{{fields.auto_color_detect}}",
          "downscale_method": "{{fields.downscale_method}}",
          "detect_method": "{{fields.detect_method}}",
          "transparent_background": "{{fields.transparent_background}}",
          "background_mode": "{{fields.background_mode}}",
          "cleanup_jaggy": "{{fields.cleanup_jaggy}}",
          "trim_borders": "{{fields.trim_borders}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "error": "error"
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "images[*].url"
      },
      "pricing": {
        "per_second": 0.00017,
        "seconds": "poll.metrics.inference_time",
        "note": "Fal bills $0.00017 per compute second; its model page rounds the rate to $0."
      }
    },
    {
      "id": "recraft-vectorize",
      "label": "Recraft Vectorize",
      "group": "Vector",
      "description": "Turns a reference image into an SVG.",
      "prompt": {
        "mode": "none"
      },
      "references": {
        "mode": "required",
        "max": 1,
        "send_as": "data_url",
        "max_mb": 4.7,
        "max_megapixels": 16,
        "max_side": 4096
      },
      "fields": [],
      "request": {
        "method": "POST",
        "url": "https://queue.fal.run/fal-ai/recraft/vectorize",
        "body": {
          "image_url": "{{image}}"
        }
      },
      "poll": {
        "url": "{{submit.status_url}}",
        "status": "status",
        "done": [
          "COMPLETED"
        ],
        "failed": [
          "FAILED"
        ],
        "error": "error",
        "interval_seconds": 2,
        "timeout_seconds": 600
      },
      "fetch": {
        "url": "{{submit.response_url}}"
      },
      "result": {
        "images": "image.url"
      },
      "pricing": {
        "per_image": 0.01,
        "note": "Fal's price: $0.01 per image."
      }
    }
  ]
}
