Frequently asked questions
Is MediaLit just a wrapper around S3?
It stores files in S3-compatible storage, and adds what you would otherwise build around it: browser uploads without exposing keys, resumable uploads, automatic cleanup of unused uploads, public and private access, a list of your files with their details, thumbnails, quotas, an MCP server for agents, a dashboard and a CLI. See Why MediaLit.
Why did my upload disappear?
Uploads through the API and MCP are temporary until you seal them, and unsealed uploads are deleted after 24 hours. Seal a file when your app decides to keep it. The CLI seals uploads for you unless you pass --temp. See who seals.
Why did my file's URL change?
Sealing a public file moves it to permanent public storage, which gives it a new URL. Store the URL that seal returns. Private files get a new signed URL each time you fetch them, so store the mediaId instead.
Can I upload from the browser without exposing my API key?
Yes. Your server creates a short-lived upload signature and the browser uploads with it. See upload signatures and the React uploader.
Can I upload from the terminal, a CI job or a coding agent?
Yes, with the CLI. Run medialit login on your machine, and you and any coding agent running there can use it. In CI, set MEDIALIT_API_KEY instead of logging in.
Which AI assistants work with MediaLit?
Any client that supports remote MCP servers, including Claude, ChatGPT, Cursor and VS Code. See MCP server.
Can I use my own S3 or R2 bucket?
Yes, by self-hosting MediaLit. The hosted service at medialit.cloud stores files in MediaLit's own storage.
Is the open-source version limited?
No. Everything that runs medialit.cloud is in the GitHub repository.
