> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vidgo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# OmniHuman 2.0 音频生视频

> OmniHuman 2.0 音频生视频 API 用一段 4–300 秒的 WAV 或 MP3 音频驱动一张角色图片，生成口型同步的 720p 视频，可选提示词。

> [!TIP]
>
> 1. 提交后会返回 `task_id`。如果提供了 `callback_url`，当任务状态变为 `finished` 或 `failed` 时，系统会向 `callback_url` 发送 POST 请求。
> 2. 无论是否提供 `callback_url`，都可以通过统一的[查询任务状态](https://docs.vidgo.ai/zh/api-manual/task-management/status.md)接口获取结果。

OmniHuman 2.0 音频生视频接收一张角色图片和一个音频文件，生成该角色说话、演唱或表演的 720p 视频，口型、表情和手势都跟随音频。音频支持 4–300 秒，既能做社交短片，也能做完整的讲解旁白。OmniHuman 2.0 是字节跳动（ByteDance）的音频驱动视频模型，上游通过 BytePlus 提供。

## 模型

* **bytedance/omnihuman-2.0/audio-to-video** — OmniHuman 2.0 音频生视频：一张图片加一个 WAV 或 MP3 文件，输出 720p，时长跟随音频。

## 功能

* 由一张图片生成音频驱动的说话和演唱视频。
* 口型同步、表情和手势由音频驱动。
* 音频从 4 秒到 5 分钟，视频时长与音频相同。
* 支持真人、动物、卡通、3D 和风格化角色，以及多人画面。
* 可选提示词，用于描述镜头运动、动作和额外的画面元素。

## 必填参数

* `image_urls`（string\[]）：恰好一个公开 HTTP(S) 角色图片 URL。视频构图跟随这张图片。
* `audio_url`（string）：WAV 或 MP3 文件的公开 HTTP(S) URL，不超过 15 MB，时长 4–300 秒。

## 可选参数

* `prompt`（string）：镜头运动、动作或额外的画面元素。口型和表情仍由音频决定。

## 时长

没有 `duration` 字段。输出时长跟随音频，30 秒的旁白会生成约 30 秒的视频。要改变时长，请剪辑音频。

## 输出

任务完成后，[查询任务状态](https://docs.vidgo.ai/zh/api-manual/task-management/status.md)和回调内容的 `files` 数组中会返回一个 MP4 视频。视频为 720p。

## 示例

* **用头像生成讲解主持人**：一张头像和一段 MP3 旁白，不带提示词。
* **带镜头提示词的演唱角色，带回调**：一只卡通猫、一首 WAV 歌曲、描述动作和镜头的提示词，并提供 `callback_url`。

## 注意事项

* 使用一张面部清晰可见的图片，以及没有长时间静音或明显背景噪声的干净音频，口型同步效果最好。
* 音频不是 WAV 或 MP3、超过 15 MB、短于 4 秒或长于 300 秒都会返回 400。`duration`、`resolution`、`aspect_ratio`、`seed` 以及上文未列出的其他字段同样返回 400。
* `model` 和 `callback_url` 放在请求根级，不要放进 `input`。
* 按生成视频的秒数计费。提交时按完整音频时长预扣积分；任务成功后按实际输出时长结算并退还差额，最终扣费不会超过预扣金额。任务失败会全额退还。当前费率见[定价页](https://vidgo.ai/apis/api-pricing)。


## OpenAPI

````yaml zh/api-manual/video-series/bytedance-omnihuman-2-0-audio-to-video.json POST /api/generate/submit
openapi: 3.0.0
info:
  title: Vidgo API - OmniHuman 2.0 音频生视频
  description: >-
    OmniHuman 2.0 音频生视频 API 用一段 4–300 秒的 WAV 或 MP3 音频驱动一张角色图片，生成口型同步的 720p
    视频，可选提示词。
  version: 1.0.0
servers:
  - url: https://api.vidgo.ai
    description: 生产环境
security:
  - BearerAuth: []
paths:
  /api/generate/submit:
    post:
      tags:
        - Video Series
      summary: OmniHuman 2.0 音频生视频
      description: >-
        `input` 中只传 `image_urls`、`audio_url` 和可选的 `prompt`。其他字段（包括
        `duration`、`resolution`、`aspect_ratio`）都会返回 400。提交时会下载并检测音频：必须是 WAV 或
        MP3，不超过 15 MB，时长 4–300 秒。
      operationId: submit_bytedance_omnihuman_2_0_audio_to_video
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - model
                - input
              properties:
                model:
                  type: string
                  description: 模型 ID，填 `bytedance/omnihuman-2.0/audio-to-video`。
                  example: bytedance/omnihuman-2.0/audio-to-video
                callback_url:
                  type: string
                  format: uri
                  nullable: true
                  description: >-
                    可选的公开 HTTP(S) 地址，任务变为 `finished` 或 `failed` 时会收到 POST
                    请求。建议使用 HTTPS。省略、传 `null` 或空字符串即不发送回调。
                  example: https://your-domain.com/callback
                input:
                  type: object
                  required:
                    - image_urls
                    - audio_url
                  properties:
                    image_urls:
                      type: array
                      items:
                        type: string
                        format: uri
                      minItems: 1
                      maxItems: 1
                      example:
                        - https://example.com/presenter.png
                      description: >-
                        恰好一个公开 HTTP(S) 角色图片
                        URL：真人、动物，或卡通、3D、风格化角色，也可以是多人画面。构图跟随这张图片。
                    audio_url:
                      type: string
                      format: uri
                      example: https://example.com/voiceover.mp3
                      description: >-
                        驱动音频的公开 HTTP(S) URL：WAV 或 MP3 文件，不超过 15 MB，时长 4–300
                        秒。视频时长跟随音频。
                    prompt:
                      type: string
                      example: >-
                        Medium shot, the presenter gestures toward the camera,
                        slow push-in
                      description: 可选的引导文字，用于描述镜头运动、动作和额外的画面元素。口型和表情仍由音频驱动。
                  additionalProperties: false
                  description: 生成参数。
            examples:
              talking_head:
                summary: 用头像生成讲解主持人
                value:
                  model: bytedance/omnihuman-2.0/audio-to-video
                  input:
                    image_urls:
                      - https://example.com/presenter.png
                    audio_url: https://example.com/voiceover.mp3
              singing_prompt:
                summary: 带镜头提示词的演唱角色，带回调
                value:
                  model: bytedance/omnihuman-2.0/audio-to-video
                  callback_url: https://your-domain.com/callback
                  input:
                    image_urls:
                      - https://example.com/cartoon-cat.png
                    audio_url: https://example.com/song.wav
                    prompt: >-
                      The cat sways to the beat and raises a paw on the chorus,
                      slow orbit shot, stage lights
      responses:
        '200':
          description: 任务已提交
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - data
                properties:
                  code:
                    type: integer
                    enum:
                      - 200
                    description: HTTP 状态码。
                  data:
                    type: object
                    required:
                      - task_id
                      - status
                      - created_time
                    properties:
                      task_id:
                        type: string
                        description: >-
                          任务
                          ID，用于[查询任务状态](/zh/api-manual/task-management/status)。
                      status:
                        type: string
                        enum:
                          - not_started
                        description: 任务的初始状态。
                      created_time:
                        type: string
                        format: date-time
                        description: 任务创建时间（ISO 8601）。
              example:
                code: 200
                data:
                  task_id: task-unified-1762160000-abc123
                  status: not_started
                  created_time: '2026-11-03T10:30:00'
        '400':
          description: 输入无效、字段不受支持、媒体无法访问或积分不足
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: 错误信息。
        '401':
          description: 凭证无效
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: 错误信息。
        '403':
          description: 拒绝访问
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: 错误信息。
        '404':
          description: 模型未知或已停用
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: 错误信息。
        '408':
          description: 请求超时
          content:
            text/plain:
              schema:
                type: string
              example: Request timeout
        '422':
          description: JSON 无效或请求体不是对象
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: 错误信息。
        '429':
          description: 超出速率限制或 API Key 积分限额
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: 错误信息。
        '500':
          description: 内部错误
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: 错误信息。
        '502':
          description: 无法创建上游生成任务
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: 错误信息。
        '503':
          description: 所请求的模型暂时不可用
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: 错误信息。
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        所有 API 接口都需要 Bearer Token 认证


        获取 API Key：


        进入 **仪表盘 → API 密钥**（[API Key
        管理页面](https://vidgo.ai/apis/dashboard/api-key)）获取你的 API Key


        在请求头中添加：


        ```

        Authorization: Bearer VIDGO_API_KEY

        ```

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.