mcpField
V
video-gen

video-gen

github.com/chatcut-inc创意与媒体993150 次安装1 天前更新
代码仓库

关于 video-gen

用于规划和提交 ChatCut 视频生成任务的技能,并要求在继续前审阅结果。内容涵盖模型选择、提示词输入,以及对片段范围和内容的确认。

主要功能

  1. 01选择支持的视频模型
  2. 02确认片段时长与内容
  3. 03使用项目资源作为参考
  4. 04提交并跟踪生成任务
  5. 05继续前审阅生成结果

适用场景

  1. 01根据文本提示词生成视频
  2. 02利用图像或视频参考生成素材
  3. 03编辑或扩展现有视频

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/chatcut-inc/agent-plugin --skill video-gen

安装后在 Claude Code 中输入/video-gen确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
kling.md
minimax-h3-max.md
minimax-h3.md
omni.md
seedance2.md
seedance25.md

详细介绍

视频生成

如果尚未加载 submit_video,请先使用 ToolSearch 加载它,再调用它,以便使用真实参数,而不是猜测参数。

每次调用都会提交一个视频生成任务,并返回一个 jobId。任务状态和后续检查由 track_progress 负责;此技能不会自动将视频放到时间线上。

适用场景

只要用户想要生成视频片段,就使用此技能——文本生成视频、图像生成视频、首尾帧过渡、基于参考内容生成,或以生成方式编辑/扩展现有视频(根据源片段生成新的素材;不包括时间线裁剪)。

模型

模型参考优势
seedance-2-5references/seedance25.md默认选项。支持 4-30 秒、最多 50 个多模态参考内容、仅音频参考、时间戳控制,以及 mp4/mov 输出。最适合用于新生成、编辑和扩展的 Seedance 模型。
seedance2references/seedance2.mdSeedance 2.0 完整模型。支持 4-15 秒、丰富的多模态参考内容,最高可输出 1080p。
seedance2fastreferences/seedance2.mdSeedance 2.0 Fast——输入内容和 4-15 秒时长范围与 seedance2 相同,几分钟即可返回,而非约十分钟;价格低约 20%,最高为 720p。适合用户需要反复迭代且周转速度比最高保真度更重要的情况。
seedance2minireferences/seedance2.mdSeedance 2.0 mini——输入内容和 4-15 秒时长范围与 seedance2 相同;价格低约 50%,最高为 720p。适合低成本草稿和大批量生成,尤其是在不需要完整模型保真度时。
klingreferences/kling.md可通过提示词使用镜头控制语言;在角色镜头的细腻情绪/表演控制方面表现出色。使用 mode:"pro" 可生成 1080p 视频。
minimax-h3references/minimax-h3.mdMiniMax H3。支持 4-15 秒、768p/2k、首尾帧,以及最多 9 张图像 + 3 段视频 + 3 段音频参考(共 12 个)。多模态参考遵循能力出色。
minimax-h3-maxreferences/minimax-h3-max.mdMiniMax H3 Max。支持 5-15 秒、480p/768p,以及文本生成或首尾帧生成。不支持参考模式或 2K 输出。
omnireferences/omni.mdGemini Omni 1.1 Flash。支持通过 continueFrom 定向编辑/扩展、首尾帧,以及低成本 360p 草稿。支持 3-10 秒;默认 720p,可升频至 1080p/4k。

**重要:**生成前,请阅读所选模型的参考文档,了解其功能、输入通道、模式、提示词结构和特定行为。

模型选择

生成新内容时,默认使用 seedance-2-5。只有在以下情况才切换:

  • 用户明确指定了模型(“用 Kling”“use Kling”“用 Omni”“用 mini”“/kling”)——直接切换,无需再次询问。
  • 用户明确要求使用 MiniMax H3,或需要结合图像/视频/音频参考的指导,并可选择 2K 输出——使用 minimax-h3。
  • 用户明确要求使用 MiniMax H3 Max,或希望在没有多模态参考的情况下获得其最高保真度的文本/帧生成效果——使用 minimax-h3-max。
  • Seedance 明显无法胜任,或效果不佳——遇到 Seedance 已知表现不佳的情况时,提议切换到 kling,并在提交前确认。
  • 用户明确要求快速/低成本草稿,并且预期会进行修改——提议使用 omni(360p 草稿,≤10s,支持定向编辑),并在提交前确认。
  • 用户需要 Seedance 以 1080p 输出——优先使用 seedance-2-5;它和完整的 seedance2 都支持 1080p。
  • 用户想以较低成本使用 Seedance 2.0 的输入,或一次生成多个片段,并且接受 720p——提议使用 seedance2mini(4-15s,费用约为完整 2.0 模型的 50%),并在提交前确认。
  • 用户正在迭代 2.0 风格的输出,并且重视周转速度——提议使用 seedance2fast(480p 或 720p,4-15s,费用约为完整 2.0 模型的 80%,返回速度快得多),并在提交前确认。

其他情况均继续使用 seedance-2-5。

修改已有片段时,应在步骤 4 中选择模型,而不是在此处选择。修改请求并不构成更改后续新内容默认模型的理由。Omni 1.1 取代了此前的 Omni 选择;保留 omni 别名,不要另行创建旧版选项。

访问说明:这八种模型都需要 ChatCut 付费视频生成权限(订阅或付费点数)。绝不要把其他模型说成是绕过订阅限制的免费替代方案;用户询问免费方案时,应提供免费的 Motion Graphic 动画。

工具参数

参数值默认值
prompt视频描述(必填)—
modelseedance-2-5、seedance2、seedance2fast、seedance2mini、kling、minimax-h3、minimax-h3-max、omniseedance-2-5
durationSeconds秒5
ratio参见模型文档16:9
resolution因模型而异;H3:768p/2k;H3 Max:480p/768p;Seedance:480p/720p/1080p;Omni:360p/720p/1080p/4k720p(H3 模型为 768p)
outputFormatmp4、mov(仅限 seedance-2-5)mp4(生成);mov(编辑/延长)
taskModegenerate、edit、extend(seedance-2-5 或 omni)generate
name描述性素材名称(必填)—
firstFrame项目素材引用—
lastFrame项目素材引用—
continueFrom视频素材引用 — 仅限 omni,要编辑/延长的源素材—

模型专属参数(例如,Kling 的 mode、Seedance 的 refImages / refVideos / refAudios)——参见模型参考文档。

输入分辨率

firstFrame / lastFrame / refImages / refVideos / refAudios 均接受项目素材引用。建议使用 browse_assets 返回的完整 UUID 或短前缀;也接受 asset://<id> 和素材工具返回的同项目素材 URL。各槽位的类型:帧槽位和 refImages → 图像;refVideos → 视频;refAudios → 音频。

不接受外部 URL 和 base64。如果源文件是公开 URL,请将其下载到沙盒工作区,通过 asset-import + push_asset 导入本地文件,并传入生成的素材 ID。

工作流

四步循环。每次生成新内容时,如果用户意图发生变化,请从步骤 1 重新开始。

步骤 1 — 与用户对齐范围

在编写任何提示词之前,先在三个方面达成一致:

  1. 时长与分段 — 总时长、镜头数量,以及这些镜头是放在一个片段中还是拆成多个片段。

    如果用户已经明确了方向(如“做一段”“in one video”“分别生成”“split into N shots”等),就按用户的要求执行,不要再反复确认。

    否则,列出两种方案供用户选择:

    • 一个片段中的多镜头(参见模型参考)——一次推理,子镜头之间的主体/光线/风格保持物理一致;适合在单片段时长上限内讲述连贯的故事。
    • 多个片段——每个片段都可以独立控制和重新生成,但需要借助锚点维持身份与风格的连贯性;适合时长超过上限或场景切换明显的情况。

    说明两种方案的取舍,但不要替用户做决定。

  2. 内容 — 每个片段呈现什么。按片段总结你对用户需求的理解。当内容较模糊时(例如“生成一段女孩跳舞的视频”),用户通常没有说明以下一项或多项内容:

    • 主体:主要主体是谁/是什么(外貌、服装、鲜明特征)?
    • 动作:主体在做什么?(对于对话/情绪镜头,微表情如何?)
    • 场景:地点在哪里——环境、时段、周围细节?
    • 光线/色彩氛围:想要什么氛围?
    • 摄像机:对景别/角度/运动有何偏好?
    • 风格:视觉风格或参考(电影感/动漫/纪录片/……)。

    重点关注对当前需求重要、且无法安全推断的项目——不要把这变成逐项填空。继续之前,先向用户复述你已理解的内容。

  3. 一致性锚点 — 仅当多个镜头重复使用同一角色、物体或场景时,才确定要在哪些镜头中固定使用哪个锚点(参考图像或视频)。锚点来源规则见下文 §镜头间的视觉一致性。

对于每个方面,都要检查用户的表述:

  • 明确 — 继续执行。
  • 模糊或缺失 — 向用户提问。不要猜测,也不要自行设定默认解释。往返确认的成本远低于生成失败。
不要做的事
  • 不要“告知后直接提交”——宣布“我会把它做成 2 个片段”后立即提交,这不是对齐,而是单方面做决定并告知用户。
  • **不要默认把单视频需求拆成多个片段。**一个片段可以包含多个子镜头(参见模型参考),并在镜头间保持主体/光线/风格的物理一致性。先说明两种方案的取舍,再让用户选择。
  • 不要因为觉得答案显而易见就跳过提问。
强制优先遵循的规则(以用户明确表述为准)
  • “one clip / single clip / 一条 / 一个镜头 / in 1 clip” → 绝不拆分,即使描述客观上很长。
  • “N shots / N 段 / N 个镜头” → 严格生成 N 个。
  • “use this image / 用这张图” → 将其用作参考,不要替换。
步骤 2 — 编写提示词

参照所选模型的提示词结构和参数组合说明(例如 Seedance 的 8 要素结构和模式、Kling 的提示技巧)。提交前检查:

  • name 是一个描述性资源名称——要足够具体,让用户(以及你在后续对话中)能在项目库中识别此资源。避免使用“未命名”或“片段 1”等模糊名称。
  • 参数组合符合用户意图——参见模型参考中的模式部分。
  • 生成视频的音频不是工具参数。Seedance 和 Kling 通过后端提交时均会启用音频。
  • 验证失败时,阅读错误信息并修正输入——不要盲目重试相同的无效参数。
第 3 步 — 提交一个,等待并确认

一次只提交一个生成任务。 除非用户明确要求并行生成多个片段,否则在当前片段完成且用户审核后,再提交下一个片段。并行提交会掩盖问题:如果第一个镜头出现偏移或取景错误,用户宁愿只重做一次,也不愿丢弃多个对不齐的镜头。

  • submit_video.ratio 仅控制生成的素材,不会更改项目时间线画布。如果用户要求最终输出采用特定宽高比(例如“9:16 竖屏”或“16:9 横屏”),请在放置已完成的素材前,使用 manage_timelines action=update 将时间线画布设为相同的宽高比(例如 ratio:"9:16")。如果用户要求无黑边/全幅显示,请在设置画布或更新/添加视觉项时设置 fit:"cover"。
  • 不要使用此技能管理任务;如需立即读取状态,请使用 track_progress,并遵循其中后续回查的指引。
  • 提交后,结束当前轮次(告知用户任务已创建),除非已有后续任务排队等待处理。
  • 任务完成后,先向用户展示结果供其审核,再继续处理下一个镜头。
  • 对于 Omni 源编辑,在确认请求的更改成功前,请按照其参考资料检查首帧、中间帧和末帧。
  • 模型特定的失败处理方式——请参阅该模型的参考资料。
步骤 4 — 迭代

当用户想要下一个片段、修改或续接时,首先判断现有片段在下一次调用中是什么:

现有片段是……路径
要修改的对象 — 针对性更改;不要求像素级精确保留omni + continueFrom
重新生成的来源 — 新动作 / 镜头、整体片段风格变化、延长、衔接seedance-2-5 + refVideos;编辑 / 延长时设置 taskMode
不可复用 — 意图已改变重新生成,从步骤 1 重新开始

局部更改默认使用 omni + continueFrom。 对于明确选择的 Omni 续接,使用 taskMode:"extend" + continueFrom;对于两张图像之间的转场,使用 firstFrame + lastFrame。除此之外,通常将 Seedance 2.5 作为编辑 / 延长路径。无需等用户说“其他内容都保持不变”——“把气球改成黄色” / “移除角落里的文字”本身就已表达这一要求。只有当更改确实需要重新推断(动作、镜头、时长、整体片段风格)时,才转到 seedance-2-5,不要仅仅因为你更熟悉 Seedance 就这么做。

omni 源编辑 / 延长要求项目视频不超过 10 秒。对于更长的视频源,使用 seedance-2-5 + refVideos,或先要求用户裁剪。此集成是无状态的:不要承诺上游的 40 秒多轮工作流。

任何生成式编辑都无法无损完成。 Omni 1.1 支持升频至 1080p/4k,但更高分辨率并不能保证细节或像素保持不变。替换时间线项目之前,请检查结果;原始素材仍可使用。

然后遵循以下规则:

  • 如果这是多镜头序列中的下一个镜头 — 复用已确立的锚点(原则见下文“镜头间的视觉一致性”,标志级别的详细信息请参阅模型参考)。
  • 如果用户的反馈含糊不清(“感觉不太对”)— 重新生成前,先询问具体要更改什么。
  • 如果同一文本提示词调整已失败两次 — 停止调整文本。改用参考图像,或切换到编辑路径(针对性更改使用 omni continueFrom,重新生成使用 seedance refVideos)。
  • 每次新生成都会从步骤 1 重新开始循环——如果范围发生变化,请重新对齐。
  • submit_video 会报告 omni 编辑轮次;如果它警告链深度,请将建议转告用户,而不是悄无声息地继续。

镜头间的视觉一致性

仅凭文本无法可靠地维持不同镜头间的视觉身份;视觉参考比文字更能精确约束输出。

锚点:一致性的基石

锚点是贯穿所有共享同一角色、物体或风格的镜头的参考图像或视频。任何包含重复视觉元素的多镜头序列都需要锚点——不要尝试仅凭文本复现它们。

获取锚点

保持对参考素材的关注。当用户的请求涉及重复出现的角色 / 物体 / 场景时,在编写提示词之前先考虑使用什么锚点:

  • 先检查项目。 用户已经提供或批准了什么?上传的图像、之前生成并获批的镜头,或较早的项目素材都可以作为锚点。
  • 符合用户意图。 如果用户指明了特定素材(“用这张照片”、“像上一段那样”),就使用它。如果用户只用文字描述了角色,则目前还没有锚点,必须先建立一个。
  • 有疑问时,询问用户。 不要猜测要固定哪个素材,也不要在用户可能已有心仪素材时,悄悄生成新的锚点。
建立新的锚点(需征得用户同意)

如果没有合适的现有素材且必须生成新素材,请先向用户提议——这会消耗额度,并影响后续的每个镜头。模型专属路径请参阅所选模型的参考文档。

使用锚点
  • 每个与角色、物体或风格相关的镜头都要传入锚点。具体使用哪些标志取决于模型——请参阅模型的参考文档。
  • 在提示词中按外观描述锚点,而不是使用名称:“带镀铬排气管的黑色赛车”比“Fleetmaster”限制得更明确。如果角色混淆的可能性较大,请添加明确的否定描述:“这辆摩托车不会变形。”
  • 在提示词中使用 @Image1 / @Video1 指代锚点,不要使用“之前那辆车”之类含糊的说法。
  • 如果某个镜头依赖于之前生成的素材,请使用 track_progress action=wait 等待,并按照结果进行操作(支持时自动进行后续轮次,否则稍后再次检查),直到任务进入终态,然后将其 outputAssetId 用作锚点引用。这两个操作都不会阻塞。不要并行提交有依赖关系的镜头。
多角色项目

如果项目中有多个具有不同属性的命名角色(例如,拥有火焰能量的 Faz、拥有冰霜能量的 Kev),请将每个角色视为一个单独的锚点——每个角色对应一个参考素材。在每条提示词中:

  • 指定当前角色并添加其鲜明属性(“Kev 拥有蓝色冰霜电能”)。
  • 添加明确的否定描述,排除其他角色,防止属性串用(“不是红色火焰能量,不是 Faz 的外观”)。
  • 固定使用正确角色的锚点(模型专属标志——请参阅模型参考文档)。不要误用其他角色的锚点。

如果缺少明确的属性归属或否定描述,就会导致角色之间的属性混杂。

同一画面中的多个角色。 多个角色同时出现的镜头(尤其是面朝镜头时)容易出现模型换脸或身体裁切问题。为每个角色添加明确的位置和服装锚点,并尽量让该镜头使用固定摄像机:

  • “画面左侧的角色穿着灰蓝色战术夹克,留着短胡子,戴着银耳环”
  • “画面右侧的角色披着镶金边的红色斗篷,留着长辫子”
  • “固定摄像机,中景,两个角色清晰分开”

位置词(左侧/右侧/前景/背景)加上鲜明的服装颜色,能为模型提供足够的信息,让角色保持区分。

文本调整无效时升级处理

如果同一镜头经过两次提示词文本调整后,视觉身份问题(角色错误、外观漂移、颜色不匹配)仍然存在,请停止调整文本。文本不能替代锚点。请升级处理:

  • 添加或更换锚点。
  • 在模型支持时使用编辑模式(调用方式请参阅模型参考文档)。

遇到同一一致性问题时,不要第三次仅调整文本并重试。

何时跳过锚点

简单、一次性或探索性请求不需要锚点——直接生成即可。

运行

// Text-to-video (Seedance 2.5 default)
submit_video({
  model: "seedance-2-5",
  prompt: "A cat walks across a sunny windowsill",
  name: "Cat on windowsill",
});

// Image-to-video with Seedance 2.5 — pass the project asset id directly
submit_video({
  model: "seedance-2-5",
  prompt: "The scene comes to life, gentle breeze rustles the curtains",
  firstFrame: "abc12345",
  name: "Living room animation",
});

// Kling text-to-video — only after Model Selection check
submit_video({
  model: "kling",
  prompt: "A sports car drifts around a wet corner",
  name: "Car drift shot",
});

提交后,返回 jobId,默认结束本轮。只有在用户询问状态时(action=status),或某个依赖步骤需要已完成的素材时(action=wait,然后按照结果进行操作),才调用 track_progress。两者都会立即返回;不要循环调用。

配置模式

对于复杂的多模态任务,请预先构建完整的 args 对象,并在一次调用中传入:

submit_video({
  model: "seedance-2-5",
  prompt: "...",
  name: "...",
  refImages: ["def67890", "ghi24680"],
  refVideos: ["abc99999"],
  refAudios: ["jkl55555"],
  durationSeconds: 8,
  ratio: "9:16",
});

规则

  • 始终提供 name,并为素材指定描述性名称。
  • 默认只提交任务。提交后结束本轮,除非已安排后续任务。
  • 不要尝试通过 submit_video 管理任务——状态和后续检查应使用 track_progress。
  • 生成会消耗额度。提交前,简要告知用户即将生成的内容。

评论

支持 Markdown