Skip to content

OmniHuman 1.5 ​

本页由 ModelFold 文档站根据上游官方 OpenAPI 文档同步生成。接口路径、参数、示例与官方保持一致;品牌与 API 域名已替换为 ModelFold。

接口 ​

POST /jobs/createTask

完整 URL: https://ai.modelfold.online/v1/jobs/createTask

鉴权:所有请求都需要 Authorization: Bearer <API_KEY> 请求头。

创建任务 ​

调用该接口可创建一个新的音频驱动肖像动画任务。上传一张肖像图片和一段音频文件,模型将生成主体随音频说话或运动的视频。

  • 查询任务详情 — 提交任务后,可通过统一查询接口查看任务进度并获取生成结果

TIP

生产环境建议优先使用 callBackUrl 参数接收任务完成通知,而不是持续轮询任务状态接口。

文件上传 ​

TIP

调用该接口前需要先上传文件?请参阅 文件上传 API 快速入门。

相关资源 ​

请求参数 ​

请求体 (application/json) ​

参数类型必填说明
modelstring是用于生成的模型名称。必填字段。
- 该端点必须使用 omnihuman-1-5 模型 默认值:"omnihuman-1-5"。 可选值:omnihuman-1-5。 示例:omnihuman-1-5。
inputobject是音频驱动肖像动画任务的输入参数。
  input.image_urlstring是肖像图片 URL。支持任意宽高比,主体可以是人物、宠物、动漫角色等。支持的文件类型:image/jpeg、image/png、image/webp。最大文件大小:10MB。
  input.mask_urlarray&lt;string&gt;否可选的蒙版图片 URL。如需让图片中的特定主体说话,请使用「主体检测」功能获取对应的蒙版图片并作为输入传入。支持的文件类型:image/jpeg、image/png、image/webp。最大文件大小:10MB。支持多文件上传,最多 5 个文件。
  input.audio_urlstring是音频 URL。时长必须小于 60 秒(建议 15 秒以内;超过此时长会导致质量下降)。支持的文件类型:audio/mpeg、audio/wav、audio/x-wav、audio/aac、audio/ogg、audio/mp4。最大文件大小:10MB。
  input.promptstring否可选。支持中文、英文、日文、韩文、西班牙文、印尼文。最多 300 字符。
  input.output_resolutionstring否输出视频分辨率。
- 720:720P
- 1080:1080P(默认)
输出保持输入图片的比例;720、1080 是清晰度档位,不是确切高度。输出为 MP4,时长与音频一致。 默认值:"1080"。 可选值:720 / 1080。 示例:1080。
  input.pe_fast_modeboolean否快速模式。牺牲部分质量以加快生成速度。默认值:false。 默认值:false。 示例:false。
  input.seedinteger否随机种子。默认为 -1(随机)。使用相同的正整数且其他参数完全一致时,生成结果将高度一致。 默认值:-1。 示例:-1。
callBackUrlstring否回调 URL。任务完成后,ModelFold 会将结果发送到该业务回调地址。回调签名校验见 Webhook 签名校验指南。

请求示例 ​

bash
curl -X POST "https://ai.modelfold.online/v1/jobs/createTask" \
  -H "Authorization: Bearer $MODELFOLD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "omnihuman-1-5",
  "input": {
    "image_url": "https://your-domain.com/image/portrait.png",
    "mask_url": [
      "https://your-domain.com/image/mask.png"
    ],
    "audio_url": "https://your-domain.com/audio/speech.mp3",
    "prompt": "一个人自然地说话,表情温和。",
    "output_resolution": "1080",
    "pe_fast_mode": false,
    "seed": -1
  },
  "callBackUrl": "https://your-domain.com/api/callback"
}'
json
{
  "model": "omnihuman-1-5",
  "input": {
    "image_url": "https://your-domain.com/image/portrait.png",
    "mask_url": [
      "https://your-domain.com/image/mask.png"
    ],
    "audio_url": "https://your-domain.com/audio/speech.mp3",
    "prompt": "一个人自然地说话,表情温和。",
    "output_resolution": "1080",
    "pe_fast_mode": false,
    "seed": -1
  },
  "callBackUrl": "https://your-domain.com/api/callback"
}

响应 ​

200 — 请求成功 ​

参数类型必填说明
codeinteger是请求状态码。请求失败时 HTTP 状态仍为 200,请始终以本字段判断:200 表示成功,其他值均表示失败,原因见 msg。常见值:401 API key 无效或缺失;402 积分不足;429 超出频率限制;422 或 500 请求未能处理(请先查看 msg、检查参数,再决定是否重试)。 可选值:200 / 401 / 402 / 404 / 422 / 429 / 433 / 455 / 500 / 501 / 505。 示例:200。
msgstring是响应消息,失败时的错误描述
dataobject是—
  data.taskIdstring是可以使用任务 ID 与“获取任务详细信息”端点一起查询任务状态。
json
{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "task_omnihuman-1-5_1234567890"
  }
}

回调 ​

videoTaskCompleted ​

回调地址:{request.body#/callBackUrl}(即请求体里的 callBackUrl)。

当 omnihuman-1-5 任务成功或失败时,系统会发送此回调。

回调体参数

参数类型必填说明
codeinteger是统一回调状态码:成功为 200,失败为 501。 可选值:200 / 501。 示例:200。
msgstring是统一回调消息。 可选值:Playground task completed successfully. / Playground task failed.。 示例:Playground task completed successfully.。
dataobject是—
  data.taskIdstring是任务唯一标识符。
  data.modelstring是任务使用的模型。 可选值:omnihuman-1-5。 示例:omnihuman-1-5。
  data.statestring是任务最终状态。 可选值:success / fail。 示例:success。
  data.paramstring是包含已提交任务参数的 JSON 字符串。
  data.resultJsonstring否任务成功时,包含 resultUrls、firstFrameUrl、lastFrameUrl 或 resultObject 的 JSON 字符串。仅在 state 为 success 时出现。
  data.failCodestring否失败码,数字字符串,如 "400"、"500"。仅在 state 为 fail 时出现。
  data.failMsgstring否失败原因,仅在 state 为 fail 时出现。
  data.costTimeinteger否处理耗时(秒),成功和失败回调都会返回。
  data.completeTimeinteger否任务完成时间戳。
  data.createTimeinteger否任务创建时间戳。
  data.updateTimeinteger否完成时间请以 completeTime 为准;updateTime 可能与 createTime 相同。
  data.creditsConsumednumber否本任务消耗的积分;失败任务为 0。

任务成功完成

json
{
  "code": 200,
  "msg": "Playground task completed successfully.",
  "data": {
    "taskId": "task_example_video_webhook_001",
    "model": "omnihuman-1-5",
    "state": "success",
    "param": "{\"input\":\"{\\\"image_url\\\":\\\"https://example.com/input-image.jpg\\\",\\\"mask_url\\\":[\\\"https://example.com/input-image.jpg\\\"],\\\"audio_url\\\":\\\"https://example.com/input-audio.mp3\\\",\\\"prompt\\\":\\\"A person speaking naturally with gentle expressions.\\\",\\\"output_resolution\\\":\\\"1080\\\",\\\"pe_fast_mode\\\":false,\\\"seed\\\":-1}\",\"callBackUrl\":\"https://example.com/callback\",\"model\":\"omnihuman-1-5\"}",
    "resultJson": "{\"resultUrls\":[\"https://example.com/generated-video.mp4\"]}",
    "costTime": 12,
    "completeTime": 1234567890,
    "createTime": 1234560000,
    "updateTime": 1234567890,
    "creditsConsumed": 1.23
  }
}

任务失败

json
{
  "code": 501,
  "msg": "Playground task failed.",
  "data": {
    "taskId": "task_example_video_webhook_001",
    "model": "omnihuman-1-5",
    "state": "fail",
    "param": "{\"input\":\"{\\\"image_url\\\":\\\"https://example.com/input-image.jpg\\\",\\\"mask_url\\\":[\\\"https://example.com/input-image.jpg\\\"],\\\"audio_url\\\":\\\"https://example.com/input-audio.mp3\\\",\\\"prompt\\\":\\\"A person speaking naturally with gentle expressions.\\\",\\\"output_resolution\\\":\\\"1080\\\",\\\"pe_fast_mode\\\":false,\\\"seed\\\":-1}\",\"callBackUrl\":\"https://example.com/callback\",\"model\":\"omnihuman-1-5\"}",
    "failCode": "400",
    "failMsg": "<error detail>",
    "costTime": 12,
    "creditsConsumed": 0
  }
}

ModelFold — 一个 API,接入所有主流 AI 模型。