بنقرة واحدة
unicom-longvideo
// 联通元景长视频生成服务。【仅用于生成长视频】。基于 mediaclaw,通过 3 个镜头串联生成 9-15 秒长视频,严格保证主体一致性和动作连贯性。仅在用户明确提到'长视频'时使用此技能。
// 联通元景长视频生成服务。【仅用于生成长视频】。基于 mediaclaw,通过 3 个镜头串联生成 9-15 秒长视频,严格保证主体一致性和动作连贯性。仅在用户明确提到'长视频'时使用此技能。
| name | unicom-longvideo |
| description | 联通元景长视频生成服务。【仅用于生成长视频】。基于 mediaclaw,通过 3 个镜头串联生成 9-15 秒长视频,严格保证主体一致性和动作连贯性。仅在用户明确提到'长视频'时使用此技能。 |
| license | MIT |
| compatibility | 依赖 mediaclaw工具集和 FFmpeg |
| metadata | {"author":"unicom-mps","version":"3.5.1","emoji":"🎬","product-url":"https://ai-yuanjing.com","tags":["long-video","video-generation","video-concat","unicom","mediaclaw"],"requires-tools":["mediaclaw"]} |
⚠️ 重要:仅在用户明确提到"长视频"时使用此技能。
普通短视频生成需求请直接使用 mediaclaw 的工具。
基于 mediaclaw,实现 9-15 秒长视频生成,通过 3 个视频镜头串联而成,严格保证主体一致性和动作连贯性。
MEDIA:前缀,例如:MEDIA:/path/to/video.mp4,以便后续工具正确识别和处理。MEDIA:前缀,例如:MEDIA:/path/to/image.jpg,以便后续工具正确识别和处理。mediaclaw_text_to_video)mediaclaw_image_to_video),以前一镜头的尾帧作为起始图片mediaclaw_image_qa 工具,将初步分镜 + 当前镜头起始图片一起输入,让视觉模型根据图片实际内容润色分镜提示词。这样可以避免分镜描述与图片内容不符的问题,提升视频生成质量。
为了保证视频的连贯性,必须严格遵循以下策略:
| 上一镜头运镜 | 可接续的运镜 | 禁止接续的运镜 |
|---|---|---|
| 固定镜头 | 固定、缓慢推/拉、缓慢左移/右移 | 快速旋转、快速推拉 |
| 左移 | 继续左移、固定、缓慢推 | 快速右移、反向右移 |
| 右移 | 继续右移、固定、缓慢推 | 快速左移、反向左移 |
| 推镜头 | 继续推、固定 | 快速拉、反向运动 |
| 拉镜头 | 继续拉、固定 | 快速推、反向运动 |
| 组合名称 | 镜头1 | 镜头2 | 镜头3 | 适用场景 |
|---|---|---|---|---|
| 渐进式展开 | 固定 | 缓慢推 | 继续推或固定 | 细节展示 |
| 跟随式平移 | 固定 | 缓慢左移 | 继续左移或固定 | 横向运动 |
| 环绕展示 | 固定 | 缓慢环绕 | 继续环绕或固定 | 多角度展示 |
在生成每个镜头后,必须提取并记录以下信息:
| 状态项 | 说明 | 示例 |
|---|---|---|
| 主体姿态 | 站立/坐下/趴着/行走/奔跑等 | 站立,前腿抬起 |
| 主体位置 | 在画面中的位置和朝向 | 画面中央,面向右侧 |
| 动作进行中 | 当前正在进行的动作及完成度 | 正在伸懒腰,已完成80% |
| 动作方向 | 移动类动作的方向 | 向右前方移动 |
规则1:姿态延续性
规则2:动作递进性
规则3:方向一致性
规则4:动作完整性
示例1:猫咪伸懒腰
镜头1:猫咪趴在沙发上,微微抬起头,眼睛慢慢睁开
[起始:趴着] → [结束:趴着,抬头]
镜头2:猫咪前腿向前伸展,身体逐渐抬起,背拱起
[起始:趴着,抬头] → [结束:站立中,前腿伸展]
镜头3:猫咪后腿蹬直,尾巴翘起,全身舒展完成后抖抖身体
[起始:站立中,前腿伸展] → [结束:站立,放松]
示例2:人物行走
镜头1:人物站在门口,手放在门把手上,开始转动
[起始:站立门前] → [结束:站立,手握门把]
镜头2:人物推开门,迈出一步,身体前倾
[起始:站立,手握门把] → [结束:行走中]
镜头3:人物继续走出,转身回望,停在门外
[起始:行走中] → [结束:站立门外]
| 镜头1结束状态 | 镜头2起始状态 | 问题 |
|---|---|---|
| 站立 | 坐下 | ❌ 姿态突变 |
| 向左移动 | 向右移动 | ❌ 方向突变 |
| 奔跑中 | 静止站立 | ❌ 动作不连贯 |
| 趴着 | 站立(无过渡) | ❌ 缺少站起过程 |
分镜提示词格式统一为:
[锁定主体描述],[锁定场景],[锁定光影],[动态动作描述],[运镜描述]
示例:
一只可爱的橘猫,阳光明媚的花园,午后柔和光线,慵懒地眨了眨眼睛,固定镜头一只可爱的橘猫,阳光明媚的花园,午后柔和光线,慢慢地站起身子伸懒腰,镜头缓慢跟随一只可爱的橘猫,阳光明媚的花园,午后柔和光线,欢快地向前奔跑,镜头拉开展示全貌关键:前三个部分(主体、场景、光影)在三个镜头中必须字毫不差、完全一致!运镜必须遵循连续性原则!动作必须从上一镜头结束状态自然延续!
所有生成结果必须写入同一个统一根目录 {task_id}/:
{用户指定目录}/{task_id}/;workspace/unicom-longvideo/{task_id}/。所有工具调用中传入根目录作为 output_dir,后续路径从根目录派生,不要依赖自由文本解析路径。
当用户要求生成长视频时,严格按照以下步骤执行:
使用 LLM 生成初步分镜(如果用户提供了参考图,也可以用 mediaclaw_image_qa 工具,mode=storyboard)。
初步分镜生成提示词:
你是一位专业的AI视频分镜导演。请将用户的视频创意拆解为3个连贯的分镜提示词。
# 核心原则
## 1. 主体锁定原则(绝对严格)
从用户的视频创意中提取【锁定常量】,三个镜头必须完全相同:
- 锁定主体:详尽的主体描述(物种、颜色、特征、服装、材质等)
- 锁定场景:场景描述(地点、环境元素、背景细节)
- 锁定光影:光影描述(时间、光线方向、色调、天气)
## 2. 动作递进原则
- 镜头1(起):展示初始状态,微小动作引入
- 镜头2(承):核心动作发生,增加动作细节
- 镜头3(合):动作的高潮或收尾
## 3. 动作连续性原则
- 每个镜头标注【起始状态】和【结束状态】
- 镜头2起始 = 镜头1结束,镜头3起始 = 镜头2结束
- 禁止姿态突变(站立→坐下、趴着→站立无过渡)
- 动作可跨镜头,一个完整动作分布在多个镜头
## 4. 运镜协调原则
- 方向连续:左移→继续左移或固定,禁止左移→右移
- 速度渐变:固定→缓慢→中等,禁止固定→快速
- 推荐:固定→缓慢推→继续推
# 分镜格式
每个分镜提示词必须严格遵循以下格式:
[锁定主体],[锁定场景],[锁定光影],[动作描述],[运镜描述]
# 输出格式(JSON)
{
"镜头1": "分镜提示词",
"镜头2": "分镜提示词",
"镜头3": "分镜提示词",
"运镜设计说明": "运镜连续性逻辑",
"动作状态说明": "镜头1结束状态→镜头2起始继承→镜头2结束→镜头3起始继承→镜头3结束"
}
用户创意:{{用户的提示词}}
如果用户提供了参考图片:
使用 mediaclaw_image_qa 工具,mode=storyboard,传入参考图片和以下提示词:
"将这个视频创意拆解为3个连贯的分镜提示词。
# 核心原则(最高优先级)
## 1. 主体锁定原则(绝对严格)
你必须首先从图片和视频创意中提取出【锁定常量】,这三个部分在三个镜头中必须字毫不差、完全相同:
- 锁定主体:详尽的主体描述(物种、颜色、特征、服装、材质等)
- 锁定场景:场景描述(地点、环境元素、背景细节)
- 锁定光影:光影描述(时间、光线方向、色调、天气)
## 2. 动作递进原则
- 镜头1(起):以展示图片初始状态为主,微小动作引入
- 镜头2(承):核心动作发生,增加动作细节
- 镜头3(合):动作的高潮或收尾
## 3. 运镜协调原则
- 镜头1:固定镜头或极缓慢的推镜头
- 镜头2:配合动作方向进行平移或跟随
- 镜头3:拉开展示全貌或特写定格
# 分镜提示词格式
每个分镜提示词必须严格遵循以下格式:
[锁定主体],[锁定场景],[锁定光影],[动态动作描述],[运镜描述]
# 输出格式要求
- 必须且只能输出合法的 JSON 格式数据
- JSON 键名为:"镜头1"、"镜头2"、"镜头3"
用户的视频创意:{{用户的提示词}}"
使用 mediaclaw_text_to_video 提交文生视频任务
子步骤 3.1:提取镜头1尾帧
ffmpeg -i {{视频路径}} -vf "select=eq(n\,$(($(ffprobe -v error -count_packets -select_streams v:0 -show_entries stream=nb_read_packets -of csv=p=0 {{视频路径}})-1)))" -vsync vfr -update 1 -y {{尾帧路径}}
子步骤 3.2:润色镜头2分镜
mediaclaw_image_qa工具
润色提示词模板:
请根据这张图片,润色以下分镜提示词,使其更符合图片的实际内容。
【原始分镜】:{{原始分镜提示词}}
【上一镜头状态】:
- 运镜状态:{{如:固定镜头}}
- 结束姿态:{{如:趴着,抬头}}
- 动作进行中:{{如:已完成抬头动作}}
【润色要求】:
1. 仔细观察图片中的主体特征(颜色、穿着、姿态、表情等)、场景细节、光影效果
2. 主体、场景、光影部分要根据图片实际内容进行优化,使其更准确生动,但必须保持与原始分镜描述一致的锁定常量
3. **动作连续**:
- 当前镜头起始状态 = 上一镜头结束状态
- 禁止姿态突变(站立→坐下、趴着→站立无过渡)
4. **运镜连续**:
- 方向一致,禁止反向
- 速度渐变,禁止突变
【输出格式】:
第一行:润色后的分镜提示词,输出格式保持:[场景描述],[光影描述],[主体描述],[动作描述],[运镜描述]
第二行:【起始状态】:{{继承的状态}}
第三行:【结束状态】:{{当前结束状态}}
子步骤 3.3:视频生成
mediaclaw_image_to_video 提交图生视频任务
与步骤3相同,使用镜头2的尾帧和状态信息。
echo "file '{{视频1路径}}'" > concat.txt
echo "file '{{视频2路径}}'" >> concat.txt
echo "file '{{视频3路径}}'" >> concat.txt
ffmpeg -f concat -safe 0 -i concat.txt -c copy {{输出路径}}
告诉用户最终视频的路径。
主体描述:应该足够详细,包含物种、颜色、特征、服装等
一只猫一只橘白相间的胖胖的猫咪,戴着蓝色的项圈场景描述:包含地点、环境元素
在外面在种满向日葵的花园里,背景是白色的木栅栏光影描述:时间、光线方向、色调
白天夏日午后,金色阳光从右上方斜照,温暖的色调| 镜头 | 动作 | 运镜 | 状态 |
|---|---|---|---|
| 镜头1(起) | 微小、初始 | 固定或极缓慢推 | 展示初始状态 |
| 镜头2(承) | 核心动作,延续镜头1 | 与镜头1连贯 | 承接并推进 |
| 镜头3(合) | 完成,延续镜头2 | 与镜头2连贯 | 动作完成 |
| 工具 | 用途 | 何时使用 |
|---|---|---|
mediaclaw_text_to_video | 文生视频 | 生成镜头1时使用 |
mediaclaw_image_qa (mode=storyboard) | 生成初步分镜 | 有参考图时生成初步分镜脚本 |
mediaclaw_image_qa (mode=general) | 润色分镜 | 镜头2、3生成前,用起始图片+初步分镜润色出最终分镜 |
mediaclaw_image_to_video | 图生视频 | 生成镜头2、3时使用(使用润色后的最终分镜) |
【镜头1】结束姿态:{{}} | 动作:{{}} | 运镜:{{}}
【镜头2】起始:{{继承镜头1}} → 结束:{{}} | 运镜:{{}}
【镜头3】起始:{{继承镜头2}} → 结束:{{}} | 运镜:{{}}
联通元景数字人生成服务,提供从文本输入到完整数字人视频输出的端到端AI解决方案。对话式引导,自动处理文本切分、语音合成、数字人视频生成、背景合成与替换,以及字幕烧录。支持身份持久化,下次直接复用配置。
Generate product promotional posters with MediaClaw and iteratively refine them through a fixed marketing scorecard. Use when a user asks for a product poster, promo visual, campaign poster, marketing KV, or product promotion image and wants a generate-review-improve loop instead of a one-shot image.