Falai/workflows
fal.ai Workflows — workflow definitions
2026.10.21.1
Changed: The README, the apiToken description and the missing-key error
now direct you to store the fal.ai API key in a vault
(swamp vault put falai API_KEY) and wire it with
--global-arg 'apiToken=${{ vault.get("falai", "API_KEY") }}'. The README
previously showed --global-arg apiToken=FAL_API_KEY, which invited passing the
key as a literal. The FAL_KEY environment variable is still read as a
fallback, but it is not redacted and is not recommended.
No method behavior changed. Stored resources need no migration.
Global Arguments
| Argument | Type | Description |
|---|---|---|
| apiToken? | string | fal.ai API key. Wire it with ${{ vault.get("falai", "API_KEY") }}; never pass the literal value. The FAL_KEY environment variable is read as a fallback, but it is not redacted and is not recommended. |
| Argument | Type | Description |
|---|---|---|
| limit? | number | Maximum number of items to return. Actual maximum depends on query type and expansion parameters. |
| cursor? | string | Pagination cursor from previous response. Encodes the page number. |
| search? | string | Search by workflow name or title |
| used_endpoint_ids? | union | Filter by model endpoint IDs used in the workflow. Can be a single value or comma-separated values. |
| Argument | Type | Description |
|---|---|---|
| name | string | Unique workflow name/slug within the user's namespace |
| title | string | Human-readable workflow title |
| contents | object | The workflow definition/configuration object |
| is_public? | boolean | Whether the workflow is publicly visible |
| Argument | Type | Description |
|---|---|---|
| username | string | The username of the workflow owner |
| workflow_name | string | The workflow name/slug |
Resources
2026.10.14.1
Added: The manifest now declares license: Apache-2.0 (SPDX). The registry quality rubric scores a declared license separately from the bundled LICENSE.md.
Upgrade note: Metadata only. No code, schema, or behavioral changes.
2026.10.07.1
Fixed: A stalled fal.ai request no longer hangs the method. Every request now has a 60-second deadline that covers the response body, and a timeout raises an error naming the HTTP method and URL.
Fixed: An empty 2xx response body (such as a 202 or 204) is handled
explicitly. Paginated list calls treat it as an empty page instead of failing
with a bare SyntaxError. Methods that must return data (get, create, update,
and unpaginated list) raise an error naming the HTTP method and path instead of
failing later with a TypeError. Delete and action methods still accept an
empty body. A malformed JSON body now raises an error that names the HTTP
method, path, and status code.
Changed: A Retry-After header on a 429 response is capped at 30 seconds
per retry, so a large value can no longer stall a call for minutes. Retry count
is unchanged.
No methods, arguments, or resource schemas changed. Apart from the hardening above, behavior is the same as the previous version.
2026.09.18.1
Upgrade note: Normalized npm:zod dependency version to 4.6.5 across the
repo. No behavioral changes in this extension.
2026.09.17.1
Response schema fields are now generated as optional/nullable-optional regardless of the spec's required list, so reading a resource stored under an older model version no longer throws Required when the live API adds a new required field. No API surface change for this extension.
2026.09.15.1
Changed: Bump zod 4.4.3 → 4.6.5
2026.09.10.4
Fixed:
- Resource instance names for get/update methods with two or more path
parameters (e.g.
get_app_queue_info(owner, name),get_workflow(username, workflow_name)) were built by joining raw values with"_". Two distinct owner/name pairs that split differently around an underscore (e.g."john"/"doe_app"and"john_doe"/"app") produced the identical instance name and collided. Multi-param instance names are now derived from a hash of the JSON-encoded parameter tuple, which delimits each part unambiguously.
Upgrade note: No schema changes. All fixes are internal to method execution; existing stored resources are unaffected.
2026.09.10.4
Fixed:
- Resource instance names for get/update methods with two or more path
parameters (e.g.
get_app_queue_info(owner, name),get_workflow(username, workflow_name)) were built by joining raw values with"_". Two distinct owner/name pairs that split differently around an underscore (e.g."john"/"doe_app"and"john_doe"/"app") produced the identical instance name and collided. Multi-param instance names are now derived from a hash of the JSON-encoded parameter tuple, which delimits each part unambiguously.
Upgrade note: No schema changes. All fixes are internal to method execution; existing stored resources are unaffected.
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License2/2earned
- Verified public repository2/2earned