Communitygithub.com

ykurilov/video-prompts

编写和修复用于 Gemini Omni 1.2、Seedance 2.5 和 2.0、Kling 4.0 和 3.0、Veo 3.1 视频模型的提示词。在需要为新视频、图片动画、编辑或延长视频编写提示词时使用,包括在代理准备生成时,以及当成品视频不遵循提示词时。

video-prompts 是什么?

这是一个专门为多种前沿AI视频生成模型(Gemini Omni 1.2、Seedance 2.5/2.0、Kling 4.0/3.0、Veo 3.1)编写和修复提示词的专业技能。其核心价值在于将视频生成从“碰运气”转变为“精确控制”。技能提供了一套严谨、结构化的方法论,而非简单的模板。它要求代理(Agent)首先通过读取对应的模型文件,理解每个模型独特的“默认行为”(即模型在提示词未明确说明时会自行决定的内容),然后通过“分解时间线”、“分配参考文件角色”、“解决每个默认行为”等一系列步骤,最终生成一个精确的、包含提示词文本和请求参数的完整指令包。该技能特别强调对“时间线”(事件顺序)、“参考文件”(角色与边界)和“用户文本”(逐字复述)的精确控制,并内置了调试流程(如“视频不听话”和“检查清单”),用于定位和修复生成结果中的问题。它支持新视频生成、图片动画、视频编辑和延长等多种模式,能够显著提升AI视频生成的可靠性和可控性。

兼容平台~Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/ykurilov/image-video-skills/tree/HEAD/skills/video-prompts

在你喜欢的 AI 中提问

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

文档

视频提示词

视频模型是导演,有自己的默认行为:提示词未提及的内容,模型会自行决定。提示词要指出重要内容,并关闭不需要的默认行为。此技能输出提示词文本和请求参数。实际的请求由生成服务所在的服务端处理。

步骤

  1. 收集任务信息。 模型、其版本和服务。模式:从文本新建视频、图片动画、首帧和尾帧、参考帧、编辑、延长。输入文件:打开并查看每个文件,角色特征和参考帧的适用性从文件中获取,而不是靠猜测。逐字对话和屏幕文字。视频长度和画面格式。缺失信息从对话中推断;仅询问逐字对话和屏幕文本,以及缺少就无法确定模式或模型的信息。如果模型未指定,则根据“模型选择”部分选择并告知选择。
  2. 完整阅读模型文件,直到提示词的第一行:Omni 1.2、Seedance 2.5 和 2.0、Kling 4.0 和 3.0、Veo 3.1。如果模型文件与以下通用规则冲突,以模型文件为准。
  3. 按时间分解视频,参考“时间线”部分:每个事件、对话和镜头运动都有自己的时间段,这些时间段加起来构成视频的总长度。如果无法容纳或时间不足,请在提示词之前说明并提出方案。
  4. 为文件分配角色,参考“参考文件”部分:每个文件都有一个角色和其边界,不能超过模型的任何限制。如果某个需求超出限制,请在提示词之前说明并提出最接近的可行方案。
  5. 解决模型文件中的每个默认行为:是保留给模型处理,还是用提示词文本覆盖。
  6. 编写提示词。
  7. 执行“检查清单”:检查每个项目是否已执行或不适用于该提示词。
  8. 提供三个部分:代码块中的提示词,准备发送;单独的请求参数列表,使用模型字段名称;以及在生成视频中需要用肉眼和耳朵检查的内容。对于英文提示词,添加一两句中文概述。如果任务因模型文件中的失败模式而受阻,在生成前说明。

时间线

顺序,而非秒表。 模型保持事件的顺序,但无法保证精确时间:两秒的间隔实际可能为 1.5 到 3 秒。时间标注设定节奏。只有模型文件保证秒级精度。必须与另一个事件同时发生的事件,应绑定到画面中的可见事件,而不是数字。精确的最终状态由准备好的最后一帧承载。

视频时间预算。 大约 5 秒用于一个完整的动作。大约 10 秒用于两到四个时间段。15 秒用于三到四个时间段。过满的视频会丢失事件,并被多余的剪辑切断。内容不足的视频会被填充以等待、重复和慢动作。如果内容不足以支持要求的长度,建议缩短视频,而不是拼凑事件。如果内容过多,建议延长视频或制作多个视频。

何时进行时间标注。 一个简单的动作不需要标注。当有多个事件且它们的顺序很重要时,需要进行标注。每种模型都有自己的标注语法,在模型文件中说明:时间码、镜头编号或单独字段。

如何进行时间标注。

  • 在时间段之前,用一个总结性短语描述整个场景:否则时间段就没有依据。
  • 时间段连续,以整秒为单位,无空隙,覆盖整个时长,并与时长字段一致。
  • 每个时间段包含一个具有开始和结束的动作,而不是一连串微小的动作。
  • 每个时间段内不超过一个镜头运动。镜头运动与角色的重大动作在同一时间段内会相互冲突:两者中只能有一个是主要的。
  • 动作节奏通过计数和停顿来设定:步数,以及停顿位置。

结尾处容易出问题。 视频接近尾声时,模型往往会停止动作,丢失最后的镜头运动,或将场景恢复为初始状态。关键事件应在最后一秒之前结束,最后一个时间段只是一个简单的收尾。

对话的时间预算。 可靠值约为每秒两个英文单词;四个单词的对话可能会被截断。俄语单词较长,对此没有衡量标准:应留有裕量。对话开始前的动作时间应从对话时间中扣除。每个时间段一个对话和一个说话者。如果用户的对话无法放入一个时间段,则适用“逐字复述用户文本”规则。

剪辑总是预先确定。 每次提示词中都明确指出是连续单镜头还是包含剪辑。模型是否会根据时间段标注生成剪辑,在模型文件中说明。

参考文件

角色与边界。 上传文件本身并不赋予角色。每个文件在文本中都有一个明确的角色(文件上有什么以及从中提取什么)和一个边界(不要从中提取什么:背景、服装、灯光、镜头)。没有边界,文件中的所有内容都会被带入视频,通常包括背景。文件引用使用模型文件中的语法。整个提示词中,每个角色只使用一个标签,避免使用代词。

仅包含有作用的文件。 不要浪费限制:每个多余的文件都会模糊其他文件。没有角色的文件不包含在请求中。

不要复述首帧。 文本描述的是画面中没有的内容:运动、变化、镜头、声音。对于双帧,文本描述的是实际上能导向最后一帧的路径。

参考帧中的角色。 不要用文字复述面孔。简短重复两到三个容易验证且模型容易丢失的特征(服装颜色、徽标、手中的物品)。文字不要与图片冲突。关于是否要用文字描述外貌的问题,尚无测试定论;本规则是一种保守的折中方案。

参考视频。 说明从中提取什么(运动、镜头、节奏)和不提取什么(外观、服装、地点)。视频中的外观可能会不经意间渗入,应列入“检查”列表。

参考帧的适用性。 在提示词之前查看文件。适用条件:高分辨率、均匀光照、可见面孔、干净的中性背景、画面中只有一个角色、没有多余文字。多个不同角度的单独文件比单个图片更能保持角色的稳定性。角色表使用单个图片是备用方案,除非模型文件另有说明。如果参考帧较弱,需在生成前告知用户。

计数和精确位置——用图片。 超过三个相同的物品、画面上的精确布局、图表数据,文字无法可靠承载。这些应由准备好的帧来呈现。

视频间的一致性。 保持相同的文件集,对角色进行逐字相同的描述,相同的灯光和色调。下一个视频应从上个视频的最后一帧开始。

其他文本规则

参数不在文本中。 时长、画面格式、分辨率和是否包含音频通过请求字段设置:在提示词文本中指定这些会导致它们被忽略或与字段冲突。

音频始终确定。 每个提示词都必须说明三件事:对话、音乐、音效——哪些有声音,哪些没有。

逐字复述用户文本。 用户提供的对话、屏幕文本和画外音必须逐字包含在提示词中。不要自行简化、缩短、拆分或分配给其他声音。如果文本长度或复杂度超出模型可靠处理的范围,应在提示词之前说明,提出建议,并在获得用户同意后才能进行修改。只有在用户未提供文本,你需要自行创作时,才拥有措辞自由。

对话。 说话者应根据可见特征命名,对话应紧邻说话者。对话记录格式以及模型如何处理俄语对话,在模型文件中说明。如果没有对话,则直接说明。

屏幕文本。 每个文本都必须逐字包含,并说明其位置、字体类型、出现方式以及在屏幕上的停留时间。应说明画面中没有其他文本。

准确定位禁止项。 首先描述所需状态,然后简短说明禁止的具体多余内容。禁止项并非总能得到遵守:禁止的内容应列入“检查”列表。

编辑与延长。 编辑应是一条关于单一变更的简短指令,加上一条保持其他内容不变的语句;不要复述场景。延长应仅描述新的部分,不要复述已拍摄的内容,否则模型会重复已经完成的操作。已离开画面的角色或物品需重新引入。

语言。 除非模型文件另有说明,场景描述使用英文。对话和屏幕文本保留其原有语言。如果用户要求提示词使用俄语,则用俄语编写。

模型选择

仅列出经研究确认的差异:

需求适用模型
单次请求生成超过 15 秒的视频Seedance 2.5、Kling 4.0(最长 30 秒)
最长 8 秒的短视频任意模型;Veo 3.1 仅支持此长度
俄语对话Omni 1.2、Veo 3.1;不适用 Kling 3.0
画面内的俄语屏幕文本Omni 1.2
在指定秒数进行剪辑Kling 4.0
大量参考帧或音频作为参考Seedance 2.5;对于声音,还包括 Kling 4.0
从参考视频中提取运动Seedance、Kling 4.0、Omni 1.2;不适用 Veo
中间关键帧Kling 4.0、Seedance 2.5
通过文本编辑成品视频Omni 1.2、Seedance 2.5、Kling;不适用 Veo
延长视频Omni 1.2、Seedance 2.5
精确的机械运动和硬剪辑Seedance 2.0

视频不听话

  1. 用一句话指出问题,并找到提示词中对此负责的短语。如果没有找到对应短语,则为默认行为所致:覆盖它。
  2. 如果每次问题都出现在不同的地方,则使用相同的提示词重新生成。如果是同一个问题反复出现,则仅修改负责的短语。
  3. 如果某个指令被忽略,首先移除其周围次要的指令,而不是通过加重语气来强化它。将移除的用户提示词内容逐一告知用户。
  4. 如果事件丢失或视频静止不动,按照“时间线”部分重新计算时间预算。如果问题来自某个文件,则缩小其角色并明确边界。
  5. 如果视频大部分正确,通过一条简短的编辑指令进行修改。如果缺陷是基础性的(如物体消失、面部变形),则重新生成:编辑会继承这些缺陷。
  6. 对照模型文件中的失败模式进行检查:部分问题无法通过文本修复,应直接说明,而不是循环重写提示词。

检查清单

  • 模型文件中的每个默认行为都已用提示词覆盖,或有意保留给模型处理。
  • 提示词文本中不包含时长、画面格式和分辨率;这些已设置在参数中。
  • 时间标注使用模型的语法编写,覆盖整个时长且无空隙,并与时长字段一致。
  • 每个时间段包含一个动作且不超过一个镜头运动;关键事件不在最后一秒。
  • 每个对话都能放入其所属的时间段。
  • 已说明是单镜头还是包含剪辑。
  • 每个文件都有角色和边界,引用使用模型语法;没有无角色的文件。
  • 首帧和角色面孔未被复述。
  • 已说明对话、音乐和音效的相关情况。
  • 用户的对话、屏幕文本和画外音已逐字放入;任何与用户原文的差异都已征得用户同意。
  • 编辑:一次变更,未复述场景,包含保持其他内容不变的语句。延长:仅描述了新部分。
  • 未超出模型和服务的任何限制;未使用该版本模型不具备的任何功能。
  • 已说明在成品视频中需要检查的内容:每个关键事件、每个禁止项、屏幕文本的拼写、音频与动作的同步性、角色特征。

Individual skills in this repo

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

相关技能