前阵子我在薅各种免费AI token,写了一篇关于”哪里免费去哪里薅”的文章。当时提到过,各家平台会不定期放出免费模型。结果没等多久,Agnes AI 就给了我一个惊喜:视频模型也免费了。

不是文字,不是图片,是视频。agnes-video-v2.0agnes-image-2.1-flashagnes-2.0-flash,三个模型全免费,注册就送API Key,不要信用卡,不要GPU。其中 Agnes-Video-V2.0 是目前免费 agnes video 生成方案里能力最强的一个,支持多种生成模式,质量相当能打。

这谁忍得住?我直接把开源框架 ViMax 改造成了 Agnes 全家桶方案,顺便把原来一些反人类的用法都优化了一遍。

Agnes免费模型:到底给了什么

先说 Agnes 这波免费到底给了啥。在 Agnes AI 平台 注册之后,拿到一个 API Key,就能用三个模型:

  • agnes-2.0-flash(对话模型):写故事、编剧本、生成prompt,标准的chat接口
  • agnes-image-2.1-flash(图片模型):text-to-image,生成角色参考图、关键帧
  • agnes-video-v2.0(视频模型):支持 text-to-video、image-to-video、keyframes 三种模式

API 走的是 OpenAI 兼容格式,base URL 在 https://apihub.agnes-ai.com/v1,对接起来非常丝滑。视频模型是异步的——提交任务拿task_id,然后轮询结果,跟大多数云端视频生成服务一个套路。

关键是:这三个模型串起来,刚好覆盖了”创意 → 故事 → 图片 → 视频”的完整链路。 不需要混用别家服务,一个 API Key 搞定所有事。

改造思路:从多供应商到 Agnes 一把梭

原版 ViMax 是港大开源的 Agentic 视频生成框架,设计得很通用——LLM 用一家的、图片生成用一家的、视频生成又是一家的。好处是灵活,坏处是你要管三套 API、三套认证、三套错误处理。

我的改造思路很简单:既然 Agnes 三个模型全免费,那就全部换成 Agnes,一个 API Key、一个 base URL,省事。

具体改了什么:

编剧模块:把原来的 LLM 调用全换成 agnes-2.0-flash。它负责从你的一句话创意出发,生成完整故事、拆分场景、写每场景的视觉prompt,还要给每个场景生成尾帧描述。用的是 OpenAI 兼容的 chat/completions 接口,temperature 0.7,够用了。

图片生成器:换成 agnes-image-2.1-flash(t2i)和 agnes-image-2.0-flash(i2i)。前者生成角色参考图,后者做场景间的过渡帧图片编辑。

视频生成器:换成 agnes-video-v2.0,这是核心。支持三种模式——纯文字生成视频(t2v)、图片引导视频(ti2vid)、关键帧插值(keyframes)。每场景支持5到20秒,帧率24fps。

改完之后,整个项目只依赖一个 API 服务商。.api_key 文件里写一个 key,完事。

易用性优化:别让用户想太多

原版 ViMax 的用法比较”研究项目风”——参数硬编码在代码里,改个创意得改源码。这不太行,所以我在易用性上做了一堆改进。

YAML 创意配置

最大的改动是引入了 YAML 创意文件。在 creatives/ 目录下,一个创意就是一个 .yaml 文件:

1
2
3
4
5
6
7
8
9
10
name: "frog"
idea: |
暗黑童话版青蛙王子,公主亲了青蛙之后,
青蛙变成了一个更可怕的怪物
user_requirement: |
5个场景,每个10秒,哥特暗黑风
style: "哥特暗黑童话风格"
chaining_mode: keyframes
video_width: 768
video_height: 1152

想拍新视频?写个 YAML,跑一条命令,完事。不用再碰 Python 源码了。

一键启动脚本

start.sh 做了一键封装:自动加载 .api_key、自动激活虚拟环境、自动列出可用创意、自动跑 pipeline。不传参数就列出所有创意,传个名字就直接跑:

1
2
./start.sh          # 列出所有创意
./start.sh frog # 跑"青蛙王子"

智能缓存与断点续跑

这个必须说,因为视频生成是真的慢。

每个中间结果——故事文本、场景脚本、角色参考图、每场景视频——全部持久化到磁盘。跑到一半断了?重新跑同一个创意,已完成的步骤直接跳过,只生成缺失的部分。

最细粒度的是视频缓存:5个场景跑了3个断了,重跑只生成剩下2个。不会从头来。

多模态图片分析

你可以自己提供角色参考图,也可以给每个场景自定义尾帧图片。系统会通过多模态 LLM 分析这些图片的内容,把视觉信息融入故事和 prompt 生成。

比如你提供一张自己画的卡通人物,系统会自动识别它的外貌特征,在后续所有场景里保持一致。

角色一致性:两阶段锁定

AI视频最大的坑就是角色一致性——第一个场景是黑发妹子,第二个场景突然变成金发了。

ViMax-Agnes 用了一个两阶段方案:

第一阶段:先生成(或你提供)一张角色参考图。编剧模块会从故事里提取角色的详细外貌描述——体型、发型、服装、配色、标志性特征——然后让图片模型生成一张全身参考图。

第二阶段:每个场景视频都以这张参考图为起始帧,通过 ti2vid 模式生成。视频模型从同一个视觉锚点出发,自然保持了角色的一致性。

实测下来,卡通/风格化画风的一致性效果最好。写实风格的话,建议直接提供自己的参考图,比 AI 生成的更可控。

三种场景串联模式

这是我觉得改造最有意思的部分。原版 ViMax 有场景串联的概念,但我在 Agnes API 上做了三种模式的适配:

none(独立模式):每个场景独立生成,共用同一张角色参考图。速度最快,但场景之间没有过渡,硬切。

ti2vid(过渡帧模式):顺序生成,每个场景结束后提取尾帧,用 img2img 生成一张”过渡帧”,作为下个场景的起始帧。过渡比较自然,但误差会累积——前面场景的瑕疵会传到后面。

keyframes(关键帧模式):这是推荐方案。每个场景同时指定首帧和尾帧,让视频模型在两个关键帧之间做插值。尾帧由 AI 根据场景描述自动生成(你也可以手动指定)。这样每个场景的起点和终点都是确定的,过渡最平滑。

三种模式在 YAML 里一个字段切换,不用改代码。

实战效果

跑几个创意试了一下:

  • 青蛙王子:5场景暗黑童话,keyframes模式,全自动生成
  • 女孩扣篮:3场景运动主题,角色一致性保持得不错
  • 海边舞蹈:4场景MV风格,场景过渡比较丝滑
  • 温泉机器人:3场景治愈风,卡通风格一致性最好

每个创意从提交到出片,主要瓶颈在视频生成——每场景大概需要几分钟等待。但因为有缓存,调试成本其实不高。

一些 Agnes-Video-V2.0 技术细节

给想深入玩的朋友补充几个实现细节:

视频参数:帧数遵循 8n+1 规则,上限441帧。5秒121帧、10秒241帧、15秒361帧、18秒和20秒都是441帧(帧率分别是24和22fps)。

图片上传:视频API需要图片URL而不是base64,所以本地图片会通过图片生成API”上传”——用 agnes-image-2.1-flash 做一次 prompt 为”保持图片不变”的 i2i 转换,拿到一个托管URL。如果上传失败,回退到 inline base64。

重试机制:视频提交遇到429(限流)或5xx(服务端错误),会自动指数退避重试,最多5次。轮询没有超时——视频生成就是这么慢,你得等。

最小依赖:整个项目只依赖5个Python包:requests、pydantic、PyYAML、moviepy、tenacity。不需要PyTorch,不需要CUDA,纯API编排层。

写在最后

Agnes 这波免费模型的诚意还是挺足的。agnes免费模型覆盖了文字、图片、视频全链路,API格式兼容OpenAI,注册门槛极低。对于想玩AI视频生成但不想烧钱的朋友来说,是个不错的入门选择。

ViMax-Agnes 的改造也让我验证了一件事:当免费模型的质量够用的时候,”哪里免费去哪里薅”的策略完全可以从文本扩展到视频。 一个 API Key、一条命令、一个 YAML 文件,就能从一句话生成一个完整的多场景视频。

项目开源在这里:github.com/lcy362/vimax-agnes,欢迎 star 和提 issue。

原文地址:https://lichuanyang.top/posts/65500/