乐于分享
好东西不私藏

拆解 Agnes AI 视频管线:一套给儿童动画和写真视频搭的脚手架

拆解 Agnes AI 视频管线:一套给儿童动画和写真视频搭的脚手架

今天开源了一个有意思的开源项目——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 个预设场景,覆盖了儿童内容的常见主题:

已关注
关注
重播 分享
剧集
主题
场景举例
baby_food
美食
牛奶、粥、西瓜、面条、鱼丸
baby_musical
乐器
钢琴、吉他、鼓、音乐盒
baby_seasons
四季
樱花、沙滩、落叶、雪人
baby_body
身体认知
眼睛、鼻子、嘴巴、耳朵
baby_space
太空探索
太阳、月亮、火箭、宇航员
baby_jobs
职业梦想
医生、消防员、厨师、飞行员

每个场景附带 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 秒片段,然后靠末帧提取串联。

片段
时间
情绪
1
0-5s
低垂眼眸,强忍情绪,眼眶微红
2
5-10s
缓慢抬眼,眼神破碎克制悲伤
3
10-15s
一滴眼泪缓慢滑落,泪痕清晰

三、首尾帧接力——怎么把 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 个已踩的坑,比大部分开源项目都务实:

  1. API 只支持 5 秒
    请求超过 5 秒会被强制截断,只能靠接力
  2. API 偶发宕机
    最长记录 3 天+,项目内置了 cron 自动重试
  3. 提交 30s 超时
    POST 请求偶发超时需要重试机制
  4. 输出分辨率不一致
    请求 768×1152 竖屏但实际输出 1280×704 横屏,必须后处理裁剪
  5. 工作目录清理风险
    .working_dir 可能被系统定时清理
  6. seconds 字段类型
    必须是字符串 "5",传数字会报错
  7. 图片 API 返回 URL
    不是 base64,需要额外的 requests.get 下载

跟 LTX 部署的经验对比:本地模型不需要担心 API 超时和分辨率不一致,但需要自己管理 GPU 显存和 SD WebUI / ComfyUI 的并发冲突。云端 API 方案开发快但稳定性依赖第三方,各有利弊。

六、整体评价

项目代码量不算大,但结构清晰,每个脚本职责单一,README 写的非常详尽(中英文双语),踩坑记录甚至比技术文档更有价值。

维度
评价
工程化程度
六步管线 + 目录规范 + 配置文件,开箱即用
文档质量
中英双语 README,10 条踩坑记录,示例完备
核心创新
首尾帧接力突破 API 时长限制
适用场景
儿童内容批量生产、短视频营销、快速原型
局限性
依赖第三方 API 稳定性,视频分辨率不可控,每段 5 秒拼接处可能有微跳

如果你在做 AI 视频相关的东西,这个项目不管是直接拿来用还是参考它的管线设计和提示词模板,都挺有借鉴意义的。尤其是首尾帧接力这个思路,放在任何「API 有时长限制但你需要长视频」的场景里都能复用。

新手也能学会!LTX 2.3 视频生成实战笔记

解锁新玩法:LTXV 2.3 联动龙虾文生视频,手把手教你接入

效率翻倍!ViMax-Doubao 一句话玩转 AI 视频创作

ViMax-Agnes:从创意到长视频的智能生成框架

Agnes AI API 全攻略:从注册到实战,解锁 AI 多模态创作新世界