即梦数字人视频生成(Streamlit Demo)
基于火山引擎即梦(Jimeng)CV API 的数字人视频生成示例项目。
支持图片 + 音频驱动的数字人视频生成流程,集成了主体检测、Mask 选择、Prompt 控制、视频生成与下载等完整功能,适合内部测试、技术演示及二次开发。
一、功能概览
核心功能
- AK / SK 在线填写:支持火山引擎 Access Key / Secret Key 在页面中直接输入,无需写死在代码中,便于多账号切换。
- 图片上传(人物图像):支持 JPG / PNG 格式,自动保存到本地并生成公网可访问 URL。
- 音频上传(驱动音频):支持 MP3 / WAV 格式,作为数字人说话 / 表情驱动音频。
- 人物 / 主体检测:调用即梦目标检测接口,自动识别图片中的多个主体,返回每个主体对应的 Mask。
- Mask 裁剪与可视化预览:根据 Mask 自动裁剪主体区域,按最长边缩放,统一预览尺寸。
- 主体选择机制:可从多个检测到的主体中选择,支持不使用 Mask,直接使用原图模式。
- Prompt 驱动控制:支持输入文本 Prompt,用于控制表情、稳定性、真实感、风格等。
- 数字人视频生成:提交视频生成任务,自动轮询任务状态。
- 视频结果展示与下载:生成完成后可直接在线播放,支持下载 MP4 文件,视频按时间 + UUID 自动命名并保存。
二、运行环境要求
- Python ≥ 3.9(推荐 3.10)
- 操作系统:Linux / macOS / Windows
- 一个可公网访问的静态文件服务(用于图片和音频 URL)
⚠️ 火山引擎接口要求: 图片和音频 URL 必须可以被公网直接访问
三、依赖安装
1. 创建虚拟环境(强烈推荐)
python -m venv venv
source venv/bin/activate
Windows:
venv\Scripts\activate
2. 安装 Python 依赖
直接安装:
pip install streamlit requests pillow numpy
或使用 requirements.txt:
pip install -r requirements.txt
四、目录结构说明
.
├── app.py # Streamlit 主程序
├── res/ # 生成的视频结果保存目录
├── requirements.txt # Python 依赖
└── README.md
请确保 res 目录存在:
mkdir -p res
五、静态文件服务配置(非常重要)
项目中会将上传的图片 / 音频保存到本地目录,并通过 HTTP 方式对外暴露。

