fal/flux-3-max, served by Comfy Router from fal.
Input: Text, Image · Output: Video + Audio
Quick start
Create a key in your Comfy workspace and export it asCOMFY_API_KEY. The Python and TypeScript snippets use the Comfy SDKs (pip install comfy-sdk and npm install @comfyorg/sdk); the cURL snippet is the same call over raw HTTP.
Model ID: fal/flux-3-max
Endpoint: POST https://api.comfy.org/v2/models/fal/flux-3-max
- Wait for the result
- Queue and collect later
The same body, sent to
POST https://api.comfy.org/v2/models/fal/flux-3-max/requests. Router answers 201 with a request_id as soon as the run is admitted, and the result is collected once it is ready, from this process or another one. Queued delivery walks through status, cancellation and collection.Schema
Input
string
default:"\"auto\""
Aspect ratio of the generated video. auto is 16:9 for a text prompt and follows the first image otherwise.Possible values:
auto, 21:9, 2:1, 16:9, 4:3, 1:1, 3:4, 9:16integer
default:"5"
Duration of the generated video in seconds, 5 to 20. fal bills per second of this value.Range:
5 to 20boolean
default:"true"
Generate synchronized audio. The price is the same.
string
required
Text prompt that describes the video and its sound.
string
default:"\"high\""
How much the model reasons about and expands the prompt before generation. high is slower. The price is the same.Possible values:
low, highstring
default:"\"720p\""
Resolution of the generated video. 1080p costs more per second than 720p.Possible values:
720p, 1080pinteger
Random seed. A random seed is selected when omitted.
GET /v2/models/fal/flux-3-max/openapi.json, the same document it validates a call against before the request reaches the provider.
Output
integer
The seed used for the generation.
object
Timing breakdown in seconds.
object
required
The generated video file.
string
MIME type of the video file.
number
Duration of the video in seconds.
string
Name of the video file.
integer
Size of the video file in bytes.
number
Frame rate of the video.
integer
Height of the video in pixels.
integer
Number of frames in the video.
string
required
URL of the generated video.
integer
Width of the video in pixels.
Examples
Input
Output
Before you ship
The SDKs create anIdempotency-Key and reuse it for automatic retries. For manual retries, reuse the original key. Router can hold the connection for up to 10 minutes.
When a request fails, Router sends an X-Comfy-Error-Type response header explaining why. A 422 means Router rejected the input before calling the provider, and a 413 means the request body was larger than Router accepts. Download generated assets promptly because result URLs can expire.
Any size limit named in a field description above is the provider’s own bound on that field, quoted from the provider’s specification. Router applies a separate cap to the whole request body, which base64-encoded media counts against: see request body size.
This page documents one partner model called through Comfy Router. The same comfy-sdk / @comfyorg/sdk package also ships a second client, for running a whole ComfyUI workflow graph on Comfy Cloud: Comfy(api_key=...) / new Comfy({ apiKey }), with client.workflows, client.assets and client.jobs. See Comfy SDKs.
Headers
Authentication, idempotency, request IDs, error buckets, retry pacing, spend limits.
Using the Router API
Model discovery, validation errors, retries, and billing.
Limitations
What Router does not do today, and what to use instead.