ViMax 使用教程

港大开源的 Agentic 视频生成框架,导演、编剧、制片人全由 Agent 担任,一句话产出多镜头成片

⭐ 开源免费

📖 项目简介

ViMax 是香港大学数据智能实验室(HKUDS)开源的 Agentic 视频生成框架, 当前版本 v1.2.0,GitHub 已收获约 1.19 万 Star,采用 MIT 协议,可免费商用。 它的定位可以用官方那句话概括:导演、编剧、制片人、视频生成器四合一—— 你只需要给一个想法,剩下的剧本、分镜、角色设定、镜头设计、生成与合成,它自己一路做到底。

凭什么强?它不是"套一个文生视频模型",而是把整条影视生产流水线拆成了多个 Agent 协同: 先做叙事规划(把想法结构化成故事与剧本),再做分镜与镜头设计(机位、运镜、转场), 然后统一管理参考图与首帧以保证角色和场景跨镜头不变形,最后并行生成多个镜头并自动合成。 这正是针对当前 AI 视频的三个通病设计的:只能出几秒跨帧一致性崩坏只有画面没有剧本和叙事结构

和 Codex 的关系:ViMax 本身是一个本地运行的 Python 项目(Python 3.12 + uv), 自带交互式 TUI 和 Web UI,并不是一个 Skill 插件。但因为 Codex 能直接执行 shell 与 Python, 你完全可以把「拉仓库、装环境、改 YAML 配置、跑 idea2video、排查报错」这一整套交给 Codex 代劳, 自己只负责说创意、审分镜。对独立创作者来说,它解决的是最贵的那部分成本: 把一个想法变成有故事、有镜头语言、角色不串戏的成片

核心亮点

🎬
一句话到成片
Idea2Video:给一个概念,自动产出故事、角色、剧本、分镜、镜头,直到合成完整视频,中途不用你接手。
🆓
角色跨镜头不变形
统一管理参考图、首帧与镜头连贯性,几十个镜头里同一个角色、同一辆车、同一处场景保持一致。
🔍
长片能力:小说也能拍
Novel2Video 把长篇小说做叙事压缩、角色追踪与场景规划,拆成分集视觉叙事,突破"只能几秒"的限制。
👥
Web UI + TUI 双入口
v1.2.0 起提供浏览器工作台:命名项目、Agent 对话、分镜预览、渲染检查点、上传素材、切换模型供应商。

🧩 它能做什么、输出什么

项目说明
输入一句话创意(Idea2Video)、完整剧本(Script2Video)、长篇小说文本(Novel2Video)、人物或宠物参考照片(AutoCameo)
适用类型预告片、短故事、动画短片、小说改编分集、带本人出镜的短片;支持指定风格(如 Cartoon、Animate Style)
输出多场景多镜头成片,含剧本、角色设定、分镜板、镜头清单等中间产物,可在 Web UI 逐项查看
交互方式Web UI(浏览器工作台)、Agent TUI(终端交互)、Python 脚本直调(main_idea2video.py / main_script2video.py)
可接模型对话模型走 OpenAI 兼容接口(可接 OpenRouter、MiniMax 等);图像可接 GPT Image 2、Nano Banana;视频可接 Seedance 2.0 Fast、Google Veo、Google Omni
关键机制并行生成(多镜头同时渲染加速)、会话可恢复、渲染检查点、上下文压缩

🖥️ 环境要求

环境建议配置
操作系统官方标注支持 Linux、Windows
运行环境Python 3.12;使用 Web UI 还需 Node.js 18 或更高版本
硬件不需要本地显卡。图像与视频生成都走云端模型接口,本机只负责编排、调度与合成,普通笔记本即可
无卡方案这本身就是默认方案——本地不跑大模型,算力全在你配置的模型服务商那边
关键依赖uv(Python 环境与依赖管理,官方推荐)、git;Web UI 另需 npm
需要准备三类模型凭据:对话模型、图像生成、视频生成。可以是同一家,也可以分别接不同服务商

🚀 如何使用

💡
最省事的路径:装 uv → 克隆仓库 → uv sync → 复制一份配置填模型信息 → 起 Web UI,在浏览器里说一句话即可开拍。全程不需要本地显卡。
1

装 uv(Python 环境管理器)

官方用 uv 管理依赖,先把它装好。最省事的办法是用 pip 装,各平台通用;也可以按 uv 官方文档(地址见文首折叠块)用一键脚本安装。装完重开一个终端,确认版本号能打出来。

bash pip install uv uv --version
2

克隆仓库并安装依赖

在 GitHub 搜索 HKUDS ViMax 进入仓库,克隆到本地后执行 uv sync,它会自动建好 Python 3.12 虚拟环境并装齐依赖。

bash git clone 仓库地址见文首折叠块 cd ViMax uv sync
3

配置模型(对话 / 图像 / 视频三件套)

从示例配置复制一份私有配置,再把三类模型的信息填进去。三者可以来自不同服务商,对话模型走 OpenAI 兼容接口即可。

bash cp configs/agent.example.yaml configs/agent.local.yaml
yaml llm: model_provider: openai model: 你的对话模型名 base_url: 你的接口地址 api_key: 你的密钥 image: model: 你的图像模型名 base_url: 你的接口地址 api_key: 你的密钥 video: model: 你的视频模型名 base_url: 你的接口地址 api_key: 你的密钥

三类模型分别干什么:

配置项作用与可选项
llm大脑。负责写剧本、拆分镜、设计镜头。走 OpenAI 兼容接口,可接 OpenRouter、MiniMax 等
image出参考图与首帧,决定角色长相是否稳定。可接 GPT Image 2、Nano Banana
video把首帧变成动态镜头,最烧额度的一环。可接 Seedance 2.0 Fast、Google Veo、Google Omni
💡
也可以让 configs/agent.local.yaml 留空,改用环境变量 VIMAX_LLM_API_KEYVIMAX_IMAGE_API_KEYVIMAX_VIDEO_API_KEY 传入,避免密钥落到文件里。
4

启动:Web UI 或终端 TUI 二选一

Web UI(推荐,v1.2.0 新增):需要 Node.js 18+。启动后在浏览器打开本地 4173 端口,即可命名项目、和 Agent 对话、看分镜进度、预览渲染结果。端口被占用时用 VIMAX_WEB_PORT 换一个。

bash cd web npm install npm run dev

终端 TUI:不想装前端就用它,同样支持对话式规划、修改方案、控制渲染,而且会话可以中断后续接。

bash vimax tui vimax tui new vimax tui resume

脚本直调(跑批更顺手):直接改 main_idea2video.py 里的三个变量,然后运行。main_script2video.py 则是喂完整剧本。

python idea = """ 一只猫和一只狗是好朋友,它们遇到一只新来的猫会发生什么? """ user_requirement = """ 面向儿童,场景不超过 3 个。 """ style = "Cartoon"
5

结合 Codex 使用

ViMax 不是 Skill 插件,而是一个本地 Python 项目,所以和 Codex 的配合方式是让 Codex 当你的运维和操作员,这条路径完全真实可行:

① 装机交给它:把仓库名丢给 Codex,让它自己 clone、跑 uv sync、装 Node 依赖,遇到依赖冲突或版本报错让它直接改。

② 配置交给它:告诉 Codex 你手上有哪家的模型额度,让它把 configs/agent.local.yaml 按格式填好,密钥用环境变量注入。

③ 批量跑片交给它:写一个循环脚本,让 Codex 依次改 main_idea2video.py 里的 idea 与 style 并执行,一次排一批选题。

④ 出问题让它读日志:渲染中断、镜头缺失、额度不足这类问题,Codex 能直接读 .working_dir 下的中间产物定位到是哪一镜出错,然后从检查点续跑。

你负责说创意和审分镜,装环境、填配置、跑批、排错这些脏活全部交给 Codex——这才是"一句话出片"真正落地的样子。

🎯 典型应用场景

🎞️
概念预告片
给一个题材方向,直接产出带镜头语言的预告片,用来验证创意值不值得深做。
📚
小说改编分集
Novel2Video 把长篇文本做叙事压缩与角色追踪,拆成可连续观看的分集视觉叙事。
✍️
剧本可视化
已经写好剧本的,用 Script2Video 保留原创意,转成多场景多镜头画面,省掉找演员搭景。
🧒
儿童动画短片
指定 Cartoon 风格并限制场景数量,快速产出低龄向的短故事动画。
🙋
本人出镜短片
AutoCameo 上传一张你或宠物的照片,把自己放进生成的故事里,全片形象保持一致。
📱
自媒体批量选题
配合 Codex 写循环脚本,一次排一批选题连夜跑,第二天挑成片,产能不再卡在剪辑上。

📈 与同类方案对比

ViMax 属于编排型框架,本身不产出跑分。下面是它与"直接用一个文生视频模型"的能力差异对比。

维度直接用文生视频模型ViMax
单次时长通常只有几秒一个片段多镜头串联,可做到分钟级完整叙事
角色一致性跨片段常出现长相、服装、场景漂移统一管理参考图与首帧,跨镜头维持同一形象
叙事结构只有画面,没有剧本与节奏设计先出故事与剧本,再做分镜与镜头设计
镜头语言靠提示词碰运气显式设计机位、运镜、转场与镜头衔接
生成效率逐个片段串行等待兼容的镜头与素材并行生成
可干预性不满意只能重抽Agent Loop 可改方案、可断点续跑、可复用会话
🧠
核心思路一句话:它把"生成一段视频"改造成了"跑一遍影视生产流程"——叙事规划、分镜设计、参考图与首帧管理、并行渲染、最终合成各司其职,一致性和长度的问题因此在流程层面被解决,而不是指望单个模型变强。
⚠️
成本提醒:真正花钱的是视频生成那一步。一支几十个镜头的片子会调用几十次视频模型,先用少量场景(比如限制不超过 3 个场景)跑通全流程,确认效果满意后再放开镜头数量。

常见问题

Q: 它和直接用一个 AI 视频工具有什么区别?

区别在于它管的是整条流程而不是单个片段。普通工具你给一句提示词得到几秒画面,角色下一段就变样;ViMax 会先把想法写成故事和剧本,拆出分镜和镜头设计,统一管理角色参考图,再并行生成几十个镜头并合成。你拿到的是有叙事结构的成片,不是一堆对不上的碎片。

Q: 需要什么配置?没有显卡能跑吗?

能跑,而且这是默认方式。图像和视频生成都调用云端模型接口,本机只做编排、调度和合成,普通笔记本足够。需要的是 Python 3.12、uv,用 Web UI 再加 Node.js 18+。官方标注支持 Linux 和 Windows。

Q: 支持哪些输入?只能给一句话吗?

四种都行:一句话创意走 Idea2Video;完整剧本走 Script2Video;长篇小说走 Novel2Video,它会做叙事压缩和角色追踪拆成分集;上传本人或宠物照片走 AutoCameo,把自己放进故事里。还能指定风格,比如 Cartoon、Animate Style。

Q: 模型必须用国外的吗?可以接国产模型吗?

对话模型走的是 OpenAI 兼容接口,只要服务商提供兼容端点就能接,官方明确支持过 MiniMax。图像和视频这两环节可选的国内方案相对少一些,官方适配过 Seedance 2.0 Fast。建议先用一家跑通,再逐个替换看效果。

Q: Web UI 和 TUI 该选哪个?

想看分镜预览、渲染进度、逐项检查中间产物就用 Web UI,直观但要多装一层 Node 依赖;只想在终端里对话式地规划和控制渲染就用 TUI,轻量且支持会话中断后续接。两者共用同一份 configs/agent.local.yaml 配置和同一套运行时,随时可以换。

Q: 跑到一半中断了、某个镜头失败了怎么办?

它有渲染检查点和会话恢复机制。TUI 用 vimax tui resume 可以续上之前的会话,也可以指定会话 ID 恢复。中间产物都落在工作目录里,能直接翻出来看是哪一镜出的问题,不必整片重来。

Q: 端口被占用 / 服务器上跑本地打不开怎么办?

Web UI 默认绑在本机回环地址的 4173 端口。端口冲突时设置环境变量 VIMAX_WEB_PORT 换一个再启动。如果 ViMax 跑在远程服务器上,用 SSH 做端口转发把 4173 映射到本地即可,不要直接把服务暴露到公网。

Q: 怎么和 Codex 结合?它是 Skill 插件吗?

不是 Skill 插件,它是独立的 Python 项目。结合方式是让 Codex 当操作员:clone 仓库、跑 uv sync、按格式填配置、批量改 idea 跑片、读日志定位失败镜头并从检查点续跑。这些都是 Codex 执行 shell 和改文件的常规能力,不需要额外接什么。

Q: 生成一支片子大概要花多少钱?

官方没有给统一报价,因为完全取决于你接哪家模型、片子有多少个镜头。烧钱大头是视频生成环节,几十个镜头就是几十次调用。建议第一次跑的时候在需求里限制场景数量(比如不超过 3 个场景),确认效果满意再放开。

Q: 可以商用吗?

ViMax 本身是 MIT 协议,框架层面可以自由商用、修改和二次分发。但要注意:你实际调用的那些对话、图像、视频模型各有各的服务条款和商用授权规定,成片能不能商用取决于它们,用之前先看清楚你接的那家模型怎么规定。