【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 

七、使用流程说明

  1. 打开页面,输入 Access Key / Secret Key
  2. 上传一张 人物图片
  3. 上传一段 音频文件
  4. (可选)输入 Prompt 描述
  5. 点击「开始检测」
  6. 从检测到的主体中选择目标(或选择原图)
  7. 等待视频生成完成
  8. 在线预览并下载生成的视频

八、常见注意事项

  • 建议使用 清晰正脸人物图像
  • 音频时长不宜过长(建议 < 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 模板与预设管理

如需进一步定制或扩展,请根据实际业务需求进行二次开发。

Read more

【论文笔记】Scalable Defense against In-the-wild Jailbreaking Attacks with Safety Context Retrieval

论文信息 论文标题: Scalable Defense against In-the-wild Jailbreaking Attacks with Safety Context Retrieval - ICML 2025 论文作者: Taiye Chen , Zeming Wei , Ang Li , Yisen Wang - PKU 论文链接:http://arxiv.org/abs/2505.15753 关键词: LLM Safety, Jailbreaking, RAG 研究背景 尽管大语言模型(LLMs)经过了人类反馈强化学习(RLHF)等安全对齐技术处理,但仍易受到“越狱攻击”(Jailbreaking Attacks)的威胁,即通过精心设计的提示词诱导模型产生有害输出。

FPGA比特流(Bitstream)深度解析

FPGA比特流(Bitstream)深度解析 🔍 什么是比特流(Bitstream)? 简单理解:比特流是FPGA的"配置数据",就像给一块空白的可编程电路板"装配零件"的指令清单。 形象比喻: 你的Verilog代码 → 综合/布局布线 → 比特流 (建筑图纸) (施工过程) (具体施工指令) 🧩 比特流的本质 1. FPGA内部结构 FPGA由数百万个可配置单元组成: ┌─────────────────────────────────┐ │ ┌───┐ ┌───┐ ┌───┐ ┌───┐ │ │ │LUT│──│FF │──│LUT│──│FF │ │ 查找表(LUT) │ └───┘ └───┘ └───┘ └───┘ │ 触发器(FF) │ │ │ │ │ │ 可编程互连 │ ┌───────────────────────────┐ │ │ │ 可编程互连矩阵(Switch) │ │ │ └───────────────────────────┘ │ │ ┌───┐ ┌───┐ ┌───┐ ┌───┐ │ │ │LUT│──│MUX│──│LUT│

ROS2中的TF(Transform)系统:机器人坐标系的管理神器

ROS 2 TF 概述 TF(Transform) 是ROS中用于跟踪多个坐标系之间变换关系的库。在ROS 2中,TF系统被重构为 TF2,提供了更高效、更灵活的坐标变换管理。 核心概念 1. 坐标系(Frame) * 每个机器人部件、传感器或环境物体都有自己的坐标系 * 例如:base_link(机器人基座)、laser(激光雷达)、camera(相机) 2. 变换(Transform) * 描述两个坐标系之间的平移(translation)和旋转(rotation)关系 * 表示为:frame_B 相对于 frame_A 的位置和姿态 3. 变换树(Transform Tree) * 所有坐标系通过父子关系连接成一棵树 * 必须有一个根坐标系(通常是map或odom) ROS

FPGA图像处理之:图像畸变矫正原理及matlab与fpga实现

FPGA图像处理之:图像畸变矫正原理及matlab与fpga实现

一、概述         图像畸变矫正(Image Distortion Correction)是图像处理中的重要任务,通常用于纠正因镜头畸变、拍摄角度等原因造成的图像失真。它的核心原理涉及几何变换,通过对图像进行变换,使其恢复到理想状态。 (一)图像畸变的类型         1.径向畸变(Radial Distortion):         主要表现为图像中心到边缘的失真,常见的有“桶形畸变”(Barrel Distortion)和“枕形畸变”(Pincushion Distortion)。         桶形畸变:图像的边缘向外膨胀。         枕形畸变:图像的边缘向内收缩。         2.切向畸变(Tangential Distortion):         由于相机镜头的装配不精确,可能会导致图像出现某些不规则的切向失真。 (二)畸变矫正的原理         图像畸变矫正的目标是通过数学模型来恢复图像的真实几何结构。一般采用如下的模型来进行畸变建模与矫正: (1)径向畸变模型:         径向畸变模型通常采用以下公式: