今天开源了一个有意思的开源项目——easyeye163/agnes-skills。它是一个基于 Agnes AI API 的完整视频生成流水线,专门解决一件事:用 API 把一段文字变成一条带配音、能发微信的视频。两条主线:儿童卡通动画和电影级写真视频。
Agnes生成的15秒视频:
跟之前手搓 LTX 的经验放在一起看,这个项目在工程化上做得很扎实,值得拆开看看。
大家可以对比一下之前使用LTX 2.3生成的视频:
一、这项目干了什么
打开项目仓库,README 第一屏就把管线画清楚了:
提示词设计 → 首帧图片生成 → 图片转视频 → TTS配音 → 合并拼接 → 压缩输出六个步骤,每个都有对应的 Python 脚本。目标输出是一条可以直接发微信群、不超过 10MB 的 mp4。
调度的是 Agnes AI 的两款模型:agnes-image-2.1-flash 做图,agnes-video-v2.0 做视频,API 地址统一走 apihub.agnes-ai.com/v1。
项目的核心突破
API 单次只支持 5 秒视频。通过「首尾帧接力」技术,提取上一段的末帧作为下一段的首帧,把任意数量 5 秒片段拼接成 15 秒、20 秒甚至更长的连贯视频。
二、两条产品线
儿童卡通动画——每集 8 个场景
项目内置了 6 套剧集模板,各有 8 个预设场景,覆盖了儿童内容的常见主题:
每个场景附带 subtitles.json(图片生成提示词)和 tts.json(中英双语配音文本),开箱就能跑。
图片生成用的提示词模板也值得注意——固定后缀锁住了画风:
kawaii cartoon illustration style soft pastel colors, rounded shapes, gentle warm lighting children's picture book art, adorable chibi character design simple clean background, Japanese anime cute style这种做法跟之前 LTX 实战中总结的「正向描述 + 风格锚定」思路高度一致:固定后缀确保所有场景视觉统一,不会出现第一帧 Q 版第二帧突然变写实。
电影级写真——古装美女含泪特写
另一个范例更有意思:examples/ancient_beauty/prompts.json 用三段时间接力生成了一个 15 秒电影级古装美女视频。
三段各有不同的情绪递进,和之前 LTX 提示词里「前 5 秒垂眸 → 6-10 秒抬眼 → 11-15 秒落泪」几乎如出一辙。区别在于这里每一段是独立调 API 生成的 5 秒片段,然后靠末帧提取串联。
三、首尾帧接力——怎么把 5 秒变成 15 秒
这是整个项目最巧妙的部分。流程如下:
片段1 (0-5s): first_frame.png → 生成 → seg1.mp4 ↓ 提取 4.8s 处末帧 片段2 (5-10s): seg1_last_frame.png → 生成 → seg2.mp4 ↓ 提取末帧 片段3 (10-15s): seg2_last_frame.png → 生成 → seg3.mp4 ↓ ffmpeg concat → 15 秒完整视频关键细节:从 5 秒视频的 4.8 秒 处提取末帧,而不是精确的 5.0 秒。因为视频末尾往往有一两帧黑场或过渡帧,4.8 秒取帧能避开这些脏帧。
拼接时使用 re-encoding 而非 stream copy:
ffmpeg -f concat -safe 0 -i filelist.txt \ -c:v libx264 -preset ultrafast -crf 28 \ -c:a aac -b:a 128k -movflags +faststart output.mp4压缩目标:微信 10MB 以内,超了就提高 CRF 到 30-32。
四、配音管线
TTS 用的是微软 Edge TTS(edge_tts 库),免费、稳定、中文语音自然。双语方案:
中文: zh-CN-XiaoxiaoNeural,语速 -10%英文: en-US-JennyNeural,语速 -15%
每个场景的中英文配音拼在一起(中间加 0.3s 和 0.2s 的静音间隔),再填充到固定时长为场景视频长度匹配。最终配音延迟 1 秒启动,让画面先进入再开始说话。
五、踩过的坑(重点)
项目 README 列了 10 个已踩的坑,比大部分开源项目都务实:
- API 只支持 5 秒
请求超过 5 秒会被强制截断,只能靠接力 - API 偶发宕机
最长记录 3 天+,项目内置了 cron 自动重试 - 提交 30s 超时
POST 请求偶发超时需要重试机制 - 输出分辨率不一致
请求 768×1152 竖屏但实际输出 1280×704 横屏,必须后处理裁剪 - 工作目录清理风险
.working_dir可能被系统定时清理 - seconds 字段类型
必须是字符串 "5",传数字会报错 - 图片 API 返回 URL
不是 base64,需要额外的 requests.get下载
跟 LTX 部署的经验对比:本地模型不需要担心 API 超时和分辨率不一致,但需要自己管理 GPU 显存和 SD WebUI / ComfyUI 的并发冲突。云端 API 方案开发快但稳定性依赖第三方,各有利弊。
六、整体评价
项目代码量不算大,但结构清晰,每个脚本职责单一,README 写的非常详尽(中英文双语),踩坑记录甚至比技术文档更有价值。
如果你在做 AI 视频相关的东西,这个项目不管是直接拿来用还是参考它的管线设计和提示词模板,都挺有借鉴意义的。尤其是首尾帧接力这个思路,放在任何「API 有时长限制但你需要长视频」的场景里都能复用。
解锁新玩法:LTXV 2.3 联动龙虾文生视频,手把手教你接入
夜雨聆风