Documentation

Assets and image uploads

Uploading images into a project, where the bytes live, and what deleting does.

Images belong to the project, not to the slide that shows them. Upload once and use the same file on as many slides, masters and templates as you like.

Four ways in

Upload
The Assets panel, the insert palette, the inspector, or a file dropped on the canvas
Paste
Copy a picture in another application and press paste on the canvas
Photos
Search free photographs in the Photos panel
A URL
Paste an https address, or use Store this image in the project on one already placed

All four end in the same place: a file this project holds, with a stable id the document points at. That is what makes a deck open the same way on another device, and it is why a pasted web address is fetched once rather than left pointing at somebody else's server.

Where an address cannot be fetched, the image is still placed as a link to it. It will then load only where that host allows it, and it can taint an export.

What is accepted

PNG, JPEG, WebP
Up to 25 MB each
SVG
Up to 512 KB, rebuilt from an allowlist before it is stored
Pixel ceiling
12000 per side, and 40 megapixels in total

What a file is gets decided by reading its first bytes on the server, never from its name or from what the browser said it was. A file whose contents disagree with its declared type is deleted along with its row.

Where they are and how they are served

The bytes are held in object storage; the document carries the asset's id and derives its URL from that. Images are served from Framulus's own origin, which is what makes an uploaded image export cleanly at every scale: a cross-origin image with no permissive CORS header taints the export canvas.

Deleting

Removing an Image from a slide is one press of undo away and leaves the file in the project. Deleting the file itself is an explicit act, and it is refused while anything still references it: a slide, the master, a component or a template saved from the project.

Storage

Upload is free, on every format, at full quality. What differs by plan is how much may be kept: 500 MB on Free and 10 GB on Studio, counted against the project owner's account. Settings shows the figure.