Communitygithub.com

cli-anything-shotcut

Interfaz de línea de comandos con estado para edición de video, diseñada para agentes de IA y usuarios avanzados.

¿Qué es cli-anything-shotcut?

cli-anything-shotcut es una herramienta de línea de comandos (CLI) con estado para la edición de video, construida sobre el formato XML de MLT. Está diseñada específicamente para agentes de IA y usuarios avanzados que desean crear y editar proyectos de Shotcut sin necesidad de una interfaz gráfica (GUI). La CLI permite gestionar proyectos, importar y colocar clips en la línea de tiempo, aplicar filtros, transiciones y efectos de composición, y exportar el proyecto renderizado. Soporta modos interactivo (REPL) con historial de deshacer/rehacer, y salida JSON para consumo programático por parte de agentes de IA. Compatible con Linux, macOS y Windows, requiere Python 3.10+, `melt`, `ffmpeg`/`ffprobe` y `shotcut` instalados en el sistema.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/HKUDS/CLI-Anything/tree/main/skills/cli-anything-shotcut

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace cli-anything-shotcut?

Una interfaz de línea de comandos con estado para edición de video, construida sobre el formato XML de MLT. Diseñada para agentes de IA y usuarios avanzados que necesitan crear y editar proyectos de Shotcut sin una GUI.

Instalación

Esta CLI se instala como parte del paquete cli-anything-shotcut:

pip install cli-anything-shotcut

Requisitos previos:

  • Python 3.10+
  • melt (CLI de MLT) — necesario para renderizado y reproducción
  • ffmpeg / ffprobe — necesario para sondear medios
  • shotcut debe estar instalado en tu sistema

Uso

Comandos básicos

# Mostrar ayuda
cli-anything-shotcut --help

# Iniciar modo REPL interactivo
cli-anything-shotcut

# Crear un nuevo proyecto
cli-anything-shotcut project new -o project.json

# Ejecutar con salida JSON (para consumo de agentes)
cli-anything-shotcut --json project info -p project.json

Modo REPL

Cuando se invoca sin un subcomando, la CLI entra en una sesión REPL interactiva con soporte de deshacer/rehacer:

cli-anything-shotcut
# o con un proyecto:
cli-anything-shotcut --project my_project.mlt

Comandos REPL

Flujo de trabajo: Siempre media import primero para obtener un clip_id, luego usa add-clip para colocarlo en la línea de tiempo.

Proyecto y sesión:

  • new [profile] — Crear nuevo proyecto (por defecto: hd1080p30)
  • open <path> — Abrir archivo .mlt
  • save [path] — Guardar proyecto
  • info — Mostrar información del proyecto
  • xml — Imprimir XML de MLT en bruto
  • status — Mostrar estado de la sesión
  • undo / redo — Navegar por el historial de operaciones

Medios (modelo de dos pasos):

  • media import <file> [--caption name] — Importar archivo al contenedor del proyecto, devuelve clip_id (ej., clip0)
  • media — Listar todos los medios importados
  • probe <file> — Analizar un archivo multimedia

Línea de tiempo:

  • add-track <video|audio> [name] — Añadir una pista
  • tracks — Listar todas las pistas
  • show — Vista general visual de la línea de tiempo
  • add-clip <clip_id> <track> [in] [out] [--at time] — Colocar clip importado en una pista
  • clips <track> — Listar clips en una pista
  • remove-clip <track> <clip> — Eliminar un clip
  • trim <track> <clip> [--in tc] [--out tc] — Recortar clip
  • split <track> <clip> <at> — Dividir clip en un código de tiempo

Filtros:

  • list-filters [video|audio] — Explorar filtros disponibles
  • filter-info <name> — Mostrar detalles de un filtro
  • add-filter <name> [--track n] [--clip n] [key=val ...] — Añadir filtro a un clip, pista o global
  • filters [--track n] [--clip n] — Listar filtros activos
  • remove-filter <idx> [--track n] [--clip n] — Eliminar filtro por índice
  • set-filter <idx> <param> <value> [--track n] [--clip n] — Establecer parámetro de filtro
  • volume-envelope [--track n] [--clip n] TIME=LEVEL ... — Envolvente de volumen con fotogramas clave (ej., 00:00:00.000=1.0 00:00:03.000=0.35)
  • duck [--track n] [--clip n] START..END ... — Envolvente de atenuación (ej., 00:00:06.000..00:00:09.000)

Exportación:

  • presets — Listar preajustes de exportación
  • render <output> [--preset name] — Renderizar a archivo de video

Grupos de comandos

Proyecto

Gestión de proyectos: nuevo, abrir, guardar, información.

ComandoDescripción
newCrear un nuevo proyecto en blanco
openAbrir un archivo de proyecto .mlt existente
saveGuardar el proyecto actual
infoMostrar información detallada del proyecto
profilesListar perfiles de video disponibles
xmlImprimir el XML de MLT en bruto del proyecto actual

Línea de tiempo

Operaciones de línea de tiempo: pistas, clips, recorte.

ComandoDescripción
showMostrar la vista general de la línea de tiempo
tracksListar todas las pistas
add-trackAñadir una nueva pista a la línea de tiempo
remove-trackEliminar una pista por índice
add-clipAñadir un clip importado a una pista por clip_id; admite --at para colocación absoluta
remove-clipEliminar un clip de una pista
move-clipMover un clip entre pistas o posiciones
trimRecortar los puntos de entrada/salida de un clip
splitDividir un clip en dos en el código de tiempo dado
clipsListar todos los clips en una pista
add-blankAñadir un espacio en blanco a una pista
set-nameEstablecer el nombre visible de una pista
muteSilenciar o activar el sonido de una pista
hideOcultar o mostrar una pista de video

Grupo de filtros

Operaciones con filtros: añadir, eliminar, configurar efectos.

ComandoDescripción
list-availableListar todos los filtros disponibles
infoMostrar información detallada de un filtro y sus parámetros
addAñadir un filtro a un clip, pista o global
removeEliminar un filtro por índice
setEstablecer un parámetro en un filtro
listListar filtros activos en un objetivo
volume-envelopeCrear o reemplazar una envolvente de volumen con fotogramas clave en una pista o clip
duckConstruir una envolvente de atenuación práctica sobre una o más ventanas de tiempo

Medios

Operaciones con medios: sondear, listar, verificar archivos.

ComandoDescripción
importImportar un archivo multimedia al contenedor del proyecto
probeAnalizar las propiedades de un archivo multimedia
listListar todos los clips multimedia en el proyecto actual
checkVerificar la existencia de todos los archivos multimedia
thumbnailGenerar una miniatura a partir de un archivo de video

Exportación

Operaciones de exportación/renderizado.

ComandoDescripción
presetsListar preajustes de exportación disponibles
preset-infoMostrar detalles de un preajuste de exportación
renderRenderizar el proyecto a un archivo de video

Grupo de transiciones

Operaciones de transición: disolución, barrido y otras transiciones.

ComandoDescripción
list-availableListar todos los tipos de transición disponibles
infoMostrar información detallada de un tipo de transición
addAñadir una transición entre dos pistas
removeEliminar una transición por índice
setEstablecer un parámetro en una transición
listListar todas las transiciones en la línea de tiempo

Grupo de composición

Composición: modos de fusión, PIP, opacidad.

ComandoDescripción
blend-modesListar todos los modos de fusión disponibles
set-blendEstablecer el modo de fusión para una pista
get-blendObtener el modo de fusión actual de una pista
set-opacityEstablecer la opacidad de una pista (0.0-1.0)
pipEstablecer la posición de imagen en imagen para un clip

Sesión

Gestión de sesión: estado, deshacer, rehacer.

ComandoDescripción
statusMostrar el estado actual de la sesión
undoDeshacer la última operación
redoRehacer la última operación deshecha
saveGuardar el estado de la sesión en disco
listListar todas las sesiones guardadas

Vista previa

Paquetes de vista previa y sesiones de vista previa en vivo para revisión iterativa de edición.

ComandoDescripción
preview recipesListar recetas de vista previa
preview captureRenderizar un paquete de vista previa de baja resolución
preview latestDevolver el paquete existente más reciente
preview live startIniciar una sesión de vista previa en vivo y publicar el primer paquete
preview live pushPublicar un nuevo paquete en la sesión en vivo
preview live statusConsultar el estado actual de la sesión en vivo sin renderizar
preview live stopDetener la sesión en vivo sin eliminar artefactos

Contenido típico de un paquete quick:

  • preview.mp4
  • varios fotogramas muestreados
  • punto medio hero.png
  • summary.json con datos del proyecto

Se admite el modo de sondeo:

cli-anything-shotcut --json --project edit.mlt preview live start --recipe quick --mode poll --source-poll-ms 500

preview live status --json incluye referencias de sesión y un resumen compacto trajectory_summary para que los agentes puedan entender económicamente las últimas publicaciones.

Comandos del visor:

cli-hub previews inspect /path/to/bundle-or-session
cli-hub previews html /path/to/bundle-or-session -o page.html
cli-hub previews watch /path/to/session --open
cli-hub previews open /path/to/bundle-or-session

Ejemplos

Crear un nuevo proyecto

Crear un nuevo archivo de proyecto de Shotcut.

cli-anything-shotcut project new -o myproject.json
# O con salida JSON para uso programático
cli-anything-shotcut --json project new -o myproject.json

Sesión REPL interactiva

Iniciar una sesión interactiva con soporte de deshacer/rehacer.

cli-anything-shotcut
# Ingresar comandos de forma interactiva
# Usar 'help' para ver los comandos disponibles
# Usar 'undo' y 'redo' para navegar por el historial

Exportar proyecto

Exportar el proyecto a un formato de salida final.

cli-anything-shotcut --project myproject.json export render output.mp4 --overwrite

Reconstrucción determinista de la línea de tiempo

Para reconstrucciones, prefiere la colocación absoluta sobre la inserción de clips por añadido:

cli-anything-shotcut --project myproject.mlt media import intro.mp4
cli-anything-shotcut --project myproject.mlt timeline add-clip clip0 \
  --track 1 --in 00:00:00.000 --out 00:00:04.000 --at 00:00:00.000

cli-anything-shotcut --project myproject.mlt media import broll.mp4
cli-anything-shotcut --project myproject.mlt timeline add-clip clip1 \
  --track 1 --in 00:00:10.000 --out 00:00:16.000 --at 00:00:08.000
  • --at inserta espacios en blanco automáticamente cuando el tiempo objetivo cae en espacio vacío.
  • La CLI rechaza la superposición con un clip existente.
  • Prefiere valores explícitos de --in y --out para que la colocación absoluta posterior no sea ambigua.

Automatización de audio

cli-anything-shotcut --project myproject.mlt filter volume-envelope \
  --track 2 \
  --point 00:00:00.000=1.0 \
  --point 00:00:03.000=0.35 \
  --point 00:00:05.000=1.0

cli-anything-shotcut --project myproject.mlt filter duck \
  --track 2 \
  --window 00:00:06.000..00:00:09.000 \
  --window 00:00:15.000..00:00:18.000 \
  --normal 1.0 --duck 0.25

La CLI mantiene el estado de la sesión con:

  • Deshacer/Rehacer: Hasta 50 niveles de historial
  • Persistencia del proyecto: Guardar/cargar el estado del proyecto como JSON
  • Seguimiento de sesión: Registrar modificaciones y cambios

Formatos de salida

Todos los comandos admiten dos modos de salida:

  • Legible por humanos (por defecto): Tablas, colores, texto formateado
  • Legible por máquina (bandera --json): JSON estructurado para consumo de agentes
# Salida humana
cli-anything-shotcut project info -p project.json

# Salida JSON para agentes
cli-anything-shotcut --json project info -p project.json

Para agentes de IA

Al usar esta CLI de forma programática:

  1. Usa siempre la bandera --json para obtener salida parseable
  2. Verifica los códigos de retorno — 0 para éxito, distinto de cero para errores
  3. Analiza stderr para mensajes de error en caso de fallo
  4. Usa rutas absolutas para todas las operaciones con archivos
  5. Verifica que las salidas existan después de las operaciones de exportación
  6. Prefiere timeline add-clip --at al recrear una edición conocida
  7. Revisa los renders finales después de cambios de volumen con fotogramas clave o atenuación
  8. Usa preview capture o preview live ... para validar ritmo, cortes y efectos de filtro visualmente
  9. Lee las rutas de artefactos devueltos como hero.png y preview.mp4; los payloads JSON referencian archivos en disco
  10. Usa preview live status --json antes de leer el trajectory.json completo
  11. Usa cli-hub previews ... solo para inspeccionar/abrir paquetes o sesiones en vivo existentes

Más información

  • Documentación completa: Consulta README.md en el paquete
  • Cobertura de pruebas: Consulta TEST.md en el paquete
  • Metodología: Consulta HARNESS.md en cli-anything-plugin

Versión

1.0.0

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

cli-anything-adguardhome

>-

cli-anything-anygen

>-

cli-anything-audacity

>-

cli-anything-blender

>-

cli-anything-browser

Browser automation CLI using DOMShell MCP server. Maps Chrome

cli-anything-calibre

>-

cli-anything-ccswitch

CLI interface for CC Switch — manage AI coding tool configurations from the terminal

cli-anything-chromadb

>-

cli-anything-cloudanalyzer

Command-line interface for CloudAnalyzer — Agent-friendly harness for CloudAnalyzer, a QA platform for mapping, localization, and perception outputs. Supports 27 commands across 8 groups: point cloud evaluation, trajectory evaluation, ground segmentation QA, config-driven quality gates, baseline evolution, processing, visualization, and interactive REPL.

cli-anything-cloudcompare

Command-line interface for CloudCompare — Agent-friendly harness for CloudCompare, the open-source 3D point cloud and mesh processing software. Supports 41 commands across 9 groups: project management, session control, point cloud operations (subsample, filter, segment, analyze), mesh operations, distance computation (C2C, C2M), transformations (ICP, matrix), export (LAS/LAZ/PLY/PCD/OBJ/STL/E57), and interactive REPL.

cli-anything-comfyui

>-

cli-anything-dify-workflow

Wrapper for the Dify workflow DSL CLI. Create, inspect, validate, edit, and export Dify workflow files through a CLI-Anything harness.

cli-anything-drawio

>-

cli-anything-eez-studio

Use EEZ Studio from the command line: inspect and modify native .eez-project files, edit LVGL screens/widgets, manage SCPI commands, and invoke the real EEZ Studio backend for LVGL builds.

cli-anything-eth2-quickstart

>-

cli-anything-exa

>-

cli-anything-firefly-iii

Firefly III CLI - Personal finance management via CLI-Anything

cli-anything-freecad

Complete CLI harness for FreeCAD parametric 3D CAD modeler (258 commands). Covers ALL workbenches: Part (29 primitives + boolean + mirror + loft + sweep), Sketcher (26 cmds: geometry + constraints + editing), PartDesign (38 cmds: pad/pocket/groove/fillet/chamfer/patterns/hole/datum), Assembly (11 cmds), Mesh (16 cmds), TechDraw (15 cmds: views + dimensions + PDF/SVG), Draft (33 cmds: 2D shapes + arrays + transforms), FEM (12 cmds), CAM/CNC (10 cmds), Surface (6 cmds), Spreadsheet (7 cmds), Import (13 formats), Export (17 formats), Measure (12 cmds), Materials (21 presets). Headless FreeCAD export to STEP/IGES/STL/OBJ/DXF/PDF/glTF/3MF.

cli-anything-gimp

>-

cli-anything-godot

>-

Skills relacionados