Chapter 10: Media and Content Processing#
What It Is#
Claude Code turns your computer into a media processing studio. Without installing any specialized software — no Adobe Premiere, no Audacity, no Photoshop — you can download videos from YouTube, extract audio tracks, transcribe speech to text, burn subtitles onto video, extract individual frames, create GIFs with text overlays, upscale and downscale images, merge images into PDFs, and convert between media formats. All through natural language instructions.
This works because Claude Code can install and operate command-line media tools on your behalf. The two workhorses are yt-dlp (an open-source video downloader that works with YouTube and hundreds of other sites) and ffmpeg (a Swiss Army knife for audio and video processing that can do virtually anything with media files). You never need to learn how these tools work. You tell Claude what you want in plain English, and it figures out the right commands.
For non-technical professionals, this chapter alone might justify the cost of Claude Code. Tasks that would normally require either specialized software knowledge or outsourcing to a freelancer become five-minute conversations.
Why It Matters for Non-Technical Professionals#
Every marketing team, content creator, and communications professional deals with media assets constantly. You need to repurpose a conference talk into social clips. You need a thumbnail from a video. You need subtitles for accessibility. You need to transcribe a meeting recording. You need to convert a presentation into a PDF.
Each of these tasks typically means either learning a new tool, paying for a subscription, or waiting for someone else to do it. Claude Code collapses all of them into a single interface where you describe what you need and it happens.
The speed difference is staggering. What takes thirty minutes in a video editor takes thirty seconds with Claude Code. What requires a $20/month transcription service runs for free on your own machine using open-source AI. What needs a graphic designer for image resizing happens in a single instruction.
What You Need#
Pre-installed tools (Claude will install these for you on first use):
- yt-dlp — video/audio downloading from YouTube and other platforms
- ffmpeg — media processing (video, audio, image conversion)
- whisper.cpp — a fast local build of OpenAI’s Whisper speech-to-text model (runs on your Mac’s GPU; installable with brew install whisper-cpp)
Pre-approved permissions (to avoid repeated prompts):
Add these to your permissions for a smoother experience:
- Bash(yt-dlp:*)
- Bash(ffmpeg:*)
- Bash(ffprobe:*)
- Bash(python3:*)
- Bash(pip3 install:*)
- Bash(brew install:*)
No plugins or MCPs required. Media processing uses Claude Code’s core capabilities with command-line tools.
The Workflows#
Workflow 1: Downloading YouTube Videos in Highest Quality#
This is often the first thing people try, and it immediately demonstrates Claude Code’s power.
As a Claude prompt:
I need to download this YouTube video in the highest available quality
(video + audio merged): https://www.youtube.com/watch?v=EXAMPLE
Save it to my Desktop with the video's original title as the filename.
What Claude does: 1. Checks if yt-dlp is installed (installs it if not) 2. Fetches the video metadata to determine available quality options 3. Downloads the highest quality video and audio streams separately 4. Merges them using ffmpeg into a single file 5. Saves the final file to your Desktop with the proper title
For batch downloads:
Download all of the following YouTube videos in highest quality and save
them to a new folder on my Desktop called "Conference Recordings":
https://www.youtube.com/watch?v=VIDEO1
https://www.youtube.com/watch?v=VIDEO2
https://www.youtube.com/watch?v=VIDEO3
[...list all URLs]
Claude will create the folder, download each video, handle any failures (retrying or reporting), and give you a summary when done.
Real example from my usage: I once needed to download nineteen historically significant public videos for a project archive. I pasted all nineteen URLs into a single instruction. Claude downloaded each one, handled three that initially failed (by retrying with different quality settings), cleaned up incomplete merge files, and organized everything into a named folder. The whole batch took about fifteen minutes, completely unattended.
Workflow 2: Extracting Audio from Video#
As a Claude prompt:
Extract just the audio track from this video file:
/Users/krishna/Desktop/conference-talk.mp4
Save it as a high-quality MP3.
What Claude does: 1. Uses ffmpeg to extract the audio stream 2. Converts to MP3 at high bitrate (320kbps) 3. Saves to the same directory
Variation — download audio directly from YouTube:
Download only the audio from this YouTube video as an MP3:
https://www.youtube.com/watch?v=EXAMPLE
This is useful for podcast episodes, music (that you have rights to), conference talks you want to listen to, or any situation where you need audio without video.
Workflow 3: Transcribing Audio and Video Locally#
This is one of the most valuable workflows in this entire playbook. Using OpenAI’s open-source Whisper model, Claude can transcribe audio and video files directly on your machine — no cloud service needed, no subscription required, no data leaving your computer.
As a Claude prompt:
Transcribe this audio file: /Users/krishna/Desktop/interview-recording.mp3
Save the transcript as a text file and also create a properly timed
SRT subtitle file with a maximum of 2 lines per subtitle and
50 characters per line.
What Claude does: 1. Installs whisper.cpp (via Homebrew) if not already present (a one-time setup that takes a few minutes) 2. Runs the audio through Whisper’s speech-to-text model 3. Generates a raw text transcript 4. Converts the timed output into a properly formatted SRT subtitle file with your specified constraints 5. Saves both files
Accuracy: In my experience, Whisper achieves roughly 95% accuracy for clear English audio. Accented speech or noisy recordings may require some manual corrections, but the base transcription saves enormous time.
Real example: I transcribed a three-minute video, generating both a clean text transcript and a synced SRT file. I then used the SRT file to burn subtitles directly onto the video (next workflow). The entire pipeline — transcribe, format subtitles, burn onto video — took less than five minutes.
Workflow 4: Burning Subtitles onto Video#
As a Claude prompt:
Burn the subtitles from this SRT file onto this video:
Video: /Users/krishna/Desktop/presentation.mp4
Subtitles: /Users/krishna/Desktop/presentation.srt
Use white text with a semi-transparent dark background for readability.
Output as an MP4 at the same resolution as the original.
What Claude does: 1. Uses ffmpeg’s subtitle filter to overlay the SRT text onto the video 2. Applies the specified styling (font, color, background) 3. Encodes the final video with burned-in subtitles
Important note: “Burning” subtitles means they become a permanent part of the video — they cannot be turned off. This is different from “soft” subtitles that viewers can toggle. Burned subtitles are best for social media (where players often do not support subtitle tracks) and for ensuring accessibility across all platforms.
Workflow 5: Extracting Every Frame from a Video#
As a Claude prompt:
Extract every frame from this video as individual JPEG files at
the original resolution (no compression, no downscaling):
/Users/krishna/Desktop/product-demo.mp4
Save all frames to a new folder called "product-demo-frames"
on my Desktop.
What Claude does: 1. Uses ffmpeg to extract every frame at the video’s native frame rate 2. Saves each frame as a numbered JPEG at full resolution 3. Organizes into the specified folder
Why this is useful: Finding the perfect thumbnail or still image from a video. Instead of scrubbing through a video player trying to pause at exactly the right moment, you get every single frame as an individual image. For a 2-minute video at 30fps, that is 3,600 images — you can scroll through them visually and pick the perfect shot.
Real example: I extracted every frame from a two-minute clip to find the ideal YouTube thumbnail. Instead of trying to screenshot a paused video (which never captures the right moment), I had all 3,600 frames as JPEGs and could pick the most compelling composition.
Workflow 6: Creating GIFs with Text Overlays#
As a Claude prompt:
Convert this 5-second video clip to a GIF:
/Users/krishna/Desktop/reaction-clip.mp4
Add this subtitle text:
- First half (0-2.5 seconds): "When the demo actually works"
- Second half (2.5-5 seconds): "in front of the client"
White text, bold, centered at the bottom with a slight shadow.
Keep the GIF under 10MB for social media.
What Claude does: 1. Converts the video to GIF format using ffmpeg 2. Adds timed text overlays at the specified intervals 3. Optimizes the file size (adjusting resolution and color palette as needed) 4. Saves the final GIF
Real example: I created a 5-second social media GIF from a video clip with a custom two-part subtitle that appeared in sequence. The split-timing created a comedic beat that worked perfectly for LinkedIn engagement.
Workflow 7: Image Upscaling and Downscaling#
As a Claude prompt:
Upscale this image to 4x its current resolution:
/Users/krishna/Desktop/chart-screenshot.png
Make sure the final dimensions don't exceed 6012x6012 pixels
(LinkedIn's upload limit).
What Claude does: 1. Reads the current image dimensions 2. Calculates the target size (4x, capped at the specified limit) 3. Uses image processing tools to upscale while preserving quality 4. Saves the upscaled image
Why LinkedIn’s limit matters: I learned this the hard way. LinkedIn rejects images larger than 6012x6012 pixels. When upscaling screenshots for LinkedIn posts, Claude now automatically caps at this limit after I added it to my workflow.
Workflow 8: Merging Images into a PDF#
As a Claude prompt:
Merge all the images in this folder into a single PDF:
/Users/krishna/Desktop/Presentation-Slides/
The slides should be in the same order as the file names
(1.png, 2.png, ... 11.png). Each image should be a full page.
What Claude does: 1. Reads the folder and sorts files by name 2. Converts each image to a PDF page 3. Merges all pages into a single PDF in the correct order 4. Saves the final PDF
Real example: I had a presentation as eleven individual image files (exported from a design tool). I needed a single PDF to share. One instruction, thirty seconds, done.
Workflow 9: Automated Jump-Cut Video Editing with Voice Activity Detection#
This is the most sophisticated media workflow in this playbook, and it runs entirely on free, open-source tools.
If you produce talking-head video content — lectures, tutorials, podcasts, course recordings — you know that editing out silences and dead air is tedious. It is the most time-consuming part of post-production. This workflow automates it completely using a neural network that detects speech versus silence with far greater accuracy than simple volume thresholds.
What you need (all free, all open-source):
- FFmpeg — video encoding/decoding (Claude installs this)
- PyTorch — deep learning framework (pip install torch)
- Silero VAD — a pre-trained neural voice activity detection model that loads automatically via PyTorch Hub (no download, no API key, no account)
As a Claude prompt:
I have a talking-head video at /Users/krishna/Desktop/raw-recording.mp4
Edit it by removing all silences:
1. Extract the audio and run voice activity detection to identify
all speech segments
2. Remove silences longer than 0.5 seconds
3. Keep 100ms of padding before and after each speech segment
(so cuts don't feel abrupt)
4. Merge speech segments that are less than 0.3 seconds apart
5. Re-encode the final video in H.265 at high quality
Save the edited video to /Users/krishna/Desktop/edited-recording.mp4
What Claude does: 1. Extracts the audio track as WAV (16kHz mono) 2. Loads the Silero VAD neural network model via PyTorch Hub — this runs locally on your machine, no internet needed after first download 3. Runs the audio through the model to identify every speech segment with millisecond precision 4. Merges close segments and adds padding so the cuts feel natural 5. Uses FFmpeg’s trim and concat filters to join all speech segments in a single pass 6. Hardware-encodes the result using your Mac’s built-in video encoder (hevc_videotoolbox for H.265 at 17Mbps) — this is 5-10x faster than software encoding
Performance: A 49-minute 4K video processes in approximately 8 minutes. The neural VAD produces significantly better results than simple volume-threshold approaches because it understands what speech sounds like, not just what “loud” sounds like. Background noise, air conditioning hum, and keyboard clicks do not fool it.
Tuning the edit feel:
| Want this? | Adjust this |
|---|---|
| Cuts feel too abrupt | Increase padding to 200ms |
| Too much is being cut | Increase minimum silence to 1.0 seconds |
| Not enough is being cut | Decrease minimum speech duration to 0.1 seconds |
| Segments running together | Increase the merge gap to 0.5 seconds |
This workflow is the kind of thing that makes people’s jaws drop during a live demo. You hand Claude a raw recording, and minutes later you have a professionally jump-cut video — no video editor, no manual scrubbing, no timeline. Just a prompt.
Workflow 10: Adding 3D Transition Effects to Video#
Building on the video editing workflow, you can also add professional-grade 3D transitions using HyperFrames. (I previously used Remotion, a React-based framework, for this; I have since shifted these video workflows to HyperFrames.)
What you need (all free):
- FFmpeg — for extracting the clip and stitching the final video together
- The hyperframes skill — HyperFrames builds the transition animation from HTML. Install it once (see Chapter 2), and it handles the motion; you do not touch any framework code.
As a Claude prompt:
I have an edited video at /Users/krishna/Desktop/edited-recording.mp4
Add a 3D rotating "swivel" teaser transition:
1. Extract a 5-second clip from around the 60-second mark
(this is the hook — a compelling moment from later in the video)
2. Create a 3D rotating swivel animation from that clip
3. Insert it at the 3-second mark of the video
4. Preserve the original audio throughout
Save to /Users/krishna/Desktop/final-with-transition.mp4
What Claude does: 1. Extracts frames from the specified timestamp 2. Renders a 3D rotating animation with HyperFrames (the frames rotate on a virtual 3D plane) 3. Splits the original video at the insertion point 4. Concatenates: intro → 3D transition → remaining content 5. Preserves original audio across all segments
The result: A professional-looking video that opens with a few seconds of intro, then shows a teaser of what is coming (rendered with a 3D swivel effect), then continues with the main content. This is the exact pattern you see on polished YouTube channels — a visual hook that grabs attention in the first seconds.
Combining both workflows: The most powerful approach is chaining them: first remove silences with VAD, then add the 3D teaser. Raw recording → jump-cut edit → professional transitions, all from two prompts. For a 49-minute recording, the entire pipeline takes about eleven minutes.
Beyond Basic Transitions: What HyperFrames Enables#
Once you are building video from HTML, the transition workflow above is just the beginning. I have shifted my video editing workflows from Remotion to HyperFrames, and the real payoff is the whole skill family that comes with it. It ships with a set of skills that cover the jobs I actually reach for: captioned talking-head clips with styled, word-level captions (transcribed locally on your Mac, no API key); short kinetic motion graphics — stat count-ups, logo stings, lower-thirds, animated maps and tweets; faceless explainers built from an article, a topic, or a brief; product launch promos generated straight from a URL; website tour videos captured from a live site; music-synced videos cut to a track’s beat; graphic-overlay packaging for interviews and podcasts; and slideshows or interactive decks. A few of these are worth seeing in more detail:
TikTok-style word-highlight subtitles. The embedded-captions skill creates subtitles where each word highlights in real time as it is spoken — the same effect you see on viral TikTok and Instagram Reels. The key difference from traditional subtitles (which show full sentences in static white text) is that these are word-level: each word lights up individually, making the video feel professionally produced. It runs locally end to end — transcribing your video’s audio, grouping the words into readable pages, and rendering the highlighting effect frame by frame — with no API key required.
Local transcription on Apple Silicon. The captioning workflow transcribes audio right on your Mac’s GPU using whisper.cpp, a fast local build of OpenAI’s Whisper speech-recognition model. No API calls, no cloud uploads, no per-minute costs. It produces word-level timestamps on your own machine, and that precise timing is what powers the word-highlight subtitles above.
Spring-animated bouncy captions. Instead of subtitles that simply appear and disappear, the hyperframes-animation skill uses spring physics to make each caption page bounce into frame with a satisfying pop-in. The effect is subtle but noticeable: captions feel alive rather than mechanical.
Audio waveform visualization. HyperFrames can create real-time frequency-spectrum bars that pulse with the audio — the kind of visualization you see on music videos and podcast clips. The bars are driven by the actual audio data, so they react to the speaker’s voice in real time. Combined with the bouncy captions, this turns a raw recording into a genuinely polished video.
Multiple transition styles. Beyond the 3D swivel, hyperframes-animation offers slide, wipe, fade, and flip transitions with configurable timing — mechanical or organic-feeling, whichever you want — plus cinematic light-leak overlays, the warm glowing effect you see in film. Claude can render several transition variants from the same source clips in a single session, letting you compare and choose.
Motion poster animation. This one surprised me: Claude can take a static poster design (an event flyer, a workshop creative, any image with text and graphics) and animate it into a 5-second video where each element springs into place with staggered timing. Text slides in line by line, photos rise from below, accent lines draw themselves, and decorative elements float into position. The result looks like a professional motion-graphics piece — the kind of thing the motion-graphics workflow produces — and it starts from a description of the poster design, not an After Effects file.
The full video pipeline. The most powerful workflow chains everything together: raw phone recording → VAD silence removal → TikTok-style word-highlight subtitles → professional transitions between clips → audio visualization overlay → rendered to MP4. What would require Final Cut Pro, a subtitle editor, a motion graphics tool, and hours of manual work becomes a sequence of prompts that Claude executes in minutes.
A note on tools. My primary video tool is now HyperFrames — everything in this chapter runs through it. Remotion, the React-based framework I used earlier, is still a capable alternative if you are a developer who likes writing video in code, but you do not need it here: HyperFrames’ HTML-first workflow is what makes all of this reachable without a video-editing background.
Workflow 11: Matching a Color Grade from Reference Videos, Then Saving the Recipe#
Adjectives are weak creative direction. This July, on a personal project, I stopped asking for “warmer” and instead gave Claude three reference videos whose warm, film-like look I liked — and asked it to analyze their color grade and apply the same effect to my own footage.
Claude studied the references and produced four named grade variants — things like “Full Golden Hour” — each built as an ffmpeg filter. I lined them up and picked by eye. No color theory required on my end; the names made the options easy to compare and easy to talk about.
Then the move that actually matters: I asked Claude to save the winning grade as a reusable script in the project, smoke-tested on a one-second clip first. Now the exact look reapplies to any future video with one command.
Two lessons. Reference-driven direction beats adjective-driven direction — “make it warmer” loses to “make it look like these three.”
And when something works, say “save this as a reusable script in the project.” Recipes compound; moods do not.
Say to Claude:
Here are three reference videos whose look I love. Analyze their
color grade and apply the same warm, film-like effect to my video.
Give me 3–4 named variants to compare. When I pick one, save it as
a reusable script I can run on any future footage.
Pro Tips#
Tip 1: Let Claude install tools on first use. The first time you ask Claude to process video, it may need to install yt-dlp, ffmpeg, or whisper. Let it do this — it is a one-time setup. After that, every subsequent media task will be much faster.
Tip 2: Be specific about output quality and format. “Download this video” might give you a 720p file when 4K was available. “Download this video in the highest available quality, prefer 4K if available, as MP4” is better.
Tip 3: For batch operations, provide all items in a single instruction. Claude handles batches more efficiently than individual requests. If you need to download ten videos, list all ten URLs at once rather than giving them one at a time.
Tip 4: Check file sizes for social media. Different platforms have different file size limits. Tell Claude the target platform so it can optimize accordingly. “Create a GIF under 10MB for Slack” or “Export at a resolution suitable for Instagram Stories (1080x1920).”
Tip 5: Use the Desktop as your staging area. I keep my working directory as the Desktop for media tasks. Everything gets saved where I can see it immediately. After reviewing, I move files to their final locations.
Tip 6: Chain media operations. The real power emerges when you chain tasks: “Download this YouTube video, extract the audio, transcribe it, create an SRT file, and burn the subtitles back onto the video.” Claude will execute the entire pipeline in sequence without you touching anything between steps.
Tip 7: Batch compress to save storage. If you have a folder of video files taking up too much space, ask Claude to batch compress them. Claude can reduce files to one-fifth their original size with minimal quality loss. The prompt: “Compress all MP4 files in this folder to reduce file size. Maintain reasonable quality. Save compressed versions to a /compressed/ subfolder.”
Tip 8: Create animations without extra tools. Claude Code can create simple animations directly — no After Effects or motion graphics software needed. The prompt pattern: “Create an engaging animated presentation from this script.” Claude generates the animation using code-based tools. The quality is not broadcast-level, but for social media and internal presentations, it is surprisingly effective.