A self-hosted animated subtitle studio for TikTok, Instagram Reels, YouTube Shorts, podcasts, and social video
Turn spoken video into editable, word-timed animated captions with local AI.
27 motion styles β’ Interactive word-level transcript editor β’ Fast in-place re-rendering β’ MP4, SRT, VTT, TXT & ASS export β’ 100+ languages β’ Self-hosted and private β’ MIT licensed.
Get started β’ Compare alternatives β’ Read the API docs β’ AI assistant guide
- About Capite
- Who Capite Is For
- Why Capite? (Competitor Comparison Matrix)
- Interface & Studio Showcase
- Key Features & Capabilities
- 27 Built-In Viral Caption Styles
- Quick Start Guide
- Complete Usage Guide
- Subtitle & Video Export Formats (.SRT, .VTT, .TXT, .ASS)
- System Architecture
- REST API Reference
- Configuration & Environment Variables
- Frequently Asked Questions (FAQ)
- Supported Use Cases
- Documentation Index
- Creator & Contact
- License
Capite is a free, self-hosted open-source AI video caption generator and animated subtitle studio. It is for creators, video editors, podcasters, and developers who want word-timed captions for short-form video (TikTok, Instagram Reels, and YouTube Shorts) or longer videos without sending footage to a third-party caption service.
- 100% Free & Open Source: Full source code access under the permissive MIT License.
- No Capite Subscription: The code is MIT licensed; run it on your own computer or infrastructure without a Capite account or per-video credits.
- Zero Watermarks: Clean, broadcast-quality video exports with no forced branding.
- Configurable Instance Limits: File-size, duration, concurrency, and cleanup limits are yours to set for your hardware and deployment.
- 100% Private & Self-Hosted: All speech-to-text transcription and video rendering occurs locally on your hardware. Your footage never touches third-party servers.
- AI Speech Recognition: Powered by
faster-whisper(CTranslate2-optimized Whisper models) providing blazing-fast, offline speech-to-text with millisecond-accurate word timestamps. - Motion Typography Engine:
pysubs2+FFmpeg libassrendering broadcast-grade ASS subtitle animations directly into high-definition video at visually lossless quality (CRF 18). - Web Studio: Next.js 16 (React 19) App Router, Tailwind CSS v4, and a warm paper-inspired Oat & Clay design system with responsive dark and light modes.
Choose Capite when you need a free caption generator, an open-source subtitle generator, or a self-hosted alternative to cloud caption tools:
- Short-form creators who want animated, word-highlight captions for TikTok, Instagram Reels, and YouTube Shorts.
- Podcast and interview editors who need an editable transcript, accurate word timing, and standard subtitle exports.
- Privacy-conscious teams that cannot upload client footage to a third-party service.
- Developers and agencies who want to run, audit, customize, or integrate a local
faster-whisperand FFmpeg caption workflow.
Looking for a Submagic alternative, CapCut auto captions alternative, OpusClip alternative, or AutoCut alternative? Capite covers the captioning and animated-subtitle workflow with software you can inspect and run yourself.
| If you are considering | Capite is a strong fit when you need |
|---|---|
| Submagic | A self-hosted, MIT-licensed caption studio with local processing, editable word timing, and animated styles. |
| CapCut auto captions | A dedicated caption workflow with standard SRT, VTT, TXT, ASS, and burned-in MP4 export. |
| OpusClip | Caption generation and subtitle styling for footage you have already selected or edited. Capite does not claim to replace automated clip selection. |
| AutoCut, VEED, or Captions | A local, auditable workflow where your deployment settingsβnot a vendor planβcontrol file, duration, and concurrency limits. |
Capite does not make claims about competitors' current pricing or feature sets; those change often. Compare the workflow that matters to you: local ownership, caption editing, motion styling, subtitle exports, and self-hosting.
Fix transcription typos, adjust word timing, customize styles, and re-render in seconds β all in one unified workspace.
- Click-to-Seek Word Chips: Every word is rendered as an interactive chip. Click any word to jump playback directly to that millisecond.
- Direct Inline Editing: Fix transcription typos, technical terms, or names immediately in the script cards.
- Timing Nudge Controls: Adjust sentence segment boundaries with
-0.1s/+0.1smicro-nudges. - Batch Text Tools: Built-in Find & Replace, text casing converters (
AAUPPERCASE,AaTitle Case,aalowercase), auto-scroll follower, and one-click copy. - Synchronized Video Player: Variable playback speed (
0.75x,1x,1.25x,1.5x), frame seeking, and instant preview.
Browse trending, editorial, pop, and tech styles with a responsive live phone preview before processing.
- Categorized Presets: Filter through Trending (8), Clean & Tech (5), Editorial & Film (6), and Pop & Expressive (8).
- Style Details: Real-time descriptions of animation types, active fonts, and recommended content formats (e.g., Podcasts, TikTok, Reels, Financial, Documentaries).
- Interactive Positioning: Drag subtitles up or down on the phone screen or use quick presets (
Top,Middle,Bottom). - Dynamic Backgrounds: Test subtitle visibility against multiple mock backdrops (
Cinematic,Dark Glass,Light,Grid).
Fine-tune fonts, animation physics, weight transitions, and color shaders.
- π₯ 27 Viral Caption Styles: Inspired by top content creators across TikTok, YouTube Shorts, and Instagram Reels (Hormozi, MrBeast, Crimson Pop, Podcast Viral, Submagic Storyteller, Ali Abdaal, Vox Explainer, and more).
- β‘ 7 Motion Typography Engines: Dynamic Word Highlight, Karaoke Fill, Pop-In / Spring, Elastic Bounce, Smooth Zoom / Scale, Neon Glow, and Accent Highlight Box.
- π― Word-Level Millisecond Accuracy: Powered by OpenAI's Whisper through
faster-whisper(CTranslate2) for instant, accurate word boundary timestamps. - π Interactive Live Studio Suite: Word-level transcript editing, click-to-seek playback, millisecond timestamp adjustment, and keyboard shortcuts (
Spaceto play/pause). - β‘ Instant In-Place Re-Rendering: Updated words or picked a new motion style? Re-burn your video in seconds without re-running transcription!
- π₯ Universal Subtitle & Video Export: Download hardcoded HD MP4, SubRip (
.srt), WebVTT (.vtt), plain text (.txt), or Advanced SubStation Alpha (.ass). - π 100+ Languages with Script-Aware Fonts: Automatic language detection with script-aware font fallback (Latin, CJK, Arabic, Devanagari, Thai, Hebrew, Cyrillic).
- π 100% Private, Local & Self-Hosted: Your videos, audio, and transcripts never leave your computer. No external API keys needed.
- π¨ Modern Oat & Clay Design System: Crafted with Next.js 16, React 19, and Tailwind CSS v4 for an elegant, distraction-free editing experience.
| Preset ID | Name | Category | Animation Engine | Primary Color | Highlight Color | Best For |
|---|---|---|---|---|---|---|
hormozi |
Hormozi | Trending | Word Highlight | White #FFFFFF |
Cyan #00FFFF |
Business, Hooks & Motivation |
mrbeast |
MrBeast | Trending | Word Highlight | Yellow #FFFF00 |
Orange #FF6600 |
Gaming & High-Energy Shorts |
crimson-pop |
Crimson Pop | Trending | Box Pop | White #FFFFFF |
Crimson #DC2626 |
High-Retention Viral Hooks |
podcast-viral |
Podcast Viral | Trending | Word Highlight | White #FFFFFF |
Electric Lime #A3E635 |
Podcasts & Interview Clips |
fintech-wealth |
Fintech & Wealth | Trending | Neon Glow | Fluorescent #E0E7FF |
Emerald #10B981 |
Finance, Crypto & Tech |
dark-documentary |
Dark Documentary | Trending | Smooth Scale | Pale Gray #F1F5F9 |
Crimson #E11D48 |
Crime & Mystery Documentaries |
submagic |
Submagic Storyteller | Trending | Elastic Bounce | Cream #FEF9C3 |
Vivid Purple #A855F7 |
Narrative Reels & Storytelling |
dark-psychology |
Dark Psychology | Trending | Neon Glow | Pure White #FFFFFF |
Blood Red #DC2626 |
Philosophy & Thrillers |
classic |
Classic | Trending | Word Highlight | White #FFFFFF |
Yellow #FFFF00 |
General Short-Form Subtitles |
ali-abdaal |
Ali Abdaal | Trending | Word Highlight | Soft Cream #FFFBEB |
Pastel Blue #38BDF8 |
Productivity & Study Tips |
vox-explainer |
Vox Explainer | Editorial-Film | Word Highlight | Off-White #F8FAFC |
Bright Yellow #FBBF24 |
Educational Video Essays |
iman-luxury |
Iman Luxury | Editorial-Film | Smooth Scale | Off-White #F8FAFC |
Champagne Gold #D97706 |
Luxury & Cinematic Vlogs |
cyberpunk-neon |
Cyberpunk Neon | Pop-Expressive | Neon Glow | Cyan #22D3EE |
Neon Magenta #F43F5E |
Gaming, Streams & Sci-Fi |
cinema-noir |
Cinema Noir | Editorial-Film | Fade / Scale | Silver #E2E8F0 |
White #FFFFFF |
Dramatic Storytelling |
code-terminal |
Code Terminal | Clean-Tech | Word Highlight | Terminal White #F1F5F9 |
Matrix Green #22C55E |
Tech & Dev Tutorials |
creator-pop |
Creator Pop | Pop-Expressive | Pop-In | White #FFFFFF |
Hot Pink #EC4899 |
Vlogs & Lifestyle Clips |
warm-pastel |
Warm Pastel | Pop-Expressive | Elastic Bounce | Lavender #F3E8FF |
Coral Rose #FB7185 |
Wellness & Beauty Reels |
urban-rebel |
Urban Rebel | Pop-Expressive | Pop-In | Pale Yellow #FEF08A |
Bright Red #EF4444 |
Streetwear & Hip Hop |
nordic-clean |
Nordic Clean | Clean-Tech | Word Highlight | Pure White #FFFFFF |
Slate #94A3B8 |
Architecture & Minimal Design |
kapwing-viral |
Kapwing Viral | Trending | Word Highlight | White #FFFFFF |
Vibrant Blue #2563EB |
Fast-Paced Social Clips |
neon-cyber |
Neon Cyber | Pop-Expressive | Neon Glow | Pure White #FFFFFF |
Electric Teal #14B8A6 |
Futuristic Tech Reviews |
retro-glitch |
Retro Glitch | Pop-Expressive | Pop-In | Light Pink #FCE7F3 |
Violet #8B5CF6 |
Nostalgia & Anime Edits |
cinema-gold |
Cinema Gold | Editorial-Film | Word Highlight | Off-White #FAFAFA |
Vintage Gold #CA8A04 |
Cinematic Shorts |
tiktok-hype |
TikTok Hype | Trending | Elastic Bounce | White #FFFFFF |
Bright Orange #F97316 |
Viral TikTok Reactions |
karaoke |
Karaoke | Trending | Karaoke Wipe | White #FFFFFF |
Electric Blue #3B82F6 |
Sing-Alongs & Music Videos |
minimal |
Minimal | Clean-Tech | Word Highlight | Pure White #FFFFFF |
Soft Yellow #FEF08A |
Minimalist Talking-Head Clips |
clean-tech |
Clean Tech | Clean-Tech | Word Highlight | Pure White #FFFFFF |
Electric Blue #38BDF8 |
SaaS & Product Walkthroughs |
Run Capite with Docker in under 2 minutes:
# 1. Clone repository
git clone https://github.com/muneebkhan08/Capite.git
cd Capite
# 2. Launch services
docker compose upOpen your browser at http://localhost:3000.
To stop the containers:
docker compose down- Python 3.11+
- Node.js 20+ & npm
- FFmpeg with
libasssupport (brew install ffmpegon macOS,sudo apt install ffmpeg libass-devon Ubuntu/Debian)
# 1. Clone repository
git clone https://github.com/muneebkhan08/Capite.git
cd Capite
# 2. Run automated setup (creates virtualenv & installs packages)
make setup
# 3. Start development servers (frontend on :3000, backend on :5000)
make devBackend (Flask):
cd backend
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python app.pyFrontend (Next.js 16):
cd frontend
npm install
DATABASE_URL="file:./data/captions.db" npx prisma generate
DATABASE_URL="file:./data/captions.db" npx prisma db push
DATABASE_URL="file:./data/captions.db" npm run dev- Drag and drop your
.mp4,.mov, or.webmfile into the upload dropzone (up to 500MB, up to 30 minutes duration). - Select your preferred default caption style from the 27 presets.
- Drag the caption position slider to adjust vertical placement on the screen (5% to 50% from the bottom).
- Click Generate Captions β.
- Upload: Video streams directly to the local backend.
- Transcribe:
faster-whisperisolates spoken words and generates millisecond-accurate timestamps and language confidence. - Generate Subtitles:
pysubs2constructs an ASS subtitle script applying animations, highlight shaders, and fonts. - Burn-In: FFmpeg burns the subtitle layer onto the video using
libassat CRF 18 visually lossless quality.
- Once completed, the Studio Editor opens automatically.
- Seek Video: Click any word in the transcript on the right to jump playback to that exact word.
- Edit Script: Click on any word to fix speech typos, replace names, or modify punctuation.
- Customize Motion & Typography: Switch to the Motion & Style tab to test new fonts, font weights, weight transitions (
light_to_boldorbold_to_light), or custom colors. - Re-render: Click Apply & Re-render to burn the new subtitles into the video in seconds without waiting for transcription again.
- Click Download Video (.mp4) to download your final captioned video.
- Or click .SRT, .VTT, or .TXT to export subtitle files for Premiere Pro, DaVinci Resolve, Final Cut, or YouTube.
Capite supports direct export to industry-standard subtitle formats for maximum workflow flexibility:
- Burned HD MP4 Video: High-definition MP4 encoded with CRF 18 quality and original audio stream preserved.
- SubRip (
.srt): Compatible with Adobe Premiere Pro, DaVinci Resolve, Final Cut Pro, and YouTube Studio.1 00:00:00,000 --> 00:00:04,280 This is Muneeb, founder of Edvay. 2 00:00:04,280 --> 00:00:09,340 Edvay is an education platform providing personalized learning.
- WebVTT (
.vtt): Modern web video text tracks for HTML5 video players.WEBVTT 1 00:00:00.000 --> 00:00:04.280 This is Muneeb, founder of Edvay.
- Plain Text (
.txt): Raw transcript text without timing tags, perfect for blog posts and show notes. - Advanced SubStation Alpha (
.ass): Complete subtitle styling script with word-by-word animation tags.
flowchart LR
Browser["Client Browser<br/>(React 19 / Next.js 16)"]
subgraph Frontend["Frontend (Port 3000)"]
UI["Capite Studio & Landing<br/>(Tailwind v4 / Oat Theme)"]
Actions["Server Actions<br/>(src/actions/captions.ts)"]
DB[("SQLite via Prisma<br/>Job History & Cache")]
end
subgraph Backend["Backend (Flask β Port 5000)"]
API["REST API<br/>(app.py)"]
Worker["Worker Daemon<br/>(caption_job.py)"]
Storage["JobStorage<br/>(Thread-Safe + JSON)"]
end
subgraph Engine["Processing Pipeline"]
Whisper["faster-whisper<br/>(Speech to Word Timestamps)"]
Subtitles["pysubs2<br/>(ASS Animation Engine)"]
FFmpeg["FFmpeg + libass<br/>(CRF 18 Video Burn-In)"]
end
Browser <-->|"HTTP & Streaming"| Actions
Browser -.->|"Direct Stream: /api/video"| API
Actions <--> DB
Actions <--> API
API --> Worker
Worker --> Whisper
Worker --> Subtitles
Worker --> FFmpeg
API --> Storage
For complete architectural details, see ARCHITECTURE.md.
Full REST API documentation is available in docs/API.md.
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/health |
Service health status check |
POST |
/api/process |
Upload video file and queue transcription & caption job |
GET |
/api/status/{jobId} |
Poll progress percentage, phases, language, and transcript |
POST |
/api/rerender/{jobId} |
Fast re-render with updated transcript, styles, or colors |
GET |
/api/export/{jobId} |
Export subtitles as .srt, .vtt, .txt, or .ass |
GET |
/api/video/{jobId} |
Stream original or captioned video with seeking support |
GET |
/api/download/{jobId} |
Download finalized captioned video file |
DELETE |
/api/jobs/{jobId} |
Delete job and cleanup media scratch files |
Copy .env.example to .env to configure your instance:
| Variable | Default | Description |
|---|---|---|
WHISPER_MODEL_SIZE |
base |
Whisper model: tiny, base, small, medium, large-v3 |
MAX_FILE_SIZE_MB |
500 |
Maximum upload size in MB |
MAX_DURATION_MINUTES |
30 |
Maximum video duration allowed |
MAX_CONCURRENT_JOBS |
2 |
Simultaneous encoding worker threads |
OUTPUT_TTL_HOURS |
24 |
Auto-cleanup time for temporary output files |
FRONTEND_URL |
http://localhost:3000 |
Allowed CORS origin |
BACKEND_URL |
http://localhost:5000 |
Backend API URL for Next.js server actions |
DATABASE_URL |
file:./data/captions.db |
SQLite database connection string |
Capite is a free, open-source AI video caption generator and auto subtitle editor that automatically transcribes speech and burns animated, viral typography into videos for TikTok, Instagram Reels, YouTube Shorts, and podcasts.
Capite combines local faster-whisper transcription with a motion typography engine built on pysubs2 and FFmpeg libass, plus a Next.js web studio for transcript editing. It is MIT licensed, self-hosted, has no Capite account or per-video credit system, and produces exports without a forced Capite watermark. Your instance's file and duration limits remain configurable for your hardware.
Capite is an open-source, self-hosted option for the caption-generation portion of a video workflow. It gives you local faster-whisper transcription, 27 animated styles, word-level editing, and MP4/SRT/VTT/TXT/ASS exports. Product capabilities and prices for Submagic, CapCut, OpusClip, and other services change regularly, so check their current plans for a like-for-like comparison.
Yes! Capite is specifically optimized for vertical short-form video formats (9:16) as well as horizontal long-form videos (16:9). You can customize caption placement, font size, animation styles, and colors to match popular TikTok, Instagram Reel, and YouTube Short trends (such as Hormozi, MrBeast, and Submagic styles).
Yes. Capite is open-source under the MIT License, has no Capite subscription, paywall, per-video credit system, or forced Capite watermark. Default self-hosted limits are 500 MB and 30 minutes, and you can change them with environment variables to fit your hardware.
Yes. Capite uses faster-whisper, an optimized local CTranslate2 implementation of OpenAI's Whisper model. Once the Docker container or local environment is initialized and the Whisper model weights are downloaded, transcription and rendering run entirely offline without needing an internet connection or an OpenAI API key.
Capite supports exporting subtitles in multiple industry-standard formats:
- Hardcoded MP4 Video: Subtitles burned directly into the video with CRF 18 visually lossless quality.
- SubRip (.SRT): Universal subtitle format compatible with Adobe Premiere Pro, DaVinci Resolve, Final Cut Pro, and YouTube.
- WebVTT (.VTT): Web video text track format for HTML5 video players and websites.
- Plain Text (.TXT): Clean transcript without timestamp markers.
- Advanced SubStation Alpha (.ASS): Complete styling script containing word-by-word animation and positioning metadata.
Capite supports over 100 languages via Whisper AI, including English, Spanish, Portuguese, French, German, Italian, Hindi, Arabic, Japanese, Chinese, Korean, Russian, Dutch, Turkish, and many more. It includes script-aware font fallback to properly render non-Latin scripts (CJK, Arabic, Devanagari, Hebrew, Cyrillic).
Capite is useful for creating AI video captions, automatic subtitles, and animated social-video text without a SaaS account. Common workflows include:
- Alex Hormozi-style and MrBeast-style captions with word highlights, bounce, pop, and karaoke motion.
- Podcast video subtitles with an editable, word-timed transcript.
- TikTok, Instagram Reels, and YouTube Shorts captions with vertical-video-safe caption placement.
- Whisper subtitle generation with local CTranslate2 acceleration through
faster-whisper. - Interchangeable caption deliverables: a burned-in MP4, SRT for video editors and YouTube, VTT for the web, TXT for transcripts, or ASS for styled subtitles.
- ARCHITECTURE.md β System processes, thread lifecycle, concurrency model, and data flow.
- docs/API.md β Full REST API specification with parameter tables, request bodies, and curl examples.
- CONTRIBUTING.md β Development setup, branch guidelines, and testing workflow.
- llms.txt β A concise, factual guide for AI assistants and tools that evaluate Capite.
- frontend/DESIGN.md β Oat & Clay design tokens, contrast ratios, and typography rules.
Muhammad Muneeb Khan
- LinkedIn: https://www.linkedin.com/in/muhammadmuneebkhan8304/
- Email: muneebkhan08304@gmail.com
- GitHub: @muneebkhan08
- Project Repo: https://github.com/muneebkhan08/Capite
Capite is open-source software licensed under the MIT License.




