Model or dataset
HKUDS/VideoAgent avatar
HKUDS/VideoAgent

VideoAgent covers understanding, editing and remaking in one repository

[EMNLP2026] "VideoAgent: All-in-One Agentic Framework for Video Understanding and Editing, and Remaking"

1,888 stars240 forksPythonMIT

At a glance

What is it?
VideoAgent is an EMNLP 2026 research framework that handles video question answering, editing and generation behind a conversational interface. The breadth is genuine, and so is the GPU and pinned dependency bill.
Who is it for?
VideoAgent suits a researcher or an engineer with a GPU and a tolerance for research code, who wants one system spanning video question answering, editing and generation rather than a tool for a single task. It is the wrong pick for a creator who needs one reliable capability now, where a focused editing tool or a hosted overview product will cost far less to get working.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 59 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 18, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

One framework for understanding, editing and remaking video

VideoAgent is a research framework from HKUDS that puts video understanding, video editing and video generation behind a conversational interface. The repository ties it to a paper accepted at EMNLP 2026, which sets expectations correctly: this is published research with code attached, not a product with a support channel.

The scope claimed is wide. Understanding covers question answering and summarisation over a video. Editing covers assembling and cutting clips, with beat synchronised edits and commentary videos named specifically. Remaking covers generating new material from existing footage, including meme videos, music remixes and cross-lingual adaptations.

The audience follows from that breadth. A researcher comparing agentic approaches to video tasks gets a system that spans the pipeline rather than one stage of it. A creator looking for a tool to use on Friday gets a research repository, and the difference between those two things is most of what matters below.

The capability table is the authors' own scorecard

The README includes a comparison table placing VideoAgent against Director, Funclip, NarratoAI and NotebookLM across eight capabilities. VideoAgent is marked as supporting all eight. The others carry marks in some columns and dashes in most.

The table is useful and it should be read for what it is: a claim by the authors about their own work, with the columns chosen by the same people. Every entry in it is a capability VideoAgent implements, which guarantees the shape of the result before any comparison happens. Read the dashes as areas the authors did not find support for rather than as verified absences.

What the table does establish usefully is the intended position. Video overview generation is the one row where the comparison tools mostly agree, and it is the capability NotebookLM made familiar. Everything else in the table, storytelling video, meme remaking, song remixes, cross-lingual adaptation and sound effects tooling, is where the project is arguing it covers ground the alternatives do not. Whether the coverage is good is a separate question from whether it exists, and the repository cannot settle it.

The dependency list is the real install story

The project manifest sets the Python floor, and it is worth checking against your environment before anything else.

toml
requires-python = ">=3.10"

Beyond that, the dependency set is the part that decides whether this runs on your machine. PyTorch is pinned at 2.3.1 with a matching torchaudio, and the list includes both a GPU build of onnxruntime and a CPU build. Speech and audio work pulls in faster-whisper, openai-whisper, funasr, demucs and librosa. Generation pulls diffusers, accelerate and bitsandbytes. Editing pulls moviepy. Serving pulls gradio, and a hosted model client pulls the openai package.

Two entries deserve attention. Nearly everything is pinned to an exact version rather than a range, which makes the environment reproducible and makes it collide with anything else in the same interpreter. And one dependency is fetched from a git commit rather than a package index, which means installation reaches GitHub directly and that a specific revision is expected rather than any released version.

The practical reading is that this wants a dedicated environment with a GPU, and that a clean machine is a better starting point than a working one. The repository carries both a project manifest and a requirements file as its dependency sources, along with an environment directory.

What the repository layout says about how it runs

The tree is small and readable, which is a point in the project's favour: a single entry point at main.py, a tools directory, a VideoEdit directory, an environment directory and a dataset directory, plus the assets used by the documentation.

A single entry point with a tools directory is the conventional shape for an agentic system: a controller that plans, and a set of callable operations it can invoke. The README describes exactly that behaviour in its demonstration, listing intent analysis, autonomous tool use and planning as the steps between a request and a finished video. A separate directory for editing suggests the cutting and assembly operations are grouped as their own subsystem rather than scattered among the tools.

There is also a separate documents file for demonstrations and a communication file pointing at chat groups, plus a Chinese README alongside the English one. The project maintains a presence on video platforms, which for a system that produces video is a reasonable way to show results.

Where this will not fit

The first constraint is hardware. A pinned GPU build of onnxruntime alongside PyTorch, diffusers and a set of speech models describes a system expecting a capable GPU. Nothing in the repository suggests a comfortable path on a laptop without one.

The second is that this is version 0.1.0 with no tagged releases at all. There is no changelog boundary to pin to, no upgrade path described, and no signal about which commits are known good. Anyone depending on it should pin a commit themselves.

The third is cost and dependency on a hosted model. The openai package is a pinned dependency, so at least part of the pipeline expects a commercial API, and generating video through a chain of model calls is not cheap. The repository does not document what a typical task costs, and that absence matters more for an agentic system than for a library, because the number of calls is decided at run time by a planner rather than by you.

The fourth is documentation tone. The README leans on promotional language, and claims such as human quality video production and professional standards appear without a stated evaluation behind them at that point in the document. An evaluation section exists in the table of contents, which is where those claims would need to be settled.

Finally, the last push was on 2026-07-22. For research code released alongside a conference paper, activity often follows the publication cycle rather than user needs.

NotebookLM and the narrower tools it sits beside

The alternative the widest audience will recognise is NotebookLM, which the project's own table names. The difference in approach is clean. NotebookLM is a hosted product that takes your sources and produces an overview, with no environment to build, no GPU to own and no model keys to manage, and it stays inside that single capability. VideoAgent is a repository you install, and in exchange it offers editing and generation that a hosted overview tool does not attempt.

The narrower tools in the same table sharpen the choice further. Funclip and NarratoAI address specific editing tasks, and a focused tool that does one job is usually easier to make work than a framework that does eight, because there is less to configure and fewer ways for a plan to go wrong. For a creator who needs beat synchronised cuts and nothing else, the focused tool is the sane pick.

VideoAgent is the better choice when the breadth is the point: when you want one system that can answer a question about a video, cut it, and remake it, and when running research code on your own hardware is acceptable. It is the worse choice when you need one of those things reliably and soon.

MIT terms and what to establish before building on it

VideoAgent is MIT licensed, which for research code is the permissive end of the range and imposes little beyond attribution. This is not legal advice, though MIT is rarely the obstacle in an evaluation. The more likely licensing question comes from the model weights and the services the pipeline calls, which carry their own terms and are not covered by the repository's license.

The paper is the other half of the artifact. For a framework whose claims concern quality of output, the evaluation in the paper is where those claims are supported or not, and reading it is the step that decides whether the breadth is real.

Before building anything on this, establish two things on your own hardware. Confirm the environment can be constructed at all, given a pinned PyTorch, a git sourced dependency and a GPU build of onnxruntime. Then run one task end to end and count the model calls it makes, because that number, not the capability table, is what using this will cost you.

Editorial conclusion

VideoAgent suits a researcher or an engineer with a GPU and a tolerance for research code, who wants one system spanning video question answering, editing and generation rather than a tool for a single task. It is the wrong pick for a creator who needs one reliable capability now, where a focused editing tool or a hosted overview product will cost far less to get working. Before investing, confirm your interpreter meets the Python 3.10 floor and that you can build an environment around a pinned PyTorch 2.3.1, a GPU build of onnxruntime and a dependency fetched from a git commit, then pin a commit yourself, because the project sits at version 0.1.0 with no tagged releases.

Frequently asked questions

Is there an AI agent that can edit videos?

VideoAgent is one such framework. It describes itself as an all-in-one agentic system covering video understanding, editing and remaking, with the README naming beat synchronised edits, commentary videos and video overviews among its editing capabilities.

What does VideoAgent need to run?

The project manifest requires Python 3.10 or newer and pins PyTorch at 2.3.1 alongside a GPU build of onnxruntime, diffusers and several speech models, which describes a machine with a capable GPU. One dependency is fetched from a git commit rather than a package index.

How does VideoAgent compare to NotebookLM?

The README's own table marks both as supporting video overview generation, and marks VideoAgent alone for editing capabilities such as beat synchronised edits, meme remaking and song remixes. NotebookLM is a hosted product, while VideoAgent is a repository you install and run yourself.

Is VideoAgent stable enough to depend on?

The project manifest gives its version as 0.1.0 and the repository has no tagged releases, so there is no changelog boundary to pin against. The last push was on 2026-07-22, and the code accompanies an EMNLP 2026 paper.

Official sources

  1. HKUDS/VideoAgent on GitHub
  2. Issues
  3. License: MIT
  4. Project website
  5. README
Community notes

Community notes