npx -y @deckflow/deckrender@latest deck.pptxOr install it on your PATH:
npm install -g @deckflow/deckrender
deckrender --versionRequires Node.js 18 or newer. No credentials needed to start.
$ deckrender presentation.pptx
presentationpresentation/
├── 001.png
├── 002.png
└── 003.png
With no -o, DeckRender writes a directory named after the input.
The output extension is enough:
deckrender deck.pptx -o deck.pdf
deckrender deck.pptx -o deck.mp4
deckrender deck.pptx -o slide.pngOr say it explicitly:
deckrender deck.pptx --format pdf -o out/report.pdfdeckrender report.pdf --pages 1-5 --width 2560 -o pages/
deckrender report.pdf --page 1 --width 640 -o thumb.png--pages filters what gets downloaded — the backend still renders the whole document, so this saves bandwidth, not cost.
deckrender page.html -o shot.png
deckrender https://example.com -o shot.png
cat page.html | deckrender - --from html -o shot.png
deckrender notes.md -o notes.pngStdin has no filename to infer from, so --from is required there.
Profiles are named bundles of flags:
deckrender deck.pptx --profile web -o frames/web means --format image --image-format webp --width 1920 --quality medium. See profiles.md.
$ deckrender deck.pptx --json
{
"ok": true,
"input": "deck.pptx",
"format": "image",
"engine": "cloud",
"route": ["convertor.ppt2image"],
"pages": 3,
"outputs": [
{ "page": 1, "file": "deck/001.png", "width": 1920, "height": 1080, "bytes": 184320 }
],
"durationMs": 8123
}stdout carries only the JSON; progress and warnings go to stderr, so pipelines stay clean:
FIRST=$(deckrender deck.pptx --json | jq -r '.outputs[0].file')Branch on the exit code: 0 success, 1 render failure, 2 usage, 3 auth. See errors.md.
deckrender auth login
deckrender auth statusThe token is stored in ~/.deckflow/credentials and shared with every DeckFlow CLI — DeckHTML included. If your machine already has DECKHTML_API_KEY set, or you have run deckops login, DeckRender already uses it.
deckrender config list # shows every value and where it came from- CLI reference — every command and flag
- Formats — what converts to what, and which flags each route accepts
- Configuration — credentials and render defaults