Skip to content

HKUDS/ViMax

Repository files navigation

ViMax Logo

ViMax: Agentic Video Generation

HKUDS%2FViMax | Trendshift

MIT License


🚨 Current Video Generation Limitations:

  • Limited to Short Clips - Most AI tools generate only seconds of footage.
  • Consistency Chaos - Characters and scenes change unpredictably across frames.
  • Visual-Only Focus - Missing scripts, audio, narrative structure, and storytelling depth.

💡 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. 🚀

vimax_demo.mp4

📰 News

  • 2026-07-17 🎬 OpenRouter GPT Image 2 image generation and Seedance 2.0 Fast video generation support added.
  • 2026-06-28 🛠️ Agent Loop and TUI stability update: stronger LLM retries, persistent render status, landscape image guards, and Script2Video resume fixes.
  • 2026-06-09 📄 Technical report released.
  • 2026-06-08 🤖 Agents Loop + TUI workflow integrated for interactive planning, revision, rendering control, session reuse, and context compaction.
  • 2026-06-07 📖 Novel2Video workflow released.
  • 2026-06-01 🎬 Google Omni video generator support added.
  • 2026-03-23 ⚡ MiniMax chat model provider support added.

📑 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.

  • Idea2Video — turn a short concept into structured stories, characters, scripts, storyboards, shots, and a finished video.
  • Script2Video — convert an explicit screenplay into controllable multi-scene, multi-shot video while preserving its creative intent.
  • Novel2Video — adapt long-form fiction into episodic visual narratives with narrative compression, character tracking, and scene planning.
  • AutoCameo — place a person or pet from a reference photo into generated stories while maintaining a consistent appearance.
  • Agent Loop and TUI — discuss ideas, revise plans, resume sessions, review text artifacts, and control rendering from one interactive workspace.
  • Consistent production pipeline — coordinate references, first frames, camera continuity, and final assembly end to end.
  • Parallelized generation — generate compatible shots and media assets concurrently to accelerate multi-shot video production.

🔮Video Demos Generated from Scratch

f1.mp4
underwater.mp4
otter.mp4
carrier.mp4
vampire.mp4
skydiving.mp4
tree.mp4
cameo_skycastle.mp4
cameo_cat.mp4

🎯 End-to-End Video Creation Engine

The Challenges:

  • 🌅 Reference Images: Time-consuming acquisition, organization, and alignment of reference frames that accurately capture characters, objects, positions, and environments.

  • 🫠 Consistency Check: Sometimes, the image generator may generate unusable images even if it is given the correct characters, position, environment reference image and prompts.

  • 📄 Scripts Generation: Professional and high-quality videos need to have rich information density and structured design.

  • 📝 Storyboard Design: Converting stories into visual narratives requires expertise in cinematography, scene composition, and visual storytelling that most creators lack.

  • 🎬 Shot Design: Creating coherent camera sequences with proper angles, transitions, and pacing while maintaining narrative flow across complex scenes.

  • 🎨 Development Delays: Ensuring character appearances, environments, and artistic style remain consistent across hundreds of shots in long-form content.

  • ⏱️ Production Efficiency: Traditional video creation involves multiple specialists and lengthy workflows, creating barriers for independent creators and rapid prototyping.

  • 🎥 Scaling AI Generated Video: AI-generated videos are usually only a few seconds long, high-quality long videos at the minute or even hour level require complex cross-scene continuity and multi-storyboards design and processing capabilities.

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

  • 🚧 🖥️ Web frontend interface
  • ✅ 🎬 Seedance 2.0 Fast video generator support
  • ✅ 🖼️ GPT Image 2 image generator support

🚀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. 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.

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"

About

"ViMax: Agentic Video Generation (Director, Screenwriter, Producer, and Video Generator All-in-One)"

Topics

Resources

License

Stars

11.2k stars

Watchers

77 watching

Forks

Packages

 
 
 

Contributors