short-drama-edit
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese短剧剪辑与成片
Short-Drama Editing and Final Cut
把 里的逐镜素材装配成一条成片,取舍写进 。
每段使用二级标题 ,各自绑定一个 和一个真实媒体文件。
剧集/<EP>/制作成果/剧集/<EP>/剪辑单.md## CUT-...MOTION-...根据实际素材选择可用片段,按剧本与分镜核对叙事。素材与意图不一致时,记录取舍和缺口。
Assemble the per-shot footage in into a finished cut, and write the selections/omissions into . Each segment uses a second-level heading , and is bound to one and one real media file.
剧集/<EP>/制作成果/剧集/<EP>/剪辑单.md## CUT-...MOTION-...Choose usable segments based on the actual footage, and verify the narrative against the script and storyboard. When the footage does not match intent, record the trimming decisions and gaps.
Quick Start
Quick Start
text
用 $short-drama-edit 把 EP001 已生产的镜头剪成成片text
用 $short-drama-edit 把 EP001 已生产的镜头剪成成片入口
Entry
进入条件是素材已经存在且可读: 里有本次要用的视频文件。
提示词写完、job 确认过、adapter 返回成功,都不等于素材可用;本阶段只认当前能打开的文件字节。
剧集/<EP>/制作成果/素材不全时可以先剪已有连续段落;用户要求完整成片时,将这一版标为片段并列出缺口。
在「未采用镜头」说明缺文件、质量不可用或叙事取舍。
剧集/<EP>/分镜.md视频提示词.md内置渲染直接拼接编码后的分段,输入素材的画幅与帧率须一致。 在可探测媒体时核对;
不同规格先通过外部工具按交付要求统一,保留构图并记录裁切或留边,再更新剪辑单的路径与时间。
check渲染与测量需要 / 在 PATH 上。没有时 直接失败并说明,
不用别的手段近似,也不把「没测」写成「通过」。
ffmpegffprobeedit_tool.pyThe entry condition is that footage already exists and is readable: the directory must contain the video files to be used this time. A finished prompt, a confirmed job, or a successful adapter response does not mean the footage is usable; this stage only accepts file bytes that can be opened right now.
剧集/<EP>/制作成果/When footage is incomplete, you may first cut the contiguous segments that already exist; when the user asks for a complete final cut, mark this version as a fragment and list the gaps.
In “Unused shots”, state whether the issue is a missing file, unusable quality, or a narrative trim.
剧集/<EP>/分镜.md视频提示词.mdThe built-in renderer concatenates encoded segments directly, so input footage must have the same frame size and frame rate. verifies this when the media is detectable; if specifications differ, first unify them with external tools according to delivery requirements, preserve the composition and record cropping or letterboxing, then update the paths and time ranges in the edit list.
checkRendering and measurement require / on the PATH. If they are missing, fails immediately and states the reason; do not approximate with other methods, and do not write “untested” as “passed”.
ffmpegffprobeedit_tool.py工作流
Workflow
- 逐段看完整素材,先标可用带,再谈剪辑。 每个文件从头到尾看一遍,写下它实际能用的时间 区间,以及区间之外发生了什么(起势静止、结尾漂移、发白、动作回弹、多余的重复表演)。 这一步的产出是事实,不是决定。做法见 生成素材的可用带。
- 有台词的镜先定位发声区间。 保留完整字音和所需停顿。内置工具同步切画面与声音; 需要在连续对白上换画面时,使用外部剪辑工具分开处理。
- 在可用区间内选叙事入出点。 按动作、反应或停顿的需要选择入点,出点取信息完成之后、缺陷 开始之前。逐段写清入点理由和出点理由。做法见 入出点与镜序。
- 排镜序并检查相邻关系。 检查动作、空间、揭示与声音是否连贯;重复信息没有新增作用时再删。
- 比较相邻段的画面。 按同场景、同光态比较可比区域;有可见偏差时在对应段写 。 做法见 接镜与色彩一致性。
画面 - 处理声音接缝与响度。 拼接后回听;需要混音时通过外部工具执行并记录。 做法见 声音、字幕与音乐。
- 写字幕。 字幕的每一个字都取自 的台词原文,不取自转写结果;标点可按字幕惯例调整, 字不能改。转写只用来定位时间。
剧本.md - 写出 ,再渲染。 先有文档后有成片:文档是可审查、可修订、可复现的那一份, 成片是它的产物。
剪辑单.md - 按可测项验收成片,再交付。 见 交付与验收。
- Watch each piece of footage in full; mark usable ranges first, then discuss editing. Watch every file from beginning to end, and write down the time ranges that are actually usable and what happens outside those ranges (static pre-action pose, tail drift, whiteout, motion bounce-back, redundant repeated performance). The output of this step is facts, not decisions. See Usable ranges of generated footage.
- For shots with dialogue, first locate the vocal range. Keep the full articulation and required pauses. The built-in tool cuts picture and sound in sync; when picture needs to change over continuous dialogue, handle it separately with an external editing tool.
- Choose narrative in/out points within the usable ranges. Choose the in point according to action, reaction, or pause needs; choose the out point after the information is complete and before defects begin. Write down the reason for each in point and out point. See In/out points and shot order.
- Arrange the shot order and check adjacency. Check whether action, space, reveals, and sound are continuous; delete repeated information only when it no longer adds anything.
- Compare the picture of adjacent segments. Compare comparable areas under the same scene and lighting state; when there is a visible discrepancy, write in the corresponding segment. See Splice and color consistency.
Picture - Handle sound seams and loudness. Listen back after concatenation; when mixing is needed, perform it with external tools and record what was done. See Sound, subtitles, and music.
- Write subtitles. Every character in the subtitles must come from the original dialogue in , not from transcription results; punctuation may be adjusted according to subtitle conventions, but the wording cannot be changed. Transcription is used only for locating time.
剧本.md - Write first, then render. The document comes before the final cut: the document is the auditable, revisable, reproducible artifact, and the final cut is its product.
剪辑单.md - Accept the final cut against measurable items, then deliver. See Delivery and acceptance.
剪辑单要求
Edit List Requirements
-
正文开头写交付规格:、
成片目标时长、画幅与帧率、交付响度。目标时长是意图, 实际时长与目标的差写在报告里。用户明确要求固定时长时,应满足要求或报告缺少的素材。字幕 -
每段一个,块内逐行写:
## CUT-<EP>-<序号> · <中文名称>- ——
- 来源:<MOTION-...> · <项目相对路径>必须是MOTION-...里真实存在 的条目,路径必须是当前可读的文件。视频提示词.md - /
- 入点:<秒>/- 出点:<秒>——三者必须自洽,- 时长:<秒>。 全部用秒,保留两位小数,不写时间码,不写帧号。出点 - 入点 == 时长 - ——理由写画面上发生了什么,不写「节奏需要」。 理由应能对应实际素材与本镜叙事需要。
- 取舍:入点=<理由>;出点=<理由> - ——记录保留原声或外部处理。此行不驱动内置 render 的混音。
- 声音:<本段声音怎么处理> - 或
- 画面:<接镜校正>——只在这一段与相邻段明显对不上时写, 格式是「亮度 <数>」「饱和 <数>」「色温 <数>」三项的任意组合,用- 画面:无分隔。 详见 接镜与色彩一致性。; - 或
- 字幕:<逐字台词原文>。本段有多句台词时改用编号写法, 每句自带时间:- 字幕:无、- 字幕 1:0.20-1.50 请进。 编号从 1 连续,时间相对本 CUT 入点,且不得重叠。- 字幕 2:2.30-4.30 门没有锁
-
素材里没有被采用的镜头,在正文开头写一行, 多项用
- 未采用镜头:<MOTION-...>(理由:……)连接。理由区分两类:文件缺失(还没生产 / 生产失败)和质量不可用 (生成结果不能用),也可说明叙事取舍。补素材前先判断需要重出还是修订上游。; -
同一个可以拆成多个
MOTION-...(同一段素材的两处分别使用),也可以整段不用。 不能凭空出现没有素材来源的CUT-...。CUT-... -
一段素材被用两次时,两个的区间不得重叠:同一批帧在成片里出现两次是重复镜头, 不是复用。确需重复出现(闪回、强调)时写明它是有意重复,并说明第二次为什么仍然成立。
CUT-...
-
Write delivery specifications at the beginning of the body:,
target duration of the final cut,frame size and frame rate,delivery loudness. Target duration is an intention; the difference between the actual duration and the target is written in the report. When the user explicitly requests a fixed duration, satisfy the requirement or report which footage is missing.subtitles -
Use oneper segment, and write line by line within the block:
## CUT-<EP>-<No.> · <name>- — the
- Source: <MOTION-...> · <project-relative path>must be an entry that actually exists inMOTION-..., and the path must be a currently readable file.视频提示词.md - /
- In: <seconds>/- Out: <seconds>— the three must be self-consistent:- Duration: <seconds>. All values are in seconds with two decimal places; do not write timecode or frame numbers.Out - In == Duration - — the reason should describe what happens on screen, not “pacing needs”. The reason must correspond to the actual footage and the narrative need of this shot.
- Trim: In=<reason>; Out=<reason> - — record whether the original sound is kept or external processing is applied. This line does not drive the built-in render's mixing.
- Sound: <how this segment's sound is handled> - or
- Picture: <splice correction>— write this only when the segment clearly does not match its neighbors; the format is any combination of- Picture: none,brightness <value>, andsaturation <value>, separated bycolor temperature <value>. See Splice and color consistency.; - or
- Subtitle: <verbatim dialogue>. When this segment has multiple lines of dialogue, switch to numbered entries, each with its own time:- Subtitle: none,- Subtitle 1: 0.20-1.50 Please come in. Numbering starts at 1 and continues consecutively; timings are relative to this CUT's in point and must not overlap.- Subtitle 2: 2.30-4.30 The door is unlocked
-
For shots in the footage that are not used, write one line at the beginning of the body:, with multiple entries separated by
- Unused shots: <MOTION-...> (reason: ...). Reasons are distinguished into two categories: missing file (not yet produced / production failed) and unusable quality (the generated result cannot be used); a narrative trim can also be stated. Before requesting more footage, determine whether it needs to be regenerated or the upstream stage needs revision.; -
The samecan be split into multiple
MOTION-...entries (two separate uses of one footage segment), or can be left entirely unused. ACUT-...without a footage source must not appear out of nowhere.CUT-... -
When one piece of footage is used twice, the time ranges of the twoentries must not overlap: the same batch of frames appearing twice in the final cut is a duplicate shot, not a reuse. If repetition is genuinely necessary (flashback, emphasis), state clearly that it is intentional repetition and explain why the second appearance still holds.
CUT-...
边界
Boundaries
- 不生成新素材。 需要补拍、重出、换参考图,回 ;需要改提示词, 回
$short-drama-produce或$short-drama-video-prompts。$short-drama-image-prompts - 不改上游语义。 剪辑单可以让某句台词不出现在成片里(整镜未采用),不能改这句台词是什么。
发现剧本层面的问题就点名报告,交回 。
$short-drama-write - 沿用剧本的声音设计。 保留已有对白、VO 和 OS,不自行增加解说;需要新增叙述时回写作阶段。
- 不把技术成功写成质量结论。 渲染完成、时长对上、文件存在,都不是「这条片子能看」。
成片质量的判断交给 ,或交给创作者本人。
$short-drama-review - 按已授权目标完成。 继续修复影响交付的问题;新增创作方向或补素材需求交给创作者决定。
- Do not generate new footage. For reshoots, regeneration, or different reference images, return to ; for prompt changes, return to
$short-drama-produceor$short-drama-video-prompts.$short-drama-image-prompts - Do not change upstream semantics. The edit list can prevent a line of dialogue from appearing in the final cut (by leaving the whole shot unused), but it cannot change what that line is. If a script-level problem is found, name it in the report and hand it back to .
$short-drama-write - Follow the script's sound design. Keep existing dialogue, VO, and OS; do not add narration on your own. If new narration is needed, return to the writing stage.
- Do not write technical success as a quality conclusion. A completed render, a matched duration, or an existing file does not mean “this piece is watchable”. Quality judgment for the final cut belongs to , or to the creator themselves.
$short-drama-review - Complete the authorized goal. Continue fixing issues that affect delivery; new creative directions or additional footage needs are left to the creator's decision.
命令
Commands
命令由 edit_tool.py 提供:
text
python3 <本技能目录>/scripts/edit_tool.py check <剧集/EP001> --project-root <project>
python3 <本技能目录>/scripts/edit_tool.py render <剧集/EP001> --project-root <project> [--no-subtitles] [--subtitles ffmpeg|remotion] [--remotion-concurrency N]
python3 <本技能目录>/scripts/edit_tool.py verify <剧集/EP001> --project-root <project>checkMOTION-...剧本.mdffproberender剧集/<EP>/制作成果/成片/verify字幕默认由带 libass 的 ffmpeg 烧录。 换成一条排版可调的
路线,代价是装一次 Node 依赖,而且叠层要逐帧过无头浏览器渲整部成片——慢且吃内存,
并发默认压在 2( 可调,调高前先量本机)。取舍见
声音、字幕与音乐,装法见
Remotion 字幕叠层。
--subtitles remotion--remotion-concurrencyrender声音Commands are provided by edit_tool.py:
text
python3 <本技能目录>/scripts/edit_tool.py check <剧集/EP001> --project-root <project>
python3 <本技能目录>/scripts/edit_tool.py render <剧集/EP001> --project-root <project> [--no-subtitles] [--subtitles ffmpeg|remotion] [--remotion-concurrency N]
python3 <本技能目录>/scripts/edit_tool.py verify <剧集/EP001> --project-root <project>checkMOTION-...剧本.mdffproberender剧集/<EP>/制作成果/成片/verifySubtitles are burned by default using ffmpeg with libass. switches to a route with adjustable typography, at the cost of installing Node dependencies once, and the overlay must be rendered frame by frame through a headless browser for the whole final cut—slow and memory-heavy, with concurrency limited to 2 by default ( is adjustable; measure the machine before raising it). See Sound, subtitles, and music for trade-offs, and Remotion subtitle overlay for installation.
--subtitles remotion--remotion-concurrencyrenderSound按需知识
On-Demand Knowledge
先读本 SKILL、当前分镜、视频提示词和素材;有字幕时读取剧本原文。按需要打开参考资料:
- 阶段边界与规则分级:阶段契约
- 可用带、生成缺陷与逐镜取舍:生成素材的可用带
- 入出点、镜序与节奏:入出点与镜序
- 声音接缝、字幕与音乐落点:声音、字幕与音乐
- 成片可测项与验收:交付与验收
- 剪辑单成稿样例:剪辑单样例
- 可选的 Remotion 字幕排版:Remotion 字幕叠层
First read this SKILL, the current storyboard, video prompts, and footage; when subtitles are involved, read the script original. Open references as needed:
- Stage boundaries and rule levels: Stage contract
- Usable ranges, generation defects, and per-shot trimming: Usable ranges of generated footage
- In/out points, shot order, and pacing: In/out points and shot order
- Sound seams, subtitles, and music placement: Sound, subtitles, and music
- Measurable final-cut items and acceptance: Delivery and acceptance
- Example edit list: Edit list example
- Optional Remotion subtitle layout: Remotion subtitle overlay
修订
Revision
保留未受影响的 ID。改一段的入出点不触碰其它段;删一段时说明它承担的信息由哪一段
接住,或明确说明这条信息在成片里不再出现。重新渲染前先更新剪辑单,不要让成片领先于文档。
CUT-...Keep unaffected IDs. Changing one segment's in/out points should not touch other segments; when deleting a segment, state which segment takes over the information it carried, or state explicitly that this information no longer appears in the final cut. Update the edit list before re-rendering; do not let the final cut get ahead of the document.
CUT-...完成
Completion
每个 都绑定真实素材与自洽区间,台词在成片里完整可听,字幕逐字等于剧本原文,
剪辑点没有可听的音床硬切,成片响度落在交付目标上,未采用镜头都写明理由并区分了缺文件与缺质量,
即完成。目标时长与实际时长的差、以及仍然值得再剪一版的地方,写在末尾报告里交给创作者判断。
CUT-...This stage is complete when every is bound to real footage and a self-consistent range, dialogue is fully audible in the final cut, subtitles are verbatim equal to the script original, there are no audible hard cuts in the sound bed at edit points, the final-cut loudness lands on the delivery target, and all unused shots have their reasons written with the distinction between missing files and missing quality. The difference between target duration and actual duration, and any places still worth another cut, are written in the report at the end for the creator to judge.
CUT-...安装维护
Installation and Maintenance
只有安装、升级或排障时运行 。
python3 scripts/selftest.pyRun only when installing, upgrading, or troubleshooting.
python3 scripts/selftest.py