Skip to main content
Back to Blog
Tutorials

Video Editing from the Terminal: Using Vidpal in Claude Code (2026 Guide)

September 9, 202612 min read
Video Editing from the Terminal: Using Vidpal in Claude Code (2026 Guide)
Summarize this article with

Claude Code can edit, clip, generate, and publish videos once Vidpal is added as an MCP server, and the setup is one line: claude mcp add --transport http vidpal https://app.vidpal.ai/api/mcp. After that, run /mcp inside a session to sign in with your Vidpal account, and the 25 Vidpal tools are available to every prompt you type. Everything that happens after a file is uploaded, including silence removal, captions, zooms, b-roll, clip extraction, script generation, export, and scheduling, can be driven from the terminal and, with print mode, from a script.

This guide is for people who prefer a terminal to a chat window, and for anyone who wants video work to be repeatable. It covers the install and its scopes, how Claude Code names and permissions MCP tools, print mode for non-interactive runs, an honest account of which steps are fully headless and which still need a browser, three batch recipes, and the device-code flow for servers that have no Claude Code at all. For the chat-based version of the same connector, see how to edit videos with Claude using MCP.

Claude Code is Anthropic's command-line agent. If you do not have it, the Claude Code MCP documentation covers installation and the general shape of MCP servers; this article assumes it is installed and signed in.

Install: One Command and a Scope

Run claude mcp add --transport http vidpal https://app.vidpal.ai/api/mcp in your terminal. The name vidpal is what you will see in tool names and in the /mcp list, so keep it short. The transport is HTTP because Vidpal's server is remote and stateless; there is nothing to run locally. By default Claude Code registers the server for the current project only. If you want Vidpal available in every directory, add --scope user to the command; if you want it committed with a project so teammates get it, use --scope project, which writes to a shared config file in the repository.

Check the registration with claude mcp list, which shows every configured server and whether it is reachable, or claude mcp get vidpal for the details of this one. To remove it later, run claude mcp remove vidpal. None of these commands touch your Vidpal account; they only edit Claude Code's own configuration.

The server is registered but not yet authenticated. Start a Claude Code session in any directory and type /mcp. The menu lists Vidpal with a status of needs authentication and offers to sign in; choose it, and a browser window opens on vidpal.ai with the sign-in and consent screen. Approve, return to the terminal, and the status changes to connected. Claude Code stores the resulting token in its own credential store and refreshes it as needed, so this is a one-time step.

Developer workstation with code on multiple screens, the setting for terminal-driven video editing with Claude Code

Tool Names, Permissions, and the First Call

Claude Code prefixes MCP tools with the server name, so Vidpal's tools appear as mcp__vidpal__list_videos, mcp__vidpal__remove_silences, mcp__vidpal__export_video, and so on. You do not type those names; you describe what you want and Claude Code selects the tool. The names matter for permissions, which Claude Code manages per tool: the first time a session wants to call a tool, it asks you to allow it once or for the rest of the session. Vidpal's read-only tools are safe to allow for the session. Tools that spend credits or publish are marked destructive in the catalog, and Claude Code asks before each one regardless.

A good first prompt is: list my Vidpal videos. Claude Code calls the list tool, which is free, and prints your library with ids and statuses. That confirms the connection and gives you ids to work with. Then try something with a side effect on a video you do not mind re-rendering: switch the captions on the most recent video to the Karaoke preset and export it. Claude Code sets the preset, asks to confirm the export since it costs a credit, and reports progress until the file is ready.

If a tool call fails with an authentication error, run /mcp again; the token was probably revoked from the Connected apps section of your Vidpal account, and re-authenticating fixes it. If a tool returns a not-found message for an id, the id belongs to another account or was mistyped. The connector never reveals whether an id exists outside your account.

What Is Fully Headless and What Still Needs a Browser

Be clear about one boundary. Getting a file from your disk into Vidpal goes through a browser upload page. The upload tool returns a URL, Claude Code prints it, and you open it, drop the file in, or scan the QR code to send it from your phone. Claude Code then polls the upload status until the file arrives and continues on its own. This is deliberate: the upload page handles large files with resumable transfer and validation that a raw HTTP call from an agent would not. So a workflow that starts with local footage needs one browser interaction per file, and everything after that is terminal-only.

Everything else is headless. Operations on videos already in your account, such as removing silences, changing captions, adding zooms or b-roll, extracting clips, exporting, and scheduling, need no browser. Studio generation needs no browser at all, because it starts from a topic, a script, or an article URL rather than a file. That makes generation the most script-friendly path: a prompt in, an MP4 out, with a script review in the middle if you want one.

Publishing needs a Pro or Business plan and social accounts connected once in the Vidpal dashboard. After that, scheduling from the terminal works exactly as it does from the chat.

Print Mode: Running Vidpal Tasks from Scripts

Claude Code's print mode, claude -p followed by a prompt, runs a single non-interactive turn and writes the result to standard output. Combined with the Vidpal server, it turns a video task into a shell command. For example: claude -p 'export my most recent Vidpal video in portrait and print the download URL'. Because print mode cannot ask you questions, you have to grant tool permissions up front with --allowedTools, listing the specific mcp__vidpal__ tools the task needs. Grant the read tools freely and the spending tools only in scripts you have already run interactively and trust.

Authentication must be done once in an interactive session with /mcp before print mode will work; print mode reuses the stored token but cannot open a browser to obtain one. Use --output-format json when another program will consume the result, and keep each print-mode run to one job so a failure is easy to see. Long jobs are fine: the export tool returns immediately and Claude Code polls until the URL is set, all within the single run.

For repeated recipes, write the prompt once in a shell function or a small script and pass the variable parts as arguments. A recipe that takes a video id and a caption preset and produces a portrait export is a dozen words of prompt and never changes.

Recipe 1: Batch-Clean a Folder of Recordings

Say you have five talking-head recordings from the week. In an interactive session, ask: for each of five clips I am about to upload, give me an upload link, wait for the file, create an AI Editing project, remove silences and filler words, set captions to Mozi, and export portrait; do them one at a time and tell me when to upload the next. Claude Code prints the first upload link. You drop the file, it processes it end to end, confirms the credit spend for the upload and the export, and then prints the next link. Five files take five browser drops and no other attention.

The wording matters in one place: telling Claude Code to proceed without further questions except for credit confirmations keeps it from pausing to ask about each preset. Our guide to removing silence and filler words with AI explains what those two steps do so you can decide whether every clip should get them.

Recipe 2: Generate a Series from a Topic List

Create a text file with one topic per line and ask: for each line in topics.txt, create a 45-second portrait video in Vidpal, show me all the scripts together, and wait for my approval before confirming any of them. Claude Code reads the file, creates each video, and prints the drafts. Review them as a set, ask for rewrites by number, then say confirm all. It confirms each script, polls until each is ready for review, and asks once before the batch of exports, since each costs one credit.

This is entirely headless apart from your review, and it is the recipe to turn into a print-mode script if you want a standing series. If you want one voice across the series, ask Claude Code to list voices first and name one in the prompt. For picking topics worth a series, see how to find trending topics for short-form video, and for the script side, how to write a YouTube script.

A creator batch-editing several short videos on a laptop, the kind of repeated job that Claude Code runs from a single prompt

Recipe 3: Clip a Long Recording and Schedule the Best

Ask: give me an upload link for this week's episode, extract clips once it lands, show me the top five with scores and reasons, and wait for me to choose. Claude Code prints the link, waits, confirms the extraction cost at one credit per ten minutes of source, runs it, and prints the ranked list. Reply with the numbers you want and where they should go: export 1, 3, and 4 and schedule them to Instagram and TikTok on Friday, Saturday, and Sunday at 9am. It exports each, confirms the publishing writes, and prints the job ids.

Check on them later from any session with: what is the status of the posts I scheduled from this episode. For what to look for in the clips themselves, our guide to turning a podcast into short clips covers the selection criteria, and the AI clip maker page describes the extraction behind the tool.

Servers and CI: The Device-Code Flow

If the machine running your automation has no browser and no Claude Code, for instance a CI runner or a cron job on a server, connect with the device-code flow instead. Your script asks Vidpal for a device code, prints a short verification URL, and polls for a token. You open that URL once on any device where you are signed in to Vidpal, approve, and the script receives a token it can use as a bearer credential against the MCP endpoint. Tokens issued this way are seven-day sessions refreshed on use, so a job that runs at least weekly stays connected indefinitely.

The exact requests are listed as a copy-paste quickstart in your Vidpal account under Claude and AI agents, next to the connected-apps list, and every device session appears there with a Disconnect button. From the script's point of view, the MCP endpoint speaks JSON-RPC over HTTP; you can call tools/list to see the catalog and tools/call to run one, or use any MCP client library to do the same with less code. Our explainer on AI agents for video editing covers the loop your script should implement, including the polling pattern for long jobs.

Costs, Limits, and Cleanup

The connector is free on every Vidpal plan, and the tools spend the same credits the dashboard would: one for an AI Editing upload, one for a portrait export, five for a landscape export, and one per ten minutes of source for clip extraction. Reads are free. Generation exports follow the same portrait and landscape prices. A per-connection rate limit of 120 requests a minute protects your balance from a script stuck in a loop. Plan credit counts are on the pricing page.

When you are done with a machine, run claude mcp remove vidpal there and revoke its connection under Connected apps in Vidpal. The two are independent: removing the server from Claude Code does not revoke the token, and revoking the token does not remove the server, so do both for a clean exit. Nothing in your account is deleted either way.

Frequently Asked Questions

How do I add Vidpal to Claude Code? Run claude mcp add --transport http vidpal https://app.vidpal.ai/api/mcp, then start a session and type /mcp to sign in with your Vidpal account in the browser window that opens. Add --scope user to the command if you want the server available in every project.

Can Claude Code upload a video file from my disk? Not directly. The upload tool returns a browser upload page; you drop the file there or scan the QR code from your phone, and Claude Code polls until the file arrives and continues on its own. Every step after the upload, and all Studio generation, is fully headless.

Does Claude Code ask before spending credits? Yes. Credit-spending and publishing tools are marked destructive in Vidpal's catalog, and Claude Code confirms each one. In print mode, which cannot ask, you grant tools explicitly with the allowed-tools option, so nothing runs that you did not list.

Can I run Vidpal tasks from a script? Yes, with print mode: claude -p and a prompt, plus the allowed-tools option for the specific Vidpal tools the task needs. Authenticate once interactively first; print mode reuses the stored token but cannot open a browser.

What if my server has no Claude Code at all? Use the device-code flow. The script requests a code, you approve it once on vidpal.ai, and the script receives a bearer token for the MCP endpoint. The quickstart is in your Vidpal account under Claude and AI agents.

Is the Claude Code integration free? Yes. The connector is included on every Vidpal plan, including Free, and tools spend your normal credits. Publishing requires a Pro or Business plan, as in the app. Claude Code itself is licensed by Anthropic.

How do I disconnect Claude Code from Vidpal? Run claude mcp remove vidpal to drop the server from Claude Code, and revoke the connection under Connected apps in your Vidpal account. Do both; they are independent, and neither deletes anything in your account.

Ready to Put Your Channel on Autopilot?

Pick your niche, set a brand voice, and let Vidpal publish Reels and carousels to Instagram, YouTube & TikTok on schedule. Start free — no credit card required.