一、背景说明
在使用文生视频或图生视频模型进行创作时,一个常见的问题是:
不知道提示词该怎么写。
尤其是在面对一些已经验证过播放效果的视频内容时,往往会产生这样的需求:
-
想知道这个视频是如何描述出来的
-
想复用其画面结构或镜头节奏
-
想学习其提示词的组织方式
基于这一需求,本次实践使用的是一个视频 Prompt 逆向解析接口,用于从已有视频中自动生成对应的 AI 提示词描述。
二、接口功能说明
该接口的主要作用是:
根据输入的视频内容,自动分析并生成结构化的视频提示词(Prompt)。
适用场景包括但不限于:
-
分析视频的镜头结构与节奏
-
拆解画面中的人物、场景和动作
-
为后续视频生成提供参考提示词
三、接口基本信息
调用地址
POST https://api.yidevs.com/app/human/human/Tool/generate_video_prompt
请求频率
- 1 qps / 3 秒
接口特性说明
-
同步接口
-
建议输入视频时长小于 1 分钟
-
视频过长可能导致超时
四、请求参数说明
| 参数名 | 是否必填 | 说明 |
|---|---|---|
| video_url | 是 | 需要解析的目标视频地址 |
| target_duration | 否 | 目标提示词时长(10 / 15 / 25 / 0) |
关于 target_duration
-
不传或传
0:- 输出完整视频的全部提示词解析
-
传 10 / 15 / 25:
- 按指定时长,输出对应长度的提示词内容
该参数主要用于控制提示词的长度与粒度。
五、接口调用示例(PHP)
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.yidevs.com/app/human/human/Tool/generate_video_prompt",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
"video_url" => "https://xxx.mp4",
"target_duration" => 15
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer xxxx",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
六、返回结果结构解析
接口返回示例如下:
{
"code": 200,
"msg": "success",
"data": {
"prompt": "...",
"total_tokens": 16093
}
}
返回字段说明
| 字段 | 说明 |
|---|---|
| prompt | 解析生成的视频提示词内容 |
| total_tokens | 本次解析使用的模型 token 数量 |
七、Prompt 内容结构分析
从实际返回的 Prompt 内容来看,其结构具有以下明显特征:
-
按时间段拆分
- 例如:0--2 秒、2--4 秒、4--6 秒
-
每个时间段独立描述
-
镜头类型(近景 / 中景)
-
拍摄方式(固定镜头 / 轻微晃动)
-
场景环境(夜晚 / 户外 / 背景元素)
-
-
风格统一
- 例如:现实主义风格、电影级画面
这种结构非常适合用于:
-
再次生成同类型视频
-
拆分后进行二次改写
-
作为 Prompt 编写参考模板
八、使用过程中的注意事项
在本次接口调用实践中,需要注意以下几点:
-
视频建议控制在 1 分钟以内
-
接口为同步请求,需关注超时问题
-
解析得到的 Prompt 更适合作为参考模板
-
不建议直接原样复用到所有生成场景
该接口的定位更偏向于分析与学习,而非直接"复制结果"。
九、实践小结
通过本次视频 Prompt 逆向解析接口的使用,可以得到以下结论:
-
视频内容可以被结构化拆解为可读的提示词
-
时间段 + 镜头 + 场景 的描述方式较为通用
-
对理解视频生成 Prompt 的写法具有参考价值
豌豆主要分享用于记录一次接口调用与返回内容的实际表现,后续可结合具体生成模型,对解析结果进行适当简化或调整。