~/codigoagente

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.

Editor de vídeo Concat en modo oscuro: biblioteca de medios, vista previa 4K con un subtítulo, panel de tipografía y línea de tiempo con pistas de texto, efecto, vídeo y voz generada
La ventana de Concat: medios, vista previa, inspector y línea de tiempo multipista · Captura oficial del proyecto (AGPL-3.0)

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 main hasta 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

ÁreaQué incluye
CorteDividir, recortar, *ripple delete*, unir, congelar fotograma, velocidad, línea de tiempo magnética opcional
PistasMultipista y varias líneas de tiempo por proyecto, superposiciones y picture-in-picture, modos de fusión (pantalla, sumar, multiplicar...), recorte y volteo
AnimaciónKeyframes de posición, escala, rotación, opacidad, volumen y parámetros de efectos, con editor de curvas
Efectos127 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ítulosFuentes, contorno, sombra, placa de fondo y plantillas de partida
AudioLimpieza de voz con un interruptor (reducción de ruido, realce, normalizar volumen) y efectos de voz
IA localSubtí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ónH.264, HEVC y AV1, hasta 4K a 60 fps y color de 10 bits
AutomatizaciónServidor 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.

Diagrama de la arquitectura de Concat: la ventana, el agente MCP, los scripts JSON-RPC y la CLI llaman a concat-api, que usa concat-host y los crates de medios, render, efectos, exportación, voz y visión sobre concat-core
Las cuatro puertas de entrada al mismo motor, según `src/README.md` del repositorio · codigoagente

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ónModeloTamaño aproximado
SubtítulosWhisper `tiny`, `base` o `small` (multilingüe o solo inglés)según el tamaño que elijas
Texto a vozKokoro v1.0, compacto int8 o precisión completa132 MB / 350 MB
Clonación de vozPocket TTS (Kyutai, 100M)98 MB
Voz "de estudio"Chatterbox Turbo (Resemble AI)alrededor de 1 GB
Quitar fondoRobustVideoMatting (personas), ISNet (objetos), SlimSAM (pincel)varios
Mejorar imagenReal-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, base o small, no las variantes .en). El modelo más grande que ofrece es small: para audio limpio va bien, pero con ruido o acentos marcados vas a corregir más que con medium o large, 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*.

SistemaFormatoAviso
Windows x86_64Instalador `.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—
AndroidAPKMóviles y tabletas
iOS / iPadOSInstalació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:

terminalsh
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:

terminalsh
claude mcp add concat -- /Applications/Concat.app/Contents/MacOS/concat --mcp

En 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:

claude_desktop_config.jsonjson
{
  "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í:

ÁreaHerramientas
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 en automation.json y 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.8CapCut
PrecioGratis, sin funciones de pagoGratis con límites; las funciones avanzadas y la exportación sin restricciones van en suscripción
Marca de agua y cuentaNinguna de las dosPide iniciar sesión para varias funciones y para la nube
Dónde se procesan tus vídeosEn tu equipoParte de las funciones de IA en la nube
CódigoAGPL-3.0, auditableCerrado
PlataformasWindows, macOS, Linux, Android, iOS (lateral)Windows, macOS, web, Android, iOS. Sin Linux
AutomatizaciónServidor MCP, JSON-RPC, CLINo
Voz en españolNo (solo inglés y chino)Sí
Plantillas, música y stickersPlantillas propias y biblioteca de audio, catálogo pequeñoCatálogo enorme y tendencias de TikTok
MadurezBeta de dos mesesProducto 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 run falla con "no such file or directory" al compilar: estás en la raíz del repositorio. Los comandos de Cargo se lanzan desde src/.

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

Repositorio del artículo
El código del que habla este artículo es público: revísalo, dale una estrella o clónalo desde aquí.

// implementación

¿Necesitas implementar esta automatización en tu negocio?
No pierdas semanas configurando servidores, APIs y agentes. Safe Build Labs, la agencia que patrocina codigoagente, lo construye por ti, listo para producción.
Fish Speech 3.0 trae Drama 3 y S2-Pro: clonación de voz y TTS que puedes correr en tu GPU. Requisitos, licencia y cuánto cuesta frente a ElevenLabs.
  • Alternativas gratis a apps de pago
  • Instálalo en tu servidor
leer artículo
Qué es Idol de Speridlabs, cómo pasa de una foto a un objeto 3D con Gaussian Splatting, cuánta GPU pide, cómo instalarlo y qué licencias revisar antes.
  • Diseño, imagen y vídeo
  • Alternativas gratis a apps de pago
leer artículo
Qué es Dioramas, el framework MIT para landing pages 3D con three.js: pipeline Nano Banana 2 + Meshy 7.1, engine con post-procesado, 20 ejemplos y costes.
  • Diseño, imagen y vídeo
  • Tutoriales paso a paso
leer artículo