Skip to content
Build Perch
Browse documentation

Local media editing

Short answer: Ten media-editing tools (trim, join, split, reframe, clean audio, extract audio, burn captions, inspect, analyze, and transcribe) run entirely on your machine through a bundled FFmpeg. Your footage never uploads anywhere, and none of it touches OpenRouter or any other model provider.

What is local media editing?

Local media editing is a Media Editing skill the AI can use on any audio or video file already in your workspace. It’s off by default: turn it on in a chat’s skill list (Studio mode includes it out of the box) and the AI gains ten tools, all backed by a bundled copy of FFmpeg that runs as its own process on your PC:

  • inspect_media: read a file’s duration, streams, codecs, resolution, frame rate, and rotation. The AI runs this first before cutting anything.
  • trim_media: cut a start/end section into a new file. Lossless by default (fast, no quality loss; video cuts snap to the nearest keyframe); ask for a frame-accurate cut and it re-encodes instead.
  • join_media: concatenate two or more clips end-to-end. Joins losslessly when the inputs already match; re-encodes automatically when they don’t.
  • split_media: cut a file into fixed-length pieces (e.g. every 60 seconds).
  • extract_audio: pull the audio track out of a video into its own file, losslessly.
  • reframe_video: crop and scale to a target frame size, e.g. 1080×1920 vertical for Shorts/Reels/TikTok. This one re-encodes.
  • clean_audio: denoise background hiss/hum and/or normalize loudness to a consistent level. Re-encodes the audio only; the picture is untouched.
  • burn_captions: permanently draw an .srt/.ass subtitle file onto a video (hardsubs).
  • analyze_media: find silence, loud moments, and scene-change timestamps: cheap, deterministic signals for picking cut points without watching the whole file.
  • transcribe_media: a timestamped English transcript of the spoken audio, produced by the same local Whisper model behind voice dictation. See Local transcription & dictation.

Because everything runs through the bundled FFmpeg process, none of these tools sends a single byte of your media anywhere. That holds even in a chat connected to a remote model: the AI can be talking to a cloud model and still edit your video entirely offline.

How do I edit media locally?

  1. In a chat, click the mode pill above the compose box to open Chat Configuration and turn on the Media Editing skill (Studio mode has it on by default).
  2. Describe what you want: “trim the first 10 seconds off this clip,” “reframe this to vertical for Shorts,” “pull the audio out and clean it up,” “turn the last 90 minutes into three highlight clips.” For anything longer than a single cut, the AI inspects and analyzes the file first, proposes a plan with timestamps, and waits for you to approve it before producing any files.
  3. Approve the tool call when prompted (edits are workspace writes, so they go through the normal approval flow unless auto-approve is on).
  4. The result saves back into your workspace and appears in the matching gallery; see Galleries & saving media.

Good to know

  • Lossless operations (trim, join, extract, split) are fast stream copies with no quality loss; the tradeoff is that a video cut snaps to the nearest keyframe, so the clip can start a fraction of a second early unless you ask for a frame-accurate cut.
  • Reframe, clean-audio, and burn-captions re-encode, which is slower but necessary for what they do (cropping/scaling, audio-only rework, and hardcoding text into the picture, respectively).
  • Long jobs (a long transcribe or a whole-file scene scan) run under a watchdog and can be cancelled from the Activity bar.
  • The AI inspects the file and confirms a cut plan with you before producing clips; it won’t silently batch-produce a dozen files from a long recording.
  • Media editing is powered by FFmpeg, included under its LGPL license terms.