How to vibe codeCaptions
AI-powered video creation and editing platform
captions.ai ↗Video Editing & AI Content Generation
The verdict: can you vibe code Captions?
Build a simple transcript-to-open-captions wrapper instead, because replicating the proprietary GPU-heavy digital avatar pipeline and real-time video editing engine alone requires millions in infrastructure and specialized ML teams.
While you can easily build a thin wrapper that sends audio to Whisper and burns static subtitles onto a video using FFmpeg, replicating Captions means building Mirage Avatar X—a custom deep-learning model that synthesizes full-face movement, expressions, voice tone, and synchronized lip movements from a 10-second video clip. Furthermore, orchestrating multi-track video timelines, automated B-roll sequencing, and real-time keyframe zooms on client devices requires an intensive C++ / Metal rendering pipeline that an AI coding agent cannot scaffold from scratch. Paying $24.99/mo is radically cheaper than trying to cobble together your own GPU inference cluster for digital avatars.
Estimated effort: 6+ months of full-time work (for a severely stripped-down caption-burning subset)
What you can't replicate
- Proprietary Mirage Avatar X hyper-realistic digital twin generation model
- Massive GPU inference cluster for real-time video and avatar synthesis
- Enterprise-grade multi-language neural translation and voice cloning accuracy at scale
Founded
2021
Raised
$175M
Team
140-150
Cheapest paid tier
$24.99/mo
What Captions does
An all-in-one video editing suite featuring automated scene cutting, auto-generated stylized open captions, AI avatars, eye-contact correction, and voice cloning for content creators.
Core features
- AI Edit style application and automated scene cutting
- Open-caption transcription with word-level sync across 100+ languages
- Digital twin (AI avatar) generation from short video clips
- Audio enhancement (denoise and audio dubbing)
- Eye-contact correction
- Chat-based natural language video editing
The business
Pricing
- FreeFree
- Max$24.99/mo
- Scale 1x$69.99/mo
Funding
$175M from General Catalyst, Kleiner Perkins, Andreessen Horowitz, Index Ventures
Pay vs build, cumulative
Break-even at month 7 — after that, every month is money kept.
The hard parts of vibe coding Captions
- Real-time or background video rendering pipelines for multi-track video composition, custom zoom keyframes, and burned-in captions
- Heavy GPU cluster orchestration for proprietary AI avatar video generation and realistic lip-sync (Mirage Avatar X equivalent)
- High-accuracy word-level audio-to-video timestamp alignment for multi-language open captions
- Cross-platform client architecture managing heavy video memory buffers on mobile and web devices
How to vibecode Captions
Prerequisites
Node.jsfree
Required for running the web frontend and backend API wrapper.
GitHubfree
Source control and deployment pipeline integration.
Recommended stack
| Frontend | Next.js |
|---|---|
| Backend | Next.js API Routes |
| Database | Turso |
| Auth | better-auth |
| Payments | Stripe |
| Other | FFmpeg (server-side video rendering), OpenAI API (Whisper transcription), Cloudflare R2 (video asset storage) |
Hosting & infrastructure
| Vercel | Hosting the Next.js web application frontend and API routes. | $0-20/mo |
| Cloudflare | Storing raw and processed video files via R2 object storage. | $0-5/mo |
Build guide
01Project Scaffolding & Database Schema
Initialize the Next.js project with Tailwind CSS and configure Turso with better-auth for user session management.
Create a new Next.js TypeScript project using App Router and Tailwind CSS. Configure better-auth with Turso as the database provider to handle user authentication (email/password and Google OAuth). Set up a clean dashboard layout with sidebar navigation for projects, avatars, and settings. Ensure clean project structure with separate directories for components, server actions, and database schemas.02Video Upload & Cloud Storage Integration
Implement direct-to-cloud video uploads using Cloudflare R2 object storage with secure presigned URLs.
Implement a video upload module in Next.js that interacts with Cloudflare R2 storage using S3-compatible endpoints. Build a drag-and-drop video upload component with progress indication. Create a backend API route that generates presigned upload URLs, validates file size and video format (.mp4, .mov up to 500MB), and records the video metadata in the Turso database under a 'videos' table.03Audio Transcription & Timestamp Alignment
Integrate OpenAI's Whisper API to transcribe uploaded video audio and generate word-level timestamps for open captions.
Build a server-side background job using an API route that extracts the audio track from an uploaded video file, sends it to the OpenAI Whisper API with timestamp granularity set to 'word', and parses the resulting JSON response. Store the timestamped word array in a JSON column associated with the video record in the database.04Server-Side Video Rendering with FFmpeg
Create a server-side video processing pipeline using FFmpeg to burn stylized open captions onto the video track.
Implement an FFmpeg processing module in Node.js that takes an input video file and a JSON array of timed words. Generate a styled ASS (Advanced SubStation Alpha) subtitle file with custom fonts, colors, and word-by-word highlight animations. Execute an FFmpeg command to permanently burn the open captions onto the video and export a rendered MP4 file to Cloudflare R2.05Dashboard UI & Video Export Workspace
Build an interactive web workspace allowing users to preview their captioned video, edit transcript text, and download the final result.
Build a video editing workspace page in Next.js featuring an HTML5 video player synchronized with an interactive transcript text editor. Allow users to click on any word to jump to that timestamp in the video, edit misspelled transcription text, and trigger the server-side FFmpeg render job to re-burn updated open captions. Display a download button once the rendered video status turns to complete.
Cost vs paying for Captions
What will you build it with?
Starting total with Claude Code$0 one-time
Starting costs (one-time)
- Domain name$12
- AI coding tool subscription (Claude Pro)$20
Total~$32 one-time
Ongoing costs (monthly)
- Vercel Hobby/Pro hosting$0-20/mo
- Cloudflare R2 storage$5/mo
- OpenAI Whisper API usage$5/mo
Total~$10-30/mo
Paying for Captions
$24.99/mo
Your time to build
40-60 hours
AI tool credits
$20
Break-even
Never (purely for learning basic video processing wrappers)
Vibe code Captions: FAQ
- Can you vibe code Captions yourself?
- Don't bother — 12/100 vibecodeable. Build a simple transcript-to-open-captions wrapper instead, because replicating the proprietary GPU-heavy digital avatar pipeline and real-time video editing engine alone requires millions in infrastructure and specialized ML teams.
- How long does it take to vibe code Captions?
- 6+ months of full-time work (for a severely stripped-down caption-burning subset) — roughly 40-60 hours of hands-on time with an AI coding agent.
- How do you build your own Captions?
- Scoped to personal use: Next.js on the front, Next.js API Routes behind it, Turso for data. Follow the 5-step build guide on this page — each step has a paste-ready prompt for an AI coding agent.
- How do you code your own Captions without being an expert?
- Use an AI coding tool (Claude Code) and work in small steps: scaffold, data model, core screens, then deploy. Realistic effort: 6+ months of full-time work (for a severely stripped-down caption-burning subset). The prompts on this page are written so the AI does the heavy lifting.
- How much does it cost to vibe code Captions instead of paying?
- About ~$32 one-time to start and ~$10-30/mo to run, versus $24.99/mo for Captions. Break-even: Never (purely for learning basic video processing wrappers).
- What stack should you use to vibe code Captions?
- Next.js; Next.js API Routes; Turso; plus FFmpeg (server-side video rendering), OpenAI API (Whisper transcription), Cloudflare R2 (video asset storage).