【AIGC】即梦omnihuaman-api调用实现
即梦数字人视频生成(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 venv source venv/bin/activate Windows:
venv\\Scripts\\activate 2️⃣ 安装 Python 依赖
直接安装:
pip install streamlit requests pillow numpy 或使用 requirements.txt:
streamlit>=1.30 requests>=2.28 Pillow>=9.5 numpy>=1.23 pip install -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.server 8000生产环境建议使用:
nginx
caddy
cloudflared
生产环境配置步骤
- 安装cloudflared
# 下载wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 # 改名mv cloudflared-linux-amd64 cloudflared # 加执行权限chmod +x cloudflared # 移到 PATHsudomv cloudflared /usr/local/bin/ - 启动运行
本地启动 HTTP 服务
cd /home/yourname/data/uploads python -m http.server 8000新开一个终端,启动隧道
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 模板与预设管理
如需进一步定制或扩展,请根据实际业务需求进行二次开发。