Concat: el editor de vídeo open source que quiere reemplazar a CapCut (y que Claude Code puede usar por MCP)
Concat es un editor de vídeo gratuito y open source que se presenta como alternativa a CapCut para Windows, macOS, Linux, Android e iOS. Hace lo que la mayoría abre CapCut para hacer (subtítulos automáticos, texto a voz, quitar el fondo, keyframes, efectos y exportar en 4K) pero sin marca de agua, sin cuenta, sin suscripción y sin subir tus vídeos a ningún servidor: todo corre en tu equipo sobre un motor nativo escrito en Rust.
Lo que lo hace interesante para este blog es otra cosa: trae un servidor MCP integrado (concat --mcp) para que Claude Code u otro agente de IA cree proyectos, corte, añada títulos y exporte con las mismas órdenes que usa la ventana. En este análisis leemos su código (versión 0.2.8) para contarte qué hace de verdad, cómo está construido, qué limitaciones tiene en español y cómo conectarlo a tu agente.

Qué es Concat y quién lo hace
- Repositorio: github.com/jub0t/Concat
- Web y descargas: concatenate.pages.dev
- Versión analizada: 0.2.8 (etiquetada el 18 de octubre de 2026), más los cambios de
mainhasta el 28 de octubre. La primera versión pública, la 0.1.0-alpha.1, salió el 27 de agosto de 2026: el proyecto tiene dos meses. - Licencia: AGPL-3.0-or-later. El nombre y el logo son marca registrada aparte (lo vemos abajo).
- Autor: Jareer Abdullah (@jub0t), que firma el copyright y la política de marca. Las contribuciones externas pasan por un acuerdo de licencia (CLA).
- Estado: beta. El propio README lo dice: "funciona, y todavía tiene aristas".
- Idiomas de la interfaz: 26, español incluido.
Una nota sobre la licencia
En codigoagente solemos tratar proyectos MIT; Concat no lo es. La AGPL-3.0 te deja usarlo gratis, también para trabajo comercial: los vídeos que exportes son tuyos y la licencia no les afecta. Las obligaciones aparecen si modificas el código y lo distribuyes, o si ofreces esa versión modificada a otros por red: entonces tienes que publicar tus cambios con la misma licencia. Para editar tus vídeos con la app tal cual, no tienes que hacer nada.
Hay un segundo límite, aparte de la licencia: según TRADEMARK.md, si distribuyes una versión modificada tienes que cambiarle el nombre y el icono. Puedes escribir sobre Concat, empaquetarlo sin cambios para una distribución de Linux o hacer un fork; lo que no puedes es repartir un Concat modificado llamándolo Concat.
Qué hace: lo que sí trae la versión 0.2.8
| Área | Qué incluye |
|---|---|
| Corte | Dividir, recortar, *ripple delete*, unir, congelar fotograma, velocidad, línea de tiempo magnética opcional |
| Pistas | Multipista y varias líneas de tiempo por proyecto, superposiciones y picture-in-picture, modos de fusión (pantalla, sumar, multiplicar...), recorte y volteo |
| Animación | Keyframes de posición, escala, rotación, opacidad, volumen y parámetros de efectos, con editor de curvas |
| Efectos | 127 paquetes en el repositorio entre filtros de color, transiciones y efectos de audio (VHS, glitch, film grain, teal-orange, chroma key, teléfono, robot...). El README habla de "100 efectos, filtros y transiciones" renderizados en la GPU |
| Títulos | Fuentes, contorno, sombra, placa de fondo y plantillas de partida |
| Audio | Limpieza de voz con un interruptor (reducción de ruido, realce, normalizar volumen) y efectos de voz |
| IA local | Subtítulos automáticos con Whisper, texto a voz, clonación de voz, quitar el fondo de personas u objetos o pintando la máscara |
| Exportación | H.264, HEVC y AV1, hasta 4K a 60 fps y color de 10 bits |
| Automatización | Servidor MCP para agentes, API JSON-RPC por socket y, compilando desde el código, gRPC y una herramienta de línea de comandos |
Los atajos de teclado son los que esperas de un editor profesional y se pueden cambiar en Settings > Shortcuts: Ctrl + B divide en el cabezal, Q y W borran a la izquierda o a la derecha del cabezal, F congela el fotograma y Shift + Supr hace un borrado con cierre de hueco.
Cómo está construido por dentro
Concat no es una interfaz web sobre FFmpeg lanzado como proceso aparte. Es un *workspace* de Rust (edición 2024, Rust 1.93 o superior) con 17 *crates* separados por responsabilidad, y la ventana es solo uno de los clientes del motor.

Las piezas que importan:
concat-core: tiempo, fotogramas y el modelo de la línea de tiempo. No depende de nada más que la biblioteca estándar.concat-media: lectura y escritura de archivos. Enlaza FFmpeg 7 como biblioteca (nada se lanza como proceso externo) y es el único crate que sabe que FFmpeg existe.concat-render: compone cada fotograma en la GPU con wgpu. Comparte el dispositivo con el renderizador de la ventana (Slint), así que el fotograma de la vista previa no sale de la GPU.concat-effects: cada efecto es una carpeta con un manifiesto TOML y un *shader* WGSL para la imagen o una cadena de filtros de FFmpeg para el sonido.concat-speech: transcripción con whisper.cpp compilado dentro del programa y texto a voz con Kokoro vía sherpa-onnx.concat-vision: los modelos de recorte con ONNX Runtime, que usa el acelerador de cada plataforma: CoreML en macOS e iOS, DirectML en Windows y NNAPI en Android.concat-api: un único despachador de peticiones JSON. La ventana, el servidor MCP, el socket JSON-RPC y la CLI hablan con él, así que cualquier edición que haces con el ratón la puede hacer un script, con los mismos rechazos y el mismo deshacer.
Los proyectos se guardan como carpetas con un concat.json, y cada proceso que abre una carpeta la bloquea con un concat.lock para que la ventana y un agente no se pisen.
Los modelos de IA: qué se descarga y desde dónde
Los instaladores no traen ningún modelo dentro. Se descargan la primera vez que usas la función, desde Settings, y luego funcionan sin conexión. El archivo models/manifest.toml fija cada uno con su hash SHA-256 (una descarga sin hash que comprobar se rechaza) y los sirve desde una *release* espejo del propio repositorio, con el origen original como alternativa:
| Función | Modelo | Tamaño aproximado |
|---|---|---|
| Subtítulos | Whisper `tiny`, `base` o `small` (multilingüe o solo inglés) | según el tamaño que elijas |
| Texto a voz | Kokoro v1.0, compacto int8 o precisión completa | 132 MB / 350 MB |
| Clonación de voz | Pocket TTS (Kyutai, 100M) | 98 MB |
| Voz "de estudio" | Chatterbox Turbo (Resemble AI) | alrededor de 1 GB |
| Quitar fondo | RobustVideoMatting (personas), ISNet (objetos), SlimSAM (pincel) | varios |
| Mejorar imagen | Real-ESRGAN general x4v3 | — |
Según su política de firma de código, la app solo sale a internet cuando tú se lo pides: al buscar actualizaciones, al descargar un modelo o si activas la API remota. No tiene telemetría.
Lo que tienes que saber si editas en español
Aquí está el matiz que no cuenta el README y que encontramos leyendo concat-speech/src/tts.rs:
- Los subtítulos automáticos sí sirven en español, siempre que elijas un modelo Whisper multilingüe (
tiny,baseosmall, no las variantes.en). El modelo más grande que ofrece essmall: para audio limpio va bien, pero con ruido o acentos marcados vas a corregir más que conmediumolarge, que no están en la lista. - El texto a voz no habla español. Kokoro incluye 53 voces en nueve idiomas, pero el código solo ofrece las de inglés y chino porque, según el comentario del propio autor, sus léxicos solo cubren bien esos dos. Pocket TTS y Chatterbox, los modelos de clonación, también son solo inglés.
Si necesitas locución en español, genera el audio con otra herramienta y llévalo a la línea de tiempo. En el blog analizamos VoiceStudio, un clonador de voz open source que puedes usar para eso.
Instalar Concat
Hay dos caminos: la web del proyecto, que detecta tu sistema, o la página de releases de GitHub, con todos los instaladores y sus *checksums*.
| Sistema | Formato | Aviso |
|---|---|---|
| Windows x86_64 | Instalador `.exe` y `.msi` | No está firmado: SmartScreen avisa, pulsa **Más información › Ejecutar de todos modos**. Con Smart App Control activo, Windows se niega a ejecutarlo. Las builds ARM están en pausa |
| macOS (Intel y Apple silicon) | `.app` | Tampoco firmado. Si macOS no lo abre: `xattr -dr com.apple.quarantine /Applications/Concat.app` |
| Linux x86_64 y ARM | `.deb`, `.rpm`, `.AppImage`, paquete de Arch, Flatpak comunitario | — |
| Android | APK | Móviles y tabletas |
| iOS / iPadOS | Instalación lateral (*sideload*) | No está en la App Store |
Que el binario de Windows no esté firmado es lo normal en un proyecto de dos meses, pero tenlo en cuenta en un equipo de empresa. La política de firma (CODE_SIGNING.md) explica que todas las builds salen de GitHub Actions desde un *tag*, no del equipo de nadie, y puedes compararlas con los *checksums* de la release.
Compilar desde el código
Necesitas Rust 1.93 o superior, las bibliotecas de desarrollo de FFmpeg 7, cmake y un compilador de C++. El *workspace* de Cargo está en src/, no en la raíz del repositorio:
git clone https://github.com/jub0t/Concat.git
cd Concat/src
cargo run -p concat # el editor, en modo debug
cargo build --profile app -p concat # el binario de distribución (LTO, sin símbolos)En macOS basta con brew install ffmpeg. En Windows, y en distribuciones Linux con FFmpeg anterior a la 7, descarga una build shared de BtbN y apunta la variable FFMPEG_DIR a ella. Con Nix, nix run en la raíz lo compila todo con las dependencias fijadas.
Usar Concat desde Claude Code con MCP
Esto es lo que lo separa de CapCut y de la mayoría de editores libres. El servidor MCP va dentro del mismo binario: no instalas nada más. Con Claude Code en macOS:
claude mcp add concat -- /Applications/Concat.app/Contents/MacOS/concat --mcpEn Windows la ruta es %LOCALAPPDATA%\Programs\Concat\concat.exe (instalación para tu usuario) o C:\Program Files\Concat\concat.exe (para todos o con el .msi); en Linux, /usr/bin/concat o el propio archivo .AppImage. Para Claude Desktop y la mayoría de clientes, la configuración tiene esta forma:
{
"mcpServers": {
"concat": {
"command": "C:\\Program Files\\Concat\\concat.exe",
"args": ["--mcp"]
}
}
}Qué puede hacer el agente
Contamos 45 herramientas en crates/concat-mcp/src/tools.rs, agrupadas así:
| Área | Herramientas |
|---|---|
| Proyectos | `project_create`, `project_open`, `project_save`, `project_list`, `project_set_video`... |
| Leer | `timeline_read` (vista compacta de pistas y clips), `project_get`, `concat_version` |
| Medios | `media_probe`, `media_import` |
| Editar | `clip_add`, `clips_add_sequence`, `clip_trim`, `clips_split`, `clips_move`, `clip_speed`, `track_add`... |
| Imagen | `clip_mask`, `clip_stabilize`, `timeline_background` |
| Títulos y subtítulos | `title_add`, `title_style_words`, `captions_add` |
| Keyframes y efectos | `keyframe_set`, `effects_list`, `effect_layer_add`, `effect_key_set` |
| Exportar | `export_start`, `export_wait` (con progreso), `export_status`, `export_cancel` |
| Ver | `preview_frame`: devuelve el fotograma compuesto como imagen, para que el agente compruebe su trabajo |
Los esquemas de los argumentos se generan desde los tipos de la API de Concat, así que el agente recibe los mismos límites que el motor. Los tiempos van en segundos, la posición de un keyframe es una fracción del clip (0 a 1) y los tamaños son fracciones del fotograma. Las ediciones viven en memoria hasta project_save, igual que en la ventana.
Un encargo realista para Claude Code, con el servidor ya conectado:
Crea un proyecto vertical 1080x1920 en ~/Videos/reel-demo, importa ~/Videos/brutos/entrevista.mp4, quita los silencios de más de un segundo, añade subtítulos automáticos con palabras clave en amarillo, aplica el filtro teal-orange, comprueba tres fotogramas con preview_frame y exporta a ~/Videos/reel-demo.mp4 en H.264.
Dos modos y sus reglas de seguridad
concat --mcp funciona de dos maneras, y concat_version te dice cuál está usando:
- A través de la ventana (
--mcp window): con Concat abierto y Settings > Automation > Scripts and apps activado, la ventana escribe la dirección y el token de su servidor enautomation.jsony el agente pasa por ella. Es el modo más seguro mientras editas: las exportaciones del agente esperan su turno y no puede sobrescribir el proyecto que tienes en pantalla. - Por su cuenta (
--mcp headless): sin ventana abierta, el servidor MCP arranca el motor él mismo.
En los dos casos el agente solo escribe dentro de tu carpeta de usuario; para permitir otras rutas en modo *headless* hay que listarlas en CONCAT_MCP_ROOTS. Y el agente trabaja en proyectos propios: todavía no edita en vivo el proyecto que tienes abierto (está planeado en el *issue* #337).
La API JSON-RPC por socket exige un token como primera línea de cada conexión, también en 127.0.0.1, pero no cifra el tráfico. Si la abres fuera de loopback, ponla detrás de algo que tenga TLS.
Concat frente a CapCut
| Concat 0.2.8 | CapCut | |
|---|---|---|
| Precio | Gratis, sin funciones de pago | Gratis con límites; las funciones avanzadas y la exportación sin restricciones van en suscripción |
| Marca de agua y cuenta | Ninguna de las dos | Pide iniciar sesión para varias funciones y para la nube |
| Dónde se procesan tus vídeos | En tu equipo | Parte de las funciones de IA en la nube |
| Código | AGPL-3.0, auditable | Cerrado |
| Plataformas | Windows, macOS, Linux, Android, iOS (lateral) | Windows, macOS, web, Android, iOS. Sin Linux |
| Automatización | Servidor MCP, JSON-RPC, CLI | No |
| Voz en español | No (solo inglés y chino) | Sí |
| Plantillas, música y stickers | Plantillas propias y biblioteca de audio, catálogo pequeño | Catálogo enorme y tendencias de TikTok |
| Madurez | Beta de dos meses | Producto maduro |
En resumen: Concat gana en privacidad, en Linux, en coste y, sobre todo, en automatización. CapCut sigue ganando en catálogo de plantillas, voces en español y pulido general.
¿A quién le compensa?
- Creadores que publican en TikTok, Reels o Shorts y no quieren marca de agua ni suscripción: sí, si aceptas una beta con aristas.
- Usuarios de Linux: probablemente la opción más cercana a CapCut que tienes.
- Equipos que procesan vídeo con datos sensibles (formación interna, entrevistas, clientes): el procesamiento local y la ausencia de telemetría son el argumento principal. Antes de desplegarlo en equipos con Windows gestionados, resuelve el tema de la firma.
- Desarrolladores y agencias que quieren automatizar vídeo: el servidor MCP y la API JSON-RPC permiten montar flujos de "brutos a reel" sin tocar la ventana. Si te interesa generar vídeo a partir de código, compáralo con HyperFrames, que crea vídeos MP4 desde HTML: HyperFrames anima diseños; Concat edita metraje.
- Si necesitas locución en español o un flujo crítico de producción, espera o combínalo con otras herramientas.
Errores y avisos frecuentes
- "Windows protegió su PC": es SmartScreen, porque el instalador no está firmado. Más información › Ejecutar de todos modos. Si tienes Smart App Control activado, no hay forma de ejecutarlo sin desactivarlo.
- "Concat está dañado y no se puede abrir" en macOS: es la cuarentena de Gatekeeper. Ejecuta
xattr -dr com.apple.quarantine /Applications/Concat.app. - El agente no puede abrir el proyecto que tienes en la ventana: es el bloqueo
concat.lock. Activa Settings > Automation > Scripts and apps y usa--mcp window, o cierra el proyecto en la ventana. - El agente no puede guardar en un disco externo: en modo *headless* solo escribe bajo tu carpeta de usuario. Añade la ruta a
CONCAT_MCP_ROOTS(separada con:en macOS y Linux,;en Windows). cargo runfalla con "no such file or directory" al compilar: estás en la raíz del repositorio. Los comandos de Cargo se lanzan desdesrc/.
Preguntas frecuentes
¿Concat es gratis de verdad? Sí. No tiene plan de pago, marca de agua ni cuenta. Se financia con donaciones en Patreon y un patrocinador en el README.
¿Puedo usarlo para vídeos comerciales? Sí. La AGPL regula el código del programa, no los vídeos que exportas con él.
¿Sube mis vídeos a algún servidor? No. Todo el procesado, incluidos los subtítulos y el recorte, es local. Solo se conecta para buscar actualizaciones, descargar modelos o si activas la API remota.
¿Hace subtítulos automáticos en español? Sí, con los modelos Whisper multilingües (hasta small). El texto a voz, en cambio, solo está en inglés y chino.
¿Puedo editar vídeos con Claude Code? Sí: claude mcp add concat -- <ruta a concat> --mcp. El agente crea sus propios proyectos, edita, revisa fotogramas con preview_frame y exporta.
¿Qué tan estable es? Es una beta de dos meses que publica versiones casi cada semana. Para proyectos importantes, guarda copias de la carpeta del proyecto.
Conclusión
Concat es el proyecto open source que más se acerca hoy a CapCut en funciones, con dos ventajas que CapCut no puede ofrecer: todo se queda en tu equipo y un agente de IA puede editar con él por MCP. Le falta madurez, firma de código en Windows y voces en español. Si quieres probarlo, descarga la 0.2.8, edita un reel corto y después conecta Claude Code para ver qué puede hacer solo con timeline_read, captions_add y export_wait.
// código fuente
// implementación
Más sobre Herramientas open source

- Alternativas gratis a apps de pago
- Instálalo en tu servidor

- Diseño, imagen y vídeo
- Alternativas gratis a apps de pago

- Diseño, imagen y vídeo
- Tutoriales paso a paso