Documentation Index
Fetch the complete documentation index at: https://docs.slideless.ai/llms.txt
Use this file to discover all available pages before exploring further.
What it is
A presentation is a Slideless record that wraps:- The deck itself — either a single self-contained HTML file or a folder with an
index.htmland any sibling assets (images, video, 3D models, CSS, JS, shaders, data files). - One or more share tokens (see Share tokens), each of which resolves to a specific version or follows the latest.
- An append-only version history (see Versioning) — every update creates a new immutable version, nothing is overwritten.
- Metadata: title, owner, timestamps, view counters.
Folder vs single file
Slideless accepts two shapes, same URL, same backend: Single HTML file — maximum portability, everything inline. Use for text-heavy decks, or when you’re embedding images as base64 anyway./assets/ convention. Use when you have images, video, 3D models, shaders, or separate CSS/JS bundles. Relative paths inside the HTML (./hero.jpg, ./images/logo.png, ./three/scene.js) resolve exactly like a static webserver.
.git/, node_modules/, .DS_Store, *.log, slideless.json, etc.) plus whatever a .slidelessignore file at the folder root excludes. Parent-directory references (<img src="../outside/foo.jpg">) are rejected at upload time — decks must be self-contained within their root.
See Working with assets for a deep dive.
Size and file-count caps
Caps depend on your plan:| Tier | Max single file | Max total deck | Max file count | Max HTML file |
|---|---|---|---|---|
| Free | 50 MB | 250 MB | 500 | 10 MB |
| Starter | 100 MB | 500 MB | 1000 | 10 MB |
| Pro | 250 MB | 2 GB | 2000 | 20 MB |
| Business | 500 MB | 5 GB | 5000 | 20 MB |
| Enterprise | 1 GB | 20 GB | 10000 | 50 MB |
413 payload-too-large. External CDN references (https://unpkg.com/..., https://fonts.googleapis.com/...) don’t count against your quota — only uploaded bytes do.
Content-addressed storage and deduplication
Under the hood, each file is stored at a path derived from its SHA-256 hash. When you push an update, only the files whose contents actually changed re-upload — everything else dedupes. A five-version deck with one changed image across versions costs you ~1.1× the size, not 5×. The CLI reports dedup hits after every upload:Lifecycle
- Push via
slideless push <path> --title "..."— creates a new unshared presentation. No public URL yet. Writesslideless.jsonat the deck root. - Share via
slideless share <presentationId>— mints a viewer token whoseversionModeislatest. The URL this returns is what you send to recipients. - View: anyone with the token URL renders the deck in a sandboxed iframe; view count increments server-side.
- Collaborate via
slideless invite <presentationId> --email <addr>— grant another user push + pull access. See Collaboration. - Re-push — run
slideless pushagain from the same folder to bump the version. Tokens + view counters preserved, unchanged files deduped. - Pin via
slideless pin <presentationId> <tokenId> --to-version <N>— freeze a specific recipient on a specific version so later pushes don’t affect their view. - Unshare via
slideless unshare <presentationId>— revoke every token on the deck (or one, with--token <tokenId>). The deck itself stays editable; you can mint new URLs later. - Delete via
slideless delete <presentationId>— hard-remove the deck, every version, every asset, every collaborator row. Irreversible. See Lifecycle.
Not yet in v3
- Expiry dates (schema supports
expiresAt, not exposed in CLI/dashboard yet). - Garbage-collection of unreferenced blobs (storage grows with history; manual cleanup not automated).
- In-dashboard upload — v3 uploads are CLI-only. The dashboard handles browsing, previewing, token management, collaborators, sharing/unsharing, and deletion.