Create a .tryslides file without MCP
Portable package reference and a tested starting file for agents and programmers.
Read as MarkdownStart from a valid example
Download the minimal editable package, its document snapshot, and the standalone Python packager. The packager uses only Python's standard library and does not call MCP or require access to the TrySlides source repository.
Run the downloaded script with Python 3 beside document.json to produce presentation.tryslides. Import the result from the presentations workspace. The example contains one slide and a rectangle, with no image or text dependencies.
Package structure
A .tryslides file is a ZIP container with the .tryslides extension, not a renamed JSON file. The archive contains manifest.json, document.json, and any referenced asset/font files.
| Manifest field | Meaning |
|---|---|
format | Exactly tryslides |
formatVersion | Package version 1 |
metadata.title, metadata.createdAt | Title and ISO timestamp |
document.path | Exactly document.json |
document.size, document.sha256 | UTF-8 byte length and lowercase SHA-256 of exact document bytes |
assets | Image resource records |
fonts | Font resource records and redistribution notices |
Asset records contain id, safe archive path, MIME contentType, byte size and lowercase sha256. Font records use fontId and include a license with name, source URL and notice. Paths and referenced IDs must agree with the document. Do not add external URLs as substitutes for packaged image bytes.
Document contract
The example uses Core snapshot schema version 16, separate from package version 1. The snapshot contains presentation identity, title, timestamps, theme, canvas, slides, elements and validated history structures. Preserve the complete envelope, not just slides.
For a first generated file, start with the example and change the title and rectangle geometry/appearance while keeping field types valid. The logical canvas is 1920 × 1080. Use unique stable IDs and valid references. Do not reuse arbitrary fields from a PPTX or another editor's JSON.
For richer files, export a small presentation containing the desired element type and use its validated structure as the reference. Text contains structured rich-text state, not a plain string; Steps preserve object identities and state differences. Do not invent those nested structures. The MCP command schema describes commands, not the serialized package schema.
Resources and validation
The included Python example deliberately supports resource-free shape documents only. For images or text, package the required binaries and font notices from a valid export and rebuild their byte sizes and checksums. The editable-package limit is 100 MiB, with at most 100 image/font resources combined and 25 MiB per resource.
Any change to document bytes, including whitespace, requires recomputing its manifest size and digest. Unknown or unsafe paths, missing references, bad checksums and invalid Core state cause rejection. Renaming an arbitrary ZIP is not enough.
Always import the generated file into TrySlides and inspect every slide and Step before delivering it. A valid ZIP is not proof of a valid presentation. This format is prelaunch and may evolve; use the current example rather than assuming indefinite compatibility.