视频视觉复刻与分镜
核心目标
普通“分析视频”先交付有时间戳的画面、动作、可见文案和声音分析;只有用户要求复刻或生成时,才输出生成提示词。复刻时目标是视觉重建,不是创意改写。尽量按参考视频的画面结构、镜头、服装、光影、动作和节奏还原,但不能承诺真实的 1:1 身份克隆。
默认使用中文输出,除非用户明确要求其他语言。
当用户同时提供参考视频和自己的商品素材时:
- 参考视频决定镜头结构、动作顺序、场景、构图、光线、色彩和节奏。
- 用户商品素材决定商品外形、颜色、材质、部件、图案和原生品牌标识。不得把参考视频里的商品替换成错误商品,也不得凭空改造用户商品。
- 若素材不足以确认商品背面、内部、细节或使用方式,明确列为待补素材,不猜测。
分析阶段只读,不选择本地/API 路线,不查询余额,不连接 ComfyUI,也不调用视频生成接口。
标准工作流程
- 检查用户提供的本机视频路径、附件或单条视频链接是否可访问。
- 调用
video-analyzerMCP 的analyze_video,默认使用standard细节级别,提取时长、画幅、音轨、转录、OCR、时间线和代表性关键帧。 - 先检查工具返回的
warnings。transcript: []且提示无转录后端时,标明“口播未转录”,不能判断口播语言、有没有价格/优惠/规格、卖点或说服力;音量检测不能替代听音或转录。可见葡语文字只能证明画面文字语言,不能证明口播语言或销售地区。缺少字幕、音轨或部分帧时仍可分析已看到的内容,但必须说明未验证项;不要猜测听不清的台词、商品功能、销售数据或画面外信息。 - 检查关键帧是否覆盖开头、中段、结尾。
standard可能只返回一张代表帧,不能据此认定全程静止或一镜到底。宿主每个工具结果最多内联 4 张图;按具体时间段用get_frame_burst,每次count <= 4,核对时间顺序。收到超限提示后,未传入的帧不算看过;需要确认的动作或结尾要补取。写提示词前必须先视觉检查所选高清帧的顺序。只有关键动作、转场、姿态或文字变化无法判断时,才对对应时间段调用analyze_moment或get_frame_burst;不要无目的地抓取整段密集帧。 - 识别并分开记录:
- 后期字幕、标题、贴纸、价格、按钮和 UI 覆盖层。
- 商品包装或商品本体上原生存在的文字、Logo 和图案。
- 口播、对白、旁白和其他声音信息。
- 如果用户没有要求保留字幕,不要把后期字幕或画面文案加入图像/视频生成提示词。如果用户明确说“不要字幕”,提示词和负面提示词都必须明确排除新增字幕和文字覆盖层。
- 按动作、景别、人物姿态、场景或明显转场,将视频拆成全部自然镜头。不要为了凑固定数量合并明显不同的镜头;后续分镜图可以从完整拆解中选 4–8 个代表性镜头。
- 为每个镜头完成结构化拆解和一段可直接使用的纯文本生成提示词。
- 输出带镜头编号和时间戳的完整分镜脚本、串联后的完整视频提示词、负面提示词,以及可选的分镜图提示词。
每个镜头必须描述的内容
- 视频文案:记录原视频可见字幕/文案;没有则写“无可见字幕或画面文案”。它与生成提示词分开,不自动带入生成画面。
- 核心画面 Subject:主要人物、商品、物体、景观、动作、姿态和表情。
- 环境背景 Environment:室内/室外、地点、时间、天气、道具、背景元素和空间层次。
- 艺术风格 Art Style:写实、电影感、时尚画册、真实 UGC、纪录片、生活方式广告、水彩或赛博朋克等。
- 构图与镜头 Composition & Camera:画幅比例、景别、机位高度、角度、镜头运动、焦段观感和景深。
- 细节与灯光 Details & Lighting:主光方向、色温、材质、颜色、纹理、反射、阴影和氛围。
- 声音:对白、旁白、环境声、音效和音乐的作用;听不清或不存在时如实说明。
- 生成提示词:用简洁但具体的纯文本串联以上可见事实,包含主体动作、镜头运动、灯光、节奏和风格,不包含用户未要求保留的字幕、贴纸、第三方 Logo、水印或 UI 覆盖层。
本地口播转录
内置分析器会优先识别 ~/.local/bin/whisper(可用 WHISPER_BIN 指定其他安装位置),默认使用多语言 small 模型。首次运行下载模型,后续复用本机缓存;不需要生视频供应商的 API Key。用 get_transcript 即可单独取带时间戳的口播。不要因画面字幕语言而强制口播语言;自动识别明显有误时再用 options.language 重试。只有报告缺少后端时才需要安装,不能忽略实际转录错误而要求重复安装。
首次安装与状态
- 用户需要分析口播/音频时,先读取
providers.json同目录的speech-runtime.json,并检查其中的程序和模型文件是否仍存在。已就绪直接用,不重复询问或下载;没有状态但已安装时,验证后补记状态。 - 未安装时只问一次:“需要安装本地 Whisper,small 模型约 464 MB,连运行依赖约 1.2 GB;无需 API Key,是否安装?”用户同意后执行
uv tool install --python 3.12 openai-whisper,再调用get_transcript完成首次模型下载与验证。已有安装授权则继续;用户拒绝则只分析画面并说明音频未分析。 - 状态文件记录
status(installing/ready/failed)、backend: "whisper"、model: "small"、executable、modelPath、updatedAt;成功转录后才标记ready,失败附简短error。状态保存在用户配置目录,不写进插件、模板或仓库;不得保存密钥或口播内容。文件丢失或运行失败时更新状态并诊断,不因状态曾是 ready 就跳过实际错误。
证据边界
按时间戳区分“直接看到”“推测”“未验证”。未看到开盒、旋转等动作,不编造“开盒瞬间”或“360° 展示”;商品产地、材质、卖家来源、售价和销售数据没有证据就不推断。音频缺失时照常交付画面分析,把口播相关评价列为待验证,不把报告写成音画均已完整分析。
默认输出结构
一、视频基础信息
- 视频时长:
- 源视频画幅比例:
- 场景类型:
- 主要主体:
- 整体风格:
- 音频概况:
- 未验证项:
二、原视频可见文字、字幕与声音
- 后期字幕/画面文案:按镜头记录;没有则写“无可见字幕或画面文案”。
- 商品原生文字/Logo:单独记录,避免在去字幕时误删商品本身的必要标识。
- 口播/对白/旁白:按镜头记录;没有或无法验证时如实说明。
三、镜头拆解
每个镜头严格使用以下格式:
镜头 X|00:00–00:00
- 视频文案:
- 核心画面:
- 环境背景:
- 艺术风格:
- 构图与镜头:
- 细节与灯光:
- 声音:
- 生成提示词:
提示词必须达到生产可用标准,并明确镜头顺序、时间段、主体动作、镜头运动、灯光和视觉风格。用户要求纯文本时,不使用表格。
四、完整视频生成提示词
- 按镜头顺序串联全部镜头,保留参考视频的动作节奏和转场关系。
- 明确主体一致性、商品一致性、场景连续性、镜头运动、光影、节奏和风格。
- 若用户未要求保留文字,明确不要新增字幕、文字覆盖层、贴纸、第三方 Logo、水印或 UI。
- 这是模型中立的制作底稿,不声称同一段文字对所有视频模型都是最佳原生格式。
五、负面提示词
必须输出负面提示词。默认基础版本:
no added subtitles, text overlays, third-party logos, watermarks, stickers, distorted hands, distorted face, wrong body proportions, outfit deformation, product deformation, background jumps, plastic skin, unwanted 3D or cartoon style
根据视频内容补充具体禁忌。若需要忠实保留用户商品本体上的原生文字、Logo 或包装图案,应明确写“保留商品原生标识”,上面的排除项只针对新增覆盖文字、第三方标识和水印。
有些下游模型没有独立负面提示词字段。交接时由对应模型适配技能决定将其放入独立字段,还是改写为正向限制;不得静默丢弃。
六、分镜图提示词
- 默认制作竖版 9:16 专业分镜图。若源视频为横版且用户要求保留横版,则按源视频横版处理。
- 根据视频长度和视觉变化,从完整镜头拆解中选取通常 4–8 个代表性镜头卡片。
- 每张卡片左侧为无字幕缩略画面,右侧为简短执行备注。
- 缩略画面不出现新增字幕、字幕条、贴纸、第三方 Logo、水印或 UI 覆盖层。
- 保留参考视频的主体身份类别、服装、姿态顺序、场景、光线、色彩调性和镜头节奏。
- 分镜图里的文字只用于卡片右侧执行备注,不嵌入左侧缩略画面。
只有用户明确要求生成分镜图时,才调用图像生成工具制作;仅要求分析或提示词时,不生成图片。
复刻边界
- 推荐表述:“尽量按画面结构、镜头、服装、光影和动作还原。”
- 不把目标描述成对真实人物身份的 1:1 克隆。
- 原视频的字幕信息可以记录在“视频文案”部分,但无字幕生成提示词不得包含这些文字。
- 不把销量、功效、材质、认证或其他未验证卖点写成事实。
- 不自动复制第三方品牌、人物身份、逐字文案、音乐或对白;若它们是分析对象,单独记录其功能和出现位置,再给出可替换槽位。
交给视频生成技能
本技能负责分析、视觉复刻分镜和模型中立提示词,不直接提交生成任务。
- 用户要实际生成视频时,将已确认的拆解作为制作依据交给
ecom-h3-video,继续遵守路线选择、费用提示和最终剧本确认。 - MiniMax H3 或对应 ComfyUI 工作流的最终提示词由
h3-prompt-writing转成模型原生结构。 - Grok 生成由 Grok 视频适配技能处理其接口支持的提示词与参数。
- 如果已经按用户商品完成复刻改编,
video-director应把本报告当作视觉结构约束,不得另起一个无关创意;只有用户要求改编创意时才重写导演方案。
保存参考模板
- 用户要求“分析并保存”时,完成当前分析后直接保存并展示摘要;未要求保存时不自动入库。
- 读取 templates/_template.json 作为格式样例,按 共享模板说明 在共享目录保存 JSON。
- 保存经确认的视觉结构、逐镜头拆解、生成提示词、负面提示词、分镜图规则和改编槽位。保留来源标签以便追溯,但不要把原品牌、人物身份、逐字文案、音乐或未经验证卖点固化成默认生成内容。
- 这里保存的是参考模板,保留 reference_template 标记;只有实际成片经用户确认可用时,才记入 validated_from。
共享目录可直接写入,不依赖插件源码,也不需要维护者代为入库。
Dsivio 内置版
对话使用本 Skill 的原始脚本和 MCP。查找、保存或修改模板时读 共享模板说明,直接读写共享文件夹;不创建页面任务或同步草稿。运行环境由应用提供,内置副本随应用更新。
视频配置在哪
视频页面和本插件共用一份 providers.json,页面保存后下次脚本调用直接生效,不需要重复配置。路径优先取 DSVIDEO_CONFIG_PATH;否则 Windows 为 %APPDATA%/dsvideo/providers.json,macOS/Linux 为 ${XDG_CONFIG_HOME:-~/.config}/dsvideo/providers.json。
用户问模型或配置时,运行 python <插件根目录>/scripts/dsvideo_config.py show(密钥脱敏),查看 providers.grok / providers.minimax / providers.comfy 的 model 和 base_url。MiniMax-H3 路线模型固定为 MiniMax-H3;ComfyUI 模型由工作流决定。旧环境变量显式覆盖时说明来源。生成仍使用插件自己的脚本和 MCP。
仿拍需求的交接
交给生成技能时一并传递商品素材、选定镜头、口播/对白、语言、声音和字幕要求。无真人不等于无旁白,无字幕不等于无音轨。用户后续仅修改路线或时长时保留其余已明确要求,不重新默认成静音商品展示。