How fal stores your request data and generated media, and how to control retention.
Every request to fal produces data that is stored on the platform: the JSON inputs and outputs of your request (viewable in Dashboard > Recent History), and the actual media files generated by the model (images, videos, audio) hosted on the fal CDN. This page explains how long each type of data is retained and how to control that retention.Understanding retention matters for compliance, cost, and privacy. Generated media files are stored on the CDN and served as public URLs. Request payloads (the JSON data) are stored separately and power the request history in your dashboard. Each has its own default retention and its own header for overriding it. If you are using persistent storage (/data volume), those files are retained indefinitely and managed manually.
When your app generates output files, they are uploaded to the fal CDN and returned as URLs (e.g., https://v3.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.
This prevents storage of the JSON payloads only. CDN files generated during processing are still accessible (subject to the media expiration setting above).