Turn your codebase into a promo video, a VC pitch deck, and a landing page — your local AI agent (Claude Code / Cursor) builds all three.
🌐 pitchkit-site.vercel.app — the site you're looking at was built by pitchkit itself, and the promo video on it was rendered by pitchkit too.
English | 简体中文
you write code → your AI runs pitchkit → final.mp4 + deck.pptx + index.html
Zero designers, zero editors, zero SaaS subscriptions. Free, fully local, MIT-licensed.
You're a founder, indie hacker, or dev-tool builder. Your product works. But Product Hunt is Friday and you have no video; the VC call is Tuesday and you can't make slides; your landing page is still a Notion doc.
You already write code inside Cursor or Claude Code. That AI can do all three for you — it was just missing the right tools. That's pitchkit.
One run (~5 minutes) drops three artifacts into /tmp/:
| Artifact | What it is | Use it for |
|---|---|---|
🎬 final.mp4 |
Promo video, 1080p — voiceover + BGM + captions + transitions; length set by your script | Product Hunt · X · TikTok · LinkedIn |
📊 deck.pptx |
VC pitch deck, fully editable, embeds the video; slide count follows your content | PowerPoint · Keynote · Google Slides |
🌍 index.html |
Single-file landing page, embeds the video | Deploy to Vercel · Netlify · GitHub Pages |
All three are driven by one shared product brief — the AI reads your repo once, and the kit stays consistent across video, deck, and site.
1. Install — one line
curl -fsSL https://raw.githubusercontent.com/EricSun0218/pitchkit/main/install.sh | bashInstalls bun (if missing) + pitchkit + dependencies. No Electron, no Chrome download. ~1 minute cold.
2. Check your environment
pitchkit doctoroverall: ✓ healthy and you're set. Any ✗ comes with a fix.
3. Install the skill, then ask your AI
Claude Code:
pitchkit skill installThen, from your repo, tell Claude Code:
"Use the make-pitchkit skill to build a launch kit for this repo."
Cursor / Cline / Gemini CLI:
pitchkit agents-md -o AGENTS.mdThen: "Build a launch kit for this repo per AGENTS.md."
The AI reads your README + manifest → starts your dev server → records a demo → writes a narrative script → picks a brand palette → generates voiceover + music → assembles the storyboard → renders all three artifacts → self-reviews each one and iterates until it holds up. Hands-off, 2–5 minutes.
pitchkit is a deterministic media toolkit for local AI agents. Your AI does all the thinking — reading the repo, designing the narrative, writing the copy. pitchkit does the deterministic IO — rendering, encoding, transcription. No cloud AI is embedded in the CLI.
The video pipeline is script-driven: the AI first writes a narrative script — picking from a library of proven promo-script archetypes (pitchkit scripts) instead of improvising — then derives the storyboard, voiceover, and music from it. Rendering goes through HyperFrames, HeyGen's open-source HTML-native video framework: every scene is plain HTML+CSS captured frame-by-frame by Chrome. 38 built-in scene atoms, or drop in custom HTML.
Every artifact is self-reviewed before delivery, in two passes. The functional pass never trusts a "render succeeded" message — it extracts frames from the actual mp4, opens the rendered site in a real browser at desktop and mobile widths, and renders each deck slide to an image, checking for truncated text, missing elements, clipping, or broken layout. The aesthetic pass then scores the output on seven dimensions — typography, color, composition, hierarchy, motion, consistency, and distinctiveness — and only ships once it clears the bar. Whenever either pass finds a problem, the agent traces the root cause, fixes it, regenerates, and re-checks. Generating is not finishing.
$0. Forever. MIT-licensed. Your code never leaves your machine — pitchkit's CLI makes zero cloud calls. AI reasoning runs through the Cursor / Claude Code you already pay for; pitchkit never sits in the middle.
Optional upgrades use your own API keys (pitchkit takes 0%):
| Key | Without | With |
|---|---|---|
ELEVENLABS_API_KEY |
free Edge TTS (solid) | lifelike voiceover |
REPLICATE_API_TOKEN |
procedural BGM (decent) | MusicGen real music |
HEYGEN_API_KEY / D_ID_API_KEY |
kinetic-text intro | real digital avatar |
The full pipeline runs with no keys at all — that's the core difference from every SaaS video tool.
I've never used Cursor / Claude Code. Get one first (cursor.com). pitchkit isn't a standalone app — it's tools for a local AI to drive.
Where does my code get uploaded? Nowhere. The CLI is fully local. AI inference runs over your existing Cursor / Claude Code connection.
Other aspect ratios? Yes: pitchkit render-storyboard sb.json out.mp4 --preset portrait (or square) reframes to 1080×1920 / 1080×1080.
5 minutes for a good video, really? A draft, yes. Polished-for-launch usually takes 1–2 tweak rounds — swap a scene, change the palette, re-record a clip. The AI asks what to adjust.
The highest-leverage contribution is a new scene atom. New scenes are mined by the workflow/ pipeline — it scrapes real launch videos off YouTube / Vimeo / Bilibili and has multimodal AI subagents distill them into HyperFrames templates and script archetypes.
cd workflow && bun install
bun src/cli.ts mine-init "apple keynote" --out runs/my-topic
bun src/cli.ts mine-step runs/my-topic
bun src/cli.ts mine-finalize runs/my-topicSee CONTRIBUTING.md and workflow/README.md.
MIT — use it, change it, sell it. No attribution required.
Built on HyperFrames · Whisper.cpp (via nodejs-whisper) · pptxgenjs · ffmpeg. Thanks to every maintainer.