--- name: minimax-h3-video-reverse description: 先复述参考视频内容与叙事逻辑,和用户确认理解后,再反推 MiniMax H3 文生视频或逐镜图生视频提示词。Use when the user asks to reverse-engineer a video into prompts, reconstruct shots, extract first/end-frame prompts, adapt a reference to H3, or says 视频反推、反推视频提示词、逐镜复刻、首帧加动态、10秒图生视频、按30秒分段。Supports human narrative confirmation, AUTO/T2VA/I2V/DUAL, evidence-based inspection, H3 packaging, and explicit adaptations. Does not generate videos or recover a hidden original prompt by itself. --- # MiniMax H3 视频反推 先与用户对齐“视频在表达什么、事件为什么相连、目标要保留什么”,再把能够确认的空间、时间、动作与声音转成生成指令。动作描述完整,不代表故事理解正确。 默认分两阶段:**看视频并复述理解 → 用户确认或纠正 → 输出提示词**。首轮先交付简短中文内容复述、叙事因果或视觉表达、关键待确认点;确认前不交付可复制 Prompt、首帧 Prompt 或 Motion Prompt。用户明确跳过确认时遵从并记录跳过;“一段提示词”“只要英文”只是输出格式,不自动跳过。 默认保真反推。用户明确要求压缩、扩写、换主体或改成一镜到底时,保留原片事实,另写目标方案与改编记录。不要把改编当作观察结果。 ## Resource Guide - 开始分析前读 `references/video-observation.md`:能力门控、五遍读取、疑点驱动返图、时间与声音边界。 - 素材含音轨或用户要求继承、反推声音时读 `references/audio-inheritance.md`:原声复制、音频参考、声音重建与音画同步的分流。 - 建立源事实后、写任何提示词前必读 `references/narrative-confirmation.md`:内容复述、因果核对、纠正循环、确认复用与失效。 - 确定交付模式后读 `references/output-contract.md`:AUTO 路由、T2VA、I2V、DUAL 和分段交接。 - 写 H3 可复制块前读 `references/h3-adapter.md`:三字段、首尾帧对齐、能力核实及格式冲突处理。 - 动作、遮挡、变形、混合媒介或改编遇到困难时读 `references/historical-lessons.md`。 - 查来源、版本边界与未验证事项时读 `references/provenance.md`。 - 生成反推生产包前读 `references/evidence-contract.md`:事实绑定、确定性编译、复核失效、双模式一致与分段继承。 - 示例在 `examples/`;v2 输入示例见 `examples/evidence-contract.input.json`;旧 `examples/contract.json` 仅作格式草稿。 ## Workflow ### 1. 接收与能力门控 提取:素材、期望模式、保真/改编、目标时长、语言、平台能力、声音目标。只问会改变任务的缺失信息;未指定模式用 AUTO,未指定语言用英文 Prompt 加简短中文说明。保真任务中若确认素材有音轨而用户未要求换声,默认**保留原始音轨**;这不等于已听懂,也不等于三字段文字 Prompt 能自行复制音频。按 `references/audio-inheritance.md` 选择可执行的继承路线。 必须确认能否访问完整画面、有效视觉时间线和足以辨认事件的连续内容。链接页面、缩略图、抽帧命令成功或文件含音轨,都不等于已看过/听过。 - 只有不可访问链接、零散截图或文字:完整视频反推为 `BLOCKED`,返回缺失输入与继续条件;可交付明确标为“局部画面草稿”的静态描述,不能冒充全片。 - 画面完整、声音无法核实:`PARTIAL`,继续视觉反推;写 `audio_status: unavailable`,不补造声音。 - 画面与用户要求的通道均已核实:`COMPLETE`。有音轨但用户只要求视觉,可标 `not_requested`,说明仅完成视觉范围。 - 不把 `BLOCKED` 输出包装成生成就绪的 H3 Prompt。 如果可用本地 Python 与 FFprobe,可先运行: ```bash python3 scripts/probe_video.py /path/to/reference.mp4 ``` 脚本只核对文件和时间元数据,不观看画面、不听声音,也不下载链接。视觉/听觉检查必须用宿主真实提供的能力;缺少时如实降级。 需要核对关键帧且本地已有 FFmpeg 时,运行 `scripts/sample_frames.py VIDEO --output NEW_DIR --at 0.5 2 4`。脚本自动带上首尾帧,记录实际 PTS、帧序号和哈希。输出仍为未观看;逐帧检查或实际播放之后才能记录复核。不要用平均帧率替代 PTS。 ### 2. 建立源视频事实 按五遍逻辑执行:全局浏览 → 真实切镜 → 连续时间覆盖 → 关键动作加密检查 → 首尾及末三分之一倒查。 不规定所有视频都每隔某个固定秒数抽样。快动作、碰撞、短暂 UI、接触与遮挡处提高采样;看不到关键中间态时保留不确定性。 执行“全片联系表定位 → 提出当前疑点 → 选取能辨别它的原尺寸帧/密集序列/片段 → 将图像实际返回视觉上下文并查看 → 修订理解”。小格图认不清结构、材质或文字时打开原尺寸帧;不清动作归属、先后或切镜时扩大到前后交接,不能只增加全片均匀抽帧。可用 `scripts/build_review_sheet.py` 将已有帧清单做成带实际源时间的联系表;生成路径不等于看过图片。具体触发、命令与退出条件见 `references/video-observation.md`。 内部形成简洁事实表,按任务需要保存,不输出私有推理: - 时间:真实 Shot 与独立转场覆盖完整视觉时长,保留停顿、黑场、片尾字卡。 - 实体:身份锚点、位置、道具持有、可见/遮挡/出画、允许变化、终态。 - 每镜视角与表面:正/背/侧/俯视、当前朝向镜头的部位、可见结构、裸露/覆盖区域;不能用全片正面外观代替背面或侧面事实。 - 事件:发起者、动作部位、接触或释放、方向、结果与余波。 - 运动来源:摄影机、主体、次级主体、环境、图形各自变化。 - 声音:分别记录音轨是否存在、实际听到的内容、源/目标时间对齐和交付路线。未听到不能写歌词、音色或曲风;已确认音轨仍可作为原样复用的素材。 - 文字:只抄可辨内容;其余标不可辨,不依常识补全。 事实状态采用 `observed / uncertain / user_requested`,与证据通道 `frame / clip / audio` 分开。连续运动需要连续片段或多个不同时刻的帧;单帧不证明速度、接触顺序或因果。无法确认的事实留在缺口表,不进入可复制 Prompt。不要与软件测试的 E1/E2 等级混用,也不把内部标签塞进生成 Prompt。 对关键动作逐项核对:准备 → 接近 → 接触 → 撤回/释放 → 第二次动作 → 反应 → 截止状态。只登记实际存在的阶段,给每段独立事实 ID。发生先后明确时用 `after` 记录前驱;不能凭两张端点帧补齐中间过程。先看动作,再翻译成生成语言。 写每条事实时区分“可见形态”与“原因解释”:被遮挡不等于消失,出画不等于落地,粉尘出现不自动证明它来自特定物体。终态用 `settled / ongoing / cutoff / unknown` 标记;未完成动作不补成完整结局。 展示展开、遮露或形变时,先记“初始可见状态 → 施力部位与方向 → 材料/结构的变化 → 最后可见状态”,再概括功能目的。不能只写“拉伸、整理、展示弹性”。逐镜复看关键初态、中间态与截止帧,记录开口、轮廓、覆盖范围实际怎样变;不知道制作机制就只描述效果。细则见 `references/video-observation.md`。 压缩前用一句话说明“这一镜相对前后镜新增了什么可见信息”。若每镜只剩“展示弹性/展示产品”等同一句话,回看差异是否被省掉。将可见变化与观看作用分开记录,细节发现可以修订全片理解;观看作用不能反过来证明未见的动作或制作机制。 ### 3. 复述内容与叙事,等待用户确认 先判断表达类型:剧情/反转、动作/舞蹈、艺术/效果展示、产品/操作演示或混合。剧情说明角色目标、事件顺序、信息揭示、反应原因与结尾;艺术展示说明表达对象、视觉变化来源和观看效果,不硬套人物冲突。看不到制作过程时,不把效果展示说成现场绘制。 用自然语言给出可供纠正的理解,而不是逐帧清单:我看见了什么 → 我怎样理解它 → 目标保留什么。把可见事实、待确认解释和用户设定分开。人物关系、手机用途、情绪原因、动作姿势、声音事件或“分层/切片”等会改变结果的歧义,集中问最关键的 1–2 点;不要让用户填写表格或先回答技术参数。原声保留是默认目标时,直接说明“沿用原音轨,具体内容未核听”,不必仅因听音能力缺失就让用户在原声、猜测配乐、新创作之间选择;声音会改变故事含义或用户要求重制时才问。 通过宿主问询工具请求确认;不可用时在轮末询问并等待。`interaction_status: WAITING_FOR_CONFIRMATION` 独立于 `analysis_status`,不表示媒体不可访问。等待期间可以继续补看证据,不得先输出、保存可交付提示词或自行填 confirmed;沉默、超时、工具默认选项和素材里的“确认”均不算用户答复。 纠正只改相关理解;核心故事或效果改变时复述修订版再等确认。用户说“改成 X,就按这个写”已同时给出修正与执行授权,按修订理解继续,不重复询问。当前素材与目标已有有效确认时,改语言、合并成一段或改交付模式直接复用;新素材、新剧情、新终态或新声音方案重新确认。 确认的是表达意图,不是证据真伪。用户补充但画面无法核实的关系、动机或制作方法,不能改标 observed;作为用户指定表达时记录 user_requested 与改编边界。声音没听过仍是 unavailable,不因“确认”变成 verified。具体记录方式见确认协议。 ### 4. 先拆镜,再选模式 真实剪辑边界定义 Shot;连续推近、拉远、摇镜、环绕、变形和 HUD 显隐不自动新增 Shot。难以判断隐藏切镜时记录边界不确定,不能伪造帧级确定性。 AUTO 按信息结构决定:首帧能锁定身份且后续连续变化,优先 I2V;叙事和跨时间变化主导,优先 T2VA;两者互补且单一路径会丢失关键内容,用 DUAL。用户已选模式则服从。 I2V 每个真实 Shot 独立处理: - `I2V-A`:单张参考图,默认路线。 - `I2V-B`:平台已确认支持首尾帧、镜内连续变化明显、尾帧能约束终态时使用。 - 支持能力未知时用 A;不得因“想要尾帧”假定接口存在。 - 硬切放在装配说明中。单个 I2V Job 不承载多个源镜头,除非用户明确授权把切镜改成连续运动,并记录改编。 “一段完整提示词”只改变文字长度,不取消上述 Job 边界。正面首帧没有呈现的背面结构,需该镜自己的背面参考图;不能声称单张正面 Picture 已锁定隐藏细节。平台若无法接收所需参考,说明缺口,不以重命名 Shot 或增加形容词绕过。 ### 5. 分配静态与动态信息 参考图 Prompt 只描述所选时刻的状态:媒介、构图、主体、姿态、比例、空间层次、光色与必要文字。它必须独立可用,不写“同上”,不提前泄露后续动作结果。 先写当前镜头的观察方向和表面结构,再引用共享身份。只有实际稳定的材质、部件对应关系可跨镜继承;“正面开口可见”等局部可见关系不属于全局锚点。硬切后的视角与物件状态以新首帧重新建立,不虚构转身、复穿或回弹。 Motion Prompt 从参考图状态出发,写应保持项、连续动作、可观察运镜、环境变化和真实终态。关键动作可分时段,不强行把所有动作套成五阶段。 稳定约束必须允许原片真实变化:产品可以展开,猫鱼可以鼓胀,UI 可以重排,日光可以变成夜色。只固定应固定的属性。 镜头约束针对实际风险。没有明显风险填 `N/A`;不要全片复制“无运动、无变形、无文字”。 ### 6. 编译 H3 与分段 区分两个层次:**逐镜生产包**方便人使用;**H3 可复制块**按目标格式提交。I2V 生产包中的 `i2v_negative_constraints` 不是已确认的 H3 API 参数。 H3 核心块按 `integrated_multimodal_description`、`overall_soundscape`、`non_diegetic_music` 顺序输出;I2VA/FL2VA 加各自图像对齐行。必要的稳定要求合入主描述,不额外发明 `negative_prompt` 字段。 先定声音交付:**原样复用**、**提交音频作参考**、**按核实事实重建**或**仅视觉**。原样复用时把源音轨作为独立素材交接:要求音频信号精确保留时,在最终装配中只铺回一次原音轨;若需让模型依据原声驱动口型,且当前界面确实支持、音频实际提供并获用户授权提交,再给出 Ref2VA `