Fal - OpenClaw

Providers

Fal

OpenClaw ships a bundled fal provider for hosted image, video, and music generation.

Property Value
Provider fal
Auth FAL_KEY (canonical; FAL_API_KEY also works as a fallback)
API fal model endpoints (https://fal.run; video jobs use https://queue.fal.run)
Base URL Override with models.providers.fal.baseUrl

Getting started

  • Set the API key

    bash
    openclaw onboard --auth-choice fal-api-key

    Non-interactive setups can pass --fal-api-key <key> or export FAL_KEY. Onboarding also sets fal/fal-ai/flux/dev as the default image model when none is configured.

  • Set a default image model

    json5
    {  agents: {    defaults: {      mediaModels: {        image: {          primary: "fal/fal-ai/flux/dev",        },      },    },  },}
  • Image generation

    The bundled fal image-generation provider defaults to fal/fal-ai/flux/dev.

    Capability Value
    Max images 4 per request; Krea 2: 1 per request
    Size overrides 1024x1024, 1024x1536, 1536x1024, 1024x1792, 1792x1024
    Aspect ratio Supported everywhere except Flux image-to-image
    Resolution 1K, 2K, 4K (per-model limits below)
    Output format png (default) or jpeg; GPT Image 2.5 also supports webp; Krea 2 rejects overrides

    Edit requests (reference images via the shared image / images parameters) route to a per-model edit endpoint with per-model reference limits:

    Model family Model ref after fal/ Edit endpoint Max reference images
    Flux and other fal models fal-ai/flux/dev (default) /image-to-image 1
    GPT Image 2.5 openai/gpt-image-2.5/{flare,sunburst}/text-to-image sibling /edit 16
    Older GPT Image openai/gpt-image-* /edit 10
    Grok Imagine xai/grok-imagine-image /edit 3
    Nano Banana (legacy) fal-ai/nano-banana /edit 3
    Nano Banana 2 fal-ai/nano-banana-* /edit 14
    Nano Banana 2 Lite google/nano-banana-2-lite /edit 14
    Krea 2 krea/v2/{medium,large}/text-to-image none (style refs) 10 style references

    GPT Image 2.5

    Select either variant:

    • fal/openai/gpt-image-2.5/flare/text-to-image
    • fal/openai/gpt-image-2.5/sunburst/text-to-image

    References select the sibling /edit endpoint. You can also select fal/openai/gpt-image-2.5/flare/edit or fal/openai/gpt-image-2.5/sunburst/edit explicitly.

    Both variants support quality: "low", "medium", "high", "xhigh", "max", or "auto". The fal default is high. They accept background: "transparent", "opaque", or "auto". For transparency, use outputFormat: "png" or "webp". These controls do not change older fal models.

    Use size: "auto" or explicit dimensions such as 1536x864. Dimensions must be divisible by 16, with no edge above 3840 pixels. Total pixels must be 655,360-8,294,400, with an aspect ratio from 1:3 to 3:1. OpenClaw converts aspect-ratio hints to valid dimensions. For example, aspectRatio: "3:2" produces 1536x1024. Use size to choose exact dimensions. OpenClaw rejects invalid explicit sizes. These models reject resolution overrides. Edits without geometry hints keep fal's automatic size selection.

    bash
    openclaw infer image generate \  --model fal/openai/gpt-image-2.5/flare/text-to-image \  --prompt "A simple red circle sticker" \  --quality low --size 1024x1024 --json openclaw infer image edit \  --model fal/openai/gpt-image-2.5/sunburst/edit \  --file /path/to/reference.png \  --prompt "Keep the shape and change the color to blue" \  --quality low --size auto --json

    Krea 2

    Krea 2 models use fal's native Krea payload schema. OpenClaw sends aspect_ratio, creativity, and image_style_references instead of the generic image_size / edit-endpoint payload used by Flux. The model refs are:

    • fal/krea/v2/medium/text-to-image
    • fal/krea/v2/large/text-to-image

    Use Medium for faster expressive illustration, anime, painting, and artistic styles. Use Large for slower photoreal, raw texture, film grain, and detailed looks. Krea defaults to fal.creativity: "medium"; supported values are raw, low, medium, and high.

    Krea 2 exposes aspect ratio, not image_size, in fal's request schema. Prefer aspectRatio; OpenClaw maps size to the closest supported Krea aspect ratio and rejects resolution for Krea rather than dropping it.

    Use outputFormat: "png" when you want PNG output from fal models that expose output_format. Outside GPT Image 2.5, fal models do not declare a transparent-background control in OpenClaw. They report background as an ignored override. Krea 2 endpoints do not expose an output_format request field through fal, so OpenClaw rejects outputFormat overrides for Krea requests.

    To use Krea 2 Medium:

    json5
    {  agents: {    defaults: {      mediaModels: {        image: {          primary: "fal/krea/v2/medium/text-to-image",        },      },    },  },}

    Video generation

    The bundled fal video-generation provider defaults to fal/fal-ai/minimax/video-01-live.

    Capability Value
    Modes Text-to-video, single-image reference, Seedance reference-to-video
    Runtime Queue-backed submit/status/result flow for long-running jobs
    Timeout 20 minutes per job by default; status polled every 5 seconds
    Available video models

    MiniMax (default):

    • fal/fal-ai/minimax/video-01-live

    HeyGen video-agent:

    • fal/fal-ai/heygen/v2/video-agent

    Kling and Wan:

    • fal/fal-ai/kling-video/v2.1/master/text-to-video
    • fal/fal-ai/wan/v2.2-a14b/text-to-video
    • fal/fal-ai/wan/v2.2-a14b/image-to-video

    Seedance 2.0:

    • fal/bytedance/seedance-2.0/fast/text-to-video
    • fal/bytedance/seedance-2.0/fast/image-to-video
    • fal/bytedance/seedance-2.0/fast/reference-to-video
    • fal/bytedance/seedance-2.0/text-to-video
    • fal/bytedance/seedance-2.0/image-to-video
    • fal/bytedance/seedance-2.0/reference-to-video

    MiniMax Live and HeyGen requests send only the prompt plus an optional single reference image; other overrides are not forwarded. Seedance models accept aspectRatio, size, resolution, durations of 4-15 seconds, and an audio toggle.

    Seedance 2.0 config example
    json5
    {  agents: {    defaults: {      mediaModels: {        video: {          primary: "fal/bytedance/seedance-2.0/fast/text-to-video",        },      },    },  },}
    Seedance 2.0 reference-to-video config example
    json5
    {  agents: {    defaults: {      mediaModels: {        video: {          primary: "fal/bytedance/seedance-2.0/fast/reference-to-video",        },      },    },  },}

    Reference-to-video accepts up to 9 images, 3 videos, and 3 audio references through the shared video_generate images, videos, and audioRefs parameters, with at most 12 total reference files. Audio references require at least one image or video reference in the same request.

    HeyGen video-agent config example
    json5
    {  agents: {    defaults: {      mediaModels: {        video: {          primary: "fal/fal-ai/heygen/v2/video-agent",        },      },    },  },}

    Music generation

    The bundled fal plugin also registers a music-generation provider for the shared music_generate tool.

    Capability Value
    Default model fal/fal-ai/minimax-music/v2.6
    Models fal-ai/minimax-music/v2.6 (mp3), fal-ai/ace-step/prompt-to-audio (wav), fal-ai/stable-audio-25/text-to-audio (wav)
    Max duration 240 seconds
    Runtime Synchronous request plus generated audio download

    Use fal as the default music provider:

    json5
    {  agents: {    defaults: {      mediaModels: {        music: {          primary: "fal/fal-ai/minimax-music/v2.6",        },      },    },  },}

    fal-ai/minimax-music/v2.6 supports explicit lyrics and instrumental mode, but not both in the same request. ACE-Step and Stable Audio are prompt-to-audio endpoints; choose them with the model override when you want those model families. ACE-Step rejects explicit lyrics; Stable Audio rejects both lyrics and instrumental mode.

    Was this useful?
    On this page

    On this page