Skip to content

Artificial Intelligence · Beta

Fal.ai
API integration

Ship Artificial Intelligence features without building the integration. Full Fal.ai API access via Proxy and 70+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Built for specific customer use cases. Issues are resolved quickly.

Talk to us
Fal.ai

Use Cases

Why integrate with Fal.ai

Common scenarios for SaaS companies building Fal.ai integrations for their customers.

01

Embed Multimodal Generation in Your SaaS

Offer your users AI image, video, audio, and 3D generation without building GPU infrastructure. Route requests to 600+ frontier models (FLUX, SD3, Kling, Veo) through a single connection your users authorize once.

02

Meter and Bill AI Consumption to End Users

Pull granular per-endpoint usage and billing events from each customer's Fal.ai workspace to enforce quotas, throttle heavy users, or pass compute costs directly through to their invoice.

03

Ship Brand-Consistent Asset Generation

Let your users create reusable Characters and Collections in Fal.ai so every generation stays on-brand — critical for e-commerce product studios, game asset pipelines, and marketing content platforms.

04

Automate Multi-Step Media Pipelines

Chain Fal.ai workflows programmatically (text → image → upscale → video) inside your product, with queue monitoring and signed CDN URLs so end-user assets flow securely into your app.

05

Provision Isolated AI Environments per Client

Agency and workspace tools can spin up scoped API keys, storage settings, and collections for each of their end clients — keeping generations, spend, and assets cleanly separated.

What You Can Build

Ship these features with Truto + Fal.ai

Concrete product features your team can ship faster by leveraging Truto’s Fal.ai integration instead of building from scratch.

01

Model Catalog Browser

List and surface all 600+ Fal.ai models with live pricing so your users can pick the right model for a job directly inside your UI.

02

Cost Estimator Before Generation

Call the pricing estimate endpoint to show users the exact expected cost of a generation run before they hit submit.

03

Character & Collection Library

Give users a native interface to create, favorite, and organize Fal.ai characters and asset collections for consistent brand or IP generation.

04

Usage & Billing Dashboard

Aggregate model usages, analytics, and billing events into your own dashboard so customers see per-endpoint spend, request volume, and quota consumption.

05

Async Queue Monitoring

Poll queue status and serverless metrics to expose live progress bars, retry failed jobs, and bulk-clear stuck queues for bulk media rendering workflows.

06

Signed Asset Delivery

Generate signed file URLs on the fly so end-user generations can be delivered securely to browsers, game engines, or downstream CDNs.

SuperAI

Fal.ai AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_fal_ai_models

List and search fal model endpoints. Returns a model object with endpoint_id and metadata. No required parameters. Supports filtering by endpoint_id, q, category, status, and expand.

list_all_fal_ai_models_pricings

List pricing for fal model endpoints. Returns: next_cursor, has_more, prices. Accepts 1-50 endpoint IDs. Required: endpoint_id.

create_a_fal_ai_pricing_estimate

Estimate usage costs for fal endpoints. Returns: estimate_type, total_cost, currency. Use historical_api_price with call_quantity per endpoint, or unit_price with unit_quantity per endpoint.

list_all_fal_ai_models_usages

List fal model usage records for your workspace. Returns paginated time_series buckets, next_cursor, and has_more. Optional: start, end, endpoint_id, api_key_id, login_username, timeframe, expand.

list_all_fal_ai_models_analytics

List time-bucketed analytics for fal model endpoints. Returns time_series buckets with per-bucket metrics (request_count, success_count, latency percentiles, error breakdowns), plus next_cursor and has_more. Use expand to choose which metrics are populated. Required: endpoint_id.

list_all_fal_ai_models_billing_events

List individual billing events in fal. Returns: next_cursor, has_more, billing_events. Date range capped at 90 days and max 10,000 records per page.

fal_ai_request_payloads_bulk_delete

Delete request payloads and CDN output files for a specific fal.ai request. Returns: cdn_delete_results. Only output CDN files are deleted; input files may be shared with other requests. This action is irreversible. Required: request_id.

list_all_fal_ai_models_requests_by_endpoints

List requests by endpoint for one or more fal models. Returns: request_id, endpoint_id, started_at, sent_at, ended_at, status_code, duration, json_input, json_output. Accepts 1-50 endpoint IDs as comma-separated values. Defaults to the last 24 hours unless request_id is provided. Required: endpoint_id.

list_all_fal_ai_serverless_requests_by_endpoints

List serverless requests for one or more fal endpoints owned by the authenticated user. Returns: request_id, endpoint_id, started_at, sent_at, ended_at, status_code, duration, json_input, json_output, runner_id, billable_units. Supports 1–50 endpoint IDs. Required: endpoint_id.

list_all_fal_ai_requests_searches

Search and filter your fal request history. Supports semantic search via query, image_url, or video_url; filtered browse; or a combination of both. Returns request items with request_id, endpoint_id, started_at, sent_at, status_code, and duration. Optional: endpoint_id, endpoint, exclude_api_requests, only_api_requests, min_similarity. query, image_url, and video_url are mutually exclusive.

list_all_fal_ai_workflows

List workflows for the authenticated fal user. Returns: name, title, user_nickname, created_at, thumbnail_url, description, tags, endpoint_ids. Supports optional search by name or title and filtering by used_endpoint_ids.

create_a_fal_ai_workflow

Create a new workflow in fal. Returns the created workflow including name, title, user_nickname, created_at, is_public, and contents. Workflow names must be unique within your namespace. Required: name, title, contents.

get_single_fal_ai_workflow_by_id

Get detailed information about a specific fal workflow, including its full contents/definition. Returns the workflow object including its name, title, user_nickname, created_at, is_public, and contents. Required: username, workflow_name.

list_all_fal_ai_assets

Browse and semantically search fal assets across media, uploads, favorites, collections, tags, and character references. Returns asset records with vector_id, request_id, url, type, title, endpoint, created_at, source, prompt, width, height, content_type, is_favorited, collection_ids, tags, and similarity.

get_single_fal_ai_asset_by_id

Get a single fal asset by vector id. Returns the asset object under the `asset` key, including vector_id, request_id, url, type, title, endpoint, created_at, source, prompt, width, height, content_type, is_favorited, collection_ids, tags, and similarity. Required: id.

list_all_fal_ai_asset_tags

List asset tags for a fal asset by vector id. Returns each tag with id, name, and created_at. Vectors not saved as assets return an empty list. Required: vector_id.

list_all_fal_ai_assets_collections

List asset collections in the authenticated user's fal Assets library. Returns: collections, name, description.

create_a_fal_ai_assets_collection

Create an asset collection in the authenticated user's fal Assets library. Returns: collection, name, description. Required: name.

get_single_fal_ai_assets_collection_by_id

Get an asset collection by id from the authenticated user's fal Assets library. Returns: collection, id, type, name, description, icon, color, cover_image_url, character_identifier, parent_collection_id, is_favorited, filters, asset_count, created_at, updated_at. Required: id.

update_a_fal_ai_assets_collection_by_id

Update an asset collection by id in the authenticated user's fal Assets library. Returns: collection, id, type, name, description, icon, color, cover_image_url, character_identifier, parent_collection_id, is_favorited, filters, asset_count, created_at, updated_at. Required: id.

delete_a_fal_ai_assets_collection_by_id

Delete an asset collection by id from the authenticated user's fal Assets library. Returns an empty 204 response on success. Required: id.

create_a_fal_ai_collection_favorite

Favorite an asset collection in the authenticated user's fal Assets library. Returns the collection object with its id, name, type, is_favorited status, and timestamps. Required: collection_id.

create_a_fal_ai_collection_unfavorite

Unfavorite an asset collection in fal. Returns the collection with id, name, type, is_favorited, and updated_at. Required: collection_id.

create_a_fal_ai_collection_move

Move a manual asset collection in fal under another collection or to the top level. Returns the moved collection object including its id, type, name, parent_collection_id, and updated_at. Only manual collections can be moved; nesting is limited to 5 levels and cannot create a cycle. Required: collection_id, parent_collection_id.

list_all_fal_ai_collection_assets

Browse assets in a fal collection. Returns: assets, next_cursor, has_more, total_count. Supports semantic text/image/video search and filters for media_type, source, section, tag_id, and tag_mode. Required: collection_id.

create_a_fal_ai_collection_asset

Add an asset to a fal collection. Returns: success. Provide either request_id or vector_id. Required: collection_id.

fal_ai_collection_assets_bulk_delete

Remove an asset from a fal collection. Returns an empty 204 response on success. Provide either request_id or vector_id. Required: collection_id.

list_all_fal_ai_assets_characters

List asset characters in the authenticated user's fal Assets library. Returns each character's id, name, type, description, reference_images, is_favorited, created_at, updated_at, and asset_count.

create_a_fal_ai_assets_character

Create an asset character in the authenticated user's fal Assets library. Returns the new character object including id, name, type, description, reference_images, created_at, and updated_at. Required: name, description, reference_images.

get_single_fal_ai_assets_character_by_id

Get a single asset character by id from the authenticated user's fal Assets library. Returns the character object including id, name, type, description, reference_images, created_at, and updated_at. Required: id.

update_a_fal_ai_assets_character_by_id

Update an asset character in the authenticated user's fal Assets library. Returns the updated character object including id, name, type, description, reference_images, created_at, and updated_at. Required: id.

delete_a_fal_ai_assets_character_by_id

Delete an asset character by id from the authenticated user's fal Assets library. Returns an empty 204 response on success. Required: id.

create_a_fal_ai_character_favorite

Favorite a fal asset character in the authenticated user's Assets library. Returns the favorited character object including its id, name, is_favorited, created_at, and updated_at. Required: character_id.

create_a_fal_ai_character_unfavorite

Unfavorite a character in fal Assets. Returns the `character` record with id, name, type, is_favorited, and created_at. Required: character_id.

list_all_fal_ai_assets_tags

List asset tags in the authenticated user's fal Assets library. Returns: id, name, created_at.

create_a_fal_ai_assets_tag

Create an asset tag in the authenticated user's fal Assets library. Returns: tag, name. Required: name.

fal_ai_assets_tags_bulk_update

Set the full replacement set of tags for an asset in fal. Returns: tags. Required: tag_ids.

update_a_fal_ai_assets_tag_by_id

Update an asset tag in the authenticated user's fal Assets library. Returns: tag. Required: id.

delete_a_fal_ai_assets_tag_by_id

Delete an asset tag in the authenticated user's fal Assets library by id. Returns an empty 204 response on success. Required: id.

fal_ai_assets_tags_assign

Assign a tag to a fal asset. Provide a request_id or vector_id to identify the asset; unresolved references are materialized before the tag is added. Returns: success. Required: tag_id.

fal_ai_assets_tags_unassign

Remove a tag from a fal asset. Provide a request_id or vector_id to identify the asset. Returns an empty 204 response on success. Required: tag_id.

create_a_fal_ai_assets_upload

Upload a media asset to the authenticated user's fal Assets library. Returns the uploaded asset in the `asset` field (vector_id, type, url, created_at, tags, and collection_ids). Required: url, type.

create_a_fal_ai_assets_favorite

Favorite an asset in fal by providing request_id or vector_id. Unresolved references are materialized before the favorite state is applied. Returns: is_favorited.

create_a_fal_ai_assets_unfavorite

Unfavorite a fal asset by request_id or vector_id. Returns: is_favorited.

list_all_fal_ai_files_acls

Get the Access Control List currently applied to a fal CDN file. Returns the ACL object including default decision and rules with per-user user and decision values. Required: url.

fal_ai_files_acls_bulk_update

Replace the Access Control List of a fal CDN file. Returns the ACL object including default decision and rules with per-user user and decision values. Rules referencing unknown users are dropped. Required: url, default.

create_a_fal_ai_files_sign

Create a signed URL for a fal CDN file. Returns: signed_url. expiration_seconds must be between 1 and 604800 seconds (7 days). Required: url, expiration_seconds.

list_all_fal_ai_storage_settings

Get the account-level fal storage settings applied to newly uploaded CDN files. Returns: expiration_duration_seconds, initial_acl. Both fields are null if settings have never been saved.

fal_ai_storage_settings_bulk_update

Replace the account-level fal storage settings for newly uploaded CDN files. Returns: expiration_duration_seconds, initial_acl.default, and initial_acl.rules. Send the full configuration because omitted or null fields are reset to system defaults.

list_all_fal_ai_serverless_analytics

List time-bucketed analytics for your fal serverless endpoints. Returns time_series buckets and pagination fields next_cursor and has_more. expand must include at least one of time_series or summary plus a metric. Required: endpoint_id.

list_all_fal_ai_queues

Get the current queue size for a specific fal application. Returns the app queue status object, which contains only queue_size, the number of pending requests. Required: owner, name.

fal_ai_queues_bulk_delete

Flush all pending requests from a fal application queue. Returns an empty 204 response on success. This operation is irreversible and cancels pending requests; in-progress requests are not affected. Required: owner, name.

list_all_fal_ai_files_lists

List files and folders in the root of your fal project storage. Returns: path, name, created_time, updated_time, is_file, size, checksum_sha256, checksum_md5.

get_single_fal_ai_files_list_by_id

List files and folders in a specific fal project directory. Returns: path, name, created_time, updated_time, is_file, size, checksum_sha256, checksum_md5. Required: dir.

list_all_fal_ai_files

Download a file from fal by its path. Returns the raw file stream as application/octet-stream. Required: file.

create_a_fal_ai_file_url

Upload a file into fal from a publicly accessible URL. Returns a boolean indicating whether the upload was initiated successfully. Required: file, url.

create_a_fal_ai_file_local

Upload a local file to fal. Returns a boolean success flag on completion. Optionally set unzip to true to extract ZIP uploads. Required: target_path.

list_all_fal_ai_serverless_metrics

Get Prometheus-compatible serverless metrics from fal. Returns a plain-text Prometheus exposition format string containing runner, queue, request, and latency metrics. No caller parameters required.

create_a_fal_ai_logs_history

Retrieve paginated historical log entries from fal. Returns: next_cursor, has_more, items. All query parameters are optional; label filter objects require key and value.

create_a_fal_ai_logs_stream

Start a live Server-Sent Events stream of fal logs matching the provided filters. Returns a text/event-stream of log entries including timestamp, level, message, app, revision, and labels.

list_all_fal_ai_serverless_usages

List time-bucketed serverless compute usage for your fal account. Returns next_cursor, has_more, and time_series with app, machine_type, quantity, cost, currency, and is_surge. Filter by start, end, app, search, timeframe, timezone, and expand.

list_all_fal_ai_compute_instances

List compute instances in fal. Returns: next_cursor, has_more, instances.

create_a_fal_ai_compute_instance

Create a new compute instance in fal. Returns the created instance including id, instance_type, region, and status. Required: instance_type, ssh_key.

get_single_fal_ai_compute_instance_by_id

Get a single compute instance by id in fal. Returns: id, instance_type, region, sector, ip, status, creator_user_nickname. Required: id.

delete_a_fal_ai_compute_instance_by_id

Delete a compute instance by id in fal. Returns an empty 204 response on success. Required: id.

list_all_fal_ai_keys

List fal API keys in the authenticated workspace. Returns: next_cursor, has_more, keys.

create_a_fal_ai_key

Create a new fal API key with a friendly alias. Returns: key_id, key_secret, key. The key_secret is returned only once. Required: alias.

delete_a_fal_ai_key_by_id

Delete a fal API key by id. Returns an empty 204 response on success. Deletion is irreversible and idempotent. Required: id.

list_all_fal_ai_account_billings

Get billing information for the authenticated fal account. Returns: username, credits. The credits object includes current_balance and currency when expanded. Optional: expand.

list_all_fal_ai_account_focus

Download a FOCUS compliant billing report from fal. Returns a CSV report containing usage charges, credits, and taxes. Enterprise-only; usage estimates support a maximum 90-day lookback. Required: source.

list_all_fal_ai_account_model_access_controls

Download the model access controls report for your fal organization. Returns a CSV string with endpoint ID, title, category, enterprise readiness, and resolved UI and API access states (ALLOWED or BLOCKED). Enterprise customers with model access controls enabled only.

list_all_fal_ai_organization_teams

List all teams in your fal organization. Returns the teams array, where each team includes username, name, is_org_root, and created_at. Enterprise organizations only.

list_all_fal_ai_organization_usages

List organization-wide usage records across all fal teams and product lines. Returns: next_cursor, has_more, time_series, summary. Supports filtering by team, product, endpoint, and date range. At least one of 'time_series' or 'summary' must be requested via expand. Enterprise-only.

list_all_fal_ai_metas

Get platform metadata from fal. Returns: webhook_ip_ranges.

Why Truto

Why use Truto’s MCP server for Fal.ai

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with Fal.ai in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Fal.ai account

Use Truto’s frontend SDK to connect your customer’s Fal.ai account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Fal.ai

Truto’s Proxy API is a 1-to-1 mapping of the Fal.ai API. You call us, we call Fal.ai, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Fal.ai’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Fal.ai on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How do end users connect their Fal.ai account?

Fal.ai uses API key authentication. Through Truto's connect flow, your end users paste their Fal.ai key once, and Truto securely stores and injects it on every request made through the integration.

Which Fal.ai capabilities are exposed through the integration?

The integration covers model discovery and pricing, workflows, assets/characters/collections/tags, file storage and ACLs, queues and compute instances, serverless metrics and logs, API key management, and account-level usage, billing, and FOCUS reporting.

Can we track per-user AI spend for billing pass-through?

Yes. The list_all_fal_ai_models_usages, list_all_fal_ai_models_billing_events, and list_all_fal_ai_account_focus tools return time-bucketed, endpoint-level consumption and FOCUS-compliant billing data you can attribute back to your own users.

Does the integration support bring-your-own-LoRA workflows?

Yes. You can programmatically create workflows, manage characters and assets, upload files, and invoke any Fal.ai model — including custom fine-tunes your users have deployed on their Fal.ai account.

How do we handle long-running generation jobs?

Use the queue and serverless request endpoints to submit jobs, poll status via list_all_fal_ai_queues and list_all_fal_ai_serverless_requests_by_endpoints, and fetch serverless metrics to monitor throughput. Bulk-delete tools let you clear stuck or backed-up queues.

How are generated media files delivered to our app?

Fal.ai returns CDN-hosted file references. You can list files, create file URLs, and call create_a_fal_ai_files_sign to produce signed URLs for secure, time-limited delivery into your product.

Can we provision isolated API keys per end customer?

Yes. The create_a_fal_ai_key and delete_a_fal_ai_key_by_id tools let workspace or agency products issue and revoke scoped Fal.ai keys per client, keeping usage and access cleanly separated.

Fal.ai

Get Fal.ai integrated into your app

Our team understands what it takes to make a Fal.ai integration successful. A short, crisp 30 minute call with folks who understand the problem.