大家好,我是小肥肠。最近我刷短视频时,经常会刷到一些很上头的 AI 视频,尤其是萌宠拟人、炫酷变装这类内容。看着不复杂,真到自己想复刻的时候就会发现,角色设定、场景、动作、情绪、台词这些东西都得自己花时间琢磨。
所以这次我干脆做了一个 skill:给它一个 视频分享 链接 或者在线视频的真实地址 ,它就 会 尽量帮我把视频内容拆开,反推出一套可以拿去复刻 视频 的素材,包括文生视频提示词、角色设定、风格关键词、分镜描述,甚至连角色台词都一起提出来。 由于时间限制,目前只支持解析抖音视频分享链接或在线真实视频地址,其他平台的解析大家可以看一下我文章里面的思路自己完成。
我做了两个示例,第一个是刀盾狗的,直接发视频的分享链接发送到skill,让它反推提示词:
将skill生成的提示词做一下人工审核(这里必须要做,AI全自动生成的提示词有时候会存在细节不到位的情况,需要人工微调,提示词写的越精准也可以很大程度减少抽卡),直接粘贴到libtv里面用Seedance2.0 Fast生视频,这里我把刀盾狗的角色做了一下固定,纯靠AI文字描述生成出来的刀盾狗形象不对:
成品视频:
另外一个是最近很会的化蝶为面转场:
skill会生成文生图视频提示词,我稍微做了二创用libtv+Seedance2.0,用的文生视频模式:
成品视频:
女主太美了,整的我都想以她为原型做AI动画短片了,扯远了,接下来正式开始教程,感兴趣的快码住跟练。
1. 前言
我做这个 skill,并不是单纯想做一个“视频理解工具”。因为现在很多模型都能大概总结视频内容,告诉你视频里有谁、发生了什么、画面是什么风格。但这些信息离“我能不能继续做出一个类似风格的视频”,中间其实还差很大一截。我真正想要的是把一个爆款视频尽量翻译成一套可复用的创作素材。包含以下核心内容:
- 一句话核心提示词
- 一版更完整的详细 prompt
- 可直接拿去生成视频的分镜描述
- 风格关键词和负面提示词
- 角色设定
- 角色台词和字幕文案
因为对内容创作者来说,很多时候最痛苦的不是没灵感,而是灵感来了以后,拆不出来、复刻不顺、重写太慢。
2. skill 架构设计
这次做 xfc-video-understand,我的目的就是:“让复刻或二创爆款视频不再那么难” ,把反推视频提示词这件事整理成一个能稳定复用的能力,而不是每次都手动拆一遍。
由图可知在skill的结构设计上整体上分为三段:
前面先接收用户提供的视频链接和自然语言需求(如用户想要分析视频内容或反推视频提示词);
中间会进行一下判断,如果用户输入的是视频分享链接,则把抖音分享链接解析成真实视频地址,再交给视频理解模型提取关键信息,如果用户输入的是在线视频的真实地址则交给视频理解模型提取关键信息;
最后把这些信息整理成提示词、台词、分镜这类能继续往下用的结果。
3. skill 实现与集成至Openclaw
在实现上,我把xfc-video-understand逻辑全部收敛到了一个核心脚本里。话不多说,先看这个 skill 现在的目录结构:
xfc-video-understand/
├── SKILL.md
├── config.json
├── requirements.txt
└── scripts/
└── understand_video.py
根据目录设计创建对应文件夹:
3.1 SKILL.md 设计编写
SKILL.md 可以理解为这个 skill 的说明书,也是整个调用流程的入口定义,以下是我的编写思路,供你参考:
调用场景:
用户传入了抖音分享链接或在线视频真实地址,并且需要分析视频内容
执行步骤:
1.如果用户传入了抖音分享链接,则调用解析分享链接 API 提取真实视频地址
2.调用scripts/understand_video.py解析视频内容
3. 将视频解析结果返回给用户
3.2 配置文件设计
config.json 配置文件统一管理这个 skill 所需要的 API Key,其所需字段和相关注释如下表:
| 字段名 | 是否必填 | 作用说明 | 示例值 / 备注 |
|---|---|---|---|
dashscope_api_key | 是 | API Key,用于调用通义千问视频理解模型。 | sk-xxx |
tikhub_api_token | 是(走抖音分享链接解析时) | Tikhub Token,用于把抖音分享链接解析成真实视频地址。 | Bearer Token |
dashscope_base_url | 否 | 阿里云大模型接口调用地址,通常保持默认即可。 | https://dashscope.aliyuncs.com/compatible-mode/v1 |
dashscope_model | 否 | 默认使用的视频理解模型名称,可按实际情况切换。 | qwen-vl-max-latest |
这样做的好处很直接:平时默认走本地配置,需要切换环境时再通过参数覆盖就行。对一个需要同时调用多个 API 的 skill 来说,把 API Key 的配置集中放在一个文件里,会比到处散着更稳一些。
3.3 代码部分编写
scripts/understand_video.py 的设计思路很简单:先读取 config.json,判断用户传入的是可直接访问的 video_url,还是抖音 share_url。如果是分享链接,就先调用 Tikhub 接口解析出真实视频地址,再把最终得到的 video_url 连同用户的提示词一起发给通义千问视频模型做理解。
核心代码结构如下:
def run(payload):
# 1. 读取配置文件 config.json
# 2. 判断传入的是 video_url 还是 share_url
# 3. 如果是 share_url,先调用 Tikhub 解析真实视频地址
# 4. 调用 Qwen-VL 分析视频内容
# 5. 返回统一结果:text / content / video_url / error_message
pass
def resolve_douyin_share_url(share_url, token):
# 调用 Tikhub 接口
# 从返回体里提取真实视频地址
pass
def analyze_video(api_key, video_url, prompt, model, base_url):
# 构造 OpenAI 兼容请求
# 把 video_url 和 prompt 一起发给通义千问视频模型
# 提取模型返回文本
pass
resolve_douyin_share_url() 负责把抖音分享链接变成可直接访问的视频地址,analyze_video() 负责把视频丢给模型做内容理解,而 run() 负责把这两段流程串起来,最终返回给上层工作流调用。
3.4 skill集成到openclaw
skill编写完只要将其集成至Openclaw就可以顺利调用了,集成方式很简单,只需将skill文件夹上传至Openclaw服务器所在的/root/.openclaw/workspace/skills文件夹下:
回到openclaw会话界面二次确认skill是否存在,若存在就能像开头那样使用了:
以上就是 OpenClaw + Skill 反推爆款视频提示词的全部内容,动手能力强的读者可以跟着教程实践一遍。上述skill已经被收录到了小肥共学群中,需要原件可以加入社群直接使用哦。
4. 结语
这个skill更像是把一段原本断掉的工作流接上了:以前我刷到一个好视频,只能停留在“这个真不错”;现在我刷到一个好视频,会顺手想,能不能把它拆出来,变成我自己的下一条素材。对内容创作者来说,这件事其实挺有价值的。
如本次分享对你有帮助,欢迎一键三连支持一下小肥肠,我们下期再见~