Keeping files
We delete a project’s files 30 days after it’s completed. Keep holds on to them for good, for a one-time fee in
credits: its outputs (the zip, each output file and the manifest) and the files it was made from,
so you can process it again at any time. The fee is a share of what the project cost: 10%, at least
1 minute (GET /v1/keep-settings says the current numbers). Test projects are kept for free.
Asking for Keep
Section titled “Asking for Keep”When you create the project:
{ "keep": true, "files": [{ "fileName": "host.wav" }] }Or later, while its files still exist:
POST /v1/projects/{id}/keep (projects:write; live keys also need credits:spend)- A project that isn’t completed yet is kept when it completes, and the fee is charged then.
- A completed project is kept at once. Without enough credits for the fee you get
402insufficient_credits, with the shortfall inerror.details. More than 30 days after completion its files are gone (409files_gone). - The fee is charged once. Asking again does nothing, and a project our team reprocesses stays kept at no extra cost.
The project’s keep says where it stands:
"keep": { "requested": true, "keptAt": "2026-10-06T18:40:12Z", "inputsKeptAt": "2026-10-06T18:40:12Z", "feeSeconds": 180, "error": null }feeSeconds is what was charged, or what will be once the project is priced (at submit). If keeping fails at
completion, error says why: not enough credits, files gone, or the app that asked was disconnected or is over its
monthly cap. A project.keep_failed event goes out, and asking again retries. A project.kept event follows each
project that’s kept.
Kept files are downloaded the same way as any other output, through the project’s links. A kept project’s input
files stop expiring (their expiresAt is null), and inputsKeptAt says when they were kept; it stays null if
they were already gone when the project was kept (its outputs are kept all the same). Deleting a project’s outputs
(DELETE /v1/projects/{id}/outputs) deletes their kept copies too; deleting a file (DELETE /v1/files/{id}) deletes
its kept copy.
Defaults
Section titled “Defaults”Leave keep out and the project follows its show, then the account:
- a show’s
defaults.keep(trueorfalse) applies to its projects (Shows and usage); - the account’s default,
GET /v1/keep-settings(defaultKeep), is set by owners and admins on the account page.
In the ledger and usage
Section titled “In the ledger and usage”Keep’s fee appears in GET /v1/ledger as a keep_fee line with the project’s id. GET /v1/usage counts it with the
project’s own credits.