Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when the user asks to create or edit videos end-to-end (script→video, auto-cut/jumpcut, captions/subtitles, polishing for Shorts/Reels/TikTok). Current implemented backend: local FFmpeg (probe/render/jumpcut/burn-subtitles/polish). Planned/optional backends: Remotion (motion graphics templates), VectCutAPI (CapCut/剪映 timeline editing), and video-audio-mcp (MCP tool wrapper) when available. Produces a finished video artifact (MP4 by default) from assets + copy + a design/storyboard plan.
.claude/skills/foryourhealth111-pixel-video-studio/SKILL.md| Model | Eval pass | Runs |
|---|---|---|
| gemini-3.6-flash | 100% | 12 |
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 47% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 56% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 36% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 24% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -12% | 0% |
目标:把「素材(视频/音频/图片)+ 文案 + 编排/设计方案」自动变成可发布的成片,并在最后做一轮“打磨”(节奏、转场、字幕、音量、编码)。
本 skill 不绑定单一引擎,而是按可用性选择 backend:
在当前项目目录里执行:
powershellpython C:\Users\羽裳\.codex\skills\video-studio\scripts\video_studio.py probe
它会输出 JSON,说明:
ffmpeg/ffprobe 是否可用(没有则给出安装建议)node/npm/npx 是否可用(Remotion 需要)vectcut_base_url 是否可连(可选)outputs/video-studio/tmp/outputs/video-studio/final/你可以把素材放在:
assets/video/ assets/audio/ assets/images/ assets/fonts/1) 写一个 spec(可参考本 skill 的 references/sample_spec.json)
2) 运行:
powershellpython C:\Users\羽裳\.codex\skills\video-studio\scripts\video_studio.py render --spec C:\path\to\spec.json
powershellpython C:\Users\羽裳\.codex\skills\video-studio\scripts\video_studio.py polish --in .\outputs\video-studio\final\video.mp4 --out .\outputs\video-studio\final\video.polished.mp4
打磨会尽量做到:
适合“口播/访谈/课程录屏”这类有明显停顿的视频:自动检测静音区间并拼接,提高节奏流畅度。
powershellpython C:\Users\羽裳\.codex\skills\video-studio\scripts\video_studio.py jumpcut --in .\assets\video\talking.mp4 --out .\outputs\video-studio\final\talking.jumpcut.mp4
常用参数:
--silence-threshold-db:静音阈值(例如 -35)--min-silence:最短静音时长(例如 0.4)--pad:保留在静音边界的 padding(避免“咬字被切掉”)如果你已经有 captions.srt(来自转录或人工),可直接烧录:
powershellpython C:\Users\羽裳\.codex\skills\video-studio\scripts\video_studio.py burn-subtitles --in .\outputs\video-studio\final\video.mp4 --srt .\assets\captions.srt --out .\outputs\video-studio\final\video.subbed.mp4
这个 skill 优先复用既有 skill,避免重复造轮子:
$imagegen(需要 OPENAI_API_KEY)$speech(需要 OPENAI_API_KEY)$transcribe(需要 OPENAI_API_KEY)典型全自动流程: 1) 文案 → 生成配音(speech) 2) 配音 → 生成字幕(transcribe 或手工脚本) 3) 文案/分镜 → 生成背景图(imagegen) 4) 用本 skill 的 render/polish 合成出片
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 5,133 | 6,177 | +20% | 1 | 1 | 0% | 227 | 1,819 | +701% | 0 | 0 | — |
case-02 | fail→fail | 19,335 | 4,717 | -76% | 1 | 1 | 0% | 4,125 | 1,648 | -60% | 0 | 0 | — |
case-03 | fail→fail | 9,207 | 7,612 | -17% | 1 | 1 | 0% | 1,493 | 2,050 | +37% | 0 | 0 | — |
case-04 | fail→pass | 6,637 | 2,514 | -62% | 1 | 1 | 0% | 1,213 | 1,788 | +47% | 0 | 0 | — |
case-05 | fail→pass | 7,039 | 2,881 | -59% | 1 | 1 | 0% | 1,256 | 1,963 | +56% | 0 | 0 | — |
case-06 | fail→pass | 9,322 | 4,815 | -48% | 1 | 1 | 0% | 1,725 | 2,348 | +36% | 0 | 0 | — |
case-07 | fail→pass | 11,280 | 5,246 | -53% | 1 | 1 | 0% | 2,060 | 2,551 | +24% | 0 | 0 | — |
case-08 | fail→pass | 13,588 | 2,911 | -79% | 1 | 1 | 0% | 2,220 | 1,951 | -12% | 0 | 0 | — |
case-09 | fail→pass | 10,609 | 4,152 | -61% | 1 | 1 | 0% | 1,874 | 2,158 | +15% | 0 | 0 | — |
case-10 | fail→pass | 7,535 | 2,566 | -66% | 1 | 1 | 0% | 1,463 | 1,911 | +31% | 0 | 0 | — |
case-11 | pass→pass | 12,775 | 5,009 | -61% | 1 | 1 | 0% | 2,248 | 2,156 | -4% | 0 | 0 | — |
case-12 | pass→pass | 5,201 | 2,175 | -58% | 1 | 1 | 0% | 873 | 1,795 | +106% | 0 | 0 | — |
case-13 | fail→pass | 11,389 | 4,067 | -64% | 1 | 1 | 0% | 1,957 | 2,066 | +6% | 0 | 0 | — |
case-14 | pass→pass | 18,336 | 12,596 | -31% | 1 | 1 | 0% | 2,858 | 3,621 | +27% | 0 | 0 | — |
case-15 | fail→pass | 12,755 | 6,442 | -49% | 1 | 1 | 0% | 2,320 | 2,435 | +5% | 0 | 0 | — |
case-16 | fail→pass | 6,372 | 2,039 | -68% | 1 | 1 | 0% | 1,025 | 1,731 | +69% | 0 | 0 | — |
case-17 | pass→pass | 5,334 | 2,954 | -45% | 1 | 1 | 0% | 886 | 1,898 | +114% | 0 | 0 | — |
case-18 | pass→pass | 13,793 | 6,453 | -53% | 1 | 1 | 0% | 2,269 | 2,327 | +3% | 0 | 0 | — |
case-19 | fail→pass | 11,627 | 23,948 | +106% | 1 | 1 | 0% | 1,950 | 1,933 | -1% | 0 | 0 | — |
case-20 | fail→pass | 5,740 | 3,743 | -35% | 1 | 1 | 0% | 917 | 2,045 | +123% | 0 | 0 | — |
case-21 | fail→fail | 14,974 | 13,155 | -12% | 1 | 1 | 0% | 2,825 | 3,772 | +34% | 0 | 0 | — |
case-22 | fail→fail | 9,327 | 14,541 | +56% | 1 | 1 | 0% | 1,606 | 3,965 | +147% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 20 counted toward the lift figure. The other 2 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +55 percentage points is the difference between those two pass rates over the 20 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.