key=value labels to a request. fal stores the tags with the request, and reports usage and estimated cost against them. Use tags to attribute spend to your own dimensions, such as a team, an environment, or a feature.
Tags do not change how fal runs a request. They do not change the price, and the model does not receive them.
Availability: Tag reporting must be enabled for your account. Contact your account team or support@fal.ai to request access. Until fal enables it, you can send tags, but no report shows them.
Send Tags
Send theX-Fal-Tags header on the request. Pack every tag into one header value and separate the tags with commas.
A
tags option is on the way in the fal clients. It takes a key=value mapping, checks it against the limits below, and packs it into this one header. Until that option ships, set the header yourself.Format and Limits
fal splits each tag on the first
= character, so a value can contain more = characters. fal also removes the spaces around a key and a value.
If you send the same key two times, the last value wins.
The limits count every tag you send, before fal removes the duplicate keys.
Reserved Keys
Keys that start withfal. are reserved for fal. The gateway drops a reserved key from your input.
Invalid Tags
The gateway never fails a request because of a tag. It drops each tag that breaks a rule, and it keeps the rest. The gateway still runs a request that has no valid tag. When the gateway drops any tag content, the response carriesX-Fal-Tags-Dropped: 1. The response does not carry the header when the gateway keeps every tag. The header reports only that a drop happened. It does not report which tag, and it does not report the reason.
Check for this header while you introduce tagging. It is the signal that your tags break one of the rules above.
The client subscribe() method does not return the response headers. To read the header, send the request with curl -i or with your own HTTP client.
Activation
fal reports on activatedkey=value pairs only, and only for an account that has tag reporting enabled. fal does both steps for you. When you request access, tell your account team or fal support which tag keys and values to report on.
fal keeps the tags you send before activation. Those tags appear in your reports after fal activates them, so you do not lose the history.
Keep to a small, stable set of keys, such as env, team, and feature. Each account has a cap on the number of activated keys, and a cap on the number of values per key.
Where Tags Appear
After fal activates your tags, the tags appear in two places.- Usage. Group and filter your usage by an activated tag on the Usage & Billing page in the dashboard.
- FOCUS export. The FOCUS cost and usage report can fill its
Tagscolumn from your activated tags. Call the FOCUS endpoint withsource=tagged-estimate. An organization root uses the same source on the organization FOCUS endpoint.
invoice and estimate, leave the Tags column empty. The FOCUS report is an enterprise feature, so ask fal support to enable it for your account.
Tag breakdowns update about every 15 minutes. In this phase both surfaces report estimated cost, not invoiced cost.
Coverage
Tag reporting covers authenticated, per-request-billed calls to fal Model APIs. That is the traffic that produces a per-request cost. These paths do not report tagged cost in this phase.- Realtime and WebSocket connections. fal does not capture tags on a WebSocket connection.
- Your own deployed apps. fal captures the tags on the request. Per-request cost attribution for a deployed app is not available yet.