Skip to main content
fal provides persistent file storage at /data that is shared across all your runners and applications. Use it to store model weights, datasets, and any files your apps need.

Using /data in Your App

The /data directory is automatically mounted on every runner. Files you write there persist between requests and across deployments.
/data is an eventually-consistent distributed filesystem. When writing files, use atomic operations (write to a temp file, then move) to avoid race conditions if multiple runners write simultaneously.

Uploading Files

Dashboard

Navigate to Dashboard > Files to manage your files visually:
  • Drag and drop files to upload
  • Upload from URL to pull files from external sources
  • Organize files in folders
  • Download, copy paths, or delete files

SDK

Upload files programmatically from your code:

CLI

Upload and manage files using the fal CLI:

REST API

For direct integration, use the Platform APIs:
  • POST /serverless/files/file/local/{target_path} — Upload a file directly
  • POST /serverless/files/file/url/{file} — Upload from a URL
  • GET /serverless/files/list — List files
  • GET /serverless/files/file/{file} — Download a file

Platform API Reference

See the full file management API specification

Storage Details

CDN File Uploads

When your app generates output files (images, videos, audio), they’re uploaded to fal’s CDN and returned as URLs. These are separate from /data storage — see Media Expiration to control how long CDN files are retained.