# How to Vibe Code Your Own Captions (and Stop Paying for It)

> AI-powered video creation and editing platform

- Site: https://captions.ai
- Category: Video Editing & AI Content Generation
- Platforms: iOS app, Android app, Web app, macOS app
- Verdict: **Don't bother** (12/100 vibecodeable)
- Estimated effort: 6+ months of full-time work (for a severely stripped-down caption-burning subset)

## Verdict

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.

### 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

## What it 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

- Free: Free — Basic trimming, transitions, and limited media assets.
- Max: $24.99/mo — Full access to curated AI edit styles, chat editing, and digital twins.
- Scale 1x: $69.99/mo — Higher volume processing with 1,400 monthly credits.

### Funding

$175M raised.
- Series A
- Series B
- Series C
- Series D
Investors: General Catalyst, Kleiner Perkins, Andreessen Horowitz, Index Ventures

Founded 2021.
Team size: 140-150.

## The hard parts

- 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 vibe code Captions

### Prerequisites

- Node.js (free): Required for running the web frontend and backend API wrapper.
- GitHub (free): Source control and deployment pipeline integration.

### Recommended AI tools

- Claude Code: Best-in-class agentic coding tool for scaffolding the web application wrapper and integrating third-party transcription and AI APIs.

### 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

- 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

1. **Project 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.
```

2. **Video 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.
```

3. **Audio 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.
```

4. **Server-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.
```

5. **Dashboard 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

**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 the SaaS instead: $24.99/mo
- Build time: 40-60 hours
- AI tool credits: $20
- Break-even: Never (purely for learning basic video processing wrappers)

## Sources

- [Captions Official Website](https://captions.ai)
- [Tracxn Company Profile for Mirage (NOCAP, Inc.)](https://tracxn.com)