基于火山引擎API的AI视频生成客户端,支持单图音频驱动视频生成、视频改口型、创意特效视频生成、即梦AI数字人生成、即梦AI动作模仿、单图视频驱动和图片换装。
根据用户上传的单张图片+音频,生成该图片对应的视频效果。用户上传的单张图片可以是人像图片,也可以是宠物图片/动漫图片等。
输入一段单人口播视频+音频,在保留说话人形象特点的前提下,将视频中的人物口型根据指定的音频输入进行修改。支持Lite模式和Basic模式,适用于各种场景需求。
基于单张图片或双张图片,使用AI技术生成各种创意特效视频,支持49种不同的特效模板,涵盖卡通变身、情感互动、变装换装等多种风格。
基于单张图片和音频,生成高质量的数字人视频。支持OmniHuman 1.0和1.5两个版本,具备主体识别、对象检测、提示词控制等高级功能。
输入单张图片和模板视频,生成模仿视频动作的视频。支持真人、动漫、宠物的动作和表情模仿。
输入单张图片和驱动视频,生成以图片场景和人物模仿视频动作的视频。支持人脸表情和肢体动作驱动,输出高分辨率视频。
基于用户输入的服装图片,更换到指定的模特图上。即输入服装图 + 模特图,输出模特穿着指定服装的照片。支持复杂的模特pose和任意品类/款式的服装图输入,能够合成真实的褶皱和光影效果。
- V1版:同步接口,单件服装,快速响应
- V2版:异步接口,支持多件服装组合(上衣+下衣),丰富的推理参数
| 模式 | 驱动范围 | 输出比例 | 最大音频长度 | 支持类型 | 特点 |
|---|---|---|---|---|---|
| 普通模式 (normal) |
嘴部 | 原图比例 | 180秒 | 真人、动漫、宠物 | 嘴部精准驱动,支持多人/多宠物 |
| 灵动模式 (loopy) |
全脸 | 固定1:1 (512*512) |
180秒(真人) 90秒(宠物) |
真人、动漫、宠物 | 运动幅度大,表情丰富,随机性强 |
| 大画幅灵动模式 (loopyb) |
全脸+膝盖以上身体 | 多种比例 (16:9,9:16,3:4,4:3) |
45秒 | 真人、动漫 (不支持宠物) |
半身驱动,身体+脸部动作 |
| 模式 | 适用场景 | 最大音频长度 | 视频要求 | 特殊功能 |
|---|---|---|---|---|
| Lite模式 (lite) |
单人正面视频 | 240秒 | 360p-1080p,mp4/mov格式 | 视频循环、倒放循环、开始时间设置 |
| Basic模式 (basic) |
单人复杂场景 | 150秒 | 360p-1080p,mp4/mov格式 | 人声分离、场景切分、说话人识别 |
| 项目 | 要求说明 |
|---|---|
| 输入图片 | 格式:jpeg/jpg/png 分辨率:512x512 - 4096x4096 需公网可访问 |
| 驱动视频 | 格式:mp4/mov/webm 分辨率:540-2048 时长:最大30秒 需公网可访问 |
| 输出视频 | 分辨率:960x540 或 896x672 格式:mp4 驱动范围:全脸+肢体动作 |
| 收费标准 | 0.3元/秒,并发限制1 |
| 支持场景 | 真人、正面场景、无遮挡、无快速运动 |
| 项目 | 要求说明 |
|---|---|
| 输入模特图 | 格式:JPG/JPEG/PNG/JFIF 文件大小:小于5MB 分辨率:小于4096*4096 需公网可访问,建议人物主体清晰 |
| 输入服装图 | 格式:JPG/JPEG/PNG/JFIF 文件大小:小于5MB 分辨率:小于4096*4096 支持平铺图、挂拍图、上身图等 |
| 输出图片 | 格式:PNG 含AI生成标识和隐式水印 |
| 收费标准 | 1元/次,并发限制1 |
| 支持类型 | 真人、动漫人物、CG人物 各种姿势和画幅 |
| 优势特点 | 支持复杂模特pose、任意品类服装、自动生成褶皱和光影 |
- 五官清晰正面的单人人像:灵动模式 > 普通模式
- 多人照片:普通模式支持识别任意一人,灵动模式最多支持双人
- 五官清晰完整的正脸宠物:灵动模式 > 普通模式
- 非正面或遮挡:灵动模式表现更好
- 多宠物照片:普通模式支持识别任意一个
- 偏真人五官:灵动模式 > 普通模式
- 漫画鼻/漫画嘴:普通模式驱动微弱,灵动模式可以驱动
pip install -r requirements.txt在运行前需要设置环境变量:
Windows:
set VOLCENGINE_ACCESS_KEY=your_access_key_here
set VOLCENGINE_SECRET_KEY=your_secret_key_hereLinux/Mac:
export VOLCENGINE_ACCESS_KEY=your_access_key_here
export VOLCENGINE_SECRET_KEY=your_secret_key_herepython volcengine_ai.py -h# 普通模式
python volcengine_ai.py va create "图片URL" "音频URL" --mode normal
# 灵动模式
python volcengine_ai.py va create "图片URL" "音频URL" --mode loopy
# 大画幅模式
python volcengine_ai.py va create "图片URL" "音频URL" --mode loopybpython volcengine_ai.py va create-avatar "图片URL" --mode normalpython volcengine_ai.py va query-avatar "任务ID" --mode normalpython volcengine_ai.py va create-video "形象ID" "音频URL" --mode normalpython volcengine_ai.py va query-video "任务ID" --mode normalpython volcengine_ai.py va query-video "任务ID" --mode normal --download --filename "视频名称.mp4"python volcengine_ai.py va avatarspython volcengine_ai.py va create-video "形象ID" "音频URL" --mode normal# 基础用法
python volcengine_ai.py vl create "视频URL" "音频URL" --mode lite
# 开启视频循环(音频长于视频时)
python volcengine_ai.py vl create "视频URL" "音频URL" --mode lite --align-audio
# 设置视频开始时间(从第5秒开始)
python volcengine_ai.py vl create "视频URL" "音频URL" --mode lite --templ-start-seconds 5
# 开启倒放循环(解决循环跳变问题)
python volcengine_ai.py vl create "视频URL" "音频URL" --mode lite --align-audio --align-audio-reverse# 基础用法
python volcengine_ai.py vl create "视频URL" "音频URL" --mode basic
# 开启人声分离(抑制背景杂音)
python volcengine_ai.py vl create "视频URL" "音频URL" --mode basic --separate-vocal
# 开启场景切分与说话人识别
python volcengine_ai.py vl create "视频URL" "音频URL" --mode basic --open-scenedet
# 组合使用
python volcengine_ai.py vl create "视频URL" "音频URL" --mode basic --separate-vocal --open-scenedet# 查询状态
python volcengine_ai.py vl query "任务ID" --mode lite
# 查询状态并下载
python volcengine_ai.py vl query "任务ID" --mode lite --download
# 下载并指定文件名
python volcengine_ai.py vl query "任务ID" --mode lite --download --filename "我的改口型视频.mp4"python volcengine_ai.py ve templates# 卡通变身
python volcengine_ai.py ve create "图片URL" becoming_doll
# 召唤坐骑
python volcengine_ai.py ve create "图片URL" all_things_ridability_pig
# 万物生花
python volcengine_ai.py ve create "图片URL" all_things_bloom_with_flowers
# AI环绕(美女/帅哥)
python volcengine_ai.py ve create "图片URL" beauty_surround_720p
# 天赐宝宝
python volcengine_ai.py ve create "图片URL" ai_baby_720p
# 双图模板 - 爱的拥抱
python volcengine_ai.py ve create "图片1.jpg|图片2.jpg" double_embrace# emoji小人变身
python volcengine_ai.py ve create "图片URL" multi_style_stacking_dolls
# 梦幻娃娃变身
python volcengine_ai.py ve create "图片URL" fluffy_dream_doll_s2e_720p
# 我的世界风
python volcengine_ai.py ve create "图片URL" my_world_720p
# 装进水晶球
python volcengine_ai.py ve create "图片URL" crystal_ball_720p
# 天使手办变身
python volcengine_ai.py ve create "图片URL" angel_figure_720p
# 毛毡钥匙扣变身
python volcengine_ai.py ve create "图片URL" felt_keychain_720p
# 拍立得风
python volcengine_ai.py ve create "图片URL" polaroid_720p
# 潮玩手办变身
python volcengine_ai.py ve create "图片URL" blister_pack_action_figure_720p
# 双图模板 - 法式热吻
python volcengine_ai.py ve create "图片1.jpg|图片2.jpg" french_kiss_dual_version_720p
# 变装比基尼
python volcengine_ai.py ve create "图片URL" costume_bikini_720p
# 热舞
python volcengine_ai.py ve create "图片URL" hot_dance_720p
# 变身美人鱼
python volcengine_ai.py ve create "图片URL" transform_into_mermaid_720ppython volcengine_ai.py ve query "任务ID"# 使用默认文件名下载
python volcengine_ai.py ve query "任务ID" --download
# 指定文件名下载
python volcengine_ai.py ve query "任务ID" --download --filename "我的特效视频.mp4"python volcengine_ai.py jm va create-avatar "图片URL" "音频URL" "一个微笑的年轻女性" --mode 1.0python volcengine_ai.py jm va create-avatar "图片URL" "音频URL" "一个穿着蓝色衬衫的男性" --mode 1.5 --subject-id 1 --enable-object-detection# 主体检测
python volcengine_ai.py jm va detect "图片URL" "一个可爱的宠物" --mode 1.5
# 对象检测(1.5版专用)
python volcengine_ai.py jm va detect-object 1 12345678 --mode 1.5
# 查询结果
python volcengine_ai.py jm va query 87654321 --mode 1.5python volcengine_ai.py jm mimic create "图片URL" "视频URL"python volcengine_ai.py jm mimic query "任务ID"python volcengine_ai.py vv create "图片URL" "驱动视频URL"python volcengine_ai.py vv query "任务ID"python volcengine_ai.py vv query "任务ID" --filename "我的驱动视频.mp4"# 基础用法
python volcengine_ai.py io generate "模特图片URL" "服装图片URL"
# 指定保存文件名
python volcengine_ai.py io generate "模特图片URL" "服装图片URL" --filename "我的换装图片.png"
# 不自动下载,只返回URL
python volcengine_ai.py io generate "模特图片URL" "服装图片URL" --no-download
# 自定义推理参数
python volcengine_ai.py io generate "模特图片URL" "服装图片URL" --seed 12345 --num-steps 40
# 保持模特原图的某些部位
python volcengine_ai.py io generate "模特图片URL" "服装图片URL" --keep-head --keep-hand --keep-foot# V2版单件服装
python volcengine_ai.py io generate "模特图片URL" "服装图片URL" --version 2
# V2版多件服装(上衣+下衣)
python volcengine_ai.py io generate "模特图片URL" "上衣URL|下衣URL" --version 2 --garment-types upper bottom
# V2版自定义推理参数
python volcengine_ai.py io generate "模特图片URL" "服装URL" --version 2 --num-steps 20 --tight-mask bbox
# V2版保护区域配置
python volcengine_ai.py io generate "模特图片URL" "服装URL" --version 2 --protect-mask-url "保护区域图URL"| 特性 | V1版 | V2版 |
|---|---|---|
| 接口类型 | 同步 | 异步 |
| 响应时间 | 快速 | 需等待任务完成 |
| 服装数量 | 单件 | 最多2件(上衣+下衣) |
| 服装类型 | 无需分类 | 支持分类(upper/bottom/full) |
| 推理参数 | 基础参数 | 丰富参数配置 |
| 保护区域 | 不支持 | 支持保护区域图 |
| 处理模式 | CVProcess | CVSubmitTask + CVGetResult |
model_url: 模特图片URL(必选)garment_url: 服装图片URL(必选,V2版支持多个URL用|分隔)
--version: API版本选择(1: V1版同步接口, 2: V2版异步接口,默认: 1)
--filename: 保存文件名--no-download: 不自动下载图片,只返回URL--model-id: 模特ID(V1版默认: 1)--garment-id: 服装ID(V1版默认: 1)
--seed: 随机种子参数(-1表示随机)--num-steps: 模型推理步数- V1版:25-50(默认: 50)
- V2版:8-50(默认: 16)
--no-sr: 不对结果进行超分处理
--keep-head: 保持模特原图的头(包括发型)--no-keep-hand: 不保持模特原图的手(V2版默认不保持)--no-keep-foot: 不保持模特原图的足(V2版默认不保持)--keep-upper: 保持模特原图的上装--keep-lower: 保持模特原图的下装
--garment-types: 服装类型列表(取值: upper/bottom/full,用空格分隔)--protect-mask-url: 模特保护区域图URL(PNG格式)--tight-mask: 模特图遮挡区域范围(tight/loose/bbox,默认: loose)--p-bbox-iou-ratio: bbox与主体相交比例(范围: [0, 1.0],默认: 0.3)--p-bbox-expand-ratio: bbox扩大比例(范围: [1.0, 1.5],默认: 1.1)--max-process-side-length: 最大边长(范围: [1080, 4096],默认: 1920)--req-image-store-type: 图片传入方式(0:base64, 1:URL,默认: 1)
- 🎭 卡通变身: 变身玩偶系列(2个模板)
- 🐉 召唤坐骑: 猪、老虎、龙系列(6个模板)
- 🌸 万物生花: 花朵特效(2个模板)
- 💕 情感互动: 爱的拥抱系列(4个模板,含单图/双图)
- 😊 AI环绕: 美女/帅哥环绕(4个模板)
- 👶 天赐宝宝: 宝宝特效(2个模板)
- 🎭 卡通变身: emoji小人、梦幻娃娃、我的世界风等(13个模板)
- 💫 特效场景: 水晶球、猫星人守护、拍立得风等(6个模板)
- 💕 情感互动: 法式热吻系列(4个模板,含单图/双图)
- 👗 变装换装: 比基尼、美人鱼变身(4个模板)
- 💃 动感舞蹈: 热舞系列(2个模板)
- 自动版本识别: 根据模板ID自动选择V1或V2接口
- 双图模板支持: 部分模板支持两张图片输入,用
|分隔 - 高清版本: 大部分模板提供480p和720p两种分辨率
- 分屏设置: V2版本部分模板支持分屏功能(除emoji小人变身)
根据裁剪后图片比例自动调整:
- 4:3 → 768×576
- 3:4 → 576×768
- 16:9 → 896×504
- 9:16 → 504×896
- 形象创建费用:0.1元/形象(创建失败不收费)
- 视频生成费用:0.3元/秒(生成失败不收费)
- 传入完整、清晰的单人正脸图片
- 避免侧脸、遮挡、过曝、多人等情况
- 大画幅模式必须为指定比例的半身图片
- 普通模式:最长180秒
- 灵动模式:真人180秒,宠物90秒
- 大画幅模式:最长45秒
- 有效视频长度:3秒~350秒
- 分辨率:360p~1080p(超过1080p会自动压缩,小于360p不处理)
- 格式:支持mov、mp4、hdr(其他格式会转码)
- 编码:支持h264(其他编码会转码)
- 大小:不超过500M
- 码率:1Mbps-30Mbps
- 帧率:24~60fps
- 人脸角度:45度为极限,建议左右偏角不超过30度、上下仰角不超过15度、歪头不超过20度
- Lite模式:最长240秒,最短1秒
- Basic模式:最长150秒,最短1秒
- 格式:建议使用mp3等常见音频格式
- 图片格式:JPG(JPEG), PNG等常见格式,建议使用JPG格式
- 文件大小:建议小于5MB
- 分辨率:建议大于10001000,小于40964096
- 宽高比例:推荐9:16~16:9(极端比例效果欠佳)
- V1版本双图模板:
double_embrace、double_embrace_720p - V2版本双图模板:
french_kiss_dual_version、french_kiss_dual_version_720p - 使用格式:用
|分隔两个图片URL,例如:"图片1.jpg|图片2.jpg"
- 仅V2版本支持分屏设置
- emoji小人变身_480p模板不支持分屏功能
- 使用
--final-stitch-switch false开启分屏,true关闭分屏
- 视频链接有效期:1小时
- 任务结果有效期:12小时
客户端内置完整的错误处理机制:
- 网络超时自动重试(最多3次)
- HTTP状态码错误识别
- API错误码处理
- 参数验证
- 模式强制验证
VolcEngineAI/
├── volcengine_ai.py # 主入口文件
├── src/ # 源代码目录
│ ├── config.py # 配置管理
│ ├── utils.py # 工具函数
│ ├── core/ # 核心模块
│ │ ├── video_audio_driven_client.py # 单图音频驱动视频客户端
│ │ ├── video_lip_sync_client.py # 视频改口型客户端
│ │ └── video_effect_client.py # 创意特效视频客户端
│ └── modules/ # 功能模块
│ └── avatar_manager.py # 形象管理
├── data/ # 数据目录
│ └── avatars.json # 保存的形象数据
├── requirements.txt # 依赖列表
├── .gitignore # Git忽略规则
└── README.md # 说明文档
- 三种驱动模式: 普通模式、灵动模式、大画幅灵动模式
- 智能识别: 支持真人、动漫、宠物等多种图片类型
- 形象管理: 本地保存和管理创建的数字形象
- 自动重试: 内置网络超时重试机制
- 状态监控: 实时查询任务处理状态
- 双模式支持: Lite模式(正面视频)和Basic模式(复杂场景)
- 智能处理: 保留说话人形象特点,精准修改口型
- 高级功能: 人声分离、场景切分、视频循环、倒放循环等
- 自动重试: 内置网络超时重试机制
- 格式兼容: 支持多种视频格式自动转码
- 双版本支持: 自动识别V1和V2接口,支持49种特效模板
- 模板分类: 卡通变身、召唤坐骑、情感互动、变装换装、动感舞蹈等
- 双图模板: 支持两张图片输入的特殊互动效果
- 高清输出: 支持480p和720p两种分辨率
- 分屏设置: V2版本支持分屏功能控制
- 自动下载: 支持生成完成后自动下载视频到本地
- 环境变量配置: 安全的API密钥管理
- 完整错误处理: 详细的错误信息和处理建议
- 参数验证: 严格的输入参数校验
- 命令行友好: 直观的CLI界面和帮助信息
本项目仅供学习和研究使用,请遵守火山引擎API的使用条款。