# 🎬 Concat — the free CapCut that never watermarks, plus the stack that feeds it

**URL:** <https://onehack.st/t/concat-the-free-capcut-that-never-watermarks-plus-the-stack-that-feeds-it/327101>\
**Category:** Tools & Scripts\
**Tags:** tools, ai, content-creation\
**Created:** [November 8, 2026, 12:37pm UTC](https://onehack.st/t/concat-the-free-capcut-that-never-watermarks-plus-the-stack-that-feeds-it/327101 "2026-11-08T12:37:19Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ze380y](https://onehack.st/user_avatar/onehack.st/ze380y/32/48760_2.png) [@Ze380y](https://onehack.st/u/Ze380y)\
**Post date:** [November 8, 2026, 12:37pm UTC](https://onehack.st/t/concat-the-free-capcut-that-never-watermarks-plus-the-stack-that-feeds-it/327101/1 "2026-11-08T12:37:19Z")

</div>

![Concat — the free CapCut replacement, offline](https://onehack.st/uploads/default/original/3X/0/3/038a80eabdff7ca322714de95c8281f412d95f59.png)

### An editor that never watermarks · a timeline the machine cuts for you

◉━━━ FREE CUT · 4K60 ━━━◉

**Concat** v0.2.9 (5 Nov 2026, beta) — [github.com/jub0t/Concat](https://github.com/jub0t/Concat) · AGPL-3.0-or-later · 15,509★ · Win · macOS · Linux · Android · no GPU, 4 GB RAM · ~3.4 GB models once

digraph G { rankdir=TB; nodesep=0.5; ranksep=0.4; node [shape=box, style="rounded,filled", fontsize=17, fontname="Helvetica", color="#173f43", fillcolor="#fffdf8", margin="0.14,0.09"]; edge [color="#4f7a4a", penwidth=2, arrowsize=0.8]; raw [label="📱 raw clip"]; help [label="🧠 captions · 🎙 voice 🧍 cutout · 🔊 loudness"]; edit [label="🎬 Concat", fillcolor="#e8f0e2"]; agt [label="🤖 mcp · 40 tools", style="rounded,filled,dashed"]; clip [label="✅ 4K60 10-bit", fillcolor="#f7e2c4"]; { rank=same; raw; help; } raw -\> edit; help -\> edit; agt -\> edit [style=dashed]; edit -\> clip; { rank=same; agt; clip; } }

The unlock is plain: the editor costs nothing, and its machine layer edits the timeline for you.

| your job | the free helper |
| --- | --- |
| clean captions | **Subtitle Edit** — [github.com/SubtitleEdit](https://github.com/SubtitleEdit/subtitleedit) · 7 offline engines, waveform retime, SRT out |
| a voice you own | **Piper** — [github.com/OHF-Voice](https://github.com/OHF-Voice/piper1-gpl) · 34 languages, hundreds of lines per batch |
| a clean matte | **BiRefNet** — [github.com/ZhengPeng7](https://github.com/ZhengPeng7/BiRefNet) · hair, veils, thin props, folder batches |
| loudness that fits | **ffmpeg-normalize** — [github.com/slhck](https://github.com/slhck/ffmpeg-normalize) · two-pass EBU R128 to −14 LUFS, picture untouched |
| 40 files at once | **FFmpeg Batch AV Converter** — [github.com/eibols](https://github.com/eibols/ffmpeg_batch) · whole folders, NVENC/QSV/AMF |
| the phone cut | **Obtainium** — [github.com/ImranR98](https://github.com/ImranR98/Obtainium) · self-updates the arm64 APK, no store |

> **The 24 free helpers · and how to drive it from a script or an agent**
>
> **Captions**
> 
> - **Subtitle Edit** — [github.com/SubtitleEdit/subtitleedit](https://github.com/SubtitleEdit/subtitleedit) · MIT · 7 offline engines (WhisperX, Parakeet, SenseVoice), retime to the waveform, OCR hard subs; saves SRT for Concat’s Import SRT.
> - **VideoCaptioner** — [github.com/WEIFENG2333/VideoCaptioner](https://github.com/WEIFENG2333/VideoCaptioner) · GPL-3.0 · re-splits a wall of ASR text into short readable lines, word-level, then translates.
> - **Parakeet TDT 0.6B v3** — [huggingface.co/nvidia/parakeet-tdt-0.6b-v3](https://huggingface.co/nvidia/parakeet-tdt-0.6b-v3) · CC-BY-4.0 · 25 European languages, word timings, several times faster than Whisper on CPU.
> - **Demucs-GUI** — [github.com/CarlGao4/Demucs-Gui](https://github.com/CarlGao4/Demucs-Gui) · GPL-3.0 · pulls a vocals stem first, so captions stop guessing over music.
> 
> **Voice**
> 
> - **Piper** — [github.com/OHF-Voice/piper1-gpl](https://github.com/OHF-Voice/piper1-gpl) · GPL-3.0 engine, MIT voices · one command per line, a batch of hundreds.
> - **OpenVoice V2** — [huggingface.co/myshell-ai/OpenVoiceV2](https://huggingface.co/myshell-ai/OpenVoiceV2) · MIT · clone from a few seconds, per-line style and accent, CPU works.
> - **Zonos v0.1** — [huggingface.co/Zyphra/Zonos-v0.1-transformer](https://huggingface.co/Zyphra/Zonos-v0.1-transformer) · Apache-2.0, ungated · the clone you may sell work made with.
> - **VOICEVOX** — [github.com/VOICEVOX/voicevox](https://github.com/VOICEVOX/voicevox) · LGPL-3.0 · Japanese character voices with editable intonation curves.
> 
> **Picture**
> 
> - **Video2X** — [github.com/k4yt3x/video2x](https://github.com/k4yt3x/video2x) · AGPL-3.0 · one GUI for upscale plus 60 fps interpolation.
> - **BiRefNet** via rembg — [github.com/ZhengPeng7/BiRefNet](https://github.com/ZhengPeng7/BiRefNet) · MIT · 2048 px matting, reached as `rembg -m birefnet-general`.
> - **SAM 2.1** — [github.com/facebookresearch/sam2](https://github.com/facebookresearch/sam2) · Apache-2.0 · click one point, the object stays selected through the clip.
> - **OBS background removal** — [github.com/occ-ai/obs-backgroundremoval](https://github.com/occ-ai/obs-backgroundremoval) · GPL-3.0 · a live virtual green screen feeding Concat’s own keyer.
> 
> **Sound**
> 
> - **ffmpeg-normalize** — [github.com/slhck/ffmpeg-normalize](https://github.com/slhck/ffmpeg-normalize) · MIT · `-c:v copy` keeps the picture, audio lands at −14 LUFS.
> - **DeepFilterNet** — [github.com/Rikorose/DeepFilterNet](https://github.com/Rikorose/DeepFilterNet) · MIT/Apache-2.0 · one prebuilt binary strips room hiss from a voice track.
> 
> **Batch**
> 
> - **FFmpeg Batch AV Converter** — [github.com/eibols/ffmpeg\_batch](https://github.com/eibols/ffmpeg_batch) · LGPL-2.1 · whole folders, NVENC/QSV/AMF, folder watching, portable build.
> - **HandBrake** — [github.com/HandBrake/HandBrake](https://github.com/HandBrake/HandBrake) · GPL-2.0 · proxy files, so a 4 GB laptop scrubs a 4K timeline.
> - **Cutawan** — [github.com/JeremySNR/cutawan](https://github.com/JeremySNR/cutawan) · MIT · finds clip moments from local captions, no Docker, no credits.
> 
> **Phone**
> 
> - **Obtainium** — [github.com/ImranR98/Obtainium](https://github.com/ImranR98/Obtainium) · GPL-3.0 · watches the Concat arm64 release and self-updates it.
> - **Termux + ffmpeg** — [github.com/termux/termux-app](https://github.com/termux/termux-app) · GPL-3.0 · real FFmpeg 9 in the pocket: libass, x264, x265, SVT-AV1.
> - **scrcpy** — [github.com/Genymobile/scrcpy](https://github.com/Genymobile/scrcpy) · Apache-2.0 · mirrors and records the phone straight to the PC.
> 
> **Assets**
> 
> - **Sonniss GDC bundles** — [sonniss.com/gameaudiogdc](https://sonniss.com/gameaudiogdc) · royalty-free, commercial, no credit · whole sound libraries per year.
> - **Kenney** — [kenney.nl/assets](https://kenney.nl/assets) · CC0 · thousands of SFX, icons, UI frames, pixel fonts.
> - **Smiley Sans** — [github.com/atelier-anchor/smiley-sans](https://github.com/atelier-anchor/smiley-sans) · OFL 1.1 · a display font built for Chinese titles and subtitles.
> 
> **Zero-install helpers**
> 
> - **Concat browser tools** — [concat.standalones.org/tools](https://concat.standalones.org/tools) · compress, convert, trim, extract audio, video to GIF, SRT↔VTT shift, bitrate and timecode calculators, all in the tab.
> 
> #### Drive it from a script or an agent
> 
> Concat ships an MCP server: one process, a project, and a tool list a machine reads.
> 
> ```auto
> concat --mcp # serve a project; watch it cut
> CONCAT_MCP_ROOTS=/footage:/exports concat --mcp # writes limited to two folders
> claude mcp add concat -- concat --mcp # one line, Claude Code is driving
> 
> ```
> 
> - modes: **window** (you watch each edit land) · **headless** (no window, cron or server) · **auto**
> - the tool list, 8 of ~40: `project_create` · `media_import` · `clips_split` · `captions_add` · `keyframe_set` · `template_instantiate` · `export_start` · `preview_frame`
> - `edit_apply` folds a batch of edits into one undo step
> - `preview_frame` returns a still, so the agent checks its own work
> - `export_start`, then `export_status`: 4K60 H.264, HEVC or AV1
> - JSON-RPC: Settings › Automation prints the endpoint; any JSON-RPC client joins the same project
> - captions arrive as SRT from Subtitle Edit, land styled through the Captions panel

**The edit is free, the machine does the cutting, the files stay on your disk.**
