Uploads and Media
Images and video live in your workspace next to your notes and code, but their bytes go to object storage and a CDN serves them. The tree holds a row that points at them. This page covers the three ways to upload, the limits on each, and what happens to a file after you drop it.
Three upload paths
They look similar and behave differently, so pick by where the file needs to end up.
| Path | How you start it | Accepts | Size limit | Appears in the tree |
|---|---|---|---|---|
| Workspace upload | Right-click a folder in the tree and choose Upload Media | Images and video | 500 MB, one file at a time | Yes, as a file you can open, move, rename and share |
| Inline image | Drag an image onto the markdown editor, or paste one | Images only | 10 MB | No. It becomes an image in your document |
| Chat attachment | Paperclip, paste, or drop onto the AI chat panel | PNG, JPEG, GIF, WebP, PDF | 10 MB, up to 5 per message | No. It belongs to that message |
Audio and PDF are not workspace file types today. Audio has no player, and a PDF goes in only as a chat attachment, where the assistant can read it. You cannot upload either into the tree.
What happens behind the scenes
Your bytes never pass through Monofile's servers. The browser asks for a one-time upload URL, uploads straight to storage, then tells Monofile the upload landed.
That signed URL is pinned to the exact content type and byte length you declared, and it expires after an hour. On confirmation Monofile creates the file, records the image dimensions or the video's dimensions and duration, and stores a CDN URL as the file's content location. You get a progress bar while the upload runs, and you can cancel it before it finishes.
Thumbnails
Every uploaded image and video gets a thumbnail, generated two different ways:
Images. Your browser scales them to at most 400 pixels wide and re-encodes them as JPEG before upload.
Videos. The server pulls a frame out of the file. It tries 25 percent, then 50, then 10, then 75 percent of the duration, skipping frames that look black, so the thumbnail is rarely a dark first frame.
If thumbnail generation fails, the upload still succeeds and the file shows a generic icon.
How media is delivered
A CDN serves media over https, with no sign-in and no signature on the read. The URL contains a random identifier, so it is effectively unguessable, but treat it as public.
Deleting the file deletes the stored object with it. An inline image is different. Remove one from your markdown and Monofile marks the object for cleanup instead of deleting it, so an undo followed by a save brings it back. After seven days unreferenced, the object is deleted for good.
Editing and reading media
A media file is its bytes, so two things follow:
You cannot edit a media file's content in the editor. Monofile refuses a content write to a file backed by storage, so the only way to change it is to upload again.
An agent that reads a media file's content gets nothing useful back. Agents work with media by its URL and create it through the upload endpoints described in Using the API; the
writetool is for text.
Size ceilings in one place
| Thing | Limit |
|---|---|
| Workspace image or video upload | 500 MB |
| Inline image in a document | 10 MB |
| Chat attachment | 10 MB, 5 per message |
| Text file before the editor warns you | 5 MB |
| Text write through the filesystem API | 5 MB per file |
| Presigned upload URL lifetime | 1 hour |
| Unreferenced inline image retention | 7 days |
Next steps
Files and FoldersPaths, the file tree, renaming, moving, deleting and restoring.
Supported File TypesThe full extension to editor map, and what each editor can do.
Context and MentionsMention files, attach images and PDFs, and control what the assistant sees.
LimitsSizes, counts, timeouts and rate limits in one table.