Skip to content
← Back to the app

How to use Video Producer

Video Producer

Install Video Producer, the videoproducer command and the agent skill, fill in your channel, process a Borumi recording with Codex or Claude Code, do the listen and cover checks, and publish.

Free to read. You can explore the guide before buying the app.

On this page

Install Video Producer

Video Producer needs macOS 15 or later, and it runs on Apple silicon and Intel Macs. The agent’s transcript checks run Whisper through MLX, which needs Apple silicon.

After you pay, download Video-Producer-1.5.0.zip from your Polar receipt, unzip it, and move Video Producer.app to Applications. The download is signed with my Developer ID and notarized by Apple.

You also need:

  • Borumi, the recorder the videos come from. Video Producer reads its projects from ~/Borumi Projects and opens them in Borumi to watch the edit.
  • A coding agent that opens links: Codex, or Claude Code in the Claude desktop app.
  • ffmpeg and uv on the PATH, for the agent’s audio and transcript checks, and Google Chrome for the covers.

Set it up

The first time, the window shows a checklist. Each line has a button.

Install the command line tool. The agent reports every phase through videoproducer. The app copies it to ~/.local/bin/videoproducer. If a terminal doesn’t find it, add this line to your shell profile and open a new terminal:

export PATH="$HOME/.local/bin:$PATH"

Install the agent skill. The instructions the agent follows, from the edit to the cover. They go in ~/.agents/skills/youtube-video for Codex and ~/.claude/skills/youtube-video for Claude Code. When a new version of the app ships a new skill, the app refreshes the copies it installed.

Fill in your channel. Settings → Channel: the name YouTube shows under a video, your handle, the lines that end every description, the last tag of every video, and a line about how you write. The agent reads them when it writes the copy.

Settings → Publishing sets when videos go out: one a day at a time you pick, in a time zone you pick. This Mac’s is the default. Settings → Folders moves the videos folder (~/Movies/Video Producer by default) and points the app at Borumi’s projects if they aren’t in ~/Borumi Projects. Settings → Agent picks Codex or Claude Code.

Everything is in ~/Library/Application Support/Video Producer/settings.json, and videoproducer settings reads and writes the same file:

videoproducer settings --channel "Anna Rossi" --handle @annarossi --publish-time 14:00 --time-zone Europe/Rome
videoproducer settings --footer "My site: https://annarossi.dev"$'\n'"My newsletter: https://annarossi.dev/newsletter/" --tag "anna rossi"
videoproducer doctor

videoproducer doctor checks the whole setup and says what’s missing.

Process a recording

New Borumi recordings show up under New recordings in the sidebar, with a frame and the first words of the transcript. Clear out what you won’t publish first. Ignore takes a recording off the list and leaves the Borumi project where it is. Delete moves the project to the Trash, after a dialog.

Click the blue Process button at the top right (or File → Process All New Recordings, ⇧⌘P). The app opens a draft in your agent with one prompt for every new recording. Read it and send it. The agent reads each transcript, picks a title and a folder name, adds the videos to the app, and edits them one at a time.

To start one recording, select it and click Process. Without an agent app installed, Process puts the prompt on the clipboard, to paste into any chat.

The listen check

When the edit is done, the video moves to Your turn. Open it in Borumi with Watch in Borumi and watch the edit once. YouTube can’t replace a video file after upload, so any fix happens now.

Below that is the listen list: the stretches where Borumi, Whisper and Parakeet heard different things. Play each clip, then pick the version you said, or type the words and click Use. When every item has an answer, Approve and continue sends the answers to a new agent chat, which applies them before the export. Approve alone moves the video on without opening the agent.

The cover check

The agent exports the video, writes the copy and renders the cover, then stops again. You see the thumbnail at full size and as a card in the feed, under your channel name. Pick the title from the three the agent wrote, or write your own. Approve writes the title into youtube.md and moves the video to Ready. Ask for changes… sends the agent back to the cover with your note.

Publish

The Ready view shows the three files Studio needs as tiles. Drag them into YouTube Studio, or click one to show it in Finder. The title, description and tags each have a Copy button and a character counter. The Studio steps are listed in order, with the publish time and time zone to set.

Then X: copy the post, open X, drag the video tile into it, and post. The YouTube link stays out, because it opens a “private video” page until the video is live.

Once it’s scheduled in Studio and posted on X, paste the youtu.be link and the X post’s link into the form and click Mark as scheduled. When the publish time passes, the video comes back to Your turn with the reply for X: the agent’s line and the YouTube link. Copy it, reply, and click Done, I replied.

Live videos with nothing left to do leave the sidebar. View → Show Published Videos brings them back.

The videoproducer command

The agent uses the command to report, and so can you or a script. videoproducer help lists every command, videoproducer guide explains how agents report, and videoproducer capabilities --json describes them for an agent.

videoproducer recordings
videoproducer list
videoproducer status docker-mac-mini
videoproducer next-free-day
videoproducer copy docker-mac-mini description
videoproducer schedule docker-mac-mini --date 2026-11-12 --link https://youtu.be/abc123 --x https://x.com/annarossi/status/123

Add --json to most commands to read the output from a script.

Where things live

Each video is a folder in the videos folder, with its export, subtitles, cover, youtube.md, x.md and a producer.json with the app’s state. Don’t edit producer.json by hand. A file the app can’t read shows under Can’t be read in the sidebar, with the reason.

The app only reads Borumi’s projects. It never writes to them, and Delete moves one to the Trash only after you confirm.

License and updates

The app works without a license key. The key from your Polar receipt turns on automatic updates: enter it in Video Producer → License…, or when Check for Updates… asks for it. A key works on 3 Macs, and License… → Deactivate This Mac frees one. The app checks the key about once a week and keeps working offline. Once a day it looks for a new version, and Install and Relaunch downloads it, checks it and swaps the app in place.

Turn the daily check off with:

defaults write com.flaviocopes.video-producer AppUpdaterAutomaticChecks -bool false

Your receipt also has the source code of the same version. Your own build from the source works without a license.