Communitygithub.com

usemosio/replicate

将任何视频或其风格重建为可编辑的视频项目。测量参考视频(剪辑、镜头、摄像机、字幕、声音),编写节拍图,构建项目(默认使用 HyperFrames),然后逐帧对比渲染与参考视频。适用于需要复制、模仿、克隆或匹配视频,或制作“类似这样”的视频时使用。

replicate 是什么?

此技能允许您将任何视频重建为一个可编辑的项目,其渲染结果在时间、构图、风格、调色板、运动等方面与参考视频匹配,并生成一份精确与近似部分的报告。它通过 `replicate-video` 命令行工具实现:首先使用 ffmpeg、ffprobe 和 OpenCV 精确测量参考视频(包括剪辑点、镜头移动、字幕位置等),然后基于生成的节拍图构建项目(默认使用 HyperFrames 引擎)。构建完成后,它会逐帧对比渲染结果与参考视频,识别差异,并指导您修复最显著的偏差。该技能特别强调“测量而非估计”:所有时间信息均来自测量帧,避免手动从缩略图猜测带来的误差。它支持手动验证测量结果、分类边界(如剪辑点、闪光)、确认镜头移动,以及决定复制的内容与可替换的内容,以尊重版权。最终,它会生成一份报告,列出精确复现的部分、近似的部分及原因。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/usemosio/replicate/tree/HEAD/skills/replicate

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

复制一段视频

结果是一个可编辑的项目,其渲染结果在时间、构图、类型、调色板和运动方面与参考视频相匹配,同时生成一份关于哪些部分是精确的、哪些是近似的报告。辅助 CLI 工具 replicate-video 负责测量和检查;您负责观察和构建。

测量,绝不估算。 从联系表猜测的时间线在 15 秒的视频中会偏差一秒。构建中的每一个时间都来自测量帧。帧是证据;数字指示了在哪里查看。

1. 设置

运行 replicate-video doctor。当 ffmpeg、ffprobe 和 cv2 都显示 ok 时完成。确保 FFmpeg 在 PATH 环境变量中,以便后续所有命令使用:渲染和检查工具也需要 ffprobe。如果命令缺失,请安装它(uv tool install git+https://github.com/usemosio/replicate 或 pipx install git+https://github.com/usemosio/replicate)以及 FFmpeg。链接是一个页面,而不是文件:请先下载它(使用 yt-dlp,或请对方提供文件),并且只保留对方有权使用的内容(参见 references/rights.md)。

2. 测量

replicate-video analyze <video> -o .replicate/<name>            # 当语音重要时添加 --transcribe

当 .replicate/<name>/facts.json 和 SUMMARY.md 存在时完成。每个输出的含义及其可能的误导方式:请参见 references/measure.md。

3. 阅读证据

打开 contact.jpg,然后打开 SUMMARY.md,再打开它提到的每一张图片:

  • 每个 边界条带(strips/):确认或拒绝每个 cut(剪辑点)、candidate(候选)和 flash(闪光)。快速移动可能掩盖一个剪辑点;闪白或快速推镜看起来类似剪辑点;
  • 每个 镜头的帧(frames/),对照表格中的摄像机运动;
  • 字幕表(captions.jpg,每个字幕截图及其时间):记下每组的确切文字;
  • 对于每个入场、出场和转场,观察连续帧: replicate-video strip <video> --range a,b [--roi x,y,w,h]。

当每个边界通过肉眼分类、每个字幕组标记了文字、表格中的每个运动被确认或修正时完成。

4. 决定保真度

对方要求保留替换
“复制 / 制作相同的视频”节拍、时间、剪辑、构图、调色板、运动、声音;只有当视频是对方自己或持有版权时保留角色和标志任何不属于对方的内容:用相同的绘图系统重绘角色;去掉创作者昵称和水印
“类似这样,用于我的品牌 / 更改 X”节拍结构、节奏、运动语法、构图、调色板角色他们提到的内容;参考视频中的文字、标志、人物和地点
“这种风格,可复用”—移交给 style-writer 技能

当要求不明确时,用这三个选项询问一次。

5. 编写节拍图

在任何代码之前编写 BEATS.md。对于每个节拍:起始帧和结束帧、填充画面的内容、屏幕上确实的文字、调色板、类型、摄像机运动(幅度、缓动、起始和结束)、元素的入场方式、运动机制(什么变成什么)以及退场方式。当参考视频的每一帧都属于某个节拍时完成。

6. 构建

  • 画布大小和帧率与参考视频一致;时长为帧数 ÷ fps。时间写为 帧数 ÷ fps,向下取整(例如,30 fps 下的第 83 帧是 2.766666)。
  • 一个配置文件包含时钟(场景、提示)以及任何人可能替换的内容(剪辑、颜色、字体、图片路径);场景文件从该配置读取,这样即使工具要求每个场景一个文件,后续更改也只需编辑一处。
  • 每个场景保持部分运动写作成时间的函数,使得拉伸的场景不会冻结。
  • 根据 references/match.md 中的规则匹配每个图层:根据墨迹匹配文字类型,根据像素匹配字幕、光、火、粒子、角色、运动模糊。
  • HyperFrames:请参见 references/hyperframes.md。其他工具:请参见 references/other-engines.md。声音:请参见 references/sound.md。

独立工作:一个持有整部影片的智能体比多个各自重新观看的智能体更有效。

当 BEATS.md 中的每个节拍都已构建、项目以参考视频的尺寸、帧率和时长渲染,并且项目中不包含参考像素(参见 rights)时完成。

7. 最后检查一次

replicate-video diff <reference> <render> -o .replicate/diff

打开 worst.jpg 和 shots.jpg(左侧为参考视频,右侧为渲染结果)。按以下顺序肉眼判断:节拍时间、构图、调色板、类型、运动。分数仅指示首先查看哪里;它无法识别错误的文字,并且会惩罚那些虽被要求但已经做出的更改。修复最大的真实差异,重新渲染并再次执行 diff,然后停止。当 diff 列表中没有缺失的剪辑点、时长差为 0 并且已经完成一轮修复时完成。较小的分数差异不值得再执行另一轮。

8. 报告

在项目中编写 REPLICATE.md:哪些部分完全重建、哪些部分是近似的及其原因(替换的字体、简化的绘图)、被要求更改的内容,以及最后一次 diff 的数字。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相关技能