Practical guide · 实用指南
Export a video recap as an editable JianYing / CapCut draft
把视频解说导出为可编辑的剪映 / CapCut 草稿
Source checked 2026-09-12 · 源码核对日期
If Video Recap Skills has already produced timeline.json, run its standalone JianYing exporter to create a draft folder without rerunning ASR, visual understanding, TTS or MP4 rendering. Keep the media bundle with the draft, then check import and playback in your actual editor version. Exported JSON alone does not prove editor compatibility.
如果 Video Recap Skills 已经生成 timeline.json,可以直接运行独立剪映导出器,创建草稿目录,无需重跑 ASR、视觉理解、TTS 或 MP4 渲染。让媒体包与草稿一起移动,再在你实际使用的编辑器版本中检查导入与播放。只导出 JSON 不证明编辑器兼容。
Video Recap SkillsSource on GitHub
Before you start · 开始之前
- A local checkout or installed skill directory containing
skills/video-assemble/scripts/export_jianying.py, Python, and a completedtimeline.jsonwith accessible media references. The/ABS/paths below are placeholders to replace. - If starting before assembly, prepare the source video and
work_dir/tts_meta.json. Local assembly needs ffmpeg; burned subtitles need its libass/subtitles filter. MiMo supplies remote ASR/VLM/default TTS; optional Fish Audio replaces TTS only. - A JianYing or CapCut desktop installation in which you can test the exported folder. Export is an optional sidecar; it is not required to render a recap MP4.
- 本地仓库或已安装的 skill 目录中存在
skills/video-assemble/scripts/export_jianying.py,有 Python、已生成的timeline.json,且其媒体引用可访问。下方/ABS/路径是需要替换的占位符。 - 若尚未合成,先准备源视频与
work_dir/tts_meta.json。本地合成需要 ffmpeg;烧录字幕需要 libass/subtitles filter。MiMo 提供远程 ASR/VLM/默认 TTS;可选 Fish Audio 只替换 TTS。 - 能用于实际测试草稿的剪映或 CapCut 桌面安装。草稿是可选附加导出,不是渲染解说 MP4 的必要步骤。
Steps · 操作步骤
- Choose the entry point For an existing
timeline.json, use the standalone exporter below. If still assembling, pass--export-jianying --jianying-out /ABS/draftstoassemble.pyafter its required inputs are ready. - Preserve the right source In cut mode, pass
--source-video /ABS/original.mp4to theassemble.pycommand that createstimeline.json; this preserves real original-video intervals in the timeline. The standalone exporter then consumes that completed timeline and does not accept--source-video. - Export without remote stages Run
export_jianying.py /ABS/work/timeline.json --out-dir /ABS/drafts --name recap_demo. This path reads the timeline and media; it does not invoke MiMo/Fish or render a new MP4. - Keep the bundle together Media bundling is on by default. Copy the whole output folder, including
Resources/local/. Use standalone--no-bundle-mediaonly if the editor can continue accessing the external media paths. Read warnings: missing media is not reported as successfully bundled. - Open in your target editor Use your installed editor’s supported local-draft opening or import flow. Keep the returned draft directory intact and confirm its media, subtitles and audio tracks resolve; menus and draft locations vary by editor release.
- Finish and play back Adjust subtitles, framing and audio handoffs, then play the entire final export at normal speed. Automated QC identifies candidates for review; it is not proof that the finished video is correct.
- 选择入口 已有
timeline.json时使用下方独立导出器。若仍在合成,待必要输入齐备后,在assemble.py命令中加入--export-jianying --jianying-out /ABS/drafts。 - 保留正确源视频 cut 模式下,在生成
timeline.json的assemble.py命令中传入--source-video /ABS/original.mp4,让时间轴保留真实原片区间。之后独立导出器只读取这份已完成的时间轴,不接受--source-video参数。 - 不重跑远程阶段地导出 运行
export_jianying.py /ABS/work/timeline.json --out-dir /ABS/drafts --name recap_demo。这一路径读取时间轴与媒体,不调用 MiMo/Fish,也不渲染新的 MP4。 - 完整保留媒体包 默认开启媒体打包。移动时复制整个输出目录,包括
Resources/local/。只有编辑器仍能访问外部媒体路径时才使用独立导出器的--no-bundle-media。注意读取警告:缺失媒体不会被记为已成功打包。 - 在目标编辑器中打开 使用已安装版本支持的本地草稿打开或导入方式,保持返回的草稿目录完整,并检查媒体、字幕和音轨是否可用;不同版本的菜单与草稿位置可能不同。
- 精修并完整播放 调整字幕、构图与声音交接,再以正常速度完整播放最终导出文件。自动 QC 只能定位待复核问题,不证明成片正确。
Example · 示例
From an existing timeline (replace every /ABS path):
python3 /ABS/video-recap-skills/skills/video-assemble/scripts/export_jianying.py \
/ABS/work/timeline.json \
--out-dir /ABS/drafts \
--name recap_demo
Read the returned draft_dir and any warnings.
Keep the entire draft folder and its Resources/local/ media together.从已有时间轴导出(替换所有 /ABS 路径):
python3 /ABS/video-recap-skills/skills/video-assemble/scripts/export_jianying.py \
/ABS/work/timeline.json \
--out-dir /ABS/drafts \
--name recap_demo
读取返回的 draft_dir 与全部警告。
把完整草稿目录与其中的 Resources/local/ 媒体一起保留。
Expected files · 预期文件
- The returned
draft_dircontainsdraft_content.json,draft_info.jsonanddraft_meta_info.json. - Bundled media goes under
Resources/local/video/,Resources/local/audio/andResources/local/image/; missing files remain explicit external references with warnings. - Non-empty output directories are not overwritten: export chooses a numbered sibling. This draft export is separate from the assembled MP4, subtitles and
timeline.json.
- 返回的
draft_dir包含draft_content.json、draft_info.json与draft_meta_info.json。 - 打包媒体位于
Resources/local/video/、Resources/local/audio/、Resources/local/image/;缺失文件保留为带警告的外部引用。 - 不会覆盖非空输出目录,导出器会选择带编号的相邻目录。草稿导出与已合成的 MP4、字幕和
timeline.json相互独立。
Verify the result · 验证结果与边界
- Confirm the three draft JSON files and referenced media, then test opening in the exact desktop/region version you intend to use. A schema template version or a historical smoke test is not universal CapCut/JianYing compatibility.
- Check voiceover endings, audio sync, original-audio transitions, BGM levels, subtitle line breaks and cuts. Drafts reference source media, so hard subtitles already present in that footage can remain and may need masking.
- An export-only smoke test validates the local draft contract, not a remote generation run, a successfully opened desktop editor or the final rendered video.
- 检查三份草稿 JSON 与引用媒体,再在实际目标桌面/地区版本中测试打开。Schema 模板版本或历史 smoke test 不等于所有剪映/CapCut 版本都兼容。
- 检查旁白尾字、音画同步、原声交接、BGM 音量、字幕断行与剪点。草稿引用源媒体,原素材已有的硬字幕可能仍在,需要时应遮罩。
- 只运行导出 smoke test 验证的是本地草稿契约,不证明已执行远程生成、桌面编辑器成功打开或最终成片正确。