Appearance
简介
higgsfield官方提示词:https://higgsfield.ai/blog/guide-youtube-seedance2.0 原始skill:https://xcn9p7c9ytcr.feishu.cn/wiki/KiTvws5bvi1hD3kHrudcl2WanQc?from=from_copylink
章节
00:00引言与资源介绍00:59网页Prompt细节02:13Skill效果测试实例04:12测试视频04:33Skill核心逻辑拆解07:51场景分类与变化分析11:12防翻车引擎约束层13:38镜头切换规则15:31输出格式化与总结
字幕
引言与资源介绍 00:00
00:00 大家好 00:00 今天给大家讲一个挺有意思的东西 00:03 hx field的视频提示词skill 00:06 他们之前那条视频很多人都看过 00:09 基本已经是行业标杆级别了 00:11 但很多人不知道的是 00:13 他们后来其实又发了一条拆解视频 00:16 专门讲这个视频是怎么做出来的 00:18 里面直接给了大量提示词 00:20 我也去看了一下 00:22 B站上应该有搬运 00:24 不过关注的人不算多 00:26 但这个内容真的很值 00:28 而且最关键的一点是 00:30 他们不仅讲了思路 00:32 还直接放出了一个完整的提示词skill 00:36 有了这个skill 00:37 我们就能看到这些提示词到底是怎么来的 00:41 其实在官方的介绍里 00:43 他也提到过很多提示词都是通过cloud code生成的 00:48 其实与其说它是一个scale 00:50 不如说它更像一个简化版的agent 00:53 因为它会根据输入内容自动做判断 00:56 然后走向不同的分支
网页Prompt细节 00:59
00:59 这个视频其实有一个对应的网页里面 01:02 把所有提示词全部整理好了 01:04 视频里提到的内容你都能在这里一一找到 01:08 比如说怎么创建人物 01:11 怎么设计服装 01:12 再把人物和服装组合生成完整形象 01:15 还有城市是怎么搭出来的 01:18 怪物是怎么设计的 01:19 这些提示词全都在里面 01:22 甚至连机甲的提示词 01:24 不同角色对应的机甲方案也都有详细拆解 01:28 再往下看 01:29 还有人物进场动画 01:31 不同角色的演出方式 01:33 包括最后的战斗场景 01:35 以及战斗场景的完整提示词 01:38 以及k pop舞蹈的提示词也都提供了 01:41 如果你感兴趣 01:42 这个网页真的值得仔细翻一遍 01:45 不过我们今天的重点不在这里 01:49 这个就是hx field提供的原生skill 01:53 不过它本身是全英文的 01:55 为了更方便理解 01:57 我把它做了一版中文翻译 01:59 这里你可以看到对应的中文提示 02:02 此版本 02:03 接下来我们先用几个简单的例子 02:06 快速测试一下它的效果 02:08 然后再一步一步拆解 02:11 这个skill到底是怎么写出来的
Skill效果测试实例 02:13
02:13 我们先测试一个简单的例子来看一下它的效果 02:17 这次我的输入是高精度cg赛博风 02:21 一个女性从高处跳下机甲组件一块一块出现 02:25 附着在身体上 02:26 最后完成变身 02:28 潇洒落地 02:29 这是一个非常典型的机甲变身加动作类场景 02:33 生成 02:34 结果出来之后 02:35 我们可以重点看一下结构 02:37 它会输出两组内容 02:38 一组是英文提示词 02:40 一组是中文提示词 02:42 而每一组提示词里分成三个核心部分 02:45 第一风格与氛围 02:48 第二动态描述 02:50 第三静态描述 02:52 先看风格与氛围 02:53 这里已经直接帮你定好了 02:55 赛博朋克机甲风高对比 02:58 光影霓虹边缘光金属反射体积光 03:02 也就是说整个画面的电影质感 03:05 在这一层就已经锁定了 03:07 然后我们看静态描述 03:09 这一层主要是补充场景 03:11 未来城市高空平台 03:14 霓虹灯 03:14 海雨水蒸汽钢结构 03:17 这些信息是在给整个画面打底 03:21 而真正精彩的还是动态描述 03:23 这里你可以明显看到他已经在帮你做分镜了 03:27 一开始是航拍远景人物从高空跳下 03:31 然后硬切到中近景 03:34 开始出现机甲组件一块一块附着 03:37 再切低角度仰拍 03:39 最后一个核心组件完成闭合 03:41 最后拉到远景角色完整变身 03:44 控制下落 03:45 然后冲击落地 03:48 你会发现一个很关键的点 03:50 他不是在描述一个动作 03:51 而是在描述一整段镜头节奏 03:55 从高空贴身仰拍落地 03:57 整个过程是逐层推进的 03:59 而且每一段变化都对应着一个视觉重点 04:03 先看规模 04:04 再看细节 04:05 再看完成 04:06 最后看结果 04:07 这也是为什么它生成出来的画面 04:10 会有非常强的电影感
测试视频 04:12
04:27 接下来我们正式看一下这个skill的核心逻辑 04:30 首先它的输入非常简单
Skill核心逻辑拆解 04:33
04:33 用户只需要给一段自然语言描述 04:36 比如一个人物在什么场景里面做什么动作 04:39 甚至只是一个很模糊的想法 04:41 然后skill会自动从这段话里 04:45 提取出几个关键信息 04:47 人物是谁 04:48 场景在哪里 04:49 有没有道具 04:51 整体是什么风格 04:52 以及这段视频大概属于哪一种类型 04:56 如果你没有指定时长 04:58 它默认会按十秒来处理 05:00 但它有一个硬上限 05:01 最长不能超过15秒 05:03 这一点其实很重要 05:05 因为SEDENCE这类视频模型 05:07 它更适合做短节奏 05:08 高密度的镜头 05:09 设计时间太长 05:11 反而容易失控 05:13 然后他会进入第二步资产提取 05:16 也就是说 05:17 他会把输入里出现的所有元素 05:20 先整理成一张拍摄清单 05:22 比如角色的外观 05:24 服装场景建筑灯光道具天气氛围 05:31 如果你上传了参考图 05:33 他还会从图像里提取视觉细节 05:35 再把这些内容写进最终提示词里 05:38 但是这里有一个很关键的限制 05:41 他不会随便乱编人物地点和道具 05:44 你给了什么 05:45 他就尽量围绕什么来写 05:47 当然如果你的描述本身很开放 05:50 比如帮我设计一场战斗或者两个人打架 05:53 那他会适当补充场景环境和氛围 05:57 让这个画面更完整 05:58 接下来就是这个scale最像agent的地方 06:02 他会先判断你这个场景到底属于哪一类 06:06 如果是动作场景 06:08 他会继续判断是追逐对决还是冲击 06:12 比如有人追 06:14 有人逃 06:15 那就是追逐 06:16 如果是两个人来回交手 06:18 优势不断切换 06:20 那就是对决 06:21 如果重点是某一个瞬间的撞击 06:23 爆发命中 06:25 那就是冲击 06:26 如果不是动作场景 06:28 它就会判断是不是普通场景 06:30 普通场景里面又分成三类 06:33 一种是旅程 06:34 也就是角色在空间里移动 06:37 一种是氛围 06:38 画面本身没什么大动作 06:40 重点是与雾灯光街道这些情绪 06:45 还有一种是结实 06:47 比如镜头绕过墙角门被推开 06:51 雾散开之后 06:52 某个主体才慢慢出现 06:54 如果是对白场景 06:56 他还会继续判断 06:58 这是对峙审问还是谈判 07:01 不同类型对应的镜头语言是不一样的 07:04 第一种对峙 07:06 双方都在互相施压 07:08 你来我往 07:09 节奏是不断对抗 07:10 不断变化 07:12 第二种审问 07:14 一方在压迫 07:15 另一方在承受权力是不对等的 07:18 气氛会更紧张 07:19 更压抑 07:20 第三种谈判 07:22 双方是相对平衡的 07:24 都有筹码 07:25 是在博弈 07:26 而不是对抗 07:27 接下来这一层是整个skill最核心的一层 07:31 可以把它理解成导演的大脑 07:33 他在做的不是写提示词 07:36 而是先决定一件事 07:38 这一段画面在发生什么变化 07:40 只有这个想清楚了 07:42 后面的镜头动作节奏才不会乱 07:46 我们重点看下面这三类 07:48 第一类动作场景 07:50 动作场景其实不是看打的多激烈
场景分类与变化分析 07:51
07:53 而是看变化在哪里 07:55 它分三种 07:56 第一种追逐核心是距离变化 08:01 比如你输入一个人从高处跳下 08:04 后面有东西在追 08:06 那镜头就一定会围绕有没有逼近 08:10 有没有拉开路线 08:12 是在收紧还是突然打开 08:14 重点不是动作本身 08:16 而是追上没有 08:17 第二种对决核心是攻防交换 08:22 比如两个人正面对抗 08:23 那就不能一直一个人占上风 08:25 必须时一方压制 08:27 然后被反制再重新拉开 08:30 skill里有一个很明确的规则 08:32 不能连续两个节拍都由同一方主导 08:35 否则就不是对决 08:37 而是单方面压制 08:39 第三种冲击核心是接触点加结果 08:44 比如从高空坠落 08:46 最后落地 08:47 那整个节奏一定是前面慢慢下坠 08:50 蓄力 08:51 中间命中地面爆发 08:53 最后冲击扩散余波 08:55 而重点镜头一定在接触的那一刻 08:58 第二类通用场景 09:01 通用场景看起来不大 09:03 但其实一样在讲变化 09:05 第一种johnny移动 09:08 比如一个身影在城市之间下坠 09:11 或者沿着路径移动 09:12 那尽头一定是跟着走的 09:15 航拍跟拍推进重点是位置在不断变化 09:20 第二种reveal揭示 09:23 比如机甲组件一块一块出现 09:26 最后完整合体 09:27 那重点不是动作速度 09:29 而是信息是怎么一点点被看到的 09:32 先看到能量 09:33 再看到装甲 09:35 最后看到完整形态 09:36 顺序是关键 09:38 第三种atmosphere氛围 09:41 这种场景几乎没有明显动作 09:44 比如雨夜霓虹蒸汽灯光镜头不会频繁切 09:50 而是慢慢推进或者保持静止 09:53 重点是让观众停下来感受 09:56 第三类对话场景 09:58 对话场景最核心的不是说话内容 10:00 而是权力关系在怎么变化 10:03 第一种对峙 10:05 双方都在施压 10:06 你一句我一句 10:08 关键点是谁 10:10 刚刚占上风 10:11 下一刻就可能被反压 10:13 镜头会跟着这个变化走 10:15 第二种审问 10:16 一方在压 10:18 另一方在扛 10:19 比如一个人提问 10:20 另一个人沉默 10:22 那镜头不会乱动 10:23 而是慢慢推进 10:24 被问的一方把压力拉出来 10:27 第三种谈判双方是平衡的 10:30 不是压制 10:31 而是交换 10:32 镜头 10:33 通常更稳定 10:34 构图更对称 10:36 重点在谁让步了 10:38 谁拿到了信息 10:39 最关键一句总结 10:41 你把这三类合在一起看 10:42 其实很简单 10:44 动作场景看身体怎么变 10:47 通用场景看空间怎么变 10:49 对话场景看关系怎么变 10:52 而这个skill做的事情就是先判断变化类型 10:55 再去写镜头 10:57 这也是他为什么看起来像一个导演 10:59 而不是一个简单的提示词生成器 11:01 接下来这一层其实很多人都会忽略 11:04 但他非常关键 11:06 这一层叫引擎约束层 11:08 你可以把它理解成一句话 11:10 专门负责防翻车
防翻车引擎约束层 11:12
11:12 因为前面那一层是在做导演决策 11:15 讲画面该怎么拍 11:17 但问题是模型不一定拍的出来 11:20 所以这一层就是在限制你哪些东西可以写 11:24 哪些东西绝对不能写 11:27 第一条不要写动作细节 11:29 写意图加技能名 11:31 不要写手臂转多少度 11:34 怎么挡 11:35 怎么接 11:35 这种人类看起来很专业 11:37 但模型很容易崩 11:39 正确写法时 11:40 一记回旋踢命中一拳 11:43 砸中胸口 11:44 也就是结果导向 11:46 而不是过程拆解 11:48 第二条 11:49 只写力量和方向 11:50 不写破坏过程 11:52 不要写一整段连锁反应 11:54 撞上玻璃碎反弹再攻击 11:57 而是写被击飞 11:59 撞上车门 12:00 惊数变形 12:01 重点是发生了什么结果 12:03 第三条 12:04 一旦切镜头必须重新交代 12:07 空姐只要cut就要重新说谁在做 12:11 谁在用 12:12 谁朝哪边 12:13 因为模型一剪切就容易迷路 12:16 第四条 12:17 同一段跨镜头最多稳定追踪三个人 12:21 人物一多 12:22 模型就开始混 12:23 谁在大 12:24 谁被打 12:25 谁在前景 12:27 谁在背景 12:28 所以它会自动帮你控制复杂度 12:31 第五条 12:32 角色一旦出画就不要回来 12:35 在同一个镜头里 12:37 如果一个人离开画面就相当于消失 12:40 你再让他回来 12:42 模型很可能直接画错人 12:44 第六条 12:45 屏幕外发生的事等于没发生 12:47 你不能写他被打飞出去 12:50 画外必须要在镜头里看到这个动作才算成立 12:55 否则后面再引用就会断逻辑 12:58 第七条 12:59 不要用反射类画面 13:00 比如镜子积水 13:03 刀刃反光 13:05 这些在真实拍摄里很好看 13:07 但对生成模型来说非常容易出错 13:10 空间会直接错乱 13:11 第八条 13:12 微表情要写成物理现象 13:15 不要写他很愤怒 13:17 要写下颌收紧鼻孔微微扩张 13:21 也就是让模型看到动作 13:24 而不是情绪 13:25 这一层的本质就是不是让画面更华丽 13:29 而是让画面能稳定深沉出来 13:31 前面是导演在想怎么拍 13:33 这一层是在保证拍不奔 13:36 接下来这一层只讲一件事
镜头切换规则 13:38
13:39 怎么切镜 13:40 在这个skill里 13:41 镜头不是随便换的 13:43 而是有一整套控制规则 13:45 第一个最核心的double contrast 13:49 什么意思 13:50 每一次切镜头必须同时变化两件东西 13:53 一个是景别 13:55 一个是机位性格 13:56 比如远景切特写 13:59 同时从航拍变成手持或者中景切极尽特写 14:04 同时从稳定镜头变成低角度压迫感 14:08 这两个必须一起变 14:09 否则会发生什么画面 14:11 看起来在切 14:12 但观众感觉不到变化 14:14 第二个REANCHOR 14:16 重新锚定空间 14:18 只要一切尽头 14:19 就必须重新交代谁在左 14:22 谁在右 14:23 谁在前 14:24 谁在后 14:25 朝哪个方向移动 14:27 因为模型一旦切近 14:29 很容易迷路 14:30 你不重新说 14:31 他就会自己猜 14:32 结果就是空间关系直接乱掉 14:35 第三个insert 14:37 插入镜头必须有因果 14:39 插入镜头不是装饰 14:41 你不能随便拉一个细节 14:43 必须是因为刚刚发生了什么 14:45 所以才看到这个细节 14:47 比如人物被砸在车上 14:49 那你插入的应该是他的手抓住变形的金属 14:53 而不是一个无关的脚步或者环境细节 14:57 还有一个很关键的点 14:59 必须说清楚是谁的 15:01 是谁的手 15:02 是谁的武器 15:03 是谁的细节 15:05 不然模型会随机生成 15:07 直接错位 15:08 第四个不写镜头时长 15:10 这个scale从来不会写 15:13 第一个镜头几秒 15:14 第二个镜头几秒 15:15 他全部靠描述密度来控制节奏 15:19 描述越密 15:20 节奏越快 15:21 描述越少 15:23 节奏越慢 15:24 这其实更接近真实剪辑逻辑 15:26 而不是机械分段 15:28 最后一层是整个流程的收尾
输出格式化与总结 15:31
15:31 叫做输出格式化层 15:33 前面我们讲的那些导演决策 15:36 镜头设计引擎约束 15:38 本质上都是在构建内容 15:41 但这一层在做的事情 15:42 是把这些内容压成一个标准格式 15:46 而这个格式是固定的 15:48 第一点输出必须是JSON 15:51 而且不是随便写 15:53 必须是一个JASONR 15:55 也就是说从头到尾他就是一个接口返回 15:59 不是自然语言回答 16:01 而是可以直接被系统调用的数据 16:04 第二点固定两个对象 16:07 一个是英文 16:08 一个是中文 16:09 顺序也是固定的 16:10 第三点内部结构是固定分区的 16:14 每一段提示词都会包含这几个section style and mood 16:19 风格与氛围 16:20 Narrative summary 16:22 一句话概述可选 16:24 Dynamic description 16:26 动态描述 16:27 Static description 16:29 静态描述audio 16:32 只有对话场景才有 16:34 你不能随便删 16:35 也不能乱改顺序 16:36 第四点 16:38 中文长度是有限制的 16:40 最多1800字以内 16:42 如果内容太多 16:44 它会自动裁剪 16:45 而裁剪的优先级也是固定的 16:48 先删概述 16:49 再删静态 16:50 最后才动风格 16:52 但动态描述不能删 16:55 第五点 16:56 如果有参考图要加标记 16:58 比如image1 17:00 而且必须放在最前面 17:02 用来告诉模型 17:04 这个画面是基于哪张图来的 17:07 最后一个点其实很关键 17:09 这一层决定了他的定位 17:12 他不是在聊天 17:13 也不是在写一段文案 17:15 而是一个可以被调用的API 17:18 输入一段描述 17:20 输出一段标准结构的视频提示词 17:23 今天就先讲到这里 17:25 skill里面还有不少细节 17:27 下次再逐行分析一下 17:29 材料还在整理 17:30 如果有需要的话 17:32 麻烦关注一下 17:33 整理好了以后会一一发送