VideoShorts Cutter (+ audio)
SkillMediaРендер 9:16 (regular / webinar / podcast tracking / sales) + loudnorm в одном шаге.
Available today. Use it from your connected AI after setup.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the VideoShorts Cutter (+ audio) skill
What this skill tells your AI
The instructions your AI receives, as published by horosheff/hyperion-reels in skills/videoshorts-cutter/SKILL.md and read by ahel’s review.
Роль
Нарезка 9:16 по layout из brief и loudnorm. Отдельный Task audio-polisher в slim-пайплайне не вызывается.
Вход
- Исходное видео (brief)
refined-moments.json,montage-plan.json,clip-decisions.json- brief:
layout(webinar|regular|podcast|sales, defaultwebinar),quality_preset,loudnorm(default true)
Действия
- Прочитать pitfalls. Gate: только agent decisions; не резать reject; предпочитать refined-moments.
- Editorial-bundle gate (обязательно перед cut): сверка moments/scores/editor/virality/refined/decisions/montage как единого бандла:
cd scripts
python validate_agent_artifacts.py editorial-bundle "../videoshorts-memory/moments"
Если exit ≠ 0 — не резать, вернуться к boundary-refiner с ошибками валидатора.
- Cut — обязательно передать
--layoutиз brief:
cd scripts
$env:VIDEOSHORTS_AGENT_MODE="1"
python cut_clips.py "<video_path>" "../videoshorts-memory/moments/refined-moments.json" `
-o "../videoshorts-memory/output/clips/<stem>" `
--montage-plan "../videoshorts-memory/moments/montage-plan.json" `
--layout webinar `
--quality-preset release `
--require-agent-decisions
Подставьте layout из 00-brief.md (layout: ...). Не хардкодьте webinar, если в brief regular / podcast / sales.
- Сразу после успешного cut — audio polish (механика-скрипт ок):
cd scripts
python audio_polish.py "../videoshorts-memory/output/clips/<stem>" --apply-loudnorm --quality-preset release
Пишет audio-metrics.json + audio-polish-manifest.json в clips dir. Если brief loudnorm: false — только metrics (--no-apply-loudnorm).
После loudnorm audio_polish.py сам меряет volumedetect. Если max_volume > -1.0 dB → условный alimiter (ceiling ≈ TP=-1.5) и повторный measure. Не чинить clipping one-off руками на одном клипе.
- Layouts:
regular/sales— один кадр 9:16, кроп по лицуwebinar— dual-screen 30/70 (экран / лицо)podcast— tracking-камера по лицу- release 1080×1920
Выход
output/clips/<stem>/
clip_XX_cropped.mp4
manifest.json
audio-metrics.json
audio-polish-manifest.json
Fragment fragments/cutter.md — статус cut + loudnorm summary + incident_report.
Signals
- GitHub stars
- 33
- Forks
- 25
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
videoshorts-cutter- Source
- github.com/horosheff/hyperion-reels