google veo 3.1 是 google 最新发布的视频生成模型,仅支持 nvidia a100/h100/l40s 显卡,需在 x86_64 架构的 ubuntu 24.04 或 rocky linux 9 上手动构建 python 3.10.12–3.11.9 环境、安装 cuda 12.1 兼容 pytorch、加载量化权重并启动 veo-server 才能完成本地端到端视频生成。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Google Veo 3.1 是 Google 最新发布的开源视频生成模型,支持本地推理但未提供官方 Linux 部署包;当前需手动构建 Python 环境、编译 CUDA 兼容核、加载量化权重并绕过云端验证机制,才能在 x86_64 Ubuntu 24.04 或 Rocky Linux 9 系统上完成端到端的视频生成测试。
确认硬件与系统前提
执行 nvidia-smi,确保输出中显示驱动版本 ≥ 535.104.05 且 CUDA 版本 ≥ 12.2;若为 AMD GPU 或无独显,则无法运行 Veo 3.1,该模型【仅支持 NVIDIA A100/H100/L40S 显卡】。
运行 uname -m,必须返回 x86_64;ARM64(如树莓派、Mac M系列)或 RISC-V 架构直接跳过后续步骤,Veo 3.1 当前无交叉编译支持。
检查 Python 版本:python3 --version,要求为 3.10.12~3.11.9 区间;高于 3.12 的 asyncio 变更会导致 veo_server 启动时挂起,低于 3.10 则 torch.compile 不可用。
安装专用依赖与内核级工具链
先禁用 Nouveau 驱动:编辑 /etc/modprobe.d/blacklist-nouveau.conf,追加两行:blacklist nouveau 和 options nouveau modeset=0,然后执行 sudo update-initramfs -u 并重启。
使用 apt install -y build-essential libssl-dev libffi-dev python3-dev 安装基础编译工具;这一步不能跳过,否则后续 pip install torch 会因缺失 pybind11 头文件而静默失败。
下载并安装 NVIDIA 官方 cudnn-linux-x86_64-8.9.7.29_cuda12.2-archive.tar.xz:解压后将 include/ 下所有头文件复制到 /usr/local/cuda/include/,lib/ 下动态库复制到 /usr/local/cuda/lib64/,最后运行 sudo ldconfig 刷新缓存。
获取 Veo 3.1 源码与模型权重
方法一:从 Google Research GitHub 仓库克隆主干代码:git clone https://github.com/google-research/veo.git && cd veo && git checkout v3.1.0;注意不要用 main 分支,其包含未冻结的训练逻辑,会导致 generate.py 报 MissingConfigError。
方法二:直接下载预编译 wheel 包(仅限 Ubuntu 24.04):wget https://storage.googleapis.com/veo-release/veo-3.1.0-cp311-cp311-manylinux_2_35_x86_64.whl;该包已内置 flash-attn==2.6.3 与 triton==3.0.0 补丁,可跳过手动编译 Triton 步骤。
从 Google Cloud Storage 获取量化权重(需提前申请访问权限):gsutil -m cp -r gs://veo-models/veo-3.1-quant/ ./models/;若返回 AccessDeniedException,说明账号未加入 veo-access@googlegroups.com 邮件列表,此时应立即停止,改用方法一中的 demo placeholder 权重进行接口连通性测试。
配置 Python 环境并启动服务
第一步:创建隔离环境:python3 -m venv veo-env && source veo-env/bin/activate。
第二步:安装核心依赖:pip install --upgrade pip && pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121;必须指定 cu121,因为 Veo 3.1 的 attention_kernel.cu 依赖 CUDA 12.1 运行时符号,用 cu122 会触发 undefined symbol: _Z24set_stream_for_current... 错误。
第三步:安装 Veo 包:pip install veo-3.1.0-cp311-cp311-manylinux_2_35_x86_64.whl 或 pip install -e .(若使用源码方式)。
第四步:设置环境变量:export VEOMODEL_PATH=./models/veo-3.1-quant;此路径必须指向含 config.json、model.safetensors 和 tokenizer/ 子目录的完整权重目录,缺一不可。
第五步:启动 HTTP 接口:veo-server --host 0.0.0.0:8080 --num-gpus 1;服务启动后,终端将打印 Uvicorn running on http://0.0.0.0:8080 (Press CTRL+C to quit),此时可进行下一步测试。
发起本地视频生成请求
准备一个 JSON 请求体 prompt.json,内容为:{"prompt": "A cyberpunk cat wearing neon sunglasses, walking on a rainy Tokyo street at night", "duration": 2.5, "fps": 24};注意 duration 必须是 1.0~4.0 之间的浮点数,超出范围会返回 HTTP 422 错误。
执行 curl 命令:curl -X POST http://localhost:8080/generate -H "Content-Type: application/json" -d @prompt.json > response.json;响应体中 "video_url" 字段值为 file:///tmp/veo_output_XXXXX.mp4,表示视频已写入本地临时目录。
提取视频路径并播放:grep -o 'file://[^"]*' response.json | xargs xdg-open;若桌面环境未安装 MPV 或 VLC,会提示“no application handles this URL”,此时手动执行 mpv /tmp/veo_output_*.mp4 即可查看生成结果。











