# FLUX.2 \[pro\] outpaint

Needs image url. Served by fal.ai.

FLUX.2 [pro] (Black Forest Labs), outpaint, served by fal.ai. The OpenAPI schema for the fal-ai/flux-2-pro/outpaint queue. Price: $0.03 for the first megapixel of output plus $0.015 per extra megapixel of input and output, rounded up to the megapixel, metered by fal after the call (x-fal-billable-units) and billed at that reading; the reservation is the bound you declare and the difference is refunded. Waits up to 40 s for the result; if the generation takes longer, the run stays RUNNING and returns a request_id; poll fal/status and fetch fal/result with model "fal-ai/flux-2-pro" and that request_id. Billed once, when the result is ready; a generation that fails is refunded.

- Tool ID: `fal/flux-2-pro-outpaint`
- Name in the catalog: FLUX.2 \[pro\] (Black Forest Labs), outpaint
- Provider: [fal.ai](/providers/fal.md)
- Capability: [FLUX.2](/tools/image-generation/flux.md)
- Price: from $0.015 per unit
- Authentication: an authorised Agentik workspace is required for execution, including zero-price tools.

## Pricing contract

The provider’s price, with no markup. Billed for measured usage.


```json
{
  "model": "per_unit",
  "amountUsd": 0.015,
  "unitsHeader": "x-fal-billable-units",
  "maxUnits": 40,
  "maxUnitsField": "max_megapixels",
  "fractional": false,
  "multipliers": [
    {
      "addUsd": 0.015
    }
  ]
}
```

Pricing source: [https://fal.ai/models/fal-ai/flux-2-pro/outpaint](https://fal.ai/models/fal-ai/flux-2-pro/outpaint). $0.03 for the first megapixel of output plus $0.015 per extra megapixel of input and output, rounded up to the megapixel, metered by fal after the call (x-fal-billable-units) and billed at that reading; the reservation is the bound you declare and the difference is refunded..

Price verification date: 2026-10-08.

## Complete input schema


```json
{
  "type": "object",
  "properties": {
    "expand_bottom": {
      "default": 0,
      "description": "Pixels to expand at the bottom of the image.",
      "maximum": 2048,
      "title": "Expand Bottom",
      "type": "integer",
      "minimum": 0
    },
    "expand_top": {
      "default": 0,
      "description": "Pixels to expand at the top of the image.",
      "maximum": 2048,
      "title": "Expand Top",
      "type": "integer",
      "minimum": 0
    },
    "output_format": {
      "enum": [
        "jpeg",
        "png"
      ],
      "description": "The format of the generated image.",
      "default": "jpeg",
      "type": "string",
      "title": "Output Format"
    },
    "enable_safety_checker": {
      "default": true,
      "description": "Whether to enable the safety checker. Disabling it requires account authorization; unauthorized requests are always checked.",
      "type": "boolean",
      "title": "Enable Safety Checker"
    },
    "auto_crop": {
      "default": false,
      "description": "Whether to automatically crop the reference image when the expanded canvas does not fully contain it.",
      "type": "boolean",
      "title": "Auto Crop"
    },
    "expand_right": {
      "default": 0,
      "description": "Pixels to expand on the right of the image.",
      "maximum": 2048,
      "title": "Expand Right",
      "type": "integer",
      "minimum": 0
    },
    "image_url": {
      "description": "The image URL to expand using outpainting.",
      "type": "string",
      "title": "Image URL"
    },
    "expand_left": {
      "default": 0,
      "description": "Pixels to expand on the left of the image.",
      "maximum": 2048,
      "title": "Expand Left",
      "type": "integer",
      "minimum": 0
    },
    "mode": {
      "enum": [
        "high",
        "fast"
      ],
      "description": "Quality/speed trade-off for outpainting. `high` (default) delivers the highest-fidelity results; `fast` is significantly faster and extends most scenes well but may produce lower fidelity.",
      "default": "high",
      "type": "string",
      "title": "Mode"
    },
    "max_megapixels": {
      "type": "number",
      "minimum": 1,
      "maximum": 40,
      "default": 6,
      "description": "Upper bound of the megapixels of input and output together, in megapixels (default 6, max 40). The reservation is this bound at the unit price; after the call the megapixels fal meters are billed and the rest is refunded. Declare at least the real amount: a larger input is still processed but is never billed above the reservation."
    }
  },
  "required": [
    "image_url"
  ],
  "additionalProperties": false
}
```

## Published example

This is the provider tool’s published example. Replace example values with the user’s requested inputs, respecting the schema; do not execute an example merely to test a connection.


```json
{
  "tool_id": "fal/flux-2-pro-outpaint",
  "input": {
    "image_url": "https://storage.googleapis.com/falserverless/example_inputs/flux2/max.jpg",
    "expand_left": 256,
    "expand_right": 256,
    "mode": "fast",
    "max_megapixels": 6
  }
}
```

## Execute and retrieve

Inspect again before execution, explain the price and obtain the required authority. Use MCP run_tool or POST /v1/run with this tool ID, valid input and an idempotency key. Save the returned run ID and follow the actual state. If Agentik answers that the tool is temporarily unavailable, do not retry it blindly; use discovery to propose an alternative.

This tool uses deferred settlement. Follow its returned task/run instructions; preserve the existing reservation until the result is reconciled.

A partial or uncertain result can still have consumed provider resources. Consult [billing](/docs/billing.md), [idempotency](/docs/idempotency.md) and [asynchronous results](/docs/async.md).

[Provider documentation](https://fal.ai/models/fal-ai/flux-2-pro/outpaint)

[REST inspection](https://api.agentik.cc/v1/tools/fal/flux-2-pro-outpaint) · [OpenAPI](/openapi.json) · [Connection guide](/connect.md)

---

[HTML page](/providers/fal/flux-2-pro-outpaint) · [Agent index](/llms.txt)
