English · Tiếng Việt · 中文 · 日本語
Generate 120+ CapCut TTS voices for free from your project captions
and attach the audio back into the same CapCut draft.
CapCut already has many TTS voices. CapDraft TTS lets you use them on your captions without paid third-party TTS services.
- 120+ CapCut voices
- No extra paid voice API
- Reads captions from your CapCut project and writes audio back into the same timeline
- Handles large projects (thousands of captions) with a virtualized table and slimmer drafts for export
- Split a huge project into 2 CapCut-openable halves, export each in CapCut, then merge the videos with ffmpeg
- Exports captions to
.srt - No project copy for normal TTS attach — no manual drag-and-drop of audio files
You still need CapCut Desktop and internet. “Free” means the app does not require a separate paid TTS service.
| Area | What you get |
|---|---|
| Project | Open CapCut project folder or draft_content.json (incl. modern Timelines/ layout) |
| Captions | Virtualized table for ~5k rows; search; select all; hide empty / without TTS / errors only |
| Voices | Online catalog (~120+), language filter + search |
| TTS | Clip speed, pitch mode, replace or skip existing TTS, optional cache, native head trim/fade |
| Pipeline | Parallel generation, cancel, throttled progress log, backup + atomic write with rollback |
| Export helpers | Split in 2 CapCut-safe projects · Merge videos (ffmpeg stream-copy, re-encode fallback) · Export SRT |
| UI | VI / EN / ZH / JA · Windows light/dark/auto theme |
- Windows 10/11
- CapCut Desktop + a project that already has captions
- Internet (TTS + voice catalog)
- ffmpeg on
PATH(or setffmpeg_pathin config) — only needed for Merge videos - ffprobe optional — fallback for cached audio duration
Source development needs uv.
- Download the latest
CapDraft-TTS-v*-windows-x64.zipfrom Releases - Unzip and run
CapDraft-TTS.exe - Choose a CapCut project and start; normal use does not require editing
config.json
Get-FileHash .\CapDraft-TTS-v1.2.4-windows-x64.zip -Algorithm SHA256
# compare with the .sha256 file from the releasegit clone https://github.com/KhoaDayy/CapDraft-TTS.git
cd CapDraft-TTS
uv sync --group dev
Copy-Item config.example.json config.json
uv run python main.pyOptional config.json keys (see config.example.json):
| Key | Purpose |
|---|---|
capcut_projects_path |
Default folder when browsing projects (e.g. CapCut drafts or AutoVideo outputs) |
ffmpeg_path |
Path to ffmpeg for video merge |
ffprobe_path |
Path to ffprobe |
tts_chunk_size / tts_parallel_chunks / tts_download_workers |
Performance |
language / theme_mode |
UI |
- Choose project → CapCut project folder or
draft_content.json - Review / filter captions
- Pick language + voice
- Set clip speed, pitch, existing-TTS policy
- Select captions → Generate and attach TTS
- Close the project in CapCut before write, then reopen CapCut to check the timeline
When CapCut export is too heavy (e.g. multi-hour fail on a big timeline):
- Load the project in CapDraft TTS (after TTS is attached is fine)
- Click Split in 2 → creates
<name>_part1and<name>_part2next to the source (source is not modified) - Fully quit CapCut, reopen, open each part → Export video
- Click Merge videos → pick part1 then part2 exports → save one MP4 (ffmpeg; stream-copy when possible)
Important
Close CapCut (or at least the project) before TTS write or split. CapDraft keeps local backups for TTS writes, but keep your own backup of important drafts.
Export SRT saves non-empty captions from the loaded project to a standard .srt file.
uv run python -m unittest discover -s tests -v
.\build-release.ps1 -Version 1.2.4Releases: push a v* tag (or run Release workflow_dispatch). CI builds Windows zip + publishes GitHub Release (see .github/workflows/release.yml).
See CONTRIBUTING.md and CHANGELOG.md.
LICENSE(Apache-2.0)- Independent project — not affiliated with CapCut / ByteDance
- You are responsible for CapCut terms, device/account rules, and content rights
- QFluentWidgets is GPLv3 for non-commercial use; review licenses before commercial redistribution
