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

> ## Agent Instructions
> Public hosts only: console https://omnimux.ai/dashboard · API https://api.omnimux.ai · docs https://docs.omnimux.ai.
> Gateway auth is Authorization: Bearer sk-… on https://api.omnimux.ai/v1 (OpenAI-compatible Chat Completions and related paths).
> Discover pages from /llms.txt; full site dump /llms-full.txt; product skill /skill.md; docs search MCP /mcp. Prefer .md page URLs for Markdown.
> Default docs locale is en; zh mirrors the same relative paths. Do not invent model ids not present on live pricing or the complete API pages.

# LTX 数字人对口型

> GxgenAI LTX 2.3 照片对口型 · model `ltx-2-3-kj`

* 创建：`POST /v1/video/generations`，`model` 为 `ltx-2-3-kj`
* 轮询：`GET /v1/video/generations/{task_id}`（**不要**使用 `*-async` / `*-query` 模型名）
* 这是 **人设静帧 + 音频对口型**，不是文生视频。必须传 `metadata.nodeInfoList`
* 图片/音频先用公网 URL 或上游 fileName；不要传 `data:` URI
* 产物 URL 请及时落盘（上游链接可能过期）

## 身份

| 字段    | 值             |
| ----- | ------------- |
| 系列    | 视频系列          |
| 品牌    | LTX / GxgenAI |
| model | `ltx-2-3-kj`  |

## 接口

| 方法     | 路径                                |
| ------ | --------------------------------- |
| `POST` | `/v1/video/generations`           |
| `GET`  | `/v1/video/generations/{task_id}` |

Base URL：`https://api.omnimux.ai`

## 鉴权

| 名称              | 位置     | 类型     | 必填 | 说明                       |
| --------------- | ------ | ------ | -- | ------------------------ |
| `Authorization` | header | string | 是  | `Bearer sk-...`（API Key） |

## 请求体

| 字段                      | 类型     | 必填    | 说明                 |
| ----------------------- | ------ | ----- | ------------------ |
| `model`                 | string | 是     | 固定为 `ltx-2-3-kj`   |
| `prompt`                | string | 否     | 动作提示；同时写入节点 `1624` |
| `metadata.nodeInfoList` | array  | **是** | 人设图 + 音频 + 时长等节点   |

必填节点：

| nodeId | fieldName | 含义                    |
| ------ | --------- | --------------------- |
| `444`  | `image`   | 人设静帧（9:16 或 16:9）     |
| `1755` | `audio`   | 语音或歌曲                 |
| `1583` | `value`   | 生成秒数（`0`=整段音频；建议 ≤35） |
| `1776` | `value`   | 音频起始秒                 |
| `1624` | `value`   | 动作提示词                 |
| `1606` | `value`   | 最大分辨率（`<1600`）        |
| `1586` | `value`   | 帧率                    |

## 响应

### 200（创建）

| 字段               | 类型     | 说明                                     |
| ---------------- | ------ | -------------------------------------- |
| `id` / `task_id` | string | 任务 id                                  |
| `status`         | string | `queued` / `in_progress` / `completed` |

轮询见 [查询视频任务](/zh/api-reference/tasks/video-task)。错误见 [错误码](/zh/faqs/connection-usage)。

<Panel>
  <RequestExample>
    ```bash cURL theme={null}
    curl --request POST \
      --url https://api.omnimux.ai/v1/video/generations \
      --header 'Authorization: Bearer <token>' \
      --header 'Content-Type: application/json' \
      --data '{
      "model": "ltx-2-3-kj",
      "prompt": "角色面向镜头自然说话，固定镜头。",
      "metadata": {
        "nodeInfoList": [
          { "nodeId": "444", "fieldName": "image", "fieldValue": "https://example.com/face.jpg" },
          { "nodeId": "1755", "fieldName": "audio", "fieldValue": "https://example.com/speech.mp3" },
          { "nodeId": "1583", "fieldName": "value", "fieldValue": "10" },
          { "nodeId": "1776", "fieldName": "value", "fieldValue": "0" },
          { "nodeId": "1624", "fieldName": "value", "fieldValue": "角色面向镜头自然说话，固定镜头。" },
          { "nodeId": "1606", "fieldName": "value", "fieldValue": "1280" },
          { "nodeId": "1586", "fieldName": "value", "fieldValue": "25" }
        ]
      }
    }'
    ```
  </RequestExample>

  <ResponseExample>
    ```json 200 theme={null}
    {
      "id": "task_xxx",
      "status": "in_progress",
      "model": "ltx-2-3-kj"
    }
    ```

    ```json 400 theme={null}
    { "error": { "message": "metadata.nodeInfoList is required for model ltx-2-3-kj", "type": "invalid_request_error", "code": "bad_request" } }
    ```

    ```json 401 theme={null}
    { "error": { "message": "Invalid token", "type": "authentication_error", "code": "unauthorized" } }
    ```

    ```json 402 theme={null}
    {
      "error": {
        "message": "Insufficient quota. Please top up your account.",
        "type": "insufficient_quota",
        "code": "insufficient_quota"
      }
    }
    ```

    ```json 403 theme={null}
    { "error": { "message": "Forbidden", "type": "permission_error", "code": "forbidden" } }
    ```

    ```json 429 theme={null}
    { "error": { "message": "Rate limit exceeded", "type": "rate_limit_error", "code": "rate_limit_exceeded" } }
    ```

    ```json 500 theme={null}
    { "error": { "message": "Internal server error", "type": "server_error", "code": "internal_error" } }
    ```
  </ResponseExample>
</Panel>
