ViMax:一个多智能体协同的 AI 视频生成框架
约 10 分钟2825 字4 次阅读

ViMax:一个多智能体协同的 AI 视频生成框架
项目地址:https://github.com/HKUDS/ViMax
发表机构:香港大学(HKUDS)
技术栈:Python 3.12 + LangChain + uv 包管理
开源协议:MIT License
1. 背景:当前 AI 视频生成的三大困境
当前以 Sora、Kling、Runway 为代表的 AI 视频生成工具虽然在单个片段的质量上取得了令人惊叹的突破,但在完整的端到端创作流程上仍面临三个根本性瓶颈:
| 困境 | 描述 |
|---|---|
| 时长受限 | 绝大多数工具只能生成几秒到十几秒的短视频,分钟级长视频几乎不可行 |
| 一致性缺失 | 角色面孔、服装、环境在多镜头切换时频繁出现突兀的变化 |
| 创作链路断裂 | 从创意想法到最终视频输出,需要人工介入脚本撰写、分镜设计、镜头规划、参考图管理等多个环节,没有自动化串联 |
ViMax 正是在这一背景下应运而生——它不仅仅是一个视频生成模型,而是一套多智能体(Multi-Agent)协作的自动化视频创作流水线,从一句话创意出发,自主完成剧本开发、角色设计、分镜绘制、图像生成、一致性校验,最终输出连贯的多镜头视频。
2. 四大核心能力
🌟 Idea2Video — 创意直通视频
用户只需要输入一句话想法,ViMax 会自动完成以下全部流程:
创意输入 → 故事扩写 → 角色提取 → 角色定妆照生成 → 剧本撰写 → 场景切分 →
分镜设计 → 参考图选择 → 图像生成 → 一致性校验 → 视频片段生成 → 最终合成
示例输入:
idea = "If a cat and a dog are best friends, what would happen when they meet a new cat?"
user_requirement = "For children, do not exceed 3 scenes."
style = "Cartoon"
🎨 Novel2Video — 长篇小说智能改编
基于 RAG(检索增强生成)架构,ViMax 能够处理完整小说的超长文本,智能完成:
- 叙事压缩:将数万字小说压缩为适合视频表现的多场景结构
- 角色追踪:跨场景保持同一角色的外貌与性格一致性
- 视觉化改编:将文字描写转换为电影级分镜描述
⚙️ Script2Video — 剧本直接出视频
支持用户直接输入专业剧本格式(包含场景描述、角色对话、动作指示),ViMax 自动完成从剧本到分镜、再到视频的全流程。用户完全掌控叙事节奏与镜头语言。
🤳 AutoCameo — 把你自己变成主角
上传一张个人照片,ViMax 就能将你智能嵌入任意创意剧本中,保持面部一致性与自然交互,实现真正的"个人客串视频"。
3. 系统架构详解
ViMax 的多智能体流水线分为七个核心阶段,每个阶段由专门的 Agent 负责:
3.1 输入层(INPUT LAYER)
接受多种形式的输入:自然语言想法、完整剧本、整本小说、用户照片、风格指令。
3.2 中央调度层(CENTRAL ORCHESTRATION)
负责智能体之间的调度、阶段切换、资源管理,以及失败重试与降级逻辑。
3.3 剧本理解(SCRIPT UNDERSTANDING)
由 Screenwriter、CharacterExtractor、NovelCompressor 等 Agent 完成,从原始文本中提取:
- 核心角色及其外貌特征
- 场景边界(时间/地点切换点)
- 风格意图与叙事节奏
3.4 场景与镜头规划(SCENE & SHOT PLANNING)
由 SceneExtractor、ScriptPlanner、StoryboardArtist 等 Agent 完成:
- 将故事切分为逻辑连贯的场景
- 每个场景内规划具体镜头数量与类型(远景/中景/特写)
- 设计摄影语言(推拉摇移、镜头角度)
3.5 视觉资产规划(VISUAL ASSET PLANNING)
关键创新点之一。由 ReferenceImageSelector 根据前序时间线的分镜智能选取当前视频首帧所需的参考图,确保多角色与环境元素越往后越准确。
3.6 资产索引与一致性(ASSET INDEXING & CONSISTENCY)
- 资产索引:对已生成的帧/参考图建立 Embedding 向量库,支持跨场景复用
- 一致性校验:通过 MLLM/VLM(多模态大语言模型)评估生成图像,选择最符合角色一致性的图像作为首帧——模拟专业人类创作者的工作流程
3.7 视觉合成与组装(VISUAL SYNTHESIS & ASSEMBLY)
图像生成(多张并行)
↓
MLLM/VLM 一致性校验 → 选最优帧
↓
首帧/尾帧 → Video Generator(Veo API / 混元API)
↓
镜头拼接 → 时间线剪辑 → 最终视频
4. 核心 Agent 一览
| Agent | 职责 |
|---|---|
Screenwriter | 将一句话想法扩展为完整故事,再将故事改编为分镜剧本 |
CharacterExtractor | 从故事/剧本中识别并提取所有角色及其外貌特征 |
CharacterPortraitsGenerator | 为每个角色生成正面、侧面、背面的定妆照,确保多镜头一致性 |
NovelCompressor | 使用 RAG 架构处理长篇小说,智能切分为多场景结构 |
SceneExtractor | 识别剧本中的场景边界,按时间/地点切分镜头 |
ScriptPlanner | 为每个场景规划镜头列表与关键帧节奏点 |
StoryboardArtist | 基于摄影语言生成富有表现力的视觉分镜描述 |
ReferenceImageSelector | 智能选取历史分镜中的参考图,保证长视频一致性 |
BestImageSelector | 调用 MLLM/VLM 对多张生成图像做一致性评分与选择 |
CameraImageGenerator | 基于参考图与分镜描述,生成最终图像帧 |
GlobalInformationPlanner | 全局视角规划角色外观与环境风格的长期一致性 |
5. 技术实现亮点
5.1 异步并行生成
ViMax 在图像生成阶段使用 asyncio.as_completed() 对同一机位的多个连续镜头进行并行处理,显著提升视频生产效率。
# 角色定妆照异步并行生成
tasks = [
self.generate_portraits_for_single_character(character, style)
for character in characters
if character.identifier_in_scene not in character_portraits_registry
]
for future in asyncio.as_completed(tasks):
character_portraits_registry.update(await future)
5.2 增量结果持久化
每个 Pipeline 阶段的结果(characters.json、story.txt、script.json、character_portraits_registry.json)都会立即持久化到 working_dir。即使中断也可以从断点恢复,无需重新开始。
5.3 多 API 提供商支持
- Chat Model:OpenRouter(Gemini 等)、MiniMax(支持 M2.7 1M token 上下文)
- Image Generator:Google Nanobanana API、混元(腾讯)/ Doubao
- Video Generator:Google Veo API、混元/Doubao Seedance
配置示例(MiniMax):
chat_model:
init_args:
model: MiniMax-M2.7
model_provider: minimax
api_key: <YOUR_MINIMAX_API_KEY>
5.4 速率限制保护
内置 RateLimiter,对每个 API 层级(chat/image/video)分别设置 max_requests_per_minute 和 max_requests_per_day,防止触发上游服务限流。
6. 快速上手
环境准备
git clone https://github.com/HKUDS/ViMax.git
cd ViMax
uv sync
配置文件(configs/idea2video.yaml)
chat_model:
init_args:
model: google/gemini-2.5-flash-lite-preview-09-2025
model_provider: openai
api_key: <YOUR_API_KEY>
base_url: https://openrouter.ai/api/v1
image_generator:
class_path: tools.ImageGeneratorNanobananaGoogleAPI
init_args:
api_key: <YOUR_API_KEY>
video_generator:
class_path: tools.VideoGeneratorVeoGoogleAPI
init_args:
api_key: <YOUR_API_KEY>
working_dir: .working_dir/idea2video
启动 Idea2Video
修改 main_idea2video.py:
idea = "If a cat and a dog are best friends, what would happen when they meet a new cat?"
user_requirement = "For children, do not exceed 3 scenes."
style = "Cartoon"
python main_idea2video.py
7. 与传统方案的对比
| 维度 | 传统视频制作 | 单一 AI 视频工具 | ViMax |
|---|---|---|---|
| 剧本生成 | 人工编剧 | ❌ | ✅ LLM 自动生成 |
| 分镜设计 | 导演/分镜师 | ❌ | ✅ 智能分镜 Agent |
| 角色一致性 | 人工确认每帧 | ❌ | ✅ MLLM 评分校验 |
| 长视频能力 | 专业团队协作 | 仅 5-10 秒 | ✅ 自动多场景拼接 |
| 端到端自动化 | 多工种协作 | 单一步骤 | ✅ 一句话进,完整视频出 |
| 上手门槛 | 高(需多工具协同) | 低(单一工具) | 低(配置一次,永久使用) |
8. 总结与展望
ViMax 的核心贡献在于将创作链路的全流程自动化与多智能体协作引入 AI 视频生成领域。它不是一个单一模型,而是一套完整的工作流系统——从创意的起点到最终视频终点,每个环节都有专门的 AI Agent 负责,并通过中央调度层实现协同。
当前 v1.0 已支持 Idea2Video、Script2Video、Novel2Video 和 AutoCameo 四大场景。随着 roadmap 中 Google AI Studio API 集成、更丰富的分镜规划能力、以及 Dev mode 的推出,ViMax 有望成为独立创作者和小型制作团队的重要生产力工具。
项目链接:https://github.com/HKUDS/ViMax
如果你对 AI 视频生成、多智能体系统或创意工作流自动化感兴趣,欢迎深入研究 ViMax 的源码。其模块化设计使得每个 Agent 都可以独立替换为更强大的模型,整个系统具有很高的扩展性。