AI视频提示词自动反推工具,告别手动求取
为解决AI视频复刻时手动提取提示词的繁琐问题,开发了一款自动解析视频并生成素材的工具。该工具支持输入抖音链接或在线视频地址,可输出提示词、角色设定、风格关键词、分镜描述及台词等内容。目前主要适配抖音平台,用户需对生成结果进行人工微调,以确保准确性并降低生成过程的。
为此,我开发了一个技能工具:只需提供一个视频分享链接或在线视频的真实地址,它便能尝试将视频内容拆解,反推出一套可直接用于复刻的素材。这套素材包括文生视频提示词、角色设定、风格关键词、分镜描述,甚至能提取角色的台词。由于时间限制,目前主要支持解析抖音视频分享链接或在线真实视频地址,其他平台的解析思路可参考文章中的方法自行实现。
以下是两个实际应用案例。第一个案例关于“刀盾狗”,直接将视频分享链接发送给技能工具,让其反推提示词:
对技能工具生成的提示词进行人工审核(这一步必不可少,AI全自动生成的提示词在细节上可能不够精准,需要人工微调。提示词越精确,生成时的随机性就越低),然后将其粘贴到 libtv 中,使用 Seedance 2.0 Fast 模式生成视频。此处我固定了“刀盾狗”的角色形象,因为仅靠AI文字描述生成的形象往往不够准确:
成品视频:
另一个案例是近期流行的“化蝶为面”转场效果:
技能工具会生成文生图视频的提示词,我在此基础上进行了二次创作,使用 libtv 配合 Seedance 2.0,采用文生视频模式生成:
成品视频:
必须承认,生成的女主角形象非常出色,甚至让我萌生了以其为主角制作AI动画短片的想法。不过,这有些偏离主题了。接下来,我们进入正式的教程部分,感兴趣的朋友可以跟随步骤一起操作。
一、设计初衷
开发这个技能工具的目的,并非单纯做一个“视频理解工具”。市面上许多模型都能大致总结视频内容,告知视频中有谁、发生了什么、画面是什么风格。但这些信息距离“我能否据此制作出一个风格类似的视频”这个目标,仍有不小的差距。
真正的需求,是将一个爆款视频尽可能地“翻译”成一套可复用的创作素材。这套素材应包含以下核心内容:
- 一句话核心提示词
- 一版更完整的详细 prompt
- 可直接用于生成视频的分镜描述
- 风格关键词和负面提示词
- 角色设定
- 角色台词和字幕文案
对于内容创作者而言,最痛苦的往往不是缺乏灵感,而是灵感涌现后,却难以拆解、复刻不顺,或者重写效率太低。
二、技能工具架构设计
本次开发 xfc-video-understand 技能,核心目标是:“降低复刻或二次创作爆款视频的难度”,将反推视频提示词的过程,整理成一个稳定、可重复使用的能力,而非每次都需要手动拆解。
从架构图可以看出,整个技能工具的设计分为三个主要阶段:
首先,接收用户提供的视频链接和自然语言需求(例如用户希望分析视频内容或反推视频提示词)。
接着,进行判断:如果用户输入的是视频分享链接,则将其解析为真实的视频地址,再交给视频理解模型提取关键信息;如果用户输入的是在线视频的真实地址,则直接交给视频理解模型处理。
最后,将这些提取出的信息整理成提示词、台词、分镜等可以直接投入下一步使用的成果。
三、技能工具实现与集成至 OpenClaw
在实现上,我将 xfc-video-understand 的所有逻辑都收敛到了一个核心脚本中。先来看一下这个技能工具目前的目录结构:
xfc-video-understand/
├── SKILL.md
├── config.json
├── requirements.txt
└── scripts/
└── understand_video.py
根据此设计创建对应的文件夹即可。
3.1 SKILL.md 设计编写
SKILL.md 文件可视为这个技能工具的说明书,也是整个调用流程的入口定义。以下是我的编写思路,供大家参考:
调用场景:用户传入了抖音分享链接或在线视频真实地址,并且需要分析视频内容
执行步骤:
1. 如果用户传入了抖音分享链接,则调用解析分享链接 API 提取真实视频地址
2. 调用 scripts/understand_video.py 解析视频内容
3. 将视频解析结果返回给用户
3.2 配置文件设计
config.json 配置文件用于统一管理这个技能工具所需要的 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 的技能工具来说,将 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 技能工具集成到 OpenClaw
技能工具编写完成后,只需将其集成到 OpenClaw 即可顺利调用。集成方式非常简单,只需将整个技能工具文件夹上传至 OpenClaw 服务器所在的 /root/.openclaw/workspace/skills 目录下。
完成后,回到 OpenClaw 的会话界面,确认技能工具是否已成功加载。如果存在,就能像文章开头展示的那样直接使用了。
