让 AI Agent 替你拍片:一次用 OpenClaw 驱动 LibTV 完成短视频的全流程复盘
从零开始,用 AI Agent 把一份脚本变成 8 个可用的视频镜头。本文是一篇实操复盘,也是一份 LibTV CLI 避坑指南。文末有开源 Skill,开箱即用。
传统短视频制作流程是:写脚本 → 找演员 → 拍摄 → 剪辑。但如果有一个 AI Agent 可以直接在 LibTV 画布上完成从脚本到视频生成的全过程呢?

这篇文章记录了我用 OpenClaw(AI Agent)+ LibTV CLI 完成一支真人剧情短视频的全过程,从画布搭建到踩坑复盘。更重要的——我把整个工作流沉淀成了一个开源的 OpenClaw Skill,可以一键复用。
第一步:从场景库到分镜脚本
素材是一份业务场景库,里面收录了数十个真实的工作场景,每个场景对应一个视频选题。
AI Agent 读取完整场景库后,选择了其中一个场景——两个同行朋友在下班后的烧烤摊聊天,一个抱怨辛苦成交但收益不对等,另一个顺势介绍了更好的资源承接方式。
脚本的核心原则:
-
不先讲产品,先讲真实处境 -
一条视频只植入一个信息点 -
对话要像朋友聊天,不要像广告
最终敲定脚本 8 个镜头,总长 60-70 秒,两个角色(34 岁/30 岁男性),场景是户外烧烤摊。
第二步:用 LibTV CLI 搭建项目画布
LibTV CLI 的核心能力是让 AI Agent 直接操作 LibTV 的无限画布——创建节点、连接引用、触发模型生成。
2.1 创建项目和画布
libtv workspace create "项目名"libtv project create "项目画布" --workspace <workspaceId>libtv project use <projectUuid>
画布结构按四区布局:
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
2.2 节点操作关键语法
LibTV CLI 的节点操作有一些和常规 CLI 不同的设计:
创建节点:
libtv node create "节点名" -t text # 文本节点libtv node create "节点名" -t image # 图片节点libtv node create "节点名" -t video # 视频节点
写入内容(文本节点):
libtv node <nodeKey> -u content='["第一行","第二行"]'# 注意:content 必须是 JSON 数组格式
设置参数(图片/视频节点):
libtv node <nodeKey> -s model='Seedance 2.0 Mini' -s ratio=9:16 -s duration=10 -s enableSound=on
连接节点(建立引用关系):
libtv node <targetKey> --left-add <sourceKey>
触发生成:
libtv node <nodeKey> --run
2.3 ⚠️ 踩坑:文本节点内容写入
最初用了不存在的 --content 参数,后来发现正确方式是用 -u content='["..."]'(JSON 数组格式)。这个细节在帮助文档里不显眼,很容易踩坑。
第三步:角色锚点——保证人物统一性的关键
这是全流程中最核心、也踩坑最多的环节。
3.1 为什么需要角色锚点?
AI 视频生成的经典问题:每个镜头独立生成,人物长得不一样。解决方案是在画布中创建「角色锚点图」,作为每个视频镜头的上游参考。
3.2 ⚠️ 踩坑一:风格不对
第一次用 Seedream 4.5 生成的角色锚点,混入了动画/插画风格,完全不符合真人短视频的需求。
教训: 模型选择决定风格上限。后来换成 Z-image Turbo(专攻真实感),prompt 强调 photorealistic、DSLR、8k hyperrealistic,问题解决。
3.3 ⚠️ 踩坑二:锚点格式不对
第二次生成了 6 张分角度真人写真,但理想的格式是「一张图里整合所有角度」——类似演员定妆照的呈现板格式。
参照模板图后,改为生成两张「人物呈现板」:每张图四合一(全身正面+面部特写+半侧面+侧面),两个角色各一张。比例用 1:1——角色库图片不强制 9:16,只有视频输出用竖屏。
3.4 最佳实践
libtv node <nodeKey> \ -s 'model=Z-image Turbo' \ -s ratio=1:1 \ --prompt 'Character reference board, photorealistic, one single man...'
最终锚点体系:
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
第四步:视频生成——modeType 是关键
4.1 ⚠️ 踩坑三:text2video 连图后不可用
最初用 Seedance 2.0 Mini 的 text2video 模式,prompt 里写了完整台词。第一版视频台词正确,但人物场景不统一——因为没连锚点。
连接了锚点图后再触发,报错:「已连接媒体输入,无法使用纯文生视频」。
关键发现: Seedance 2.0 Mini 的 text2video 模式不能连接图片参考。必须用 image2video 模式。
4.2 ⚠️ 踩坑四:image2video 导致台词丢失
切到 image2video 后,为了适应新模式,把 prompt 从”完整对白”改成了”动作描述”。结果视频人物统一了,但台词全变了。
教训: image2video 只是改变了生成方式,prompt 里仍然可以写完整对白。不需要妥协台词质量。
4.3 ⚠️ 踩坑五:Seedance 缓存机制
Seedance 对相同参数+相同 prompt 的请求会直接返回缓存结果,不会重新生成。这意味着:
-
调试时如果 prompt 微调不够显著,可能一直拿到旧结果 -
需要稍微改变 prompt 来强制重新生成 -
观察 taskId 是否改变来判断是否真正重新生成
4.4 最佳实践
最终方案:
libtv node <nodeKey> \ -s modeType=image2video \ -s 'model=Seedance 2.0 Mini' \ -s ratio=9:16 \ -s resolution=720p \ -s duration=10 \ -s enableSound=on \ --prompt '完整台词+场景描述+角色描述' \ --run
每个镜头配置:
-
模式: image2video(引用锚点图保证人物场景统一) -
模型: Seedance 2.0 Mini(性价比最优) -
比例: 9:16 竖屏 -
音频: 开启(场景环境音+人物对话) -
Prompt: 完整对白 + 角色外貌描述
第五步:镜头合并与积分管理
5.1 从 13 个镜头合并为 8 个
最初脚本 13 个镜头,单个 5-8 秒太碎、不连贯。合并为 8 个镜头,每个 8-12 秒,总长 66 秒。合并逻辑:相邻对话镜头合并为一个连续镜头,避免频繁切换。
5.2 积分消耗
|
|
|
|---|---|
|
|
|
|
|
|
| 总计 | ~3100 |
如果第一次就找到正确的 modeType + prompt 组合,实际只需一轮视频生成(~1000 积分)。
完整工作流总结
1. 准备素材 ├── 场景库(选题来源) ├── 脚本规则 └── Logo 文件2. 创建 LibTV 项目 ├── workspace create → project create → project use └── 搭建四区画布结构3. 撰写脚本 ├── 选择场景 ├── 设计角色(年龄、外貌、性格) └── 分镜(镜头、对白、时长)4. 生成角色锚点 ├── 模型:Z-image Turbo(真人写真) ├── 格式:人物呈现板(四合一) └── 比例:按内容自适应5. 生成场景锚点 ├── 模型:Z-image Turbo └── 比例:9:16(视频输出比例)6. 创建视频节点 ├── 模型:Seedance 2.0 Mini ├── 模式:image2video(必须!连接锚点) ├── 音频:开启 ├── Prompt:完整台词 + 角色描述 └── 逐个触发,观察 taskId 防止缓存7. 下载与合成 ├── libtv download 下载所有镜头 └── 剪映拼接 + 自动字幕 + Logo
LibTV CLI 技能优化建议
基于本次实践,提出以下优化方向:
1. 默认工作流模板
为短视频场景提供预设的画布模板——输入区、脚本区、分镜区、锚点区、视频区一键创建。
2. 角色库自动管理
提供「创建角色锚点」命令,自动生成真人呈现板,统一 prompt 模板和模型选择。
3. 视频节点批量配置
支持批量设置 modeType、model、ratio、duration 等参数,减少逐一手动配置。
4. 缓存检测与重生成确认
提供 flag 强制绕开 Seedance 缓存,或明确提示”此节点未重新生成,使用缓存结果”。
5. 积分预估
在 –run 前给出预估积分消耗,便于决策。
6. modeType 自动推荐
检测到节点连接了图片锚点后,自动提示切换到 image2video 模式。
关键数据
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
开源 Skill:一键复用,告别摸索
讲到这里,你可能会觉得——流程不错,但我每次都要重新踩这些坑吗?
不用。我已经把上面的完整工作流沉淀成一个 OpenClaw Skill,开源在 GitHub 上,开箱即用。
项目信息
-
GitHub: github.com/CDragon123-code/libtv-video-production[1] -
许可证: MIT -
Skill ID: libtv-video-production
Skill 包含什么
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
如何使用
1. 安装:
cd ~/.openclaw/workspace/skills/git clone https://github.com/CDragon123-code/libtv-video-production.git
2. 自动触发:
Skill 配置了触发关键词——当你在对话中提到 libtv、视频生成、AI视频、短视频脚本 等词时,Agent 会自动加载本 Skill。
3. 直接开工:
帮我用 LibTV 做一个 60 秒的短视频,两个角色在烧烤摊聊天的剧情。
Agent 会按标准 7 步流程自动完成:创建项目 → 搭建画布 → 生成锚点 → 配置视频节点 → 触发生成 → 下载。你只需要提出需求和确认结果。
为什么开源这个 Skill?
第一次用 LibTV CLI 做视频时,我踩了 8 个坑,重试了 3 轮,多花了 2000 积分。这些坑其实都可以通过沉淀经验来避免。
开源这个 Skill,是希望下一个用 OpenClaw + LibTV 做视频的人,不用再重复我的弯路。
欢迎 Star、Fork、提 Issue 改进。
写在最后
这次实践验证了一个重要的命题:AI Agent 不仅仅是”给你一段建议”,而是可以真正进入创作工具,完成从脚本到视频的全流程操作。
LibTV CLI 让 Agent 能够直接操控画布节点、调用模型、连接素材,本质上把 Agent 从「创意顾问」变成了「创作协作者」。
而把经验沉淀为可复用的 Skill,让”踩过的坑”变成”下一次的快捷键”——这才是 AI 时代最值得做的事情。
希望这篇文章和这个开源 Skill 对你有所帮助。
引用链接
[1]github.com/CDragon123-code/libtv-video-production: https://github.com/CDragon123-code/libtv-video-production
夜雨聆风