H
- 余额
- 频率/分
- 生成上限
暗色

输入提示词,开始创作

比例
1:1
4:3
3:4
16:9
9:16
3:2
2:3
21:9
分辨率
渠道
反向提示词 (可选)
参考强度
0.5
智能比例

输入提示词,生成视频

比例
时长
分辨率
渠道

上传人像和音频,生成数字人视频

模式
自动
手动 (选脸)
渠道
人脸检测
暂无任务记录

API 接口文档

API 基准地址 https://api.huameng.space

HM Studio 采用火山方舟(Ark)标准 JSON 格式作为主要调用方式,同时兼容 multipart/form-data 通用格式。

兼容格式说明:本页描述的是基于 multipart/form-data 的通用兼容接口,适用于已有 multipart 对接的项目或需要直接上传文件的场景。推荐新项目优先使用「火山方舟格式」Tab 中的 JSON 接口。

基准路径(Base URL)

所有 API 请求均以以下地址为基准路径:

https://api.huameng.space

示例:调用图片生成接口的完整 URL 为 https://api.huameng.space/v1/images/generations

提示:以下所有 curl 示例中的请求地址可直接复制使用。

鉴权说明

所有 API 请求(除 /health 外)均需携带 API Key 进行身份认证,支持以下两种方式:

方式Header示例
Bearer TokenAuthorizationBearer your-api-key
X-API-KeyX-API-Keyyour-api-key
提示:推荐使用 Authorization: Bearer <key> 方式,与 OpenAI 风格保持一致。

通用错误码

HTTP 状态码含义说明
400参数错误请求参数缺失或无效,或渠道不存在/已关闭
401鉴权失败API Key 无效、已过期或已禁用
402余额不足账户余额不足以支付本次生成费用
429频率限制请求频率超限(默认 60 次/分钟),或生成中任务数超限(响应含 "code":"GENERATING_LIMIT")
500服务器错误内部服务异常
503服务繁忙服务暂时不可用,请稍后重试

错误响应格式:

{
  "error": "错误信息描述"
}
// 生成中限制的特殊格式:
{
  "error": "当前有 N 个任务正在生成中,请等待完成后再提交",
  "code": "GENERATING_LIMIT"
}

GET 查询余额 /v1/balance

查询当前 API Key 的账户余额及统计信息。

请求示例

GET /v1/balance
Authorization: Bearer your-api-key

响应字段

字段类型说明
balancenumber可用余额(积分)
frozennumber冻结中金额(生成中任务的预扣费)
total_rechargednumber累计充值金额
total_consumednumber累计消费金额
created_atstring账户创建时间(ISO 8601)

响应示例

{
  "balance": 1500,
  "frozen": 200,
  "total_recharged": 5000,
  "total_consumed": 3300,
  "created_at": "2026-03-15T08:00:00.000Z"
}

GET 消费流水 /v1/transactions

查询当前 API Key 的消费/充值流水记录,支持分页和类型过滤。

查询参数

参数类型必填默认值说明
pagenumber否1页码
page_sizenumber否20每页条数(最大 100)
typestring否全部过滤类型:confirm 扣费 / recharge 充值 / rollback 退款 / pre_deduct 预扣费

响应示例

{
  "transactions": [
    {
      "id": 123,
      "type": "confirm",
      "amount": -200,
      "balance_after": 1300,
      "model": "jimeng-video-seedance-2.0-fast",
      "task_type": "video",
      "task_id": "a1b2c3d4-...",
      "channel": "official",
      "note": "视频生成 5s 720p",
      "created_at": "2026-04-02T12:00:00.000Z"
    }
  ],
  "total": 56,
  "page": 1,
  "page_size": 20
}

GET 渠道列表 /v1/channels

获取所有已启用的计费渠道及其定价配置。仅用于展示,不可修改。

响应示例

{
  "channels": [
    {
      "name": "default",
      "display_name": "逆向渠道",
      "description": "基于逆向工程的默认渠道",
      "is_default": true,
      "pricing": { /* 各模型定价配置 */ }
    }
  ]
}

POST 充值 /v1/recharge

使用卡密为当前 API Key 充值。

请求参数

参数类型必填说明
card_codestring是充值卡密

请求示例

POST /v1/recharge
Content-Type: application/json

{
  "card_code": "XXXX-XXXX-XXXX"
}

响应示例

{
  "balance": 2500,
  "recharged_amount": 1000
}
注意:充值接口有频率限制,每分钟最多 5 次。连续错误 10 次后将被临时封禁 30 分钟。

GET 模型列表 /v1/models

获取当前可用的所有模型列表。

响应示例

{
  "data": [
    { "id": "HM-Image-5.0Lite", "type": "image" },
    { "id": "HM-Video-SD2.0", "type": "video" },
    { "id": "HM-Avatar-Pro", "type": "lip_sync" }
  ]
}

支持的模型

图像模型:(均为逆向渠道)

模型名称支持分辨率最大参考图数渠道
HM-Image-5.0Lite2K / 4K6逆向
HM-Image-4.62K / 4K6逆向
HM-Image-4.52K / 4K6逆向
HM-Image-4.12K / 4K6逆向
HM-Image-4.02K / 4K6逆向
HM-Image-3.11K / 2K2逆向
HM-Image-3.01K / 2K2逆向
HM-Image-NanoBanana1K3逆向

视频模型:

模型名称支持时长支持分辨率渠道
HM-Video-SD2.04~15s720p官方
HM-Video-SD2.0Fast4~15s720p官方
HM-Video-SD1.5Pro5s / 10s / 12s720p / 1080p逆向
HM-Video-SD1.05s / 10s720p / 1080p逆向
HM-Video-SD1.0Mini5s / 10s720p / 1080p逆向
HM-Video-SD1.0Fast5s / 10s720p / 1080p逆向

视频模型能力矩阵

模型时长分辨率纯文生视频首帧首尾帧多帧引导全能引用
SD2.04~15s(连续)720p✔✔✔✘✔
SD2.0Fast4~15s(连续)720p✔✔✔✘✔
SD1.5Pro5 / 10 / 12s720p / 1080p✔✔✔✘✘
SD1.05 / 10s720p / 1080p✔部分部分✘✘
SD1.0Mini5 / 10s720p / 1080p✔✔部分✔✘
SD1.0Fast5 / 10s720p / 1080p✔✔部分部分✘
说明:「部分」表示该功能受账号地区限制,仅部分地区可用。SD2.0 / SD2.0Fast 时长为 4~15 秒连续值;其余模型为固定离散值,系统会自动就近匹配。1080p 分辨率需要特定账号类型支持。

数字人模型:(均为逆向渠道)

模型名称渠道
HM-Avatar-Pro逆向
HM-Avatar-Turbo逆向
渠道说明:官方 = 通过官方 API 调用,稳定可靠;逆向 = 基于逆向工程,可能因上游变更而不稳定。在所有 API 接口中,model 参数请使用 HM 模型名称。可用模型列表会根据实际账号动态变化。

POST 图片生成 /v1/images/generations

提交图片生成任务。支持文本生图和参考图生图。请求格式为 multipart/form-data。

请求参数

参数类型必填默认值说明
promptstring是-生成提示词,最大 4000 字符
modelstring否HM-Image-4.5图像模型名称
ratiostring否1:1宽高比,可选:1:1 4:3 3:4 16:9 9:16 3:2 2:3 21:9
resolutionstring否2k分辨率,可选:1k 2k 4k(不同模型支持范围不同)
negative_promptstring否""反向提示词,指定不希望出现的内容
sample_strengthnumber否0.5参考图影响强度,范围 0~1
intelligent_ratioboolean否-是否启用智能比例
imagesfile[]否-参考图文件上传(最多 10 张,单张 ≤20MB)
image_urlstring否-参考图 URL(单张)
image_urlsstring/array否-参考图 URL 数组(JSON 字符串或数组格式)
channelstring否official计费渠道:official(官方,稳定)/ default(逆向,不稳定)。不同渠道定价不同

请求示例(cURL)

纯文本生图

curl -X POST "https://api.huameng.space/v1/images/generations" \
  -H "Authorization: Bearer your-api-key" \
  -F "prompt=一只可爱的橘猫在花园里晒太阳" \
  -F "model=HM-Image-5.0Lite" \
  -F "ratio=16:9" \
  -F "resolution=2k" \
  -F "channel=official"

单图参考生图(文件上传)

curl -X POST "https://api.huameng.space/v1/images/generations" \
  -H "Authorization: Bearer your-api-key" \
  -F "prompt=将这张照片转换为动漫风格" \
  -F "model=HM-Image-5.0Lite" \
  -F "sample_strength=0.7" \
  -F "images=@/path/to/reference.jpg"

单图参考生图(URL 方式)

curl -X POST "https://api.huameng.space/v1/images/generations" \
  -H "Authorization: Bearer your-api-key" \
  -F "prompt=将这张照片转换为水彩画风格" \
  -F "model=HM-Image-5.0Lite" \
  -F "sample_strength=0.6" \
  -F "image_url=https://example.com/photo.jpg"

多图参考生图(文件上传,最多 6~10 张)

curl -X POST "https://api.huameng.space/v1/images/generations" \
  -H "Authorization: Bearer your-api-key" \
  -F "prompt=融合这些图片的风格,生成一幅新画作" \
  -F "model=HM-Image-5.0Lite" \
  -F "sample_strength=0.5" \
  -F "images=@/path/to/ref1.jpg" \
  -F "images=@/path/to/ref2.jpg" \
  -F "images=@/path/to/ref3.jpg"

多图参考生图(URL 方式)

curl -X POST "https://api.huameng.space/v1/images/generations" \
  -H "Authorization: Bearer your-api-key" \
  -F "prompt=融合这些参考图的元素" \
  -F "model=HM-Image-4.5" \
  -F "sample_strength=0.5" \
  -F 'image_urls=["https://example.com/ref1.jpg","https://example.com/ref2.jpg","https://example.com/ref3.jpg"]'

响应示例

// HTTP 202 Accepted
{
  "task_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "status": "pending",
  "model": "HM-Image-5.0Lite",
  "created_at": "2026-04-01T12:00:00.000Z"
}

POST 视频生成 /v1/videos/generations

提交视频生成任务。支持多种功能模式:首尾帧、多帧引导、全能引用。请求格式为 multipart/form-data。

基础参数

参数类型必填默认值说明
promptstring是-生成提示词,最大 4000 字符
modelstring否HM-Video-SD1.5Pro视频模型名称
ratiostring否1:1宽高比,可选值同图片生成
durationnumber否5视频时长(秒),范围 1~15,不同模型有不同限制
video_resolutionstring否720p视频分辨率,可选:720p 1080p
function_modestring否自动检测功能模式:first_last_frames / multi_frame / omni_reference
channelstring否official计费渠道:official(官方,稳定)/ default(逆向,不稳定)

首尾帧模式参数 first_last_frames

参数类型必填说明
first_framefile否首帧图片文件(与 URL 二选一)
end_framefile否尾帧图片文件(与 URL 二选一)
first_frame_urlstring否首帧图片 URL
end_frame_urlstring否尾帧图片 URL

多帧引导模式参数 multi_frame

参数类型必填说明
frame_1 ~ frame_10file否帧引导图片文件(至少 2 帧)
multi_framesstring/array否帧引导图片 URL 数组(JSON 字符串或数组),每项为 URL 字符串 或 { "url": "..." } 对象

全能引用模式参数 omni_reference

参数类型必填说明
materialsstring(JSON)否素材描述 JSON 数组,每项含 type(image/video/audio)、url、name
image_file_1 ~ image_file_9file否图片素材文件上传
video_file_1 ~ video_file_3file否视频素材文件上传
audio_file_1 ~ audio_file_3file否音频素材文件上传
自动检测逻辑:若不指定 function_mode,系统按以下优先级自动判断: ① 提供了 materials JSON 或上传了 image_file_* / video_file_* / audio_file_* 文件(或对应 HTTP URL 字段)→ omni_reference; ② 上传的 frame_* 文件数 + multi_frames URL 数合计 ≥2 → multi_frame; ③ 其他情况 → first_last_frames。

请求示例(按功能模式)

① 纯文生视频
支持所有视频模型

# SD2.0 — 支持 4~15 秒连续时长
curl -X POST "https://api.huameng.space/v1/videos/generations" \
  -H "Authorization: Bearer your-api-key" \
  -F "prompt=一只猫咪在草地上奔跑" \
  -F "model=HM-Video-SD2.0" \
  -F "ratio=16:9" \
  -F "duration=8"

# SD2.0Fast — 快速生成 14 秒长视频
curl -X POST "https://api.huameng.space/v1/videos/generations" \
  -H "Authorization: Bearer your-api-key" \
  -F "prompt=城市夜景延时摄影,霓虹灯闪烁" \
  -F "model=HM-Video-SD2.0Fast" \
  -F "ratio=16:9" \
  -F "duration=14"

# SD1.0 — 10 秒 + 1080p
curl -X POST "https://api.huameng.space/v1/videos/generations" \
  -H "Authorization: Bearer your-api-key" \
  -F "prompt=海浪拍打礁石,日落余晖" \
  -F "model=HM-Video-SD1.0" \
  -F "ratio=16:9" \
  -F "duration=10" \
  -F "video_resolution=1080p"

② 仅首帧引导(文件上传)
支持:SD2.0 / SD2.0Fast / SD1.5Pro / SD1.0Mini / SD1.0Fast(SD1.0 部分地区)

curl -X POST "https://api.huameng.space/v1/videos/generations" \
  -H "Authorization: Bearer your-api-key" \
  -F "prompt=花朵慢慢盛开" \
  -F "model=HM-Video-SD1.5Pro" \
  -F "first_frame=@/path/to/flower.jpg" \
  -F "duration=5"

② 仅首帧引导(URL 方式)

curl -X POST "https://api.huameng.space/v1/videos/generations" \
  -H "Authorization: Bearer your-api-key" \
  -F "prompt=花朵慢慢盛开" \
  -F "model=HM-Video-SD1.5Pro" \
  -F "first_frame_url=https://example.com/flower.jpg" \
  -F "duration=5"

③ 首尾帧模式(文件上传)
支持:SD2.0 / SD2.0Fast / SD1.5Pro(SD1.0/Mini/Fast 部分地区)

curl -X POST "https://api.huameng.space/v1/videos/generations" \
  -H "Authorization: Bearer your-api-key" \
  -F "prompt=人物从站立缓缓坐下" \
  -F "model=HM-Video-SD1.5Pro" \
  -F "first_frame=@/path/to/standing.jpg" \
  -F "end_frame=@/path/to/sitting.jpg" \
  -F "duration=12" \
  -F "video_resolution=1080p"

③ 首尾帧模式(URL 方式)

curl -X POST "https://api.huameng.space/v1/videos/generations" \
  -H "Authorization: Bearer your-api-key" \
  -F "prompt=人物从站立缓缓坐下" \
  -F "model=HM-Video-SD2.0" \
  -F "first_frame_url=https://example.com/standing.jpg" \
  -F "end_frame_url=https://example.com/sitting.jpg" \
  -F "duration=5"

④ 多帧引导(文件上传,至少 2 帧,最多 5~10 帧)
支持:SD1.0Mini(SD1.0Fast 部分地区)。SD2.0/SD1.5Pro/SD1.0 不支持多帧

curl -X POST "https://api.huameng.space/v1/videos/generations" \
  -H "Authorization: Bearer your-api-key" \
  -F "prompt=人物从站立到坐下再到躺下的动作过渡" \
  -F "model=HM-Video-SD1.0Mini" \
  -F "function_mode=multi_frame" \
  -F "frame_1=@/path/to/standing.jpg" \
  -F "frame_2=@/path/to/sitting.jpg" \
  -F "frame_3=@/path/to/lying.jpg" \
  -F "duration=10"

④ 多帧引导(URL 方式)

curl -X POST "https://api.huameng.space/v1/videos/generations" \
  -H "Authorization: Bearer your-api-key" \
  -F "prompt=人物从站立到坐下再到躺下的动作过渡" \
  -F "model=HM-Video-SD1.0Mini" \
  -F "function_mode=multi_frame" \
  -F 'multi_frames=["https://example.com/standing.jpg","https://example.com/sitting.jpg","https://example.com/lying.jpg"]' \
  -F "duration=10"

⑤ 全能引用 omni_reference — 单素材 + @引用(文件上传)
仅支持:SD2.0 / SD2.0Fast

# prompt 中用 @名称 引用素材,materials 中的 name 必须与之对应
# 注意:prompt 以 @ 开头时须用 --form-string 代替 -F,避免 curl 将 @ 解读为文件路径
curl -X POST "https://api.huameng.space/v1/videos/generations" \
  -H "Authorization: Bearer your-api-key" \
  --form-string "prompt=@角色A 在咖啡馆微笑" \
  -F "model=HM-Video-SD2.0" \
  -F "function_mode=omni_reference" \
  -F "ratio=16:9" \
  -F "duration=5" \
  -F 'materials=[{"type":"image","name":"角色A"}]' \
  -F "image_file_1=@/path/to/charA.jpg"

⑤ 全能引用 omni_reference — 多素材 + @引用(URL 方式,含图片/视频/音频)

# 可同时引用多个图片素材、视频素材和音频素材
curl -X POST "https://api.huameng.space/v1/videos/generations" \
  -H "Authorization: Bearer your-api-key" \
  --form-string "prompt=@角色A 在咖啡馆和 @角色B 聊天,背景播放音乐" \
  -F "model=HM-Video-SD2.0" \
  -F "function_mode=omni_reference" \
  -F "ratio=16:9" \
  -F "duration=10" \
  -F 'materials=[{"type":"image","url":"https://example.com/charA.jpg","name":"角色A"},{"type":"image","url":"https://example.com/charB.jpg","name":"角色B"},{"type":"video","url":"https://example.com/cafe-bg.mp4","name":"背景"},{"type":"audio","url":"https://example.com/bgm.mp3","name":"音乐"}]'
@引用语法:在 prompt 中使用 @素材名称 来引用 materials 中定义的素材。素材名称必须与 materials 数组中对应项的 name 字段完全一致。文件上传时 materials 数组中可省略 url,系统会自动关联 image_file_N / video_file_N / audio_file_N 字段。
cURL 注意:当 prompt 值以 @ 开头时,必须使用 --form-string 代替 -F,否则 curl 会将 @ 解读为文件路径导致报错。

响应示例

// HTTP 202 Accepted
{
  "task_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "status": "pending",
  "model": "HM-Video-SD2.0",
  "created_at": "2026-04-01T12:00:00.000Z"
}

POST 数字人(自动模式) /v1/videos/lip-sync

一步完成数字人口播视频生成:上传人像和音频,系统自动进行人脸检测并提交生成任务。

请求参数(multipart/form-data)

参数类型必填说明
imagefile三选一人像图片文件
image_uristring三选一已上传的图片 URI
image_urlstring三选一图片 URL
audiofile三选一音频文件
audio_urlstring三选一音频 URL
audio_vidstring三选一已上传的音频 VID
modelstring否模型名称,默认 HM-Avatar-Turbo
promptstring否额外提示词
face_indexnumber否人脸索引(图片含多人时选择),默认 0
channelstring否计费渠道:official(官方,稳定)/ default(逆向,不稳定),默认 official

请求示例

curl -X POST "https://api.huameng.space/v1/videos/lip-sync" \
  -H "Authorization: Bearer your-api-key" \
  -F "image=@/path/to/portrait.jpg" \
  -F "audio=@/path/to/speech.mp3" \
  -F "model=HM-Avatar-Pro"

响应示例

// HTTP 202 Accepted
{
  "task_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "status": "pending",
  "model": "HM-Avatar-Pro",
  "created_at": "2026-04-01T12:00:00.000Z"
}

数字人(手动模式)

手动模式将流程拆分为多步操作,可以预览人脸检测结果并精确选择目标人脸。

步骤 1:上传图片

POST /v1/videos/lip-sync/upload-image

参数类型必填说明
imagefile是人像图片文件
// 响应
{
  "image_uri": "tos://bucket/path/image.jpg",
  "width": 1024,
  "height": 768
}

步骤 2:上传音频

POST /v1/videos/lip-sync/upload-audio

参数类型必填说明
audiofile是音频文件
// 响应
{
  "audio_vid": "v0d2a1g10000...",
  "duration_ms": 15000
}

步骤 3:人脸检测

POST /v1/videos/lip-sync/detect-faces

参数类型必填说明
image_uristring三选一步骤 1 返回的 image_uri
image_urlstring三选一图片 URL
imagefile三选一图片文件
// 响应
{
  "session_id": "sess_abc123",
  "faces": [ ... ],
  "face_count": 2,
  "image_uri": "tos://...",
  "expires_in": 300
}

步骤 4:提交生成

POST /v1/videos/lip-sync/submit

参数类型必填说明
session_idstring是步骤 3 返回的 session_id
audio_vidstring二选一步骤 2 返回的 audio_vid
audio_urlstring二选一音频 URL
audio_durationnumber否音频时长(毫秒),用于精确控制生成时长
face_indexnumber否选择的人脸索引,默认 0
modelstring否模型名称,默认 HM-Avatar-Turbo
promptstring否额外提示词
channelstring否计费渠道,默认 official
// 响应 HTTP 202
{
  "task_id": "a1b2c3d4-...",
  "status": "pending",
  "model": "HM-Avatar-Turbo",
  "created_at": "2026-04-01T12:00:00.000Z"
}

取消会话

POST /v1/videos/lip-sync/cancel

参数类型必填说明
session_idstring是要取消的 session_id

GET 查询任务状态 /v1/tasks/{taskId}

通过 task_id 轮询任务状态。建议每 3~5 秒查询一次。

请求示例

GET /v1/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890
Authorization: Bearer your-api-key

响应字段

字段类型说明
task_idstring任务 ID
statusstring任务状态:pending / submitted / generating / post_processing / finalizing / success / failed
modelstring使用的模型
task_typestring任务类型:image / video / lip_sync
progressobject原始进度对象,包含即梦返回的详细进度信息
progress_pctnumber进度百分比(0~100)
progress_textstring进度文案(如 "生成中 45%")
result_urlsstring[]生成成功时返回,结果文件 URL 数组
fail_reasonstring生成失败时返回,失败原因描述
created_atstring任务创建时间(ISO 8601)

成功响应示例

{
  "task_id": "a1b2c3d4-...",
  "status": "success",
  "model": "HM-Image-5.0Lite",
  "task_type": "image",
  "progress_pct": 100,
  "progress_text": "生成完成",
  "result_urls": [
    "https://cdn.example.com/result/image_001.png"
  ],
  "created_at": "2026-04-01T12:00:00.000Z"
}

失败响应示例

{
  "task_id": "a1b2c3d4-...",
  "status": "failed",
  "model": "HM-Image-5.0Lite",
  "task_type": "image",
  "progress_pct": 0,
  "progress_text": "生成失败",
  "fail_reason": "内容审核未通过,请修改后重试",
  "created_at": "2026-04-01T12:00:00.000Z"
}

常见失败原因

fail_reason说明
内容审核未通过,请修改后重试提示词或素材触发内容审核
素材包含人脸,审核未通过素材中人脸不符合审核要求
生成的视频内容存在风险,请修改提示词后重试生成结果触发安全过滤
素材上传失败,请重试素材文件上传过程出错
生成超时,请重试生成任务处理超时
服务繁忙,请稍后重试服务暂时负载较高

完整调用流程

流程概览: ① 调用生成接口获取 task_id → ② 轮询 /v1/tasks/{taskId} → ③ 当 status 变为 success 时从 result_urls 获取结果

完整示例(Python)

import requests, time

API_BASE = "https://api.huameng.space"
API_KEY = "your-api-key"
headers = {"Authorization": f"Bearer {API_KEY}"}

# 1. 提交图片生成任务
resp = requests.post(f"{API_BASE}/v1/images/generations",
    headers=headers,
    data={
        "prompt": "一只可爱的橘猫在花园里晒太阳",
        "model": "HM-Image-5.0Lite",
        "ratio": "16:9",
        "resolution": "2k",
        "channel": "official"
    })
task_id = resp.json()["task_id"]
print(f"任务已提交: {task_id}")

# 2. 轮询任务状态
while True:
    time.sleep(3)
    result = requests.get(
        f"{API_BASE}/v1/tasks/{task_id}",
        headers=headers
    ).json()
    print(f"状态: {result['status']} | {result.get('progress_text', '')}")

    if result["status"] == "success":
        print("生成成功!", result["result_urls"])
        break
    elif result["status"] == "failed":
        print("生成失败:", result.get("fail_reason"))
        break

基准路径(Base URL)

所有 API 请求均以以下地址为基准路径:

https://api.huameng.space

示例:调用视频生成接口的完整 URL 为 https://api.huameng.space/api/v3/contents/generations/tasks

提示:以下所有示例代码中的请求地址可直接复制使用。

鉴权说明

所有 API 请求(除 /health 外)均需携带 API Key 进行身份认证,支持以下两种方式:

方式Header示例
Bearer Token(推荐)AuthorizationBearer your-api-key
X-API-KeyX-API-Keyyour-api-key
提示:推荐使用 Authorization: Bearer <key> 方式,与火山方舟 SDK 保持一致。

通用错误码

HTTP 状态码含义说明
400参数错误请求参数缺失或无效,或渠道不存在/已关闭
401鉴权失败API Key 无效、已过期或已禁用
402余额不足账户余额不足以支付本次生成费用
429频率/并发限制请求频率超限(默认 60 次/分钟),或生成中任务数超限(响应含 "code":"GENERATING_LIMIT")
500服务器错误内部服务异常
503服务繁忙服务暂时不可用,请稍后重试

错误响应格式:

{
  "error": {
    "message": "错误信息描述",
    "type": "invalid_request_error"
  }
}
// 生成中限制的特殊格式(HTTP 429):
{
  "error": "当前有 N 个任务正在生成中,请等待完成后再提交",
  "code": "GENERATING_LIMIT"
}

GET 查询余额 /v1/balance

查询当前 API Key 的账户余额及统计信息。

请求示例

GET /v1/balance
Authorization: Bearer your-api-key

响应字段

字段类型说明
balancenumber可用余额(积分)
frozennumber冻结中金额(生成中任务的预扣费)
total_rechargednumber累计充值金额
total_consumednumber累计消费金额
created_atstring账户创建时间(ISO 8601)

响应示例

{
  "balance": 1500,
  "frozen": 200,
  "total_recharged": 5000,
  "total_consumed": 3300,
  "created_at": "2026-03-15T08:00:00.000Z"
}

GET 消费流水 /v1/transactions

查询当前 API Key 的消费/充值流水记录,支持分页和类型过滤。

查询参数

参数类型必填默认值说明
pagenumber否1页码
page_sizenumber否20每页条数(最大 100)
typestring否全部过滤类型:confirm / recharge / rollback / pre_deduct

响应示例

{
  "transactions": [
    {
      "id": 123,
      "type": "confirm",
      "amount": -200,
      "balance_after": 1300,
      "model": "jimeng-video-seedance-2.0-fast",
      "task_type": "video",
      "task_id": "a1b2c3d4-...",
      "channel": "official",
      "note": "视频生成 5s 720p",
      "created_at": "2026-04-02T12:00:00.000Z"
    }
  ],
  "total": 56,
  "page": 1,
  "page_size": 20
}

GET 渠道列表 /v1/channels

获取所有已启用的计费渠道及其定价配置。仅用于展示,不可修改。

响应示例

{
  "channels": [
    {
      "name": "default",
      "display_name": "逆向渠道",
      "is_default": true,
      "pricing": { /* 定价配置 */ }
    }
  ]
}

POST 充值 /v1/recharge

使用卡密为当前 API Key 充值。

请求参数

参数类型必填说明
card_codestring是充值卡密

请求示例

POST /v1/recharge
Content-Type: application/json

{
  "card_code": "XXXX-XXXX-XXXX"
}

响应示例

{
  "balance": 2500,
  "recharged_amount": 1000
}
注意:充值接口有频率限制,每分钟最多 5 次。连续错误 10 次后将被临时封禁 30 分钟。

GET 模型列表 /v1/models

获取当前可用的所有模型列表。

响应示例

{
  "data": [
    { "id": "HM-Image-5.0Lite", "type": "image" },
    { "id": "HM-Video-SD2.0", "type": "video" },
    { "id": "HM-Avatar-Pro", "type": "lip_sync" }
  ]
}

支持的模型

图像模型:(均为逆向渠道)

模型名称支持分辨率最大参考图数渠道
HM-Image-5.0Lite2K / 4K6逆向
HM-Image-4.62K / 4K6逆向
HM-Image-4.52K / 4K6逆向
HM-Image-4.12K / 4K6逆向
HM-Image-4.02K / 4K6逆向
HM-Image-3.11K / 2K2逆向
HM-Image-3.01K / 2K2逆向
HM-Image-NanoBanana1K3逆向

视频模型:

模型名称支持时长支持分辨率渠道
HM-Video-SD2.04~15s720p官方
HM-Video-SD2.0Fast4~15s720p官方
HM-Video-SD1.5Pro5s / 10s / 12s720p / 1080p逆向
HM-Video-SD1.05s / 10s720p / 1080p逆向
HM-Video-SD1.0Mini5s / 10s720p / 1080p逆向
HM-Video-SD1.0Fast5s / 10s720p / 1080p逆向

视频模型能力矩阵

模型时长分辨率纯文生视频首帧首尾帧多帧引导全能引用
SD2.04~15s(连续)720p✔✔✔✘✔
SD2.0Fast4~15s(连续)720p✔✔✔✘✔
SD1.5Pro5 / 10 / 12s720p / 1080p✔✔✔✘✘
SD1.05 / 10s720p / 1080p✔部分部分✘✘
SD1.0Mini5 / 10s720p / 1080p✔✔部分✔✘
SD1.0Fast5 / 10s720p / 1080p✔✔部分部分✘
说明:「部分」表示该功能受账号地区限制,仅部分地区可用。SD2.0 / SD2.0Fast 时长为 4~15 秒连续值;其余模型为固定离散值,系统会自动就近匹配。1080p 分辨率需要特定账号类型支持。

数字人模型:(均为逆向渠道)

模型名称渠道
HM-Avatar-Pro逆向
HM-Avatar-Turbo逆向
渠道说明:官方 = 通过官方 API 调用,稳定可靠;逆向 = 基于逆向工程,可能因上游变更而不稳定。在所有 API 接口中,model 参数请使用 HM 模型名称。可用模型列表会根据实际账号动态变化。

POST 图片生成 /v1/images/generations

标准图片生成接口。请求格式为 application/json,请求体须包含 size 字段。

请求参数

参数类型必填默认值说明
promptstring是-生成提示词
modelstring否HM-Image-4.5模型名称
sizestring触发字段-尺寸描述,支持 1K、2K、宽x高(如 1920x1080)格式。系统自动映射为最接近的宽高比和分辨率
response_formatstring否-方舟格式触发标记
nnumber否1生成图片数量
seednumber否-随机种子,用于复现生成结果
negative_promptstring否""反向提示词
sample_strengthnumber否-参考图影响强度
intelligent_ratioboolean否-智能比例
imagestring否-参考图 URL(单张)
imagesstring[]否-参考图 URL 数组(多张)
channelstring否official计费渠道:official(官方,稳定)/ default(逆向,不稳定)
size 自动映射规则: 1K → 比例 1:1 + 分辨率 1k; 2K → 比例 1:1 + 分辨率 2k; 宽x高 → 系统自动匹配最接近的宽高比,分辨率由像素面积决定(面积 > 1500×1500 = 2,250,000 像素时为 2k,否则为 1k)。 例:1920x1080(2,073,600 像素)→ 16:9 + 1k;2560x1440(3,686,400 像素)→ 16:9 + 2k。

请求示例

纯文本生图(使用 2K 快捷值)

{
  "prompt": "一只可爱的橘猫在花园里晒太阳",
  "model": "HM-Image-5.0Lite",
  "size": "2K",
  "n": 1
}

纯文本生图(使用 宽x高 指定比例)

{
  "prompt": "赛博朋克城市天际线",
  "model": "HM-Image-5.0Lite",
  "size": "2560x1440"
}

单图参考生图(通过 URL)

{
  "prompt": "将这张照片转换为水彩画风格",
  "model": "HM-Image-5.0Lite",
  "size": "2K",
  "image": "https://example.com/photo.jpg",
  "sample_strength": 0.7
}

多图参考生图(通过 URL 数组)

{
  "prompt": "融合这些参考图的风格元素,生成一幅新画作",
  "model": "HM-Image-4.5",
  "size": "1024x1024",
  "images": [
    "https://example.com/ref1.jpg",
    "https://example.com/ref2.jpg",
    "https://example.com/ref3.jpg"
  ],
  "sample_strength": 0.5
}

响应示例

// HTTP 202 Accepted
{
  "task_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "status": "pending",
  "model": "HM-Image-5.0Lite",
  "created_at": "2026-04-01T12:00:00.000Z"
}
提示:图片任务提交后,使用 GET /v1/tasks/{taskId} 轮询结果。
图片 vs 视频响应差异(子客户端注意): 图片接口返回 task_id(无前缀)、status: "pending"、created_at 为 ISO 字符串,使用 GET /v1/tasks/{taskId} 轮询。 视频接口返回 id(含 cgt- 前缀)、status: "queued"、created_at 为 Unix 时间戳,使用 GET /api/v3/.../tasks?filter.task_ids= 轮询。 子客户端需根据任务类型使用不同的 ID 字段名和轮询端点。

POST 视频生成 /api/v3/contents/generations/tasks

标准视频生成接口。请求格式为 application/json,支持两种传参方式:content 数组方式和扁平参数方式。

方式一:content 数组方式

使用 content 数组传递文本和素材,支持在文本中嵌入特殊指令。

参数类型必填说明
modelstring否模型名称,默认 HM-Video-SD1.5Pro
contentarray是内容数组(详见下方结构说明)
function_modestring否指定功能模式(不指定则自动推断)
channelstring否计费渠道:official(官方,稳定)/ default(逆向,不稳定),默认 official

content 数组项结构

文本项 type: "text"

字段说明
type固定 "text"
text提示词文本,支持嵌入以下指令:
--ratio 16:9 宽高比
--dur 5 时长(秒)
--fps 24 帧率
--res 1080p 分辨率
--mode omni_reference 功能模式

图片项 type: "image_url"

字段说明
type固定 "image_url"
image_url图片 URL(string 或 { url } 对象)
role角色标记:first_frame / start(首帧)、last_frame / end(尾帧)、frame(多帧引导)、material(全能引用素材)。省略 role 时默认作为首帧处理
name素材名称(仅 role: "material" 时有效)

视频项 type: "video_url"

字段说明
type固定 "video_url"
video_url视频 URL(string 或 { url } 对象)
role必须为 material,缺少此字段时该视频项会被忽略
name素材名称,用于 prompt 中 @名称 引用

音频项 type: "audio_url"

字段说明
type固定 "audio_url"
audio_url音频 URL(string 或 { url } 对象)
name素材名称,用于 prompt 中 @名称 引用
注意:音频项不需要 role 字段,系统自动将所有音频项作为素材处理。

content 方式请求示例(按功能模式)

① 纯文生视频
支持所有视频模型。文本指令:--ratio 宽高比、--dur 时长、--res 分辨率

// SD2.0 — 支持 4~15 秒连续时长
{
  "model": "HM-Video-SD2.0",
  "content": [
    { "type": "text", "text": "一只猫咪在草地上奔跑 --ratio 16:9 --dur 8" }
  ]
}

// SD2.0Fast — 快速模式 14 秒
{
  "model": "HM-Video-SD2.0Fast",
  "content": [
    { "type": "text", "text": "城市夜景延时摄影 --ratio 16:9 --dur 14" }
  ]
}

// SD1.0 — 10 秒 + 1080p
{
  "model": "HM-Video-SD1.0",
  "content": [
    { "type": "text", "text": "海浪拍打礁石,日落余晖 --ratio 16:9 --dur 10 --res 1080p" }
  ]
}

② 仅首帧引导
支持:SD2.0 / SD2.0Fast / SD1.5Pro / SD1.0Mini / SD1.0Fast(SD1.0 部分地区)。role 使用 first_frame 或 start

{
  "model": "HM-Video-SD1.5Pro",
  "content": [
    {
      "type": "text",
      "text": "花朵慢慢盛开 --ratio 16:9 --dur 5"
    },
    {
      "type": "image_url",
      "image_url": "https://example.com/flower.jpg",
      "role": "first_frame"
    }
  ]
}

③ 首尾帧模式
支持:SD2.0 / SD2.0Fast / SD1.5Pro(SD1.0/Mini/Fast 部分地区)。分别使用 first_frame 和 last_frame(或 start / end)

{
  "model": "HM-Video-SD1.5Pro",
  "content": [
    {
      "type": "text",
      "text": "人物从站立缓缓坐下 --ratio 16:9 --dur 12 --res 1080p"
    },
    {
      "type": "image_url",
      "image_url": "https://example.com/standing.jpg",
      "role": "first_frame"
    },
    {
      "type": "image_url",
      "image_url": "https://example.com/sitting.jpg",
      "role": "last_frame"
    }
  ]
}

④ 多帧引导模式(至少 2 帧,最多 5~10 帧)
支持:SD1.0Mini(SD1.0Fast 部分地区)。role 使用 frame

{
  "model": "HM-Video-SD1.0Mini",
  "function_mode": "multi_frame",
  "content": [
    {
      "type": "text",
      "text": "人物从站立到坐下再到躺下的动作过渡 --ratio 16:9 --dur 10"
    },
    {
      "type": "image_url",
      "image_url": "https://example.com/standing.jpg",
      "role": "frame"
    },
    {
      "type": "image_url",
      "image_url": "https://example.com/sitting.jpg",
      "role": "frame"
    },
    {
      "type": "image_url",
      "image_url": "https://example.com/lying.jpg",
      "role": "frame"
    }
  ]
}

⑤ 全能引用 omni_reference — @引用多素材(图片 + 视频 + 音频)
仅支持:SD2.0 / SD2.0Fast。prompt 中用 @素材名称 引用素材,name 字段必须对应。role 使用 material

{
  "model": "HM-Video-SD2.0",
  "content": [
    {
      "type": "text",
      "text": "@角色A 在咖啡馆和 @角色B 聊天,@背景视频 作为场景,配上 @背景音乐 --ratio 16:9 --dur 10"
    },
    {
      "type": "image_url",
      "image_url": "https://example.com/characterA.jpg",
      "role": "material",
      "name": "角色A"
    },
    {
      "type": "image_url",
      "image_url": "https://example.com/characterB.jpg",
      "role": "material",
      "name": "角色B"
    },
    {
      "type": "video_url",
      "video_url": "https://example.com/cafe-scene.mp4",
      "role": "material",
      "name": "背景视频"
    },
    {
      "type": "audio_url",
      "audio_url": "https://example.com/bgm.mp3",
      "name": "背景音乐"
    }
  ]
}
@引用语法:在 text 字段中使用 @素材名称 来引用 content 数组中 role: "material" 的素材项。素材名称必须与对应项的 name 字段完全一致。图片素材使用 type: "image_url",视频素材使用 type: "video_url",音频素材使用 type: "audio_url"。

方式二:扁平参数方式

当请求体不包含 content 但包含 prompt 时,使用扁平参数方式。

参数类型必填默认值说明
modelstring否HM-Video-SD1.5Pro模型名称
promptstring是-生成提示词
aspect_ratio 或 ratiostring否16:9宽高比
durationnumber否5视频时长(秒)
quality 或 resolutionstring否720p视频分辨率
fpsnumber否-帧率
function_modestring否自动推断功能模式
image_urlsstring[]否-图片素材 URL 数组
video_urlsstring[]否-视频素材 URL 数组
audio_urlsstring[]否-音频素材 URL 数组
channelstring否official计费渠道:official(官方)/ default(逆向,不稳定)
扁平模式自动推断逻辑:若显式指定了 function_mode,系统直接采用该模式。若未指定,则按以下规则自动推断: ① 存在 video_urls 或 audio_urls(任一非空)→ omni_reference(仅 SD2.0/SD2.0Fast 支持); ② 仅 image_urls 且 ≤2 张 → first_last_frames(第 1 张作首帧,第 2 张作尾帧); ③ 仅 image_urls 且 ≥3 张 → omni_reference; ④ 不传任何 URL → 纯文生视频(first_last_frames 无帧)。 如需使用多帧引导模式,请使用 content 数组方式。

扁平参数请求示例

纯文生视频(不传任何 URL)

{
  "model": "HM-Video-SD2.0Fast",
  "prompt": "城市夜景延时摄影",
  "aspect_ratio": "16:9",
  "duration": 14
}

纯文生视频 — SD1.5Pro 12 秒 1080p

{
  "model": "HM-Video-SD1.5Pro",
  "prompt": "一只猫咪在草地上奔跑",
  "aspect_ratio": "16:9",
  "duration": 12,
  "quality": "1080p"
}

全能引用(传入图片/视频/音频 URL → 自动进入 omni_reference,仅 SD2.0/SD2.0Fast)

{
  "model": "HM-Video-SD2.0",
  "prompt": "角色在咖啡馆聊天,配上背景音乐",
  "aspect_ratio": "16:9",
  "duration": 10,
  "image_urls": [
    "https://example.com/charA.jpg",
    "https://example.com/charB.jpg"
  ],
  "video_urls": ["https://example.com/cafe.mp4"],
  "audio_urls": ["https://example.com/bgm.mp3"]
}

响应示例

// HTTP 200 OK
{
  "id": "cgt-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "model": "HM-Video-SD2.0",
  "status": "queued",
  "created_at": 1711929600
}
字段说明:视频任务的 id 带有 cgt- 前缀,created_at 为 Unix 时间戳(秒)。任务状态使用 queued / running / succeeded / failed。

GET 查询任务状态 /api/v3/contents/generations/tasks

标准任务批量查询接口。支持同时查询多个任务状态。

请求参数(Query String)

参数类型必填默认值说明
filter.task_ids 或 task_idsstring是-逗号分隔的任务 ID 列表(含 cgt- 前缀)
page_numnumber否1页码
page_sizenumber否100每页条数

请求示例

GET /api/v3/contents/generations/tasks?filter.task_ids=cgt-a1b2c3d4-...,cgt-e5f6g7h8-...
Authorization: Bearer your-api-key

响应字段

字段类型说明
itemsarray任务列表
items[].idstring任务 ID(含 cgt- 前缀)
items[].modelstring模型 ID
items[].statusstring状态:queued / running / succeeded / failed
items[].content.video_urlstring成功时返回视频 URL
items[].errorobject失败时返回错误信息
items[].error.messagestring用户友好的错误原因描述
items[].error.typestring错误类型,固定为 generation_error
items[].progressobject进度信息
items[].created_atnumber创建时间(Unix 秒)
items[].updated_atnumber更新时间(Unix 秒)
totalnumber总数
page_numnumber当前页码
page_sizenumber每页条数

响应示例(成功)

{
  "items": [
    {
      "id": "cgt-a1b2c3d4-...",
      "model": "HM-Video-SD2.0",
      "status": "succeeded",
      "content": {
        "video_url": "https://cdn.example.com/result/video_001.mp4"
      },
      "created_at": 1711929600,
      "updated_at": 1711929900
    }
  ],
  "total": 1,
  "page_num": 1,
  "page_size": 100
}

响应示例(失败)

{
  "items": [
    {
      "id": "cgt-e5f6g7h8-...",
      "model": "HM-Video-SD1.5Pro",
      "status": "failed",
      "error": {
        "message": "该模型仅支持 720p 分辨率",
        "type": "generation_error"
      },
      "created_at": 1711929600,
      "updated_at": 1711929800
    }
  ],
  "total": 1,
  "page_num": 1,
  "page_size": 100
}

火山方舟格式 vs 通用兼容格式对比

对比项火山方舟格式(推荐)通用兼容格式
请求格式application/jsonmultipart/form-data
图片生成路径POST /v1/images/generations(JSON + size 字段)POST /v1/images/generations(multipart)
视频生成路径POST /api/v3/contents/generations/tasksPOST /v1/videos/generations
任务查询路径GET /api/v3/contents/generations/tasks(批量)GET /v1/tasks/{taskId}(单个)
任务 ID 格式cgt-UUIDUUID
时间格式Unix 时间戳(秒)ISO 8601 字符串
状态枚举 queued / running / succeeded / failed pending / submitted / generating / post_processing / finalizing / success / failed
视频生成 HTTP 码200202
数字人请使用通用兼容格式接口完整支持(自动模式 + 手动模式)
适用场景标准对接、SDK 集成、新项目接入已有 multipart 对接的项目、文件直传场景

完整调用示例(Python)

import requests, time

API_BASE = "https://api.huameng.space"
API_KEY = "your-api-key"
headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

# 1. 提交视频生成任务(火山方舟格式)
resp = requests.post(
    f"{API_BASE}/api/v3/contents/generations/tasks",
    headers=headers,
    json={
        "model": "HM-Video-SD2.0",
        "content": [
            {
                "type": "text",
                "text": "一只猫咪在草地上奔跑 --ratio 16:9 --dur 5"
            }
        ]
    })
task_id = resp.json()["id"]
print(f"任务已提交: {task_id}")

# 2. 轮询任务状态(火山方舟格式)
while True:
    time.sleep(5)
    result = requests.get(
        f"{API_BASE}/api/v3/contents/generations/tasks",
        headers=headers,
        params={"filter.task_ids": task_id}
    ).json()

    item = result["items"][0] if result["items"] else None
    if not item:
        print("任务未找到")
        break

    print(f"状态: {item['status']}")

    if item["status"] == "succeeded":
        print("生成成功!", item["content"]["video_url"])
        break
    elif item["status"] == "failed":
        print("生成失败")
        break

# 3. 提交图片生成任务(火山方舟格式)
resp = requests.post(
    f"{API_BASE}/v1/images/generations",
    headers=headers,
    json={
        "model": "HM-Image-5.0Lite",
        "prompt": "一只可爱的橘猫",
        "size": "1920x1080"
    })
img_task_id = resp.json()["task_id"]
# 图片任务使用 /v1/tasks/{taskId} 轮询(与通用格式相同)
重要提示:本服务基于逆向工程实现,非官方 API。服务可能因上游变更而出现不稳定、中断或功能失效。请勿用于生产环境核心业务,使用即表示接受相关风险。

渠道与计费说明

  • 请求时通过 channel 参数指定渠道(如 official 官方渠道、default 逆向渠道),不指定时使用系统默认渠道(管理员设置)
  • 不同渠道对同一模型可能有不同定价策略
  • 计费模式包括:一口价(flat)、按分辨率(resolution)、按时长(duration) 等
  • 余额单位为「积分」,1 元 = 1000 积分,下方价格均以元为单位展示

各渠道模型定价

加载中...

绑定 API Key

输入你的 API Key 以使用生成功能

-元
¥0冻结中
¥0总充值
¥0总消费
-总额度
账户信息
API Key-
创建时间-
当前等级-
并发频率-
生成上限-
充值
会员等级
可用模型
加载中...
消费流水
时间类型渠道模型任务金额余额任务ID
加载中...