Understand the difference between organizing media, removing library assets, and deleting or expiring files.
An asset’s place in your library, its underlying media file, and its generation’s request data have different lifetimes. Choose the operation that matches what you want to remove.
Media files follow the storage lifetime applied to them. Enabling Assets, placing a file in a collection, or sharing a collection does not itself extend a file’s lifetime.If a file expires, it can no longer be downloaded or reused as a reference. A saved entity or recorded generation relationship does not preserve an expired file. Download a copy before expiry when you need to keep the media outside fal.See Data retention and storage for CDN lifecycle controls and request-payload retention. For work created in Agent, also see Agent retention.
To delete a completed generation’s stored request payloads and associated CDN output files, use Delete request payloads. Input files are not deleted by that operation because they can be used by other requests.Do not use the library’s delete action as a substitute for deleting generation files or revoking access to a URL. See File access controls to manage file access.
Stopping a collection share revokes that viewing link. It does not remove files already downloaded by recipients. A share’s expiry is separate from file expiry.
Was this page helpful?
⌘I
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"fal","colors":{"primary":"#5718C0","light":"#C0B1FF","dark":"#5718C0"},"logo":{"light":"https://mintcdn.com/fal-d8505a2e/0cIaYtN4gA36hPQJ/logo/light.svg?fit=max\u0026auto=format\u0026n=0cIaYtN4gA36hPQJ\u0026q=85\u0026s=4b6014d36569092b761c871db9df6a41","dark":"https://mintcdn.com/fal-d8505a2e/0cIaYtN4gA36hPQJ/logo/dark.svg?fit=max\u0026auto=format\u0026n=0cIaYtN4gA36hPQJ\u0026q=85\u0026s=c1760d019183048af07d008cd2377ca4","href":"https://fal.ai/docs"},"favicon":"https://mintcdn.com/fal-d8505a2e/8WsQEbl1OYp5vQ4g/favicon.svg?fit=max\u0026auto=format\u0026n=8WsQEbl1OYp5vQ4g\u0026q=85\u0026s=9b5e82f7c6b96d136d51bce8e2cdd0e2","api":{"params":{"expanded":"all"},"playground":{"display":"interactive","proxy":false},"examples":{"defaults":"required","languages":["curl","python","javascript"],"prefill":true}},"appearance":{"default":"light"},"navbar":{"links":[{"href":"https://fal.ai/enterprise#contact-sales","label":"Contact Sales"}],"primary":{"type":"button","label":"Login","href":"https://fal.ai/login"}},"footer":{"socials":{"discord":"https://discord.gg/fal-ai","x":"https://twitter.com/fal","github":"https://github.com/fal-ai","linkedin":"https://www.linkedin.com/company/features-and-labels"}},"seo":{"metatags":{"og:image":"/logo/light.svg","google-site-verification":"kcN2RYfXHsfUeWlkX6-E32JdCXwUdHA5w5NIXr2xWTY"},"organization":{"id":"https://fal.ai/#organization","legalName":"Features \u0026 Labels Inc.","url":"https://fal.ai/","logo":"https://fal.ai/apple-touch-icon.png","sameAs":["https://discord.gg/fal-ai","https://github.com/fal-ai","https://www.reddit.com/r/fal/","https://twitter.com/fal","https://www.linkedin.com/company/features-and-labels/","https://www.youtube.com/@Fal.AI.Official","https://www.instagram.com/madeonfal","https://www.tiktok.com/@madeonfal"]}},"fonts":{"heading":{"family":"Focal","source":"https://mintlify-assets.b-cdn.net/fonts/Focal-Regular-Web.woff2","format":"woff2"},"body":{"family":"Public Sans"}},"styling":{"eyebrows":"breadcrumbs","latex":true},"integrations":{"posthog":{"apiKey":"phc_BkrygUwvQjwRHnwDjFQtoY77ts2fse3HVTHQUJk5BNO","apiHost":"https://us.i.posthog.com"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"markdown":{"instructions":["fal has two developer products. Model APIs run hosted models through an API key. fal Serverless deploys your own Python apps and models on fal GPUs.","To call a hosted model, start with the [Quick Start](https://fal.ai/docs/documentation/quickstart.md) and the [Model APIs overview](https://fal.ai/docs/documentation/model-apis/overview.md).","To deploy your own model with fal Serverless, start with these pages:","- [Introduction to Serverless](https://fal.ai/docs/documentation/serverless/index.md): What fal Serverless is and the three ways to deploy on it.","- [Installation \u0026 Setup](https://fal.ai/docs/documentation/development/getting-started/installation.md): Install the fal CLI with `pip install fal` and authenticate.","- [Quick Start](https://fal.ai/docs/documentation/development/getting-started/quick-start.md): Build a Hello World app, test it with `fal run`, and ship it with `fal deploy`.","- [App Lifecycle](https://fal.ai/docs/documentation/development/app-lifecycle.md): How a `fal.App` goes from code to running runners.","- [Define Your Endpoints](https://fal.ai/docs/documentation/development/endpoints-overview.md): Structure the API endpoints that your app exposes.","- [Deploy to Production](https://fal.ai/docs/documentation/deployment/deploy-to-production.md): Persistent URLs, authentication modes, and automatic scaling.","- [Machine Types](https://fal.ai/docs/documentation/deployment/machine-types.md): Available GPU and CPU machine types and how to choose one.","- [Pricing](https://fal.ai/docs/documentation/serverless/pricing.md): Per-second billing and the runner states that are billed.","- [Scaling Parameter Reference](https://fal.ai/docs/documentation/deployment/scale-your-application.md): Parameters that control runners, concurrency, and scale to zero.","- [Optimizing Cold Starts](https://fal.ai/docs/documentation/serverless/optimizations/optimize-cold-starts.md): Causes of cold starts and ways to make them shorter.","- [Examples](https://fal.ai/docs/examples/index.md): Complete Serverless apps for image, video, audio, 3D, realtime, and multi-GPU workloads.","- [Migrating to fal](https://fal.ai/docs/documentation/development/migrating-to-fal.md): Guides to move an existing Docker server or an app from another platform to fal.","fal Serverless deploys need access that the fal team approves for each account. Request access at https://fal.ai/dashboard/serverless-get-started."]},"navigation":{"global":{"anchors":[{"anchor":"Status","icon":"signal","href":"https://status.fal.ai/"},{"anchor":"Community","icon":"discord","href":"https://discord.gg/fal-ai"},{"anchor":"Blog","icon":"newspaper","href":"https://blog.fal.ai/"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"fal-d8505a2e","hasAudioNarration":false,"actualSubdomain":"fal-d8505a2e","customDomains":["fal.ai"],"gitSource":{"type":"github","owner":"fal-ai","repo":"fal-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af63ed8a3c3fda906f0e872","clientVersion":"0.0.4117","searchFilterCounts":[{"language":"default","tag":"Documentation","count":199},{"language":"default","tag":"Model API Reference","count":138},{"language":"default","tag":"Serverless","count":100},{"language":"default","tag":"Platform API","count":86},{"language":"default","tag":"API Endpoints","count":83},{"language":"default","tag":"Image Generation","count":60},{"language":"default","tag":"Video Generation","count":60},{"language":"default","tag":"SDK Reference","count":55},{"language":"default","tag":"fal Agent","count":45},{"language":"default","tag":"Development","count":37}]},"assistantConfig":{"enableAskAiButton":true,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@fal.ai","showHelpButton":true}},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-bash","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"@font-face{font-family:'Focal Medium';src:url('https://mintlify-assets.b-cdn.net/fonts/Focal-Medium-Web.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}#content-area::after{content:'';position:fixed;top:80px;right:24px;width:85px;height:225px;background:url('/docs/images/page-decoration.svg') no-repeat center;background-size:contain;pointer-events:none;z-index:10;opacity:0.8}.dark #content-area::after{opacity:0.4}@media (max-width: 1325px){#content-area::after{display:none}}#content-area,#content-area>div,[class*=\"prose\"]{max-width:900px!important}#hero-section{position:relative}#hero-section>*{position:relative;z-index:1}ul#sidebar-group>li>a,ul#sidebar-group>li>button{font-weight:600!important}li[data-group-tag]>ul li>a,li[data-group-tag]>ul li>button{margin-left:2rem!important}#sidebar-content{padding-left:1rem;overflow-x:clip;width:350px!important;min-width:350px!important}@media (min-width: 1024px){#sidebar{width:350px!important}#content-container{margin-left:350px!important}#navbar-transition-maple{left:350px!important}}#sidebar-content{background-color:#f7f7f8!important}.dark #sidebar-content{background-color:#14151A!important}@media (min-width: 1024px){ul.w-\\[calc\\(19rem-1px\\)\\]{width:350px!important;background-color:#f7f7f8!important}.dark ul.w-\\[calc\\(19rem-1px\\)\\]{background-color:#14151A!important}}#sidebar-content::before{content:'';position:absolute;top:0;left:-100vw;width:100vw;height:100%;background-color:#f7f7f8;z-index:-1}.dark #sidebar-content::before{background-color:#14151A}.card-group img[data-component-part=\"card-image\"],.card img[data-component-part=\"card-image\"]{aspect-ratio:16 / 9;height:auto!important;object-fit:cover!important;width:100%!important}.code-group pre,pre[class*=\"language-\"]{max-height:600px;overflow-y:auto}@media (min-width: 1024px){div[id=\"content-container\"]{max-width:100%!important}.peer.is-not-center~.peer-\\[\\.is-not-center\\]\\:max-w-8xl,.peer.is-not-custom~.peer-\\[\\.is-not-custom\\]\\:max-w-8xl,.max-w-8xl{max-width:100%!important}}@media (max-width: 1440px){.peer.is-not-center~.peer-\\[\\.is-not-center\\]\\:max-w-8xl,.peer.is-not-custom~.peer-\\[\\.is-not-custom\\]\\:max-w-8xl,.max-w-8xl{max-width:100%!important}}@media (min-width: 1920px){.peer.is-not-center~.peer-\\[\\.is-not-center\\]\\:max-w-8xl,.peer.is-not-custom~.peer-\\[\\.is-not-custom\\]\\:max-w-8xl,.max-w-8xl{max-width:75%!important}}*:not(li.toc-item):not(li.toc-item *):not(.link):not(.flex-1):not(.flex-1 *){border-radius:4px!important}#navbar input,#navbar [id*=\"search\"],nav input,header input{border-radius:4px!important}#navbar button,#navbar a,#navbar a>*,nav button,nav a,nav a>*,header button,header a,header a>*{border-radius:4px!important}a[href*=\"login\"],a[href*=\"login\"]>*{border-radius:4px!important}#navbar a[href=\"https://fal.ai/\"],#navbar a[href=\"https://fal.ai/\"]>*,nav a[href=\"https://fal.ai/\"],nav a[href=\"https://fal.ai/\"]>*,header a[href=\"https://fal.ai/\"],header a[href=\"https://fal.ai/\"]>*{border-radius:0!important}body{font-feature-settings:'ss01' on!important}[data-tooltip],.tooltip-trigger,span[style*=\"border-bottom\"][style*=\"dotted\"],button[data-state]>span[style*=\"dotted\"],span[class*=\"tooltip\"],[data-radix-tooltip-trigger]{border-bottom-color:#5718C0!important;color:#5718C0!important;text-decoration-color:#5718C0!important}.dark [data-tooltip],.dark .tooltip-trigger,.dark span[style*=\"border-bottom\"][style*=\"dotted\"],.dark button[data-state]>span[style*=\"dotted\"],.dark span[class*=\"tooltip\"],.dark [data-radix-tooltip-trigger]{border-bottom-color:#C0B1FF!important;color:#C0B1FF!important;text-decoration-color:#C0B1FF!important}[data-radix-tooltip-content] a,[role=\"tooltip\"] a,[data-state=\"delayed-open\"]~[data-radix-tooltip-content] a,div[class*=\"tooltip\"] a[href]{color:#C0B1FF!important;text-decoration:underline!important;text-decoration-color:#C0B1FF!important}[data-radix-tooltip-content] a:hover,[role=\"tooltip\"] a:hover,div[class*=\"tooltip\"] a[href]:hover{color:#ddd0ff!important;text-decoration-color:#ddd0ff!important}.mcp-card:hover{border-color:#a78bfa!important;box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)!important}.dark .mcp-card:hover{border-color:#8b5cf6!important}#serverless-access-popup{position:fixed;bottom:20px;right:20px;max-width:400px;background:white;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 25px rgba(0, 0, 0, 0.1);padding:20px;z-index:9999;animation:slideInUp 0.3s ease-out;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif}.dark #serverless-access-popup{background:#1f2937;border-color:#374151;box-shadow:0 10px 25px rgba(0, 0, 0, 0.3)}#serverless-access-popup.hidden{display:none}@keyframes slideInUp{from{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}#serverless-access-popup .popup-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}#serverless-access-popup .popup-title{font-size:16px;font-weight:600;color:#111827;margin:0}.dark #serverless-access-popup .popup-title{color:#f9fafb}#serverless-access-popup .popup-close{background:none;border:none;font-size:20px;color:#6b7280;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color 0.2s}#serverless-access-popup .popup-close:hover{background-color:#f3f4f6;color:#111827}.dark #serverless-access-popup .popup-close:hover{background-color:#374151;color:#f9fafb}#serverless-access-popup .popup-content{color:#4b5563;font-size:14px;line-height:1.6;margin-bottom:16px}.dark #serverless-access-popup .popup-content{color:#d1d5db}#serverless-access-popup .popup-action{display:inline-block;background-color:#5718C0;color:white;padding:10px 16px;border-radius:6px;text-decoration:none;font-size:14px;font-weight:500;transition:background-color 0.2s;border:none;cursor:pointer}#serverless-access-popup .popup-action:hover{background-color:#4612a0;color:white}@media (max-width: 640px){#serverless-access-popup{left:20px;right:20px;max-width:none}}button[aria-label=\"Try it\"],button[aria-label=\"Send\"],.tryit-button{background-color:rgb(var(--primary-dark) / var(--tw-bg-opacity))}html:has([content=\"Model search - fal\"]) #authorization-authorization [data-component-part=\"field-required-pill\"],html:has([content=\"Model search - fal\"]) [title=\"Authorization\"] [data-component-part=\"field-required-pill\"]{display:none!important}[data-tag=\"Breaking Change\"],.tag[data-tag=\"Breaking Change\"],span:has-text(\"Breaking Change\"){background-color:#fee2e2!important;color:#991b1b!important;border:1px solid #fca5a5!important;font-weight:600!important}.dark [data-tag=\"Breaking Change\"],.dark .tag[data-tag=\"Breaking Change\"],.dark span:has-text(\"Breaking Change\"){background-color:#7f1d1d!important;color:#fecaca!important;border:1px solid #991b1b!important}div:has(>[data-tag=\"Breaking Change\"]){border-left:4px solid #dc2626!important;padding-left:1rem!important}.dark div:has(>[data-tag=\"Breaking Change\"]){border-left-color:#ef4444!important}body:has(#docs-hero-page) #content-area>header,body:has(#docs-hero-page) article>header:first-child,body:has(#docs-hero-page) .prose>h1:first-child,body:has(#docs-hero-page) [class*=\"PageHeader\"],body:has(#docs-hero-page) [class*=\"page-header\"]{display:none!important}.fal-hero-badge{display:inline-flex;align-items:center;gap:0.5rem;padding:0.375rem 0.875rem;background:rgba(87, 24, 192, 0.1);border:1px solid rgba(87, 24, 192, 0.25);border-radius:4px;font-size:0.75rem;color:#5718C0;margin-bottom:1.25rem;font-family:'SF Mono', 'Monaco', 'Inconsolata', 'Fira Code', monospace;text-transform:uppercase;letter-spacing:0.08em;font-weight:500}.dark .fal-hero-badge{background:rgba(87, 24, 192, 0.15);border-color:rgba(87, 24, 192, 0.35);color:#c0b1ff}.fal-badge-dot{width:6px;height:6px;background:#00ffcc;border-radius:50%;animation:falPulse 2s ease-in-out infinite}@keyframes falPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.4;transform:scale(0.8)}}.fal-hero-title{font-family:'Focal Medium', 'Focal', sans-serif!important;font-size:56px!important;font-weight:500!important;line-height:1!important;margin:16px 0 10px 0!important;padding:0!important;letter-spacing:-1.12px!important;color:#242426!important}.dark .fal-hero-title{color:#fafafa!important}.fal-hero-subtitle{font-family:'Focal Medium', 'Focal', sans-serif;font-size:20px;font-weight:500;line-height:1;letter-spacing:-0.4px;color:#242426;margin-bottom:10px}.dark .fal-hero-subtitle{color:#fafafa}.fal-hero-body{font-size:16px;line-height:1.4;margin-bottom:1rem;color:#787881;letter-spacing:-0.32px}.fal-hero-body strong{color:#242426}.dark .fal-hero-body strong{color:#fafafa}.fal-hero-search{display:flex;align-items:center;width:100%;max-width:360px;padding:8px 10px;font-size:13px;color:#9ca3af;background:white;border:1px solid rgba(18, 18, 22, 0.1);cursor:pointer;text-align:left;transition:border-color 0.2s;margin-bottom:1rem}.fal-hero-search:hover{border-color:rgba(18, 18, 22, 0.2)}.dark .fal-hero-search{background:#1f2937;border-color:rgba(255, 255, 255, 0.1);color:#6b7280}.fal-hero-search-icon{width:14px;height:14px;margin-right:8px;flex-shrink:0;color:#787881}.fal-hero-search-text{flex:1}.fal-hero-mcp-link{display:flex;align-items:center;gap:5px;margin-left:auto;padding:3px 8px;font-size:11px;font-weight:600;color:#5718C0!important;background:rgba(133, 83, 255, 0.08);text-decoration:none!important;white-space:nowrap;transition:background 0.2s}.fal-hero-mcp-link:hover{background:rgba(133, 83, 255, 0.15)}.dark .fal-hero-mcp-link{color:#C0B1FF!important;background:rgba(133, 83, 255, 0.15)}.dark .fal-hero-mcp-link:hover{background:rgba(133, 83, 255, 0.25)}.fal-stats-row{display:flex;gap:0.5rem;flex-wrap:wrap;margin-top:1.5rem}.fal-stat-item{position:relative;display:flex;flex-direction:column;gap:8px;min-width:99px}.fal-stat-value{font-family:'Focal Medium', 'Focal', sans-serif;font-size:24px;font-weight:500;line-height:1;letter-spacing:-0.4px;color:#242426;cursor:default}.dark .fal-stat-value{color:#fafafa}.fal-stat-label{font-size:14px;font-weight:500;line-height:1.4;letter-spacing:-0.28px;color:#787881}.fal-hero-section{display:flex;gap:2rem;align-items:flex-start;margin-bottom:1.5rem}.fal-hero-text{flex:1;min-width:0}.fal-hero-image{flex:1;min-width:0}.fal-hero-image img{width:100%;height:auto;display:block}.fal-hero-img-dark{display:none!important}.dark .fal-hero-img-light{display:none!important}.dark .fal-hero-img-dark{display:block!important}.dark .fal-hero-img-dark{display:block!important}.fal-feature-card{transition:all 0.3s ease!important;position:relative;overflow:hidden}.fal-feature-card:hover{transform:translateY(-2px)}@media (max-width: 768px){.fal-hero-section{flex-direction:column;align-items:center}.fal-hero-text{width:100%}.fal-stats-row{gap:1rem}.fal-stat-value{font-size:18px}.fal-hero-image{display:flex;justify-content:center;width:100%}.fal-hero-image img{width:auto;max-width:100%;max-height:260px}}.fal-lifecycle-step{position:relative;margin-bottom:1rem;border-radius:8px;overflow:hidden}.fal-lifecycle-step.serverless{background:linear-gradient(135deg, rgba(51, 134, 254, 0.1) 0%, rgba(51, 134, 254, 0.02) 100%);border-left:3px solid #3386FE}.dark .fal-lifecycle-step.serverless{background:linear-gradient(135deg, rgba(51, 134, 254, 0.15) 0%, rgba(51, 134, 254, 0.05) 100%)}.fal-lifecycle-step.modelapis{background:linear-gradient(135deg, rgba(133, 83, 255, 0.1) 0%, rgba(133, 83, 255, 0.02) 100%);border-left:3px solid #8553FF}.dark .fal-lifecycle-step.modelapis{background:linear-gradient(135deg, rgba(133, 83, 255, 0.2) 0%, rgba(133, 83, 255, 0.05) 100%)}.fal-step-header{display:flex;align-items:center;gap:0.75rem;padding:1rem 1.25rem 0.5rem}.fal-step-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:0.875rem;font-weight:600;flex-shrink:0}.fal-lifecycle-step.serverless .fal-step-number{background:rgba(51, 134, 254, 0.15);color:#1841B5}.dark .fal-lifecycle-step.serverless .fal-step-number{background:rgba(51, 134, 254, 0.25);color:#8EC8FF}.fal-lifecycle-step.modelapis .fal-step-number{background:rgba(133, 83, 255, 0.15);color:#5718C0}.dark .fal-lifecycle-step.modelapis .fal-step-number{background:rgba(133, 83, 255, 0.25);color:#C0B1FF}.fal-step-title{font-size:1.125rem;font-weight:600;flex-grow:1}.fal-step-logo{height:18px;opacity:0.9}.fal-lifecycle-step .fal-step-logo{filter:none}.fal-step-content{padding:0 1.25rem 1rem}.fal-step-content p:first-child{margin-top:0}.fal-step-content ul{margin-bottom:0}@media (max-width: 640px){.fal-step-header{flex-wrap:wrap}.fal-step-logo{order:-1;width:100%;margin-bottom:0.5rem;height:16px}}"}],"page":{"pagePath":"documentation/assets/retention","slug":"/documentation/assets/retention","pageMetadata":{"title":"Retention and deletion","description":"Understand the difference between organizing media, removing library assets, and deleting or expiring files.","href":"/documentation/assets/retention"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Understand the difference between organizing media, removing library assets, and deleting or expiring files.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,p:`p`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Heading,Table}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`An asset’s place in your library, its underlying media file, and its generation’s request data have different lifetimes. Choose the operation that matches what you want to remove.`}),`\n`,_jsx(Heading,{level:`2`,id:`library-actions`,children:`Library actions`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Action`}),_jsx(_components.th,{style:{textAlign:`left`},children:`What happens`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Remove from a collection`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Removes that membership. The asset remains in the library and any other collections.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Delete a manual collection`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Removes the collection, not its media. Subcollections move to its parent or to the top level.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Delete a smart collection`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Removes its saved rules, not the matching media.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Delete a smart entity`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Removes the reusable entity, not its reference files or outputs.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Delete an asset`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Removes the asset from the library and search. This action does not itself delete the underlying CDN file.`})]})]})]}),`\n`,_jsx(_components.p,{children:`The library does not offer a Trash or restore workflow. Check your selection before deleting assets.`}),`\n`,_jsx(Heading,{level:`2`,id:`file-lifetime`,children:`File lifetime`}),`\n`,_jsx(_components.p,{children:`Media files follow the storage lifetime applied to them. Enabling Assets, placing a file in a collection, or sharing a collection does not itself extend a file’s lifetime.`}),`\n`,_jsx(_components.p,{children:`If a file expires, it can no longer be downloaded or reused as a reference. A saved entity or recorded generation relationship does not preserve an expired file. Download a copy before expiry when you need to keep the media outside fal.`}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/documentation/model-apis/media-expiration`,children:`Data retention and storage`}),` for CDN lifecycle controls and request-payload retention. For work created in Agent, also see `,_jsx(_components.a,{href:`/documentation/agent/retention`,children:`Agent retention`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`delete-generation-files-and-request-data`,children:`Delete generation files and request data`}),`\n`,_jsxs(_components.p,{children:[`To delete a completed generation’s stored request payloads and associated CDN output files, use `,_jsx(_components.a,{href:`/platform-apis/v1/models/requests/payloads`,children:`Delete request payloads`}),`. Input files are not deleted by that operation because they can be used by other requests.`]}),`\n`,_jsxs(_components.p,{children:[`Do not use the library’s delete action as a substitute for deleting generation files or revoking access to a URL. See `,_jsx(_components.a,{href:`/documentation/model-apis/file-access-controls`,children:`File access controls`}),` to manage file access.`]}),`\n`,_jsx(Heading,{level:`2`,id:`shares-and-downloaded-copies`,children:`Shares and downloaded copies`}),`\n`,_jsx(_components.p,{children:`Stopping a collection share revokes that viewing link. It does not remove files already downloaded by recipients. A share’s expiry is separate from file expiry.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Retention and deletion","description":"Understand the difference between organizing media, removing library assets, and deleting or expiring files.","href":"/documentation/assets/retention"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Library actions","slug":"library-actions","depth":2,"children":[]},{"title":"File lifetime","slug":"file-lifetime","depth":2,"children":[]},{"title":"Delete generation files and request data","slug":"delete-generation-files-and-request-data","depth":2,"children":[]},{"title":"Shares and downloaded copies","slug":"shares-and-downloaded-copies","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/fal-d8505a2e/fbe6cc384b7bbd12/serverless-popup.js","/docs/_mintlify/custom/fal-d8505a2e/9fa06cdd91073ccf/content/playground-hardening.js","/docs/_mintlify/custom/fal-d8505a2e/c80ff4b00a7410c4/content/api-key-formatter.js"],"subdomain":"fal-d8505a2e","siteName":"fal","title":"Retention and deletion - fal","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-11T00:42:07.570Z","originalFileLocation":"documentation/assets/retention.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Understand the difference between organizing media, removing library assets, and deleting or expiring files.\">\u003cmeta data-mint-head name=\"application-name\" content=\"fal\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/fal-d8505a2e/cUEBujT4zfUs0Rxq/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/fal-d8505a2e/cUEBujT4zfUs0Rxq/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/fal-d8505a2e/cUEBujT4zfUs0Rxq/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/fal-d8505a2e/cUEBujT4zfUs0Rxq/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/fal-d8505a2e/cUEBujT4zfUs0Rxq/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/fal-d8505a2e/cUEBujT4zfUs0Rxq/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/fal-d8505a2e/cUEBujT4zfUs0Rxq/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/fal-d8505a2e/cUEBujT4zfUs0Rxq/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/fal-d8505a2e/cUEBujT4zfUs0Rxq/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Retention and deletion - fal\">\u003cmeta data-mint-head property=\"og:description\" content=\"Understand the difference between organizing media, removing library assets, and deleting or expiring files.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"fal\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://fal.ai/docs/documentation/assets/retention\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://fal-d8505a2e.mintlify.site/docs/logo/light.svg\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Retention and deletion - fal\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Understand the difference between organizing media, removing library assets, and deleting or expiring files.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://fal-d8505a2e.mintlify.site/docs/logo/light.svg\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/fal-d8505a2e/cUEBujT4zfUs0Rxq/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"fal\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#5718C0\">\u003cmeta data-mint-head name=\"google-site-verification\" content=\"kcN2RYfXHsfUeWlkX6-E32JdCXwUdHA5w5NIXr2xWTY\">\u003clink data-mint-head rel=\"canonical\" href=\"https://fal.ai/docs/documentation/assets/retention\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/documentation/assets/retention.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://fal.ai/#organization\",\"name\":\"fal\",\"legalName\":\"Features \u0026 Labels Inc.\",\"url\":\"https://fal.ai/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://fal.ai/apple-touch-icon.png\"},\"sameAs\":[\"https://discord.gg/fal-ai\",\"https://github.com/fal-ai\",\"https://www.reddit.com/r/fal/\",\"https://twitter.com/fal\",\"https://www.linkedin.com/company/features-and-labels/\",\"https://www.youtube.com/@Fal.AI.Official\",\"https://www.instagram.com/madeonfal\",\"https://www.tiktok.com/@madeonfal\"]},{\"@type\":\"WebSite\",\"@id\":\"https://fal.ai/docs#website\",\"name\":\"fal\",\"url\":\"https://fal.ai/docs\",\"publisher\":{\"@id\":\"https://fal.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://fal.ai/docs/documentation/assets/retention#webpage\",\"url\":\"https://fal.ai/docs/documentation/assets/retention\",\"name\":\"Retention and deletion\",\"description\":\"Understand the difference between organizing media, removing library assets, and deleting or expiring files.\",\"dateModified\":\"2026-09-11T00:42:07.570Z\",\"isPartOf\":{\"@id\":\"https://fal.ai/docs#website\"},\"breadcrumb\":{\"@id\":\"https://fal.ai/docs/documentation/assets/retention#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://fal.ai/docs/documentation/assets/retention#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"fal Assets\",\"item\":\"https://fal.ai/docs/documentation/assets\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Retention and deletion\",\"item\":\"https://fal.ai/docs/documentation/assets/retention\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://fal.ai/docs/documentation/assets/retention#article\",\"headline\":\"Retention and deletion\",\"name\":\"Retention and deletion\",\"description\":\"Understand the difference between organizing media, removing library assets, and deleting or expiring files.\",\"url\":\"https://fal.ai/docs/documentation/assets/retention\",\"mainEntityOfPage\":{\"@id\":\"https://fal.ai/docs/documentation/assets/retention#webpage\"},\"image\":\"https://fal.ai/logo/light.svg\",\"dateModified\":\"2026-09-11T00:42:07.570Z\",\"publisher\":{\"@id\":\"https://fal.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://fal.ai/docs#website\"}}]}\u003c/script>","agentPointerHref":"/docs/documentation/assets/retention.md","siteName":"fal","nav":{"global":{"anchors":[{"anchor":"Status","icon":"signal","href":"https://status.fal.ai/"},{"anchor":"Community","icon":"discord","href":"https://discord.gg/fal-ai"},{"anchor":"Blog","icon":"newspaper","href":"https://blog.fal.ai/"}]},"tabs":[{"tab":"Documentation","icon":"https://mintlify.s3.us-west-1.amazonaws.com/fal-d8505a2e/images/icons/docs.svg","pages":[{"title":"Documentation","sidebarTitle":"Overview","href":"/documentation"},{"title":"Why fal?","sidebarTitle":"Why fal?","href":"/documentation/why-fal"},{"title":"Quick Start: Get an API Key and Call a Model","sidebarTitle":"Quick Start","href":"/documentation/quickstart"},{"group":"Setting Up","icon":"/images/icons/gear.svg","pages":[{"title":"Accounts and Identity","href":"/documentation/setting-up/accounts-and-identity"},{"title":"Teams","href":"/documentation/setting-up/teams"},{"title":"Get Your API Key","sidebarTitle":"Get Your API Key","href":"/documentation/setting-up/authentication/index"},{"title":"Key-Based Authentication","sidebarTitle":"Key-based","href":"/documentation/model-apis/authentication/key-based"},{"group":"MCP","pages":[{"title":"fal MCP server","sidebarTitle":"MCP overview","href":"/documentation/setting-up/mcp"},{"title":"MCP setup for ChatGPT","sidebarTitle":"ChatGPT setup","href":"/documentation/setting-up/mcp/chatgpt"},{"title":"MCP setup for Claude","sidebarTitle":"Claude setup","href":"/documentation/setting-up/mcp/claude"},{"title":"MCP setup for Claude Code","sidebarTitle":"Claude Code setup","href":"/documentation/setting-up/mcp/claude-code"},{"title":"MCP setup for Codex CLI","sidebarTitle":"Codex CLI setup","href":"/documentation/setting-up/mcp/codex-cli"},{"title":"MCP setup for Cursor","sidebarTitle":"Cursor setup","href":"/documentation/setting-up/mcp/cursor"},{"title":"MCP setup for Grok Bot","sidebarTitle":"Grok Bot setup","href":"/documentation/setting-up/mcp/grok-bot"},{"title":"MCP setup for Pi","sidebarTitle":"Pi setup","href":"/documentation/setting-up/mcp/pi"},{"title":"MCP setup for Replit","sidebarTitle":"Replit setup","href":"/documentation/setting-up/mcp/replit"},{"title":"MCP setup for chat agents","sidebarTitle":"Chat agent setup","href":"/documentation/setting-up/mcp/chat-agents"},{"title":"MCP setup for other clients","sidebarTitle":"Other MCP clients","href":"/documentation/setting-up/mcp/other-clients"},{"title":"fal for ChatGPT and Codex","sidebarTitle":"ChatGPT \u0026 Codex Plugin","href":"/documentation/setting-up/codex-plugin"},{"title":"Platform MCP","sidebarTitle":"Platform MCP","href":"/documentation/setting-up/platform-mcp"},{"title":"Agent-Readable Surfaces","sidebarTitle":"Agent-Readable Surfaces","href":"/documentation/setting-up/agent-surfaces"},{"title":"fal Agent Plans and Retention","sidebarTitle":"Agent Plans \u0026 Retention","href":"/documentation/setting-up/agent-plans-and-retention"}]},{"title":"genmedia CLI","sidebarTitle":"genmedia","href":"/documentation/setting-up/genmedia"},{"title":"Libraries, APIs, and Community","sidebarTitle":"Resources","href":"/documentation/setting-up/resources"}]},{"group":"Model APIs","icon":"/images/icons/ar-cube-1.svg","pages":[{"title":"Model APIs: Generate Images, Video, and Audio","sidebarTitle":"Overview","href":"/documentation/model-apis/overview"},{"title":"Available Models","sidebarTitle":"Available Models","href":"/documentation/model-apis/models"},{"title":"Playground","sidebarTitle":"Playground","href":"/documentation/model-apis/playground"},{"group":"Inference Methods","pages":[{"title":"Inference Methods: How to Call fal Models","sidebarTitle":"Overview","href":"/documentation/model-apis/inference/index"},{"title":"Client Setup","sidebarTitle":"Client Setup","href":"/documentation/model-apis/inference/client-setup"},{"title":"Proxy Setup","sidebarTitle":"Proxy Setup","href":"/documentation/model-apis/inference/proxy-setup"},{"group":"Async","pages":[{"title":"Queue API: Submit, Check Status, Get Results","sidebarTitle":"Overview","href":"/documentation/model-apis/inference/queue"},{"title":"Webhooks","sidebarTitle":"Webhooks","href":"/documentation/model-apis/inference/webhooks"},{"title":"Reliability","sidebarTitle":"Reliability","href":"/documentation/model-apis/inference/reliability"}]},{"title":"Synchronous Inference","sidebarTitle":"Synchronous","href":"/documentation/model-apis/inference/synchronous"},{"title":"Fallback Chains","sidebarTitle":"Fallback Chains","href":"/documentation/model-apis/inference/fallback-chains"},{"title":"Streaming Inference","sidebarTitle":"Streaming","href":"/documentation/model-apis/inference/streaming"},{"title":"Real-Time Inference over WebSockets","sidebarTitle":"Real-Time","href":"/documentation/model-apis/inference/real-time"},{"title":"HTTP over WebSockets","sidebarTitle":"HTTP over WebSockets","href":"/documentation/model-apis/inference/websockets"}]},{"title":"Platform Headers","sidebarTitle":"Platform Headers","href":"/documentation/model-apis/common-parameters"},{"title":"Request Tags","sidebarTitle":"Request Tags","href":"/documentation/model-apis/request-tags"},{"title":"Common Model Arguments","sidebarTitle":"Model Arguments","href":"/documentation/model-apis/model-arguments"},{"title":"fal CDN","sidebarTitle":"fal CDN","href":"/documentation/model-apis/fal-cdn"},{"title":"Data Retention \u0026 Storage","sidebarTitle":"Data Retention","href":"/documentation/model-apis/media-expiration"},{"title":"File Access Controls","sidebarTitle":"File ACLs","href":"/documentation/model-apis/file-access-controls"},{"group":"Errors","pages":[{"title":"Model Errors","sidebarTitle":"Model Errors","href":"/documentation/model-apis/errors"},{"title":"Request Error Types","sidebarTitle":"Request Errors","href":"/documentation/model-apis/request-errors"}]},{"title":"Concurrency Limits","sidebarTitle":"Concurrency Limits","href":"/documentation/model-apis/concurrency-limits"},{"title":"Workflow Endpoints: Chain Models in One API Call","sidebarTitle":"Workflows","href":"/documentation/model-apis/workflows"},{"title":"Sandbox","sidebarTitle":"Sandbox","href":"/documentation/model-apis/sandbox"},{"title":"Model API Pricing: Billing Units and Pricing API","sidebarTitle":"Pricing","href":"/documentation/model-apis/pricing"},{"title":"FAQ","sidebarTitle":"FAQ","href":"/documentation/model-apis/faq"}]},{"group":"Serverless","icon":"/images/icons/rocket.svg","pages":[{"title":"Introduction to Serverless","sidebarTitle":"Introduction","href":"/documentation/serverless/index"},{"group":"Development","pages":[{"group":"Getting Started","pages":[{"title":"Installation \u0026 Setup","href":"/documentation/development/getting-started/installation"},{"title":"Quick Start: Deploy Your First fal App","sidebarTitle":"Quick Start","href":"/documentation/development/getting-started/quick-start"},{"title":"Deploy Your First Image Generator","sidebarTitle":"Deploy Your First Image Generator","href":"/documentation/development/getting-started/deploy-your-first-image-generator"}]},{"title":"App Lifecycle","sidebarTitle":"App Lifecycle","href":"/documentation/development/app-lifecycle"},{"group":"Migrating to fal","pages":[{"title":"Migrating to fal","sidebarTitle":"Overview","href":"/documentation/development/migrating-to-fal"},{"title":"Migrate an External Docker Server","href":"/documentation/development/migrate-external-docker-server"},{"title":"Migrate a Cog Model or Custom Container to fal","sidebarTitle":"Migrate from Replicate (Cog)","href":"/documentation/development/migrate-from-replicate"},{"title":"Migrate from Modal","sidebarTitle":"Migrate from Modal","href":"/documentation/development/migrate-from-modal"},{"title":"Migrate from RunPod Serverless","sidebarTitle":"Migrate from RunPod","href":"/documentation/development/migrate-from-runpod"},{"title":"Migrate from Baseten: Move Truss Models to fal","sidebarTitle":"Migrate from Baseten","href":"/documentation/development/migrate-from-baseten"}]},{"group":"Defining Your Environment","pages":[{"title":"Environment and Runtime","sidebarTitle":"Overview","href":"/documentation/development/container-setup"},{"group":"Using a Dockerfile","pages":[{"title":"Use a Custom Container Image","href":"/documentation/development/use-custom-container-image"},{"title":"Docker Templates and Best Practices","sidebarTitle":"Docker Templates","href":"/documentation/development/docker-templates"},{"title":"Private Docker Registries","href":"/documentation/development/private-registries"}]},{"group":"Using pip Requirements","pages":[{"title":"fal Runtime","sidebarTitle":"Overview","href":"/documentation/development/fal-runtime"},{"title":"Import Code","href":"/documentation/development/import-code"}]}]},{"group":"Application Setup","pages":[{"title":"Application Setup","sidebarTitle":"Overview","href":"/documentation/development/app-setup"},{"title":"Persistent Storage","sidebarTitle":"Persistent Storage","href":"/documentation/development/use-persistent-storage"},{"title":"Download Model Weights and Files","href":"/documentation/development/download-model-weights-and-files"}]},{"group":"Define your endpoints","pages":[{"title":"Define Your Endpoints","sidebarTitle":"Overview","href":"/documentation/development/endpoints-overview"},{"title":"Handle Inputs and Outputs","href":"/documentation/development/handle-inputs-and-outputs"},{"title":"Working with Files: Inputs, Outputs, and CDN URLs","sidebarTitle":"Working with Files","href":"/documentation/development/working-with-files"},{"title":"Streaming Endpoints","href":"/documentation/development/streaming"},{"title":"Realtime Endpoints (WebSockets)","sidebarTitle":"Realtime Endpoints","href":"/documentation/development/realtime"},{"title":"fal WMA (World Model Accelerator)","sidebarTitle":"World Model Accelerator","href":"/documentation/development/wma"},{"title":"Connect a browser to fal WMA","sidebarTitle":"WMA browser client","href":"/documentation/development/wma-browser"},{"title":"Test Models and Endpoints","href":"/documentation/development/test-models-and-endpoints"},{"title":"Add Health Check Endpoint","href":"/documentation/development/add-health-check-endpoint"},{"title":"Handle Request Cancellations","sidebarTitle":"Cancellations","href":"/documentation/development/handle-cancellations"}]},{"title":"Calling Your Endpoints","href":"/documentation/development/calling-your-endpoints"},{"title":"Logging","href":"/documentation/development/logging"},{"title":"Data Retention \u0026 Storage","sidebarTitle":"Data Retention","href":"/documentation/serverless/data-retention"},{"title":"Secrets: Store API Keys and Hugging Face Tokens","sidebarTitle":"Secrets","href":"/documentation/development/manage-secrets-securely"},{"title":"Environment Variables and FAL_KEY","sidebarTitle":"Environment Variables","href":"/documentation/development/environment-variables"},{"title":"Request Headers","sidebarTitle":"Request Headers","href":"/documentation/development/request-headers"},{"group":"Advanced","pages":[{"group":"Multi-GPU Workloads","pages":[{"title":"Overview","sidebarTitle":"Overview","href":"/documentation/serverless/distributed/overview"},{"title":"Event Streaming","href":"/documentation/serverless/distributed/streaming"},{"title":"API Reference","href":"/documentation/serverless/distributed/api-reference"}]},{"title":"Optimize Routing Behavior","href":"/documentation/development/advanced/optimize-routing-behavior"},{"title":"Multi-App Routing","sidebarTitle":"Multi-App Routing","href":"/documentation/development/multi-app-routing"},{"title":"Use KV Store","href":"/documentation/development/use-kv-store"},{"title":"Document Your Model","href":"/documentation/development/document-your-model"}]}]},{"group":"Deployment","pages":[{"title":"Deployment Overview","sidebarTitle":"Overview","href":"/documentation/deployment/overview"},{"group":"Runners and Requests","pages":[{"title":"Request Lifecycle: Queue States and Retries","sidebarTitle":"Understanding Requests","href":"/documentation/deployment/requests"},{"title":"Understanding Runners","sidebarTitle":"Understanding Runners","href":"/documentation/deployment/runners"},{"title":"Debugging Runners","sidebarTitle":"Debugging Runners","href":"/documentation/deployment/debug-runners"},{"title":"Caching","sidebarTitle":"Caching","href":"/documentation/deployment/caching"}]},{"title":"Deploy a Custom Model to Production","sidebarTitle":"Deploy to Production","href":"/documentation/deployment/deploy-to-production"},{"group":"Scaling Your Application","pages":[{"title":"Scaling Parameter Reference","sidebarTitle":"Parameter Reference","href":"/documentation/deployment/scale-your-application"},{"title":"Updating Your Configuration","sidebarTitle":"Updating Configuration","href":"/documentation/deployment/scaling-configuration"}]},{"title":"Machine Types: GPU and CPU Specs","sidebarTitle":"Machine Types","href":"/documentation/deployment/machine-types"},{"title":"Manage Deployments","href":"/documentation/deployment/manage-deployments"},{"title":"Rollbacks \u0026 Revisions","sidebarTitle":"Rollbacks \u0026 Revisions","href":"/documentation/deployment/rollbacks"},{"title":"Manage Environments","href":"/documentation/deployment/manage-environments"}]},{"group":"Reliability","pages":[{"title":"Retries and Error Handling","sidebarTitle":"Retries and Error Handling","href":"/documentation/serverless/reliability/retries"},{"title":"GPU Health","sidebarTitle":"GPU Health","href":"/documentation/serverless/reliability/gpu-health"},{"title":"Rate Limits for Runner and App Management","sidebarTitle":"Rate Limits","href":"/documentation/serverless/reliability/rate-limits"}]},{"group":"Observability","pages":[{"title":"Observability Overview","sidebarTitle":"Overview","href":"/documentation/serverless/observability/monitor-performance"},{"title":"Debugging with AI","sidebarTitle":"Debug with AI","href":"/documentation/serverless/observability/debug-with-ai"},{"title":"Aggregate Analytics","sidebarTitle":"Aggregate Analytics","href":"/documentation/serverless/observability/aggregate-analytics"},{"title":"App Analytics","sidebarTitle":"App Analytics","href":"/documentation/serverless/observability/app-analytics"},{"title":"Runner Analytics","sidebarTitle":"Runner Analytics","href":"/documentation/serverless/observability/runner-analytics"},{"title":"Error Analytics","sidebarTitle":"Error Analytics","href":"/documentation/serverless/observability/error-analytics"},{"title":"Logs","sidebarTitle":"Logs","href":"/documentation/serverless/observability/logs"},{"title":"App Events","sidebarTitle":"App Events","href":"/documentation/serverless/observability/app-events"},{"title":"Exporting Metrics","sidebarTitle":"Exporting Metrics","href":"/documentation/serverless/observability/exporting-metrics"},{"title":"Log Drains","sidebarTitle":"Log Drains","href":"/documentation/serverless/observability/log-drains"},{"title":"Slack Notifications","sidebarTitle":"Slack Notifications","href":"/documentation/serverless/observability/slack-notifications"},{"group":"OpenTelemetry","pages":[{"title":"Custom Traces with OpenTelemetry","sidebarTitle":"Custom Traces","href":"/documentation/serverless/observability/opentelemetry-traces"},{"title":"Cross-Service Tracing","sidebarTitle":"Cross-Service Tracing","href":"/documentation/serverless/observability/opentelemetry-cross-service"},{"title":"OpenTelemetry in Production","sidebarTitle":"OTel Production Config","href":"/documentation/serverless/observability/opentelemetry-production"}]}]},{"title":"Publishing to the Marketplace","sidebarTitle":"Marketplace","href":"/documentation/serverless/publishing-to-marketplace"},{"group":"Optimizations","pages":[{"group":"Optimizing Cold Starts","pages":[{"title":"Optimizing Cold Starts","sidebarTitle":"Overview","href":"/documentation/serverless/optimizations/optimize-cold-starts"},{"title":"Adjust Scaling Parameters","sidebarTitle":"Scaling Parameters","href":"/documentation/serverless/optimizations/cold-start-scaling"},{"title":"Optimize Container Images","href":"/documentation/serverless/optimizations/optimize-container-images"},{"title":"Optimize Startup with Compiled Caches","href":"/documentation/serverless/optimizations/optimize-startup-with-compiled-caches"},{"title":"FlashPack","sidebarTitle":"FlashPack","href":"/documentation/serverless/optimizations/flashpack"},{"title":"Parallel File Loading","sidebarTitle":"Parallel File Loading","href":"/documentation/serverless/optimizations/parallel-file-loading"}]},{"title":"Optimizing Costs","href":"/documentation/serverless/optimizations/optimizing-costs"}]},{"title":"Serverless GPU Pricing: Per-Second Billing","sidebarTitle":"Pricing","href":"/documentation/serverless/pricing"},{"title":"Serverless FAQ","sidebarTitle":"FAQ","href":"/documentation/serverless/faq"}]},{"group":"Compute","icon":"/images/icons/chip.svg","pages":[{"title":"Introduction to Compute","sidebarTitle":"Introduction","href":"/documentation/compute/index"},{"title":"Quickstart with Compute","sidebarTitle":"Quickstart","href":"/documentation/compute/quickstart"},{"title":"Pricing","href":"/documentation/compute/pricing"}]},{"group":"Organizations","icon":"/images/icons/group-3.svg","pages":[{"title":"Organizations","sidebarTitle":"Overview","href":"/documentation/organizations/index"},{"title":"Managing Teams","sidebarTitle":"Managing Teams","href":"/documentation/organizations/managing-teams"},{"title":"Model Access Controls","sidebarTitle":"Model Access Controls","href":"/documentation/organizations/access-controls"}]},{"group":"fal Agent","icon":"/images/icons/sparkle-chat.svg","pages":[{"title":"Introduction to fal Agent","sidebarTitle":"Introduction","href":"/documentation/agent/index"},{"title":"Quickstart","href":"/documentation/agent/quickstart"},{"title":"Access and pricing","href":"/documentation/agent/access-and-pricing"},{"group":"Agent SDK","pages":[{"title":"fal Agent SDK for JavaScript and TypeScript","sidebarTitle":"Agent SDK","href":"/documentation/agent/sdk/index"},{"title":"Agent SDK quickstart","sidebarTitle":"Quickstart","href":"/documentation/agent/sdk/quickstart"},{"title":"Client configuration","href":"/documentation/agent/sdk/configuration"},{"title":"Responses and recovery","href":"/documentation/agent/sdk/responses"},{"title":"Questions and approvals","href":"/documentation/agent/sdk/inputs"},{"title":"Edit and run plans","sidebarTitle":"Plans","href":"/documentation/agent/sdk/plans"},{"title":"Media and costs","href":"/documentation/agent/sdk/media"},{"title":"Conversations and history","sidebarTitle":"Conversations","href":"/documentation/agent/sdk/resources"},{"title":"Projects, documents, and memory","href":"/documentation/agent/sdk/projects"},{"title":"Models and settings","href":"/documentation/agent/sdk/settings"},{"title":"Queues and generation runs","href":"/documentation/agent/sdk/queue"},{"title":"Library assets, collections, and entities","href":"/documentation/agent/sdk/library"},{"title":"Skills","href":"/documentation/agent/sdk/skills"},{"title":"Tool activity","href":"/documentation/agent/sdk/activity"},{"title":"Errors and troubleshooting","href":"/documentation/agent/sdk/errors"},{"title":"Use the docs with coding agents","sidebarTitle":"For coding agents","href":"/documentation/agent/sdk/for-agents"},{"group":"Reference","pages":[{"title":"Method reference","href":"/documentation/agent/sdk/methods"},{"title":"Type reference","href":"/documentation/agent/sdk/types"}]}]},{"group":"Chats","pages":[{"title":"Chat interface","href":"/documentation/agent/chats/interface"},{"title":"Composer and references","href":"/documentation/agent/chats/composer"},{"title":"Queue and steering","href":"/documentation/agent/chats/queue"},{"title":"Sharing and forking","href":"/documentation/agent/chats/sharing"}]},{"group":"How the Agent Works","pages":[{"title":"Models and generation","href":"/documentation/agent/models-and-generation"},{"title":"Plan cards","href":"/documentation/agent/plan-cards"},{"title":"Spending caps","href":"/documentation/agent/spending-caps"}]},{"group":"Generations","pages":[{"title":"Generations and the media rail","href":"/documentation/agent/generations/overview"},{"title":"Media viewer","href":"/documentation/agent/generations/media-viewer"},{"title":"Export","href":"/documentation/agent/generations/export"}]},{"group":"Projects","pages":[{"title":"Projects","sidebarTitle":"Overview","href":"/documentation/agent/projects/index"},{"title":"Memory and documents","href":"/documentation/agent/projects/memory"}]},{"title":"Assets and characters","href":"/documentation/agent/assets-and-characters"},{"group":"Skills","pages":[{"title":"Skills","sidebarTitle":"Overview","href":"/documentation/agent/skills/index"},{"title":"Custom skills","href":"/documentation/agent/skills/custom-skills"}]},{"group":"Tools","pages":[{"title":"Sandbox code execution","href":"/documentation/agent/tools/sandbox"},{"title":"Web search and URL reading","href":"/documentation/agent/tools/web"},{"title":"Video understanding and media download","href":"/documentation/agent/tools/video-understanding"},{"title":"Video sequences","href":"/documentation/agent/tools/video-sequences"},{"title":"Connectors","href":"/documentation/agent/tools/connectors"},{"title":"Training","href":"/documentation/agent/tools/training"}]},{"title":"Settings","href":"/documentation/agent/settings"},{"title":"Retention and data","href":"/documentation/agent/retention"},{"title":"FAQ","href":"/documentation/agent/faq"}]},{"group":"fal Assets","icon":"/images/icons/grid-9.svg","pages":[{"title":"Introduction to fal Assets","sidebarTitle":"Introduction","href":"/documentation/assets/index"},{"title":"Quickstart","href":"/documentation/assets/quickstart"},{"title":"Access and availability","href":"/documentation/assets/access"},{"group":"Your library","pages":[{"title":"Adding assets","href":"/documentation/assets/library/adding"},{"title":"Browsing and previewing","href":"/documentation/assets/library/browsing"},{"title":"Searching and filtering","href":"/documentation/assets/library/search"},{"title":"Generation details and history","href":"/documentation/assets/library/history"}]},{"group":"Organizing assets","pages":[{"title":"Collections and folders","href":"/documentation/assets/organizing/collections"},{"title":"Smart collections","href":"/documentation/assets/organizing/smart-collections"},{"title":"Tags and favorites","href":"/documentation/assets/organizing/tags-and-favorites"}]},{"group":"Characters and smart entities","pages":[{"title":"Characters and smart entities","href":"/documentation/assets/entities/index"},{"title":"Creating and managing entities","href":"/documentation/assets/entities/managing"},{"title":"Using entities in generations","href":"/documentation/assets/entities/using"}]},{"title":"Reusing assets across fal","href":"/documentation/assets/reusing"},{"title":"Sharing collections","href":"/documentation/assets/sharing"},{"title":"Downloading assets","description":"Download one asset or export selected media as a ZIP.","href":"/documentation/assets/downloading"},{"title":"Retention and deletion","href":"/documentation/assets/retention"},{"title":"Using the Assets API","description":"Browse, search, register uploads, and organize assets with the fal Platform API.","href":"/documentation/assets/api"},{"title":"FAQ and troubleshooting","href":"/documentation/assets/faq"}]},{"title":"Support","href":"/documentation/model-apis/support"}]},{"tab":"Examples","icon":"https://mintlify.s3.us-west-1.amazonaws.com/fal-d8505a2e/images/icons/grid-9.svg","pages":[{"title":"Examples","href":"/examples"}]},{"tab":"Model API Reference","icon":"https://mintlify.s3.us-west-1.amazonaws.com/fal-d8505a2e/images/icons/ar-cube-1.svg","pages":[{"title":"Model API Reference","href":"/model-api-reference"}]},{"tab":"SDK Reference","icon":"https://mintlify.s3.us-west-1.amazonaws.com/fal-d8505a2e/images/icons/code-brackets.svg","pages":[{"title":"SDK Reference","href":"/api-reference"}]},{"tab":"Inference API","icon":"https://mintlify.s3.us-west-1.amazonaws.com/fal-d8505a2e/images/icons/file-json.svg","pages":[{"title":"Inference API","href":"/api-reference/inference-api"}]},{"tab":"Platform API","icon":"https://mintlify.s3.us-west-1.amazonaws.com/fal-d8505a2e/images/icons/layers-three.svg","pages":[{"title":"Platform API","href":"/api-reference/platform-apis"}]},{"tab":"Changelog","icon":"https://mintlify.s3.us-west-1.amazonaws.com/fal-d8505a2e/images/icons/clock.svg","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Retention and deletion - fal","buildId":"dpl_AHzSCQPRq6mP9FZXEa5AbDZTffie","deploymentId":"dpl_AHzSCQPRq6mP9FZXEa5AbDZTffie","dynamics":[],"chunks":[]}