Outputs
SVG, PNG, PowerPoint, Figma and FigJam.
Pick outputs with -f on spinagram render (or formats= in Python):
| Backend | Output |
|---|---|
svg | Self-contained SVG with fonts and images embedded |
png | 2x PNG rendered from the SVG (Playwright) |
pptx | One slide per diagram. Native shapes with the text inside, connectors bound to their shapes (move a box and the arrows follow), native tables. SVG icons stay vectors (PowerPoint 365 svgBlip) with a PNG fallback for other readers (SPINAGRAM_PPTX_SVG=raster turns this off) |
figma | Figma Plugin-API JavaScript, run through the Figma MCP use_figma tool to build native, editable nodes |
figjam | FigJam board hand-off: one section per diagram, edges as native connectors bound to the boxes, icons cloned from an uploaded icon library |
spinagram render specs/ -f svg,png,pptx,figma -o out/render writes <id>-<slug>.{svg,png}, one diagrams.pptx containing all slides,
figma/<id>.js chunks and an index.html gallery (--no-gallery skips it).
See Figma and FigJam for running the Figma scripts.
Presentations
spinagram deck deck.yaml builds a self-contained HTML presentation from a deck.yaml that lists
a title, authors and sections of slides pointing at diagram ids.