First release of DeckRender — a pure render engine. A document goes in, pixels come out: images, a PDF, or a video.
npx -y @deckflow/deckrender@latest deck.pptxWhat converts to what
| Input | → image | → video | |
|---|---|---|---|
.pptx .ppt |
✅ | ✅ | ✅ |
.pdf |
✅ | ✅ | 🕓 |
.key |
✅ | ✅ | 🕓 |
.docx .doc |
✅ | ✅ | — |
.xlsx |
🕓 | 🕓 | — |
.pages .numbers |
✅ | ✅ | — |
.html and URLs |
✅ | ✅ | ✅ |
.md |
✅ | — | — |
🕓 is planned but not built; those report not_implemented naming what blocks them, so "not yet" is distinguishable from "never".
Every cell above was confirmed end to end against the live backend, not inferred from type definitions — several conversions that looked plausible turned out not to work.
Highlights
- Works with no setup. Rendering runs in guest mode; log in only for higher quotas or a private workspace.
- One login for every DeckFlow CLI. Credentials live in
~/.deckflow/credentials, resolved through a five-level chain thatdeckrender config listreports the source of. - Agent-friendly.
--jsongives a stable result envelope, stdout stays clean, and exit codes are 0/1/2/3. - No silent surprises. An option the backend cannot honour fails with an explanation rather than being quietly dropped, because rendering something other than what was asked for is worse than an error.
- Library and CLI in one package.
import { render } from '@deckflow/deckrender'.
Worth knowing
- Pages and Numbers render the preview embedded in the document — the first page only. Everything else renders in full.
- HTML to PDF and video is laid out as slides rather than by a browser; the result carries a
caveatin--json. --fps,--durationand--transitionare not accepted yet.
Links
- npm: https://www.npmjs.com/package/@deckflow/deckrender
- Docs: docs/index.md
- Full changelog: CHANGELOG.md