How to make videos with Pi
Pi is a minimal, open-source coding agent for the terminal. Since version 0.99 it connects to MCP servers on its own, so one pi mcp add command and a Google sign-in let Pi write a narration, quote the credits and have Cliptude render a finished 16:9 YouTube video, 6 to 60 minutes long.
Cliptude MCP server URL
https://mcp.cliptude.com/mcp
Streamable HTTP. OAuth: pi mcp login cliptude opens the Cliptude sign-in in your browser; Pi registers itself and stores the token in ~/.pi/agent/mcp-auth.json. Or send a clp_ key with --bearer-token-env-var. The Cliptude CLI signs in separately with cliptude auth login.
How to connect Pi to Cliptude
- Install Pi (it needs Node.js 22.19 or newer; the installer can set that up). npm also works: npm install -g --ignore-scripts @earendil-works/pi-coding-agent
curl -fsSL https://pi.dev/install.sh | sh - Add Cliptude as a remote server. This writes ~/.pi/agent/mcp.json; add -l to write .pi/mcp.json in the current project instead.
pi mcp add cliptude --url https://mcp.cliptude.com/mcp - Sign in. Pi opens the Cliptude page in your browser; sign in with the Google account you use on Cliptude. Over SSH, paste the redirected URL back into the terminal.
pi mcp login cliptude - Check the connection. It prints the server's state and tools, and exits with 1 if it is not connected.
pi mcp list - Install the three Cliptude skills where Pi finds them:
npx skills add cliptude/cliptude -a pi -g - Start pi in your project folder and ask it to list your Cliptude templates.
pi
The entry pi mcp add writes to ~/.pi/agent/mcp.json:
{
"mcpServers": {
"cliptude": {
"url": "https://mcp.cliptude.com/mcp",
"description": "Make long-form 16:9 YouTube videos with Cliptude"
}
}
}
With an API key instead of the sign-in: export CLIPTUDE_API_KEY='clp_...' and run pi mcp add cliptude --url https://mcp.cliptude.com/mcp --bearer-token-env-var CLIPTUDE_API_KEY. Pi then sends Authorization: Bearer ${CLIPTUDE_API_KEY} and skips OAuth.
Which way should I connect Pi to Cliptude?
Remote MCP server
Start herePaste the URL and sign in with Google. Nothing to install.
Local MCP server
Worksuvx cliptude-mcp with a clp_ key; it can send files from your disk.
CLI and skill
WorksThe Cliptude CLI and skill, for agents that run shell commands.
Why make videos with Pi and Cliptude?
Any model you have
Sign in with a supported subscription, use an API key from dozens of providers, or run a local model through llama.cpp.
Built to be extended
TypeScript extensions can add tools, commands and checks, such as a confirmation before any Cliptude call that spends credits.
Scriptable
pi -p and pi --mode json run one prompt and exit, so a shell script can start or check Cliptude jobs.
Up to an hour long
Finished 16:9 YouTube videos from 6 to 60 minutes, rendered as one MP4.
Real footage and graphics
Cliptude sources footage and archive pictures and builds animated maps, charts, captions and music around the narration.
The price before the build
estimate_credits quotes a job and checks your balance without creating or charging anything.
A Pi video workflow: script in the repo, render with Cliptude, check from a shell
- Keep each channel in its own folder with an AGENTS.md naming the template (for example "History, 15 minutes") and your rules. Pi reads AGENTS.md at startup, and the Cliptude skills sit in .agents/skills/.
- Run /skill:cliptude-script to write the narration into scripts/<topic>.md. Pi has no built-in web search tool, so give it one first (a Pi package or another MCP server) or paste your research into the folder.
- Ask Pi to call mcp__cliptude__list_templates and estimate_credits with the script. If you want a second take on the script, /fork branches the session without losing the first.
- Ask for create_job (or create_plan_job, check_plan and lock_plan for an agent-planned video). Cliptude answers with a review; Pi shows it, and only after you say yes calls create_job again with the review_token.
- Check later from any shell: pi -p "Call get_job for my last Cliptude job and print the status and MP4 link". For a narration you recorded, Pi can run the CLI instead: cliptude generate --template History --title "..." --voiceover voiceover/ep12.mp3.
- When it is done, ask Pi to open_editor_project and go through every scene with view_scenes, then fix a shot with run_agent and render_project.
Pi agent skills: install the Cliptude skills
Pi implements the Agent Skills specification. A skill is a folder with a SKILL.md whose frontmatter has a name and a description. At startup Pi lists each skill's name, description and path in the system prompt and loads the full instructions only when a task needs them.
User skills live in ~/.pi/agent/skills/ and project skills in .pi/skills/. Pi also reads ~/.agents/skills/ and .agents/skills/, searching from the working folder up to the repository root. The skills CLI has a pi target that installs into .agents/skills/ (or ~/.agents/skills/ with -g).
Type /skill:cliptude-script or /skill:cliptude-plan to load a skill when the model does not pick it up by itself; anything after the name is passed as the request. Run /reload after editing a skill in a running session.
Project skills can tell the model to run commands, so Pi only loads a project's .pi/skills after you grant project trust. Read a skill before you trust it.
npx skills add cliptude/cliptude -a pi -g
/skill:cliptude-script 12-minute narration on the 1970 Bhola cyclone
Source: Pi docs: Skills
Pi coding agent vs Claude Code for making YouTube videos
Both run in your terminal, read your scripts and voiceover files and connect to Cliptude's remote server, so either can make the same video. Pick Pi if you want to choose your own model and keep the agent small, and are happy to add what you need as extensions. Pick Claude Code if you already pay for a Claude plan and want more built in from the start.
| Pi | Claude Code | |
|---|---|---|
| Models | Many providers through /login or an API key, plus local models through llama.cpp | Claude models |
| What you pay for the agent | Nothing (MIT open source); you pay your model provider or subscription | A Claude Pro, Max, Ultra, Team or Enterprise plan, or API tokens through a Claude Console account |
| Adding Cliptude | pi mcp add cliptude --url, then pi mcp login | claude mcp add --transport http, then /mcp |
| Skills folders | ~/.pi/agent/skills, .pi/skills, ~/.agents/skills, .agents/skills | ~/.claude/skills and .claude/skills |
| Built in | read, bash, edit and write tools; no sub-agents, plan mode or permission prompts | A fuller product; Claude Code's own docs cover its features |
Is the Pi coding agent free?
Yes. Pi is open source under the MIT license and costs nothing to install. You pay for the model it uses: run /login to connect a supported subscription (ChatGPT, for example, through /login openai) or an API key, or point it at a local model.
Inside a session, /session shows the token usage and cost so far. Pi warns when signing in with an Anthropic subscription may use paid extra usage.
None of this covers Cliptude. Videos are billed in Cliptude credits, on plans from $19; have Pi call estimate_credits (or run cliptude estimate) before it starts a job.
Source: Pi docs: Providers
What is Pi?
Pi is a minimal, extensible agent harness for the terminal, created by Mario Zechner and now published by Earendil as the MIT-licensed npm package @earendil-works/pi-coding-agent (1.4.0 on 21 October 2026). It starts with read, bash, edit and write tools and a short system prompt, and leaves out sub-agents and plan mode on purpose.
You shape it with extensions, skills, prompt templates and themes, bundled as Pi packages from npm or git. The old badlogic/pi-mono repository now redirects to github.com/earendil-works/pi, and the @mariozechner/pi-coding-agent package is deprecated in favour of the new name.
Pi's MCP server or the Cliptude CLI?
Use the MCP server for most work: it signs in once and gives Pi every Cliptude tool. The CLI suits shell scripts and uploads from disk (cliptude generate --voiceover narration.mp3); both use the same account and credits.
What can you ask Pi to do?
"/skill:cliptude-script Write a 15-minute narration on the Suez Crisis into scripts/suez.md, then estimate the credits with my History template."
"Make scripts/suez.md with my History template and a thumbnail like this YouTube video: <link>. Show me the review before you confirm the job."
"Upload voiceover/episode-12.mp3 with the Cliptude CLI and build the video from it with my Finance template."
Pi gives MCP servers codemode exposure by default: the model reaches Cliptude's tools (named mcp__cliptude__list_templates and so on) from short JavaScript scripts, and the description you set tells it what the server is for. To have a tool declared to the model directly, set exposure or toolExposure in mcp.json, for example "toolExposure": { "get_job": "direct" }.
Pi has no built-in permission system: it runs with your user's rights and does not ask before a tool call. Cliptude's own review still stands, because create_job and create_plan_job create nothing until they are called again with the review_token. A Pi extension's tool_call handler can add a confirmation for MCP calls too.
Which videos can Pi make?
Each format is 16:9 and made from a template you save once. On agent-planned formats the agent chooses every shot and graphic itself.
Faceless Documentary Agent-planned
Narrated documentaries over real footage, archive pictures, maps and charts.
Faceless Top 10 Agent-planned
Ranked countdowns with a numbered title on every entry, ending on number one.
Avatar Video Agent-planned
An AI presenter on screen, with footage and graphics around it.
Vector Explainer Agent-planned
Flat 2D vector scenes, with an optional recurring character.
Talking Head
Your own camera recording, with captions, B-roll and music added.
What the Cliptude MCP server can do
44 tools in 7 groups: templates, voices and avatars (9), making a video (8), product videos from a store (4), agent-planned videos (12), your own narration (2), editing a finished video (8), account (1). Your agent sees them all once connected; estimate_credits, create_job and get_job are the ones most videos need. Every tool, with what it does
Troubleshooting
- pi mcp list shows "needs sign-in": run pi mcp login cliptude, or /mcp login cliptude inside a session. A running session uses the new token on its next turn.
- Pi ignores mcp.json and /mcp looks different: an installed MCP extension such as pi-mcp-adapter replaces the built-in support. Remove it, or check that builtin:mcp is not disabled in pi config.
Frequently asked questions
How do I add an MCP server to Pi?
Run pi mcp add <name> --url <url> for a remote server, or pi mcp add <name> -- <command> for a local one, then pi mcp list. For Cliptude: pi mcp add cliptude --url https://mcp.cliptude.com/mcp and pi mcp login cliptude.
Does Pi support MCP?
Yes, since version 0.99.0 (29 September 2026). It connects to stdio and Streamable HTTP servers, with OAuth, from ~/.pi/agent/mcp.json or a trusted project's .pi/mcp.json. Legacy SSE is not supported.
Where do Pi skills go?
~/.pi/agent/skills/ or .pi/skills/ in a project; Pi also reads ~/.agents/skills/ and .agents/skills/. npx skills add cliptude/cliptude -a pi -g installs the three Cliptude skills.
Can Pi use the Cliptude CLI instead?
Yes. Pi's bash tool runs shell commands, so after npm i -g @cliptude/cli and cliptude auth login it can run cliptude estimate, cliptude generate and cliptude status.
What does a video cost?
A faceless documentary is 22 credits a minute with your own voiceover and 40 with an ElevenLabs voice, on plans from $19/mo. Your model provider bills Pi's tokens separately.
Is there a free plan?
No. Cliptude has no free plan and no free credits.
What is the Pi coding agent?
Pi is a minimal, open-source (MIT) agent harness that runs in your terminal, created by Mario Zechner. You add what it lacks with extensions, skills, prompt templates and Pi packages.
Where is Pi on GitHub?
github.com/earendil-works/pi. The older github.com/badlogic/pi-mono address redirects there, and the coding agent is in packages/coding-agent.
How do I install the Pi coding agent?
curl -fsSL https://pi.dev/install.sh | sh on macOS and Linux, or npm install -g --ignore-scripts @earendil-works/pi-coding-agent. Pi needs Node.js 22.19 or newer; start it with pi in your project folder and run /login.
Does Pi agent support MCP?
Yes, as a built-in extension since 0.99.0. Before that, MCP came from community extensions such as pi-mcp-adapter, which still replaces the built-in support if you install it.
How do Pi agent extensions work?
An extension is a TypeScript module in ~/.pi/agent/extensions/ or .pi/extensions/ that can add tools, commands, providers and MCP servers and react to events such as tool calls. Share them as Pi packages with pi install npm:<package> or git:<repo>.
Pi vs OpenCode: which is better for Cliptude?
Both are MIT-licensed terminal agents that take any model and connect to Cliptude's remote server. OpenCode ships more built in, such as agents like @general; Pi starts smaller and leaves sub-agents and plan mode to extensions.
Make your first video from your agent
Plans from $19/mo to $875/mo, priced per finished minute; a 1-hour documentary costs from $32. Cliptude has no free plan, so watch the sample videos first to judge the output.
Keep reading
How to make videos with OpenCode · How to make videos with Claude Code · How to make videos with Codex · Cliptude MCP server · Full MCP docs · Make videos with AI agents
Checked 2 November 2026. Source: Pi docs: MCP servers. Source: Pi docs: Command line (pi mcp commands). Source: Pi on GitHub (earendil-works/pi, MIT). Source: Pi docs: MCP servers. Source: Pi docs: Command line (pi mcp commands). Source: Pi on GitHub (earendil-works/pi, MIT). Source: Pi docs: Skills. Source: Pi docs: Extensions. Source: Pi docs: Pi packages. Source: Pi docs: Providers. Source: Pi docs: Usage. Source: Pi docs: Security and project trust. Source: Pi coding agent changelog. Source: npm: @earendil-works/pi-coding-agent. Source: pi.dev. Source: vercel-labs/skills: supported agents. Source: npm: @cliptude/cli. Source: Claude: Plans and pricing. Source: Claude Code docs: Extend Claude with skills. Source: OpenCode docs: Intro. Source: OpenCode docs: Agents.