即梦数字人视频生成(Streamlit Demo)
基于火山引擎即梦(Jimeng)CV API的数字人视频生成示例项目。
支持图片 + 音频驱动的数字人视频生成流程,集成了主体检测、Mask 选择、Prompt 控制、视频生成与下载等完整功能,适合内部测试 / 技术演示 / 二次开发。
一、功能概览
✅ 核心功能
🔐AK / SK 在线填写
支持火山引擎 Access Key / Secret Key 在页面中直接输入
无需写死在代码中,便于多账号切换
api key申请地址:https://console.volcengine.com/iam/keymanage
🖼图片上传(人物图像)
支持 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 venvsourcevenv/bin/activateWindows:
venv\\Scripts\\activate2️⃣ 安装 Python 依赖
直接安装:
pipinstallstreamlit requests pillow numpy或使用requirements.txt:
streamlit>=1.30 requests>=2.28 Pillow>=9.5 numpy>=1.23pipinstall-r requirements.txt四、目录结构说明
. ├── app.py # Streamlit 主程序 ├── res/ # 生成的视频结果保存目录 ├── requirements.txt # Python 依赖 └── README.md请确保res目录存在:
mkdir-p res五、静态文件服务配置(非常重要)
项目中会将上传的图片 / 音频保存到本地目录,并通过 HTTP 方式对外暴露。
示例配置(本地测试)
UPLOAD_DIR="/home/yourname/data/uploads"PUBLIC_BASE_URL="http://你的IP:8000"启动一个简单的 HTTP 服务:
cd/home/yourname/data/uploads python -m http.server8000生产环境建议使用:
- nginx
- caddy
- cloudflared
生产环境配置步骤
- 安装cloudflared
# 下载wgethttps://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64# 改名mvcloudflared-linux-amd64 cloudflared# 加执行权限chmod+x cloudflared# 移到 PATHsudomvcloudflared /usr/local/bin/- 启动运行
本地启动 HTTP 服务
cd/home/yourname/data/uploads python -m http.server8000新开一个终端,启动隧道
cloudflared tunnel --url http://localhost:8000会看到类似输出:
https://random-name.trycloudflare.com
访问你的音频
https://random-name.trycloudflare.com/test.mp3
六、启动项目
streamlit run app.py浏览器访问:
http://localhost:8501七、使用流程说明
打开页面,输入Access Key / Secret Key
上传一张人物图片
上传一段音频文件
(可选)输入Prompt 描述
点击「开始检测」
从检测到的主体中选择目标(或选择原图)
等待视频生成完成
在线预览并下载生成的视频
八、常见注意事项
建议使用清晰正脸人物图像
音频时长不宜过长(建议 < 60 秒)
若接口返回失败,请重点检查:
AK / SK 是否正确
图片 / 音频 URL 是否能被公网访问
文件格式是否符合要求
九、适用场景
数字人 / 虚拟人能力演示
内部技术验证
API 调用示例参考
二次开发或功能扩展基础工程
十、项目地址及页面
https://github.com/min-star/omnihuman-api.git
页面展示
十一、免责声明
本项目仅作为火山引擎即梦 API 使用示例(Demo)。
生成效果、接口能力、配额限制等以火山引擎官方文档为准。
参考链接:https://jimeng.jianying.com/ai-tool/generate?type=digitalHuman
十二、可扩展方向(建议)
Docker 一键部署
AK / SK 使用环境变量管理
多任务队列 / 并发控制
历史任务与结果管理
Prompt 模板与预设管理
如需进一步定制或扩展,请根据实际业务需求进行二次开发。