Text2Video-Zero

GitHub
4.2k 387 中等 1 次阅读 4天前NOASSERTION视频
AI 解读 由 AI 自动生成,仅供参考

Text2Video-Zero 是一款创新的开源 AI 工具,能够直接将文本描述转化为连贯的视频内容,甚至支持根据指令编辑现有视频。它的核心突破在于“零样本”(Zero-Shot)能力:无需针对视频数据进行额外的昂贵训练,即可直接利用现有的文本生成图像模型(如 Stable Diffusion)来生成视频。这有效解决了传统视频生成模型依赖大量特定数据集训练、成本高且灵活性差的痛点,同时确保了生成画面在时间维度上的流畅与一致。

除了基础的文生视频,Text2Video-Zero 还展现了强大的可控性。用户不仅可以输入文字,还能结合姿态、边缘轮廓或深度信息来精准引导视频动作与结构,实现了类似“视频版 Instruct-Pix2Pix"的指令式编辑功能。技术层面,它集成了令牌合并(Token Merging)等优化手段,显著降低了显存需求,使更多设备能够运行。

这款工具非常适合 AI 研究人员探索多模态生成机制,也适合开发者快速构建视频应用原型。对于设计师和内容创作者而言,它提供了一个低门槛、高自由度的创意实验平台,让将脑海中的动态场景瞬间可视化成为可能。随着其被集成到主流 Diffusers 库中,Text2Video-Zero 正成为连接静态图像生成与动态视频创作的重要桥梁。

使用场景

某独立游戏开发者需要为一款复古像素风格的游戏快速生成一段“角色在雨中奔跑”的过场动画,以测试剧情节奏。

没有 Text2Video-Zero 时

  • 高昂的训练成本:若要生成特定风格的视频,通常需收集大量该风格的视频数据并重新训练模型,耗时数天且需要多张高端显卡。
  • 画面闪烁严重:直接使用传统的逐帧图像生成工具,会导致每一帧之间缺乏关联,角色动作和背景出现严重的抖动与不连贯。
  • 编辑灵活性差:若想调整角色的奔跑姿势或雨势大小,往往需要重新生成整个序列,无法基于现有画面进行局部指令修改。
  • 显存门槛极高:现有的视频生成方案对显存要求苛刻,普通开发者的单卡工作站(如 12GB 以下)难以运行,限制了创意验证的速度。

使用 Text2Video-Zero 后

  • 零样本即时生成:直接利用已有的文本到图像扩散模型,无需任何额外训练或视频数据集,输入提示词即可生成符合像素风格的连贯视频。
  • 时序高度一致:通过其特有的运动引导机制,生成的视频中角色奔跑动作流畅自然,背景雨滴下落稳定,彻底消除了画面闪烁问题。
  • 指令化精准编辑:利用 Video Instruct-Pix2Pix 功能,只需输入“让雨下得更大”或“改变奔跑方向”等指令,即可在保留原视频结构的基础上完成编辑。
  • 低显存友好部署:结合 Token Merging 技术,即使在显存小于 7GB 的消费级显卡上也能流畅运行,让独立开发者能在本地轻松迭代创意。

Text2Video-Zero 将视频生成的门槛从“专业实验室”拉低至“个人工作台”,让创作者能以最少的资源实现从零到一的动态视觉构思。

运行环境要求

操作系统
  • 未说明
GPU
  • 必需 NVIDIA GPU
  • 最低显存需求:标准模式需 12GB
  • 启用 Token Merging (merging_ratio) 且 chunk_size=2 时可降至 7GB 以下
  • CUDA 版本需 >= 11.6
内存

未说明

依赖
notes1. 项目已集成到 Hugging Face Diffusers 库中。2. 支持低内存推理模式,可通过设置 chunk_size 参数(范围 2 到视频长度)减少显存占用。3. 集成了 Token Merging 技术,通过 merging_ratio 参数进一步压缩显存,但过高值会降低画质。4. 支持加载 Hugging Face 上的任意 Stable Diffusion 底模和 Dreambooth 模型。5. 功能包括零样本文本生成视频、姿态/边缘/深度控制生成、以及视频指令编辑 (Video Instruct-Pix2Pix)。
python3.9
torch
diffusers
transformers
accelerate
gradio
opencv-python
tomesd
Text2Video-Zero hero image

快速开始

Text2Video-Zero

本仓库是 Text2Video-Zero 的官方实现。

Text2Video-Zero:文本到图像扩散模型即为零样本视频生成器
Levon Khachatryan, Andranik Movsisyan, Vahram Tadevosyan, Roberto Henschel, Zhangyang Wang, Shant Navasardyan, Humphrey Shi

论文 | 视频 | Hugging Face Spaces | 项目


我们的方法 Text2Video-Zero 能够实现零样本视频生成,支持 (i) 文本提示(见第1、2行),(ii) 结合姿态或边缘引导的提示(见右下角),以及 (iii) Video Instruct-Pix2Pix,即指令引导的视频编辑(见左下角)。生成结果在时间上保持一致,并紧密遵循引导和文本提示。

最新消息

  • [2023年3月23日] 论文 Text2Video-Zero 发布!
  • [2023年3月25日] 我们的 Hugging Face 演示 第一个版本(包含 零样本文本到视频生成Video Instruct Pix2Pix)发布!
  • [2023年3月27日] 我们的 Hugging Face 演示 完整版本 发布!现在还新增了:文本与姿态条件下的视频生成文本与边缘条件下的视频生成,以及 文本、边缘和 DreamBooth 条件下的视频生成
  • [2023年3月28日] 我们所有生成方法的代码均已发布!我们新增了一种低显存配置。目前所需的最低 GPU 显存为 12 GB。未来版本将进一步降低这一要求。
  • [2023年3月29日] 优化后的 Hugging Face 演示 上线!(i) 对于文本到视频生成,现在可以加载 Hugging Face 上托管的 任意 Stable Diffusion 基础模型任意 DreamBooth 模型!(ii) 我们提升了 Video Instruct-Pix2Pix 的质量。(iii) 我们新增了两个更长的 Video Instruct-Pix2Pix 示例。
  • [2023年3月30日] 新版代码发布!包含了我们最新 Hugging Face 版本的所有改进。详情请参阅 3月29日的更新内容。此外,生成的文本到视频还可以具有 任意长度
  • [2023年4月6日] 我们将 Token Merging 集成到了代码中。当使用最高压缩率并将 chunk size 设置为 2 时,我们的代码可以在 低于 7 GB 显存 的情况下运行。
  • [2023年4月11日] 新版代码和 Hugging Face 演示发布!我们集成了基于 MiDaS深度控制
  • [2023年4月13日] 我们的算法已被集成到 🧨 Diffusers 中!

贡献

我们致力于推动 AI 民主化,激发每个人的创造力,而我们认为 Text2Video-Zero 是一个极具潜力的研究方向,能够释放优秀文本到图像模型在零样本视频生成和编辑方面的巨大潜能!

为了实现这一目标,我们欢迎所有贡献。请查看这些 Text2Video-Zero 的外部实现和扩展。感谢各位作者的努力与贡献:

环境搭建

  1. 克隆本仓库并进入:
git clone https://github.com/Picsart-AI-Research/Text2Video-Zero.git
cd Text2Video-Zero/
  1. 使用 Python 3.9 和 CUDA >= 11.6 安装依赖项
virtualenv --system-site-packages -p python3.9 venv
source venv/bin/activate
pip install -r requirements.txt

推理 API

要进行推理,需创建 Model 类的实例

import torch
from model import Model

model = Model(device = "cuda", dtype = torch.float16)

文本到视频

要直接调用我们的文本到视频生成器,运行以下 Python 命令,结果将保存至 tmp/text2video/A_horse_galloping_on_a_street.mp4

prompt = "A horse galloping on a street"
params = {"t0": 44, "t1": 47 , "motion_field_strength_x" : 12, "motion_field_strength_y" : 12, "video_length": 8}

out_path, fps = f"./text2video_{prompt.replace(' ','_')}.mp4", 4
model.process_text2video(prompt, fps = fps, path = out_path, **params)

若要使用不同的 Stable Diffusion 基础模型,运行以下 Python 命令:

from hf_utils import get_model_list
model_list = get_model_list()
for idx, name in enumerate(model_list):
  print(idx, name)
idx = int(input("Select the model by the listed number: ")) # 选择您心仪的模型
model.process_text2video(prompt, model_name = model_list[idx], fps = fps, path = out_path, **params)

可选超参数

您可以定义以下超参数:

  • 运动场强度motion_field_strength_x = $\delta_x$ 和 motion_field_strength_y = $\delta_y$ (详见我们的论文第 3.3.1 节)。默认值为:motion_field_strength_x=motion_field_strength_y= 12
  • $T$ 和 $T'$(详见我们的论文第 3.3.1 节)。可设置 t0t1 的值,范围为 {0,...,50}。默认值为:t0=44, t1=47(DDIM 步骤)。分别对应于时间步 881941
  • 视频长度:定义要生成的帧数 video_length。默认值为:video_length=8

带姿态控制的文本到视频

要直接调用我们的带姿态控制的文本到视频生成器,运行以下 Python 命令:

prompt = 'an astronaut dancing in outer space'
motion_path = '__assets__/poses_skeleton_gifs/dance1_corr.mp4'
out_path = f"./text2video_pose_guidance_{prompt.replace(' ','_')}.gif"
model.process_controlnet_pose(motion_path, prompt=prompt, save_path=out_path)

带边缘控制的文本转视频

要直接调用我们的带边缘控制的文本转视频生成器,请运行以下 Python 命令:

prompt = '一幅鹿的油画,高质量、细节丰富且专业的照片'
video_path = '__assets__/canny_videos_mp4/deer.mp4'
out_path = f'./text2video_edge_guidance_{prompt}.mp4'
model.process_controlnet_canny(video_path, prompt=prompt, save_path=out_path)

超参数

您可以为 Canny 边缘检测定义以下超参数:

  • 低阈值。定义 low_threshold 的值,范围为 $(0, 255)$。默认值:low_threshold=100
  • 高阈值。定义 high_threshold 的值,范围为 $(0, 255)$。默认值:high_threshold=200。请确保 high_threshold > low_threshold

您可以将超参数作为参数传递给 model.process_controlnet_canny


带边缘引导和 Dreambooth 专精的文本转视频

加载一个 Dreambooth 模型,然后按照“带边缘引导的文本转视频”中的说明进行操作。


prompt = '您的提示词'
video_path = '您视频的路径'
dreambooth_model_path = '您 Dreambooth 模型的路径'
out_path = f'./text2video_edge_db_{prompt}.gif'
model.process_controlnet_canny_db(dreambooth_model_path, video_path, prompt=prompt, save_path=out_path)

video_path 的值可以是 mp4 文件的路径。如果要使用提供的示例视频之一,可设置为 video_path="woman1"video_path="woman2"video_path="woman3"video_path="man1"

dreambooth_model_path 的值可以是扩散模型文件的链接,也可以是提供的 Dreambooth 模型之一的名称。为此,可设置为 dreambooth_model_path = "Anime DB"dreambooth_model_path = "Avatar DB"dreambooth_model_path = "GTA-5 DB"dreambooth_model_path = "Arcane DB"。对应的关键词分别为:1girl(用于 Anime DB)、arcane style(用于 Arcane DB)、avatar style(用于 Avatar DB)以及 gtav style(用于 GTA-5 DB)。

自定义 Dreambooth 模型

要加载自定义 Dreambooth 模型,需将控制权转移到自定义模型,并将其转换为扩散格式。随后,dreambooth_model_path 的值必须指向包含扩散文件的文件夹。Dreambooth 模型可以从例如 CIVITAI 获取。


视频指令-Pix2Pix

要进行 Pix2Pix 视频编辑,请运行以下 Python 命令:

prompt = '让它变成梵高的《星夜》'
video_path = '__assets__/pix2pix video/camel.mp4'
out_path = f'./video_instruct_pix2pix_{prompt}.mp4'
model.process_pix2pix(video_path, prompt=prompt, save_path=out_path)

带深度控制的文本转视频

要直接调用我们的带深度控制的文本转视频生成器,请运行以下 Python 命令:

prompt = '一幅鹿的油画,高质量、细节丰富且专业的照片'
video_path = '__assets__/depth_videos/deer.mp4'
out_path = f'./text2video_depth_control_{prompt}.mp4'
model.process_controlnet_depth(video_path, prompt=prompt, save_path=out_path)

低内存推理

上述每种接口都可以在低内存环境下运行。在最低配置下,只需一块拥有 12 GB VRAM 的 GPU 即可。

为了减少内存使用量,在调用上述推理 API 时,可添加 chunk_size=k 作为额外参数。整数 k 的取值范围为 {2,...,video_length}。它定义了每次处理的帧数(不会影响画质)。数值越小,所需的内存就越少。

当使用 Gradio 应用程序时,可在“高级选项”中设置 chunk_size

得益于 Token Merging 的出色工作,内存使用量还可以进一步降低。可以通过 merging_ratio 参数进行配置,其取值范围为 [0,1]。数值越高,压缩程度越大(从而加快推理速度并减少内存需求)。请注意,过高的数值会降低图像质量。

我们计划继续优化代码,以实现更低的内存消耗。


消融研究

要复现消融研究,在调用上述推理 API 时,需添加额外的参数。

  • 若要禁用“跨帧注意力”:在参数列表中添加 use_cf_attn=False
  • 若要禁用用“运动动态”丰富潜在编码:在参数列表中添加 use_motion_field=False

注意:添加 smooth_bg=True 可激活背景平滑功能。然而,我们的代码并不包含运行该功能所必需的显著物体检测器。


使用 Gradio 进行推理

点击查看详细信息。

从项目根目录运行以下 Shell 命令:

python app.py

然后使用浏览器在本地访问应用 http://127.0.0.1:7860

若要远程访问应用,运行以下 Shell 命令:

python app.py --public_access

有关公共访问的安全信息,请参阅 Gradio 的文档。


结果

文本转视频

“一只猫正在草地上奔跑” “一只熊猫在时代广场弹吉他” “一名男子正在雪地里跑步” “一名宇航员正滑雪下山”
“一只熊猫正在玩醒板冲浪” “一只熊在时代广场跳舞” “一名男子在阳光下骑自行车” “一匹马正在街道上飞奔”
“一只老虎独自走在街道上” “一只熊猫正在玩醒板冲浪” “一匹马正在街道上飞奔” “一只可爱的小猫在美丽的草地上奔跑”
“一匹马正在街道上飞奔” “一只熊猫独自走在街道上” “一只狗正在街上散步” “一名宇航员正在月球上挥手”

带姿态引导的文本转视频

“一只熊在水泥地上跳舞” “一个外星人在飞碟下跳舞” “一只熊猫在南极洲跳舞” “一名宇航员在太空中跳舞”

带边缘引导的文本转视频

</table.

带边缘引导和Dreambooth微调的文本转视频

“白蝴蝶” “美丽女孩” “一只水母” “万圣节风格的美丽女孩”
“一只野生狐狸正在行走” “一幅美丽女孩的油画特写” “一位圣诞老人” “一只鹿”
</table.

视频指令Pix2Pix

“动漫风格” “炼金术士风格” “GTA-5风男子” “头像风格”

相关链接

许可证

我们的代码采用 CreativeML Open RAIL-M 许可证发布。本仓库中的许可证适用于我们在原始 Stable Diffusion 代码基础上所做的所有新增和贡献。原始 Stable Diffusion 代码同样采用 CreativeML Open RAIL-M 许可证,该许可证可在此处找到。

BibTeX

如果您在研究中使用了我们的工作,请引用我们的论文:

@article{text2video-zero,
    title={Text2Video-Zero: 文本到图像扩散模型即为零样本视频生成器},
    author={Khachatryan, Levon and Movsisyan, Andranik and Tadevosyan, Vahram and Henschel, Roberto and Wang, Zhangyang and Navasardyan, Shant and Shi, Humphrey},
    journal={arXiv 预印本 arXiv:2303.13439},
    year={2023}
}

使用 Text2Video-Zero 的其他方式

您也可以通过以下方式使用 Text2Video-Zero:

点击查看详细信息。

Text2Video-Zero 在 🧨 Diffusers 库中

0.15.0 版本起,Text2Video-Zero 已在 🧨 Diffusers 中可用

您可以使用以下命令安装 Diffusers:

virtualenv --system-site-packages -p python3.9 venv
source venv/bin/activate
pip install diffusers torch imageio

要根据文本提示生成视频,请运行以下命令:

import torch
import imageio
from diffusers import TextToVideoZeroPipeline

# 加载 Stable Diffusion 模型权重
model_id = "runwayml/stable-diffusion-v1-5"

# 创建 TextToVideoZero 流水线
pipe = TextToVideoZeroPipeline.from_pretrained(model_id, torch_dtype=torch.float16).to("cuda")

# 定义文本提示
prompt = "一只熊猫正在时代广场弹吉他"

# 使用我们的流水线生成视频
result = pipe(prompt=prompt).images
result = [(r * 255).astype("uint8") for r in result]

# 保存生成的视频
imageio.mimsave("video.mp4", result, fps=4)

如需更多信息,包括如何进行“文本与姿态条件下的视频生成”、“文本与边缘条件下的视频生成”以及“文本、边缘和 DreamBooth 条件下的视频生成”,请参阅文档

常见问题

相似工具推荐

Deep-Live-Cam

Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具,用户仅需一张静态照片,即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点,让高质量的数字内容创作变得触手可及。 这款工具不仅适合开发者和技术研究人员探索算法边界,更因其极简的操作逻辑(仅需三步:选脸、选摄像头、启动),广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换,还是制作趣味短视频和直播互动,Deep-Live-Cam 都能提供流畅的支持。 其核心技术亮点在于强大的实时处理能力,支持口型遮罩(Mouth Mask)以保留使用者原始的嘴部动作,确保表情自然精准;同时具备“人脸映射”功能,可同时对画面中的多个主体应用不同面孔。此外,项目内置了严格的内容安全过滤机制,自动拦截涉及裸露、暴力等不当素材,并倡导用户在获得授权及明确标注的前提下合规使用,体现了技术发展与伦理责任的平衡。

88.9k|★★★☆☆|4天前
开发框架图像Agent

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85.1k|★★☆☆☆|2天前
图像数据工具视频

MoneyPrinterTurbo

MoneyPrinterTurbo 是一款利用 AI 大模型技术,帮助用户一键生成高清短视频的开源工具。只需输入一个视频主题或关键词,它就能全自动完成从文案创作、素材匹配、字幕合成到背景音乐搭配的全过程,最终输出完整的竖屏或横屏短视频。 这款工具主要解决了传统视频制作流程繁琐、门槛高以及素材版权复杂等痛点。无论是需要快速产出内容的自媒体创作者,还是希望尝试视频生成的普通用户,无需具备专业的剪辑技能或昂贵的硬件配置(普通电脑即可运行),都能轻松上手。同时,其清晰的 MVC 架构和对多种主流大模型(如 DeepSeek、Moonshot、通义千问等)的广泛支持,也使其成为开发者进行二次开发或技术研究的理想底座。 MoneyPrinterTurbo 的独特亮点在于其高度的灵活性与本地化友好性。它不仅支持中英文双语及多种语音合成,允许用户精细调整字幕样式和画面比例,还特别优化了国内网络环境下的模型接入方案,让用户无需依赖 VPN 即可使用高性能国产大模型。此外,工具提供批量生成模式,可一次性产出多个版本供用户择优,极大地提升了内容创作的效率与质量。

55k|★★★☆☆|5天前
开发框架语言模型Agent

oh-my-openagent

oh-my-openagent(简称 omo)是一款强大的开源智能体编排框架,前身名为 oh-my-opencode。它致力于打破单一模型供应商的生态壁垒,解决开发者在构建 AI 应用时面临的“厂商锁定”难题。不同于仅依赖特定模型的封闭方案,omo 倡导开放市场理念,支持灵活调度多种主流大模型:利用 Claude、Kimi 或 GLM 进行任务编排,调用 GPT 处理复杂推理,借助 Minimax 提升响应速度,或发挥 Gemini 的创意优势。 这款工具特别适合希望摆脱平台限制、追求极致性能与成本平衡的开发者及研究人员使用。通过统一接口,用户可以轻松组合不同模型的长处,构建更高效、更具适应性的智能体系统。其独特的技术亮点在于“全模型兼容”架构,让用户不再受制于某一家公司的策略变动或定价调整,真正实现对前沿模型资源的自由驾驭。无论是构建自动化编码助手,还是开发多步骤任务处理流程,oh-my-openagent 都能提供灵活且稳健的基础设施支持,助力用户在快速演进的 AI 生态中保持技术主动权。

50k|★★☆☆☆|今天
视频语言模型开发框架

tabby

Tabby 是一款可私有化部署的开源 AI 编程助手,旨在为开发团队提供 GitHub Copilot 的安全替代方案。它核心解决了代码辅助过程中的数据隐私顾虑与云端依赖问题,让企业能够在完全掌控数据的前提下享受智能代码补全、聊天问答及上下文理解带来的效率提升。 这款工具特别适合注重代码安全的企业开发团队、希望本地化运行大模型的科研机构,以及拥有消费级显卡的个人开发者。Tabby 的最大亮点在于其“开箱即用”的自包含架构,无需配置复杂的数据库或依赖云服务即可快速启动。同时,它对硬件十分友好,支持在普通的消费级 GPU 上流畅运行,大幅降低了部署门槛。此外,Tabby 提供了标准的 OpenAPI 接口,能轻松集成到现有的云 IDE 或内部开发流程中,并支持通过 REST API 接入自定义文档以增强知识上下文。从代码自动补全到基于 Git 仓库的智能问答,Tabby 致力于成为开发者身边懂业务、守安全的智能伙伴。

33.3k|★★★☆☆|2天前
开发框架语言模型Agent

onlook

Onlook 是一款专为设计师打造的开源 AI 优先设计工具,被誉为“设计师版的 Cursor”。它旨在打破设计与开发之间的壁垒,让用户能够以可视化的方式直接构建、样式化和编辑 React 应用。通过 Onlook,用户无需深入编写复杂代码,即可在类似 Figma 的直观界面中完成网页原型的搭建与调整,并实时预览最终效果。 这款工具主要解决了传统工作流中设计稿到代码转换效率低、沟通成本高的问题。以往,设计师使用 Figma 等工具完成设计后,需要开发人员手动将其转化为代码,过程繁琐且容易出错。Onlook 允许用户直接在浏览器 DOM 中进行可视化编辑,底层自动生成基于 Next.js 和 TailwindCSS 的高质量代码,实现了“所见即所得”的开发体验。它不仅支持从文本或图像快速生成应用,还具备分支管理、资源管理及一键部署等功能,极大地简化了从创意到成品的流程。 Onlook 特别适合前端开发者、UI/UX 设计师以及希望快速验证产品创意的独立开发者使用。对于设计师而言,它降低了参与前端开发的门槛;对于开发者来说,它提供了一个高效的视觉化调试和原型构建环境。其核心技术亮点在于

25k|★★★★☆|1周前
Agent图像视频
“把男人换成黑猩猩” “让它变成梵高《星夜》风格” “让它变成毕加索风格” “让它变成表现主义风格” “让它变成夜晚场景” “让它变成秋天景象”