video-editing · General Video Editing

General-purpose video editing from natural-language instructions: trim, concatenate, speed change, silence-cut jump cuts, text overlays, aspect-ratio conversion, cover frame extraction, GIF export, compression, BGM mixing, and watermarks.
Every operation runs through the shared video_ops.py script (an ffmpeg wrapper — no hand-built commands), with multi-operation chaining; common platform aspect-ratio and duration specs are built in.
Example invocation: "Trim the first 30 seconds off this video, convert it to vertical, and add a watermark bottom-right."
Full brief
Positioning
video-editing is the general editing toolbox for single videos: natural-language operations mapped to deterministic script calls. It does editing operations, not intelligent highlight extraction or reframing strategy.
Core capabilities
All operations run through the shared video_ops.py script (ffmpeg/ffprobe wrapper — never hand-built ffmpeg commands):
- cut trim by timestamps; concat join segments (lossless demuxer mode / filter mode for mismatched params)
- speed speed change (audio-video synced); silence-cut detect and remove silence (jump cuts)
- text text overlays (7 positions, auto-detected Chinese fonts, time windows and background boxes)
- aspect aspect-ratio conversion (pad / crop)
- frame extract a cover frame; gif export GIF; compress shrink (CRF / bitrate / downscale)
- bgm mix background music (adjustable voice/music volume ratio); watermark image watermark (position, width, opacity)
- info inspect source duration / resolution / frame rate / bitrate
Workflow
- Run
infofirst to see the source ratio, duration, and audio track before deciding operations - One subcommand per operation; check
<subcommand> -hwhen unsure of parameters - Chain multiple operations (typical order: cut → silence-cut → speed → text → aspect → compress; vertical conversion last)
- Outputs go to
outputs/<topic>/, reported with path and duration
Inputs & outputs
| Input | Notes |
|---|---|
| Video file path | Required (asked if missing) |
| Operation description | Required, natural language |
| Target platform / ratio / time range | Optional |
Output: processed video/images under outputs/<topic>/.
Boundaries with adjacent skills
- clipify: specialized pipeline for intelligent funny-moment extraction from long videos + face-tracking pan + word-by-word caption burn-in; use it for "find highlights in a long video and make captioned vertical shorts."
- video-reframe: intelligent aspect-ratio conversion (blurred-background fill / focus crop / face-centered crop) dedicated to horizontal↔vertical.
- video-editing (this): general editing primitives and free combinations; no face tracking, no caption burn-in (word-by-word captions go to clipify; this skill only does
textoverlays).
Fit
- Everyday trims, joins, speed changes, silence removal
- Aspect-ratio conversion, compression, GIF export, cover extraction
- Final-cut finishing: text, BGM, watermark overlays
Before you start
- ffmpeg + ffprobe required (the script self-checks on launch and exits with an error if missing).
- Built-in platform spec table: Douyin/Channels/Reels 9:16 (≤60s, first 3 seconds decide, 1080×1920), Xiaohongshu video 9:16/3:4, Bilibili/YouTube 16:9 (1920×1080), Instagram Feed 4:5/1:1.
- Caption burn-in / word-by-word captions go through clipify (needs whisper); this skill only does
textoverlays.
video-editing is part of the Aiglade Skill library. Invoke it from the Aiglade chat box in plain language.