Convert HTML files, stdin, or URLs into PPTX or PNG artifacts from your terminal.
The DeckHTML CLI gives developers and agents command-line access to HTML-to-deck conversion. It accepts local files, multiple ordered HTML files, stdin, and hosted URLs. It runs synchronously by default, can choose between local and cloud execution, and supports machine-readable JSON output for scripts and CI.
Run DeckHTML without installing:
npx -y @deckflow/deckhtml@latest index.html -o deck.pptxDeckHTML is distributed through npm.
npm install -g @deckflow/deckhtmlVerify the installation:
deckhtml --versionConvert a single HTML file to PPTX:
deckhtml index.htmlBy default, DeckHTML writes a PPTX next to the input file using the same base name:
index.pptx
Write to a specific output path:
deckhtml index.html -o deck.pptxPipe HTML from stdin:
cat index.html | deckhtml - -o deck.pptxConvert multiple HTML files in order:
deckhtml page1.html page2.html page3.html -o deck.pptxConvert a hosted page:
deckhtml https://example.com/deck.html -o deck.pptxThe CLI runs as a synchronous conversion task. On success, stdout contains the final result. With the default output mode, that can be the output path:
deck.pptx
Use --json for machine-readable output:
deckhtml index.html -o deck.pptx --json{
"ok": true,
"input": ["index.html"],
"output": "deck.pptx",
"format": "pptx",
"mode": "local"
}Create a conversion report next to the output:
deckhtml ./page.html -o deck.pptx --reportChoose a different output format:
deckhtml index.html --format png -o framesSupported formats are:
| Format | Description |
|---|---|
pptx |
PowerPoint deck output. Default. |
png |
PNG frame output. |
Use cloud mode for cloud-only reconstruction features:
deckhtml index.html \
-o deck.pptx \
--mode cloud \
--embed-fonts \Local conversion works without an API key. Cloud mode supports rate-limited guest requests; sign in or configure an API key when prompted or when you need authenticated access.
Start an interactive login flow:
deckhtml auth loginOr copy your API key from workspace settings and store it directly:
deckhtml config set api-key <key>The key is stored locally at ~/.deckflow/credentials.
For CI/Docker/agent environments, set the environment variable instead — it takes precedence over stored credentials:
export DECKHTML_API_KEY=your-api-keyVerify your credentials:
deckhtml auth status