Loading...
Loading...
Compare original and translation side by side
REQUIRED: Load Remotion Best Practices FirstThis skill depends on. You MUST invoke it before proceeding:remotion-best-practicesInvoke the skill/tool named: remotion-best-practices
必填项:先加载Remotion最佳实践本技能依赖。在继续操作前必须调用它:remotion-best-practicesInvoke the skill/tool named: remotion-best-practices
--public-dirreferences/SKILL_DIRSKILL.md${CLAUDE_SKILL_DIR}SKILL_DIRSKILL_DIR="${SKILL_DIR:-${CLAUDE_SKILL_DIR}}"SKILL_DIRSKILL.md${CLAUDE_SKILL_DIR}SKILL_DIRSKILL_DIR="${SKILL_DIR:-${CLAUDE_SKILL_DIR}}"
**`check_update.sh` output**:
- `UPDATE_AVAILABLE vX.Y.Z -> vA.B.C` — tell the user the version delta and ask before running `git -C "${SKILL_DIR}" pull --ff-only`. **Notify-only by design — never pull without consent (the skill directory belongs to the user).**
- `UP_TO_DATE` / `SKIPPED_RECENT_CHECK` / `MANUAL_INSTALL` — continue silently.
**Prereqs failures** — see README.md for setup. The check is backend-aware (resolves `TTS_BACKEND` env → `user_prefs.json` `global.tts.backend` → `edge` default), so only env vars required by the active backend are validated.
> **Design Learning shortcut**: If the user provides a reference video/image or asks to save/list/delete style profiles, see [references/design-learning.md](references/design-learning.md) instead of running the workflow below.
---
**`check_update.sh`输出说明**:
- `UPDATE_AVAILABLE vX.Y.Z -> vA.B.C` — 告知用户版本差异,并在运行`git -C "${SKILL_DIR}" pull --ff-only`前征得同意。**设计为仅通知模式——未经用户同意绝不能自动拉取更新(技能目录属于用户)。**
- `UP_TO_DATE` / `SKIPPED_RECENT_CHECK` / `MANUAL_INSTALL` — 静默继续流程。
**前置条件检查失败** — 请查看README.md进行配置。检查逻辑支持后端感知(优先解析`TTS_BACKEND`环境变量 → `user_prefs.json`中的`global.tts.backend` → 默认使用`edge`),因此仅验证当前激活后端所需的环境变量。
> **设计学习快捷路径**: 如果用户提供参考视频/图片,或要求保存/列出/删除风格配置文件,请查看[references/design-learning.md](references/design-learning.md),而非运行以下工作流。
---| Step | Decision | Auto Default |
|---|---|---|
| 3 | Title position | top-center |
| 5 | Media assets | Skip (text-only animations) |
| 7 | Thumbnail method | Remotion-generated (16:9 + 4:3) |
| 9 | Outro animation | Pre-made MP4 (white/black by theme) |
| 12 | Subtitle method | Remotion-native (skip legacy FFmpeg burn) |
| 14 | Cleanup | Auto-clean temp files |
| 步骤 | 决策项 | 自动默认值 |
|---|---|---|
| 3 | 标题位置 | 顶部居中 |
| 5 | 媒体素材 | 跳过(仅文字动画) |
| 7 | 封面生成方式 | Remotion自动生成(16:9 + 4:3比例) |
| 9 | 片尾动画 | 预制MP4文件(根据主题选择白底/黑底) |
| 12 | 字幕生成方式 | Remotion原生方案(跳过旧版FFmpeg硬字幕) |
| 14 | 清理操作 | 自动清理临时文件 |
TaskCreatein_progresscompletedvideos/{name}/| # | Step | Output | Phase file |
|---|---|---|---|
| 1 | Define topic direction | | workflow-script.md |
| 2 | Research topic | | workflow-script.md |
| 3 | Design 5-7 sections | (in-memory) | workflow-script.md |
| 4 | Write narration script | | workflow-script.md |
| 4.5 | Pronunciation pre-flight (zh-CN) | | workflow-script.md |
| 5 | Collect media (Auto: skip) | | workflow-production.md |
| 6 | Generate publish info (Part 1) | | workflow-production.md |
| 7 | Generate thumbnails (16:9 + 4:3) | | workflow-production.md |
| 8 | Generate TTS audio | | workflow-production.md |
| 9 | Remotion composition + Studio preview | — | workflow-production.md |
| 10 | Render 4K video (only on user request) | | workflow-production.md |
| 11 | Mix background music | | workflow-production.md |
| 12 | Finalize (optional legacy subtitle burn) | | workflow-publish.md |
| 13 | Complete publish info (Part 2) | chapter timestamps | workflow-publish.md |
| 14 | Verify output ( | — | workflow-publish.md |
| 15 | Generate vertical shorts (optional) | | workflow-publish.md |
npx remotion studioverify_output.pyfinal_video.mp4--format jsonpython3 ${SKILL_DIR}/scripts/audit_beat_sync.py <Video.tsx> <timing.json>TaskCreatein_progresscompletedvideos/{name}/| 序号 | 步骤 | 输出 | 阶段文件 |
|---|---|---|---|
| 1 | 定义主题方向 | | workflow-script.md |
| 2 | 主题调研 | | workflow-script.md |
| 3 | 设计5-7个内容板块 | (内存中暂存) | workflow-script.md |
| 4 | 撰写旁白脚本 | | workflow-script.md |
| 4.5 | 发音预检查(中文) | | workflow-script.md |
| 5 | 收集媒体素材(自动模式:跳过) | | workflow-production.md |
| 6 | 生成发布信息(第一部分) | | workflow-production.md |
| 7 | 生成封面图(16:9 + 4:3比例) | | workflow-production.md |
| 8 | 生成TTS音频 | | workflow-production.md |
| 9 | Remotion合成 + Studio预览 | — | workflow-production.md |
| 10 | 渲染4K视频(仅在用户请求时执行) | | workflow-production.md |
| 11 | 混合背景音乐 | | workflow-production.md |
| 12 | 最终处理(可选旧版硬字幕添加) | | workflow-publish.md |
| 13 | 完善发布信息(第二部分) | 章节时间戳 | workflow-publish.md |
| 14 | 验证输出( | — | workflow-publish.md |
| 15 | 生成竖版短视频(可选) | | workflow-publish.md |
npx remotion studioverify_output.pyfinal_video.mp4--format jsonpython3 ${SKILL_DIR}/scripts/audit_beat_sync.py <Video.tsx> <timing.json>| After Step | Check |
|---|---|
| 8 (TTS) | |
| 10 (Render) | |
| 14 (Verify) | |
| 步骤完成后 | 检查项 |
|---|---|
| 8(TTS生成) | |
| 10(渲染完成) | |
| 14(验证完成) | |
| Rule | Requirement |
|---|---|
| Single Project | All videos under |
| 4K Output | 3840×2160 (or 2160×3840 vertical), use |
| Audio Sync | All animations driven by |
| Thumbnail | MUST generate both 16:9 (1920×1080) AND 4:3 (1200×900) — see design-guide.md |
| Studio Before Render | MUST launch |
| Every Remotion command uses |
| 规则 | 要求 |
|---|---|
| 单一项目 | 所有视频存储在用户Remotion项目的 |
| 4K输出 | 分辨率为3840×2160(竖版为2160×3840),在1920×1080设计空间外使用 |
| 音频同步 | 所有动画由 |
| 封面图 | 必须同时生成16:9(1920×1080)和4:3(1200×900)两种比例——详见design-guide.md |
| 渲染前必须预览 | 必须启动 |
| 所有Remotion命令必须使用 |
| Parameter | Horizontal (16:9) | Vertical (9:16) |
|---|---|---|
| Resolution | 3840×2160 (4K) | 2160×3840 (4K) |
| Frame rate | 30 fps | 30 fps |
| Encoding | H.264, 16Mbps | H.264, 16Mbps |
| Audio | AAC, 192kbps | AAC, 192kbps |
| Duration | 1-15 min | 60-90s (highlight) |
| 参数 | 横版(16:9) | 竖版(9:16) |
|---|---|---|
| 分辨率 | 3840×2160(4K) | 2160×3840(4K) |
| 帧率 | 30 fps | 30 fps |
| 编码格式 | H.264,16Mbps | H.264,16Mbps |
| 音频 | AAC,192kbps | AAC,192kbps |
| 时长 | 1-15分钟 | 60-90秒(精华版) |
project-root/ # Remotion project root
├── src/remotion/ # Remotion source (Root.tsx, compositions, index.ts)
├── videos/{video-name}/ # Per-video assets (the agent's working dir)
│ ├── topic_definition.md # Step 1
│ ├── topic_research.md # Step 2
│ ├── podcast.txt # Step 4: narration script
│ ├── phonemes.json # Step 4.5: zh-CN pronunciation overrides
│ ├── podcast_audio.wav # Step 8: TTS audio
│ ├── podcast_audio.srt # Step 8: subtitles
│ ├── timing.json # Step 8: timeline (drives animations)
│ ├── thumbnail_*.png # Step 7
│ ├── output.mp4 # Step 10: 4K render (no BGM)
│ ├── video_with_bgm.mp4 # Step 11
│ ├── final_video.mp4 # Step 12: final output
│ └── bgm.mp3 # Background music
└── remotion.config.tsproject-root/ # Remotion项目根目录
├── src/remotion/ # Remotion源码(Root.tsx、合成组件、index.ts)
├── videos/{video-name}/ # 单视频素材目录(Agent工作目录)
│ ├── topic_definition.md # 步骤1输出
│ ├── topic_research.md # 步骤2输出
│ ├── podcast.txt # 步骤4:旁白脚本
│ ├── phonemes.json # 步骤4.5:中文发音修正
│ ├── podcast_audio.wav # 步骤8:TTS音频
│ ├── podcast_audio.srt # 步骤8:字幕文件
│ ├── timing.json # 步骤8:时间轴(驱动动画)
│ ├── thumbnail_*.png # 步骤7:封面图
│ ├── output.mp4 # 步骤10:4K渲染视频(无背景音乐)
│ ├── video_with_bgm.mp4 # 步骤11:添加背景音乐后的视频
│ ├── final_video.mp4 # 步骤12:最终输出视频
│ └── bgm.mp3 # 背景音乐文件
└── remotion.config.ts--public-dir--public-dir--public-dir videos/{name}/public/npx remotion studio src/remotion/index.ts --public-dir videos/{name}/
npx remotion render src/remotion/index.ts CompositionId videos/{name}/output.mp4 --public-dir videos/{name}/ --video-bitrate 16M
npx remotion still src/remotion/index.ts Thumbnail16x9 videos/{name}/thumbnail.png --public-dir videos/{name}/--public-dir videos/{name}/public/npx remotion studio src/remotion/index.ts --public-dir videos/{name}/
npx remotion render src/remotion/index.ts CompositionId videos/{name}/output.mp4 --public-dir videos/{name}/ --video-bitrate 16M
npx remotion still src/remotion/index.ts Thumbnail16x9 videos/{name}/thumbnail.png --public-dir videos/{name}/{video-name}reference-manager-comparison{section}[SECTION:xxx]| Type | 16:9 | 4:3 |
|---|---|---|
| Remotion | | |
| AI | | |
{video-name}reference-manager-comparison{section}[SECTION:xxx]| 类型 | 16:9比例 | 4:3比例 |
|---|---|---|
| Remotion生成 | | |
| AI生成 | | |
| File | Load when |
|---|---|
| references/workflow-script.md | Steps 1-4 (topic → script) |
| references/workflow-production.md | Steps 5-11 (media → TTS → Remotion → render → BGM) |
| references/workflow-publish.md | Steps 12-15 (subtitles, publish, cleanup, shorts) |
| references/design-guide.md | MUST load before Step 9 — visual minimums, typography, animation safety |
| references/design-learning.md | User provides a reference video/image, or manages style profiles |
| references/azure-tts-pitfalls.md | Choosing Azure voice/style, debugging hoarse/glitchy audio |
| references/troubleshooting.md | On error, or user asks about preferences/BGM |
| templates/presets/kinetic-typography/ | Bold type-driven preset (opinion / argument / declaration videos) |
| examples/ | Reference for composition structure and |
| 文件 | 加载时机 |
|---|---|
| references/workflow-script.md | 步骤1-4(主题→脚本) |
| references/workflow-production.md | 步骤5-11(媒体素材→TTS→Remotion→渲染→背景音乐) |
| references/workflow-publish.md | 步骤12-15(字幕、发布、清理、短视频) |
| references/design-guide.md | 必须在步骤9前加载——视觉最低要求、排版规范、动画安全准则 |
| references/design-learning.md | 用户提供参考视频/图片,或管理风格配置文件时 |
| references/azure-tts-pitfalls.md | 选择Azure语音/风格、调试嘶哑/卡顿音频时 |
| references/troubleshooting.md | 出现错误,或用户询问偏好设置/背景音乐选项时 |
| templates/presets/kinetic-typography/ | 动态排版预设(适用于观点/论证/宣言类视频) |
| examples/ | 合成组件结构和 |
${SKILL_DIR}/scripts/python3 ${SKILL_DIR}/scripts/cli.py --help # list resources
python3 ${SKILL_DIR}/scripts/cli.py <resource> --help # list actions
python3 ${SKILL_DIR}/scripts/cli.py <resource> <action> --help # forwards to underlying script
python3 ${SKILL_DIR}/scripts/cli.py schema [<method>] # JSON parameter schematts run|validateverifyaudit beatsshorts gendesign list|show|delete|addprereqsprefs get|migrate|backend|bgm-pathschema [<method>]python3 scripts/<name>.py ...${SKILL_DIR}/scripts/python3 ${SKILL_DIR}/scripts/cli.py --help # 列出所有资源
python3 ${SKILL_DIR}/scripts/cli.py <resource> --help # 列出资源对应的操作
python3 ${SKILL_DIR}/scripts/cli.py <resource> <action> --help # 跳转至对应脚本的帮助信息
python3 ${SKILL_DIR}/scripts/cli.py schema [<method>] # 生成JSON参数 schematts run|validateverifyaudit beatsshorts gendesign list|show|delete|addprereqsprefs get|migrate|backend|bgm-pathschema [<method>]python3 scripts/<name>.py ...user_prefs.jsonuser_prefs.template.jsonprefs_schema.jsonRoot.tsx defaults < global < topic_patterns[type] < current instructionsuser_prefs.jsonuser_prefs.template.jsonprefs_schema.jsonRoot.tsx默认值 < 全局设置 < topic_patterns[type] < 当前指令