ViMax README

The project's README from github.com/HKUDS/ViMax. As one markdown file: README.md.

ViMax Logo

ViMax: Agentic Video Generation

HKUDS%2FViMax | Trendshift HKUDS%2FViMax | Trendshift

MIT License ViMax v1.2.0


🚨 Current Video Generation Limitations:

💡 ViMax Solution:

🎬 Director, Screenwriter, Producer, and Video Generator All-in-One! We're exploring a future where AI becomes a complete creative powerhouse. 💡 Simply input your concept. ViMax autonomously handles the rest. It orchestrates scriptwriting, storyboarding, character creation, and final video generation—all end-to-end. 🚀

https://github.com/user-attachments/assets/5bad46b2-8276-4e1d-9480-3522640744b2


📰 News


📑 Table of Contents


✨ Key Features

ViMax is an agentic video creation framework that connects narrative planning, visual consistency, image generation, video generation, and final assembly in one extensible workflow.


🔮Video Demos Generated from Scratch


🖥️ ViMax Web UI

ViMax Web UI workspace

The Web UI brings agent conversation, project artifacts, storyboard previews, and render progress into one visual workspace.


🎯 End-to-End Video Creation Engine

The Challenges:

ViMAX: eliminates these production bottlenecks by automating the entire video creation pipeline from narrative input to final video output.


🔥 Why ViMax?

🧠 Effortless Production 🚀 Complete Creative Freedom 🔊 Audio and Video Binding 🎨 Professional Quality 🤩 Interactive Video
One-Prompt to Finished Video From Any Narrative to Reality Synchronized Storytelling Movie-Grade Output Make Your Own Cameo Video
Skip the technical complexity—just describe your vision and let ViMax handle script generation, storyboarding, shot design, reference management, and consistency validation No creative limits—whether it's a trailer, short story, novel chapter, or original concept, ViMax intelligently structures narratives and designs cinematography to bring any idea to life Seamlessly integrate character voice, and sound effects with visual content to create immersive experiences where audio and video work in perfect harmony Automated quality control ensures character consistency, proper scene composition, and professional visual standards across every frame of your video Interact in your own short stories by uploading your photo—ViMax intelligently integrates you as a character with consistent appearance and natural interactions throughout the entire video

ViMax now also includes an Agents Loop + TUI workflow for interactive planning, revision, rendering control, session reuse, and context compaction while preserving the original direct pipeline entrypoints.


☄️ Roadmap


🚀Quick Start

🖥️ Environment

OS: Linux, Windows

📥 Clone and Install

We use uv to manage the environment. For uv installation, please refer to the https://docs.astral.sh/uv/getting-started/installation/.

git clone https://github.com/HKUDS/ViMax.git
cd ViMax
uv sync
Agent TUI

ViMax also provides a minimal TUI for interactive agent-based video creation. Create a private local configuration from the tracked example first:

cp configs/agent.example.yaml configs/agent.local.yaml

Then configure the model and API key information in configs/agent.local.yaml, including the LLM, image generator, and video generator, as shown below.

llm:
  model_provider: openai
  model: <YOUR_LLM_MODEL>
  base_url: <YOUR_LLM_BASE_URL>
  api_key: <YOUR_API_KEY>

image:
  model: <YOUR_IMAGE_MODEL>
  base_url: <YOUR_IMAGE_BASE_URL>
  api_key: <YOUR_API_KEY>

video:
  model: <YOUR_VIDEO_MODEL>
  base_url: <YOUR_VIDEO_BASE_URL>
  api_key: <YOUR_API_KEY>

Then, start the TUI from the ViMax root directory:

vimax tui

Start a new session or resume an existing one:

vimax tui new
vimax tui resume
vimax tui resume <session_id>

You can also keep configs/agent.local.yaml empty and provide the same values through environment variables, such as VIMAX_LLM_API_KEY, VIMAX_IMAGE_API_KEY, and VIMAX_VIDEO_API_KEY.

Web UI

The Web UI uses the same ViMax agent runtime, sessions, tools, and private configs/agent.local.yaml configuration as the TUI. Node.js 18 or newer is required.

From the ViMax repository root, install the frontend dependencies once and start the local server:

cd web
npm install
npm run dev

Open http://127.0.0.1:4173 in your browser. The Web UI supports named projects, agent conversations, slash commands, artifact and render inspection, storyboard previews, file uploads, and provider settings.

The server binds to 127.0.0.1 by default. When ViMax runs on a remote machine, forward the port from your local computer:

ssh -N -L 4173:127.0.0.1:4173 <user>@<server>

Use VIMAX_WEB_PORT when another local port is required:

VIMAX_WEB_PORT=4174 npm run dev
Usage

main_idea2video.py is used to convert your ideas into videos. You need to configure the model and API key information in the configs/idea2video.yaml file, including three parts—the chat model, the image generator, and the video generator, as shown below

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

Then, provide a simple yet thoughtful idea and the corresponding creative requirements in 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"

main_script2video.py generates a video based on a specific script. You similarly need to set up the API configuration in configs/script2video.yaml file. Then, provide a scene script and the corresponding creative requirements in main_script2video.py, as shown below.

script = \
"""
EXT. SCHOOL GYM - DAY
A group of students are practicing basketball in the gym. The gym is large and open, with a basketball hoop at one end and a large crowd of spectators at the other end. John (18, male, tall, athletic) is the star player, and he is practicing his dribble and shot. Jane (17, female, short, athletic) is the assistant coach, and she is helping John with his practice. The other students are watching the practice and cheering for John.
John: (dribbling the ball) I'm going to score a basket!
Jane: (smiling) Good job, John!
John: (shooting the ball) Yes!
...
"""
user_requirement = \
"""
Fast-paced with no more than 20 shots.
"""
style = "Animate Style"

ViMax (HKUDS/ViMax)

Searching Database…

12.7K ·GitHub
这是什么?ViMax 是一个智能体式 AI 框架,可以一站式充当导演、编剧、制片人和视频生成器:你只需给出一个创意、剧本或小说,它就能自动完成剧本创作、分镜设计、角色创建和最终的视频合成。
这是可以导入的 Python 库,还是直接运行的应用?它是一个可自托管的智能体流水线,需要在克隆下来的仓库里运行:可以通过 idea2video.py 和 script2video.py 等主脚本、交互式终端 TUI,或基于浏览器的 Web UI 来使用,而不是用 pip 安装到其他项目里的库。
我该怎么把它跑起来?用 uv 安装依赖,从仓库中已提交的示例文件复制 configs/agent.local.yaml,并填写你的 LLM、图像生成器和视频生成器配置,然后在仓库根目录启动 TUI;如果要用 Web UI,则需安装 Node.js 18+ 的前端依赖并启动本地服务器,该服务器默认绑定到 127.0.0.1。
生成视频之前,我需要哪些 API 密钥或工具?你需要聊天类大模型(LLM)服务商、图像生成器和视频生成器的凭证,可以通过 VIMAX_LLM_API_KEY、VIMAX_IMAGE_API_KEY、VIMAX_VIDEO_API_KEY 等环境变量进行设置;另外还需要用于 Python 环境的 uv,如果想使用 Web UI,还需要 Node.js 18+。
它真的解决了 AI 视频常见的问题,比如片段太短、角色不一致吗?ViMax 通过参考素材管理和一致性检查,正面应对这些痛点,但 README 本身也承认,即使提供了正确的角色、位置和环境参考,图像生成器仍可能产出无法使用的结果。
Idea2Video、Script2Video 和 Novel2Video 有什么区别?Idea2Video 会把一个简短的创意扩展为完整的故事、角色和镜头;Script2Video 会按照明确的剧本进行渲染,同时保留其创作意图;Novel2Video 则会将长篇小说改编为分集视频,进行叙事压缩并追踪角色。
什么是 AutoCameo?AutoCameo 允许你上传一张人物或宠物的照片,ViMax 会将其作为一致的角色插入到生成的故事中。
它支持哪些图像和视频生成模型?ViMax 集成了多家服务商,例如用于图像生成的 OpenRouter 提供的 GPT Image 2,用于视频生成的 Seedance 2.0 Fast 或 Google Omni,另外还支持 MiniMax 作为聊天模型服务商。
ViMax 也能处理音频吗?可以,它的“Audio and Video Binding”功能能让角色配音和音效与画面同步,带来沉浸式的同步叙事体验。
Creator
HKUDS
Size
182.3 MB
Stars
12.7K
Age
1y
Commits · 90 Days