Skip to main content
When you call a Model API, your inputs and outputs can be stored in Dashboard > Recent History, and uploaded and generated media can be stored on the fal CDN. This page explains the retention controls available to you as an API caller. If you deploy your own apps, see Serverless Data Retention & Storage for your responsibilities as an app owner, including application logs and persistent storage.

Zero Data Retention (ZDR)

For inference workloads, fal supports Zero Data Retention (ZDR) configurations involving prompts, uploaded media, generated outputs, and content-bearing logs. If you require no retention after processing, contact the sales team to confirm ZDR availability and coverage for your endpoints. ZDR is not enabled by default. Disabling request payload storage is one part of a ZDR configuration. It does not disable every place where content can be stored. The model deployment owner controls application logging and application-managed persistent storage. The request-history and CDN headers do not configure these deployment behaviors. If a model is not marked Enterprise-ready, contact us before using it for ZDR workloads.

Generated Media (CDN Files)

When a model generates output files, they are uploaded to the fal CDN and returned as URLs (e.g., https://v3b.fal.media/files/...). Files you upload as inputs via fal_client.upload_file are also stored on the CDN. Both input uploads and output media are subject to the same retention controls. You can ask your fal account team to configure a default CDN expiration for your account. The per-request header takes precedence over this default.

Per-Request Expiration

Control how long generated media is stored using the X-Fal-Object-Lifecycle-Preference header:
Set expiration_duration_seconds to the number of seconds, or null for no expiration.
Expired files are permanently deleted and cannot be recovered. Download files before they expire if you need them later.
The same X-Fal-Object-Lifecycle-Preference header also accepts an initial_acl field that controls who can access the generated files, in addition to how long they live. See File Access Controls for the full ACL shape and examples that combine retention with access rules.

Request Payloads

Request inputs and outputs are stored in the platform for 90 days by default. This powers the request history in your dashboard.

Preventing Payload Storage

To prevent fal from retaining inputs and outputs in request history, add the X-Fal-Store-IO: 0 header:
This controls request-history payload storage only. CDN files have separate retention controls. The model deployment owner controls application logging. See Zero Data Retention (ZDR) for the full scope to consider.

Deleting Payloads

You can delete a request’s payloads and the CDN files in its output via the Platform API:

Delete Request Payloads API

Delete IO payloads and CDN output files for a specific request
Requests must be completed before deletion: You cannot delete payloads for a request that is still in progress. The API returns a 400 error if the request has not yet finished. Retry once the request is complete.
CDN files found in the input of a request are not deleted, as they may be used by other requests. To delete individual input files, use the CDN file deletion endpoint.

Summary