qiaomu-cut
Turn a one-line brief into a reproducible video project with bilingual subtitles and branding

Suggested prompts
Make a 90-second product intro video
Cut this recording into a subtitled tutorial
Create an English learning mashup
About this skill
qiaomu-cut
Describe the video you want in one sentence; qiaomu-cut turns it into a source-aware, renderer-ready, verifiable video project.
Use Cases
- Movie clip mashups / English learning videos
- 60-second science or educational videos (e.g., excavator English for kids)
- Biographical shorts / historical documentaries
- 3Blue1Brown-style math or science explainers
- Product launch videos with web animation
- Vertical short videos for TikTok, Xiaohongshu, etc.
- Talking-head edits / podcast clips
- And more (see built-in workflows)
Core Capabilities
- Converts a one-sentence brief into a QiaoCut IR that captures duration, aspect ratio, audience, style, shot plan, and material strategy.
- Automatically searches, generates, or organizes media: 33tc (film clips), ClipSeek (free stock), Pexels/Pixabay, local files, ListenHub (image/video/TTS/music), AI image generation, etc.
- Designs professional shot types: push/pull, match cuts, J/L cuts, subtitle tracking, title cards, motion graphics.
- Supports multiple rendering engines: ffmpeg-full, HTML, Manim, and others.
- Provides preview/standard/final render profiles so you can iterate quickly and then produce the final deliverable, with automatic technical validation at each level.
- Delivers the final video, contact sheet, asset manifest (assets-manifest.json), license report (license-report.md), render quality report, and more.
How It Works
- You provide a one-sentence video brief.
- The system generates a QiaoCut IR and selects the most appropriate workflow.
- Media is gathered or generated according to the IR, with sources and license status recorded.
- A project timeline is assembled, supporting three-layer bilingual subtitles, branded intro/outro templates, and multi-track audio.
- The video is rendered via ffmpeg etc. using the chosen profile, and technical validation is performed.
- The video and associated files are produced; the project remains fully reproducible for later adjustments and re-renders.
What You Need
- A clear video brief (topic, duration, style, platform, etc.)
- The required runtime environment (see notes below)
- For 33tc: a locally installed and logged-in 33tc App plus an authorized
33tcCLI adapter - For ListenHub generation: an account or API key
What You Get
- Final video file (.mp4), optionally a contact sheet
- QiaoCut IR file, asset manifest, license report, render quality report
- A complete, reproducible project that you can adjust and re-render at any time
Usage Examples
Check your environment:
node ~/.agents/skills/qiaomu-cut/scripts/qcut.js doctor --json
Create a 60-second excavator English-learning video:
# Generate a plan
node scripts/qcut.js plan "Make a 60-second excavator English learning video" --workflow stock-story --json
# Scaffold the project
node scripts/qcut.js scaffold ./excavator-video --brief "Make a 60-second excavator English learning video" --json
# (edit timeline.json) Quick preview
node scripts/qcut.js render ./excavator-video --profile preview --json
# Final render after content approval
node scripts/qcut.js render ./excavator-video --profile final --json
Search movie quotes with 33tc:
node scripts/qcut.js 33tc search "dig deeper" --limit 8 --json
Generate ASS bilingual subtitles:
node scripts/qcut.js ass captions.json --output subtitles.ass
Render with a contact sheet:
node scripts/qcut.js render ./my-project --profile final --json
Render Profiles
| Profile | Default strategy | Default validation | Use case |
|---|---|---|---|
preview |
max 960 px long side, 24 fps, ultrafast | basic | Rapid iteration of material, subtitles, pacing, composition |
standard |
max 1280 px long side, 30 fps, veryfast | standard | Internal review, everyday delivery |
final |
original dimensions/fps, two-pass loudness | full | Public release, archive, client master |
Built-in Workflows
| Workflow | Suitable for |
|---|---|
english-mix |
Movie quotes, English learning, slang/expression, original-sound repetition |
stock-story |
Free-stock science videos, kids’ education, industry introductions, B-roll stories |
person-profile |
Biographies, entrepreneur profiles, historical figures, archive shorts |
explainer |
Math/algorithm/science explanations, Manim/3Blue1Brown style |
cinematic-short |
AI visual narrative, concept films, trailers, cinematic shorts |
product-launch |
Website/app/AI tool launch videos incorporating web animation |
social-short |
Vertical short videos for TikTok, Xiaohongshu, etc. with strong rhythm |
talking-head |
Talking-head edits, interviews, podcast clips with subtitles and B-roll |
data-story |
Data reports, rankings, trends, chart animations |
hybrid-studio |
Multi-source, multi-engine, complex client projects |
Material Sources
- 33tc: Search for film/TV dialogue and clips. Requires a locally installed and logged-in 33tc App and an independently installed, authorized
33tcCLI. - ClipSeek: Free stock media discovery. Downloads ultimately happen on the original site (Pexels, Pixabay, etc.) after license verification.
- Pexels / Pixabay: Accessed via ClipSeek results; confirm download and license on the original platform.
- Local files: User-provided media takes priority and is never overwritten.
- AI generation: Covers, illustrations, backgrounds, gap B-roll, SVG/web visuals, etc.
- ListenHub / MarsWave: Images, short video clips, TTS, voices, multi-character podcasts, music.
- Information sources: Facts about people, companies, or events must be cited in the project.
Important Notes
Runtime Environment
- Node.js 18+ (20+ for ListenHub features)
- macOS recommended with Homebrew
- ffmpeg-full (with libass, drawtext, overlay, loudnorm, H.264 support)
- Install:
~/.agents/skills/qiaomu-cut/scripts/bootstrap_macos.sh --install - You can set
QIAOMU_FFMPEGenvironment variable to a custom path
- Install:
- Optional: 33tc App and CLI; ListenHub account/API key; GitHub CLI; AI image generation tool (provided by the current agent environment)
Security & Limitations
- Your original media is never deleted or overwritten.
- API keys are never exposed in commands, logs, task captures, manifests, or Git; credentials are sanitized in terminal output.
- Remote generation may incur credit costs and always requires explicit
--yes. Uploading local media additionally requires--allow-upload. - No claim of commercial usability is made unless the original site’s license is explicitly recorded.
- AI-generated content is marked as
ai_generatedand never presented as real footage or archival material. - Film clip usage is assumed for learning, commentary, research, or authorized contexts; you are responsible for clearing rights for public distribution.
- Planning status is never described as a finished render.
Platform Support
| Capability | macOS | Linux | Windows |
|---|---|---|---|
| ffmpeg timeline rendering | Verified | Code runs, dependencies must be installed manually | Not yet supported |
| macos-say narration | Verified | Not supported | Not supported |
| 33tc adapter | Requires App login | Depends on adapter | Not verified |
| ffmpeg-full auto-install | Homebrew script provided | Not automated | Not automated |
| ListenHub CLI | Node 20+ verified | Contract works, no clean-host proof | Not verified |
| Coli local ASR | Package exists; transcription quality not yet widely reported | Not verified | Not verified |
Environment Variables
| Variable | Required | Description |
|---|---|---|
QIAOMU_FFMPEG |
No | Custom ffmpeg path |
QIAOMU_FFPROBE |
No | Custom ffprobe path |
QIAOMU_33TC_CLI |
Optional for 33tc workflows | Path to 33tc CLI |
QIAOMU_LISTENHUB_CLI |
Optional | Override listenhub CLI path |
QIAOMU_COLI_CLI |
Optional | Override coli CLI path |
LISTENHUB_API_KEY |
Optional for OpenAPI workflows | ListenHub API key; never commit to a repository |
Troubleshooting
| Problem | Cause | Solution |
|---|---|---|
missing filter: subtitles |
ffmpeg is not a full build | Run the install script or set QIAOMU_FFMPEG to a full build |
| ClipSeek results but no direct download | ClipSeek links to original platform | Open sourcePage and verify license/download on Pexels/Pixabay |
| 33tc unavailable | App not installed/not logged in, or 33tc CLI not ready |
Open 33tc App, log in, then test 33tc search |
| ListenHub CLI missing / wrong version | Dependency not installed, version mismatch, or Node < 20 | Run bootstrap_listenhub.sh --install, then run doctor |
Remote generation blocked by --yes |
Operation may incur cost or write remote state | First run estimate to check cost, then explicitly add --yes |
| Local reference media rejected for upload | Third-party upload not yet confirmed | Review the media and add --allow-upload |
| Generated result only has a temp URL | Not yet localized to the project | Use qcut fetch to download and write the manifest |
| Rendered video has no audio | Source media lacks audio, or mix plan hasn’t run | Check the render report’s audio verification; for external videos, run qcut verify separately |