Skip to content

图片与视频模型统一接口文档 ​

文档版本:2026-10-12
API Base URL:https://ai.lwaigc.cn
图片生成接口:POST /v1/images/generations
视频创建接口:POST /v1/videos

本文档面向中转站用户,说明当前生产环境可调用的图片与视频模型、每个模型实际使用的请求字段,以及统一的任务、素材和下载接口。模型名区分大小写,请按文档原样发送。

1. 当前公开模型 ​

已核对生产 /api/pricing(pricing_version=5a90f2b86c08bd983a9a2e6d66c255f4eaef9c4bc934386d2b6ae84ef0ff1f1f),当前生产公开目录包含 21 个视频模型和 5 个图片模型。不同 API Key 所属分组不同,实际可调用模型以该 Key 请求 GET /v1/models 的结果为准。

请求中的 model分辨率时长素材数量
hn-sd官渠903-pro固定 720p固定 15 秒9 图 / 不支持视频 / 3 音频
hn-sd2.0-v1固定 720p4–15 秒933 参数 / 按次付费 / 原生过脸
wf-sd2.0-fast-v3480p / 720p4–15 秒933 参数 / 内置插件过脸
wf-sd2.0-mini-v3480p / 720p4–15 秒933 参数 / 内置插件过脸
wf-sd2.0-v1固定 720p固定 15 秒903 参数 / 原生过脸
wf-sd2.0-v1-fast固定 720p4–15 秒933 参数 / 原生不卡脸
wf-sd2.0-v3480p / 720p / 1080p4–15 秒933 参数 / 内置插件过脸
lg-sd2.0-v1固定 720p4–15 秒9 图 / 3 视频 / 3 音频 / 按次付费 / 内置插件过脸
wan3.0-720p固定 720p4–30 秒10/5/5 参数 / 按秒付费 / 不卡脸
dbb-sd2.5-v1固定 720p4–30 秒30 图 / 10 视频 / 10 音频 / 按秒付费 / 原生不卡脸
dbb-sd2.5-v2固定 720p4–30 秒30 图 / 10 视频 / 10 音频 / 原生不卡脸
hn-sd2.5-v2固定 720p固定 30 秒30 图 / 不支持视频和音频 / Dola 提示词优化 / 内置过脸
ld-sd2.5-v1480p / 720p / 1080p4–30 秒30 图 / 10 视频 / 10 音频 / 按秒付费 / 原生不卡脸
ld-sd2.5-v2固定 720p固定 30 秒9 图 / 不支持视频和音频 / 内置插件过脸
lg-sd2.5-v1480p / 720p / 1080p4–30 秒30 图 / 10 视频 / 10 音频 / 按秒付费 / 原生不卡脸
mf-sd2.5-v2固定 720p4–29 秒30 图 / 不支持视频 / 10 音频 / 原生过脸
qi-sd2.5-v1固定 720p4–30 秒30 图 / 10 视频 / 10 音频 / 原生不卡脸
wf-sd2.5-v2固定 720p4–30 秒30 图 / 10 视频 / 10 音频 / 原生过脸
wf-sd2.5-v5固定 720p固定 30 秒30 图 / 不支持视频 / 10 音频 / Dola
wf-sd2.5-v5-face固定 720p固定 30 秒30 图 / 不支持视频 / 10 音频 / Dola / 内置插件过脸
MiniMax-H3默认 2K,不传 resolution5–15 秒9 图 / 不支持视频 / 3 音频
本表于 2026-10-12 根据生产 /api/pricing(pricing_version=5a90f2b86c08bd983a9a2e6d66c255f4eaef9c4bc934386d2b6ae84ef0ff1f1f)同步,仅展示当前生产公开模型;已下架模型不再列入本页面。实际可用性始终以当前 API Key 请求 GET /v1/models 的结果为准。

1.1 当前公开图片模型 ​

请求中的 model文生图参考图推荐接口
gpt-image-2支持支持/v1/images/generations、/v1/images/edits
gpt-image-2.5-flare支持支持/v1/images/generations、/v1/images/edits
gpt-image-2.5-sunburst支持支持/v1/images/generations、/v1/images/edits
gemini-3-pro-image-preview支持支持/v1/images/generations、/v1beta/models/{model}:generateContent
gemini-3.1-flash-image-preview支持支持/v1/images/generations、/v1beta/models/{model}:generateContent

1.2 获取当前 Key 可用模型 ​

http
GET /v1/models
Authorization: Bearer <API_KEY>
bash
curl 'https://ai.lwaigc.cn/v1/models' \
  -H 'Authorization: Bearer <API_KEY>'

目标模型没有出现在响应中时,表示该 Key 当前没有该模型的调用权限。

1.3 一个 Key 调用多个模型 ​

同一个 API Key 可以调用 GET /v1/models 返回的所有模型,不需要为每个模型分别创建 Key。每次请求都以请求体中的 model 为准:调用哪个模型,就按该模型当前公布的价格和计费规则结算;不同模型的倍率、按次价格、时长价格和分辨率价格相互独立,不会因为共用同一个 Key 而串用。

例如,同一个 Key 可以先调用 wf-sd2.0-fast-v3,再调用 MiniMax-H3,两次请求分别按照各自模型的规则计费。Key 只负责鉴权、额度和可用模型范围,不会固定所有请求使用同一个模型倍率。

实际可用模型始终以该 Key 调用 GET /v1/models 的结果为准;账户页面展示的模型价格为当前调用依据。

2. 接口总览 ​

用途方法路径鉴权
获取可用模型GET/v1/modelsBearer
创建图片POST/v1/images/generationsBearer
编辑图片POST/v1/images/editsBearer
查询异步图片任务GET/v1/images/generations/{task_id}Bearer
Gemini 图片生成POST/v1beta/models/{model}:generateContentBearer
创建视频任务POST/v1/videosBearer
查询视频任务GET/v1/videos/{task_id}Bearer
播放或下载视频GET/v1/videos/{task_id}/contentBearer
获取视频响应头HEAD/v1/videos/{task_id}/contentBearer
带文件名的视频内容地址GET/HEAD/v1/videos/{task_id}/content/{filename}Bearer
浏览器预览视频GET/HEAD/v1/videos/{task_id}/previewBearer
带文件名的浏览器预览GET/HEAD/v1/videos/{task_id}/preview/{filename}Bearer
上传临时素材POST/v1/assetsBearer
转存公网素材 URLPOST/v1/assets/urlBearer
读取签名素材GET/HEAD/v1/assets/{asset_id}/content/{filename}签名参数
读取签名素材(旧兼容)GET/HEAD/v1/assets/{asset_id}/content签名参数
兼容音频引用上传POST/v1/media-referencesBearer
查询音频引用GET/v1/media-references/{reference_id}Bearer
读取签名音频引用GET/HEAD/v1/media-references/{reference_id}/content/{filename}签名参数
读取签名音频引用(旧兼容)GET/HEAD/v1/media-references/{reference_id}/content签名参数

除服务端生成的签名素材 URL 外,接口统一使用:

http
Authorization: Bearer <API_KEY>

2.1 媒体内容读取说明 ​

临时素材、音频引用和已缓存的视频结果现在可能通过 HTTP 307 Temporary Redirect 跳转到对象存储读取文件字节。业务入口仍然是中转站 URL:

text
客户端 -> ai.lwaigc.cn 业务 URL -> 307 -> 对象存储签名 URL -> 200/206

调用方只保存中转站返回的 Relay URL,不要长期保存 307 Location 中的对象存储临时 URL。跨域跳转到对象存储后,不要继续携带 Authorization、Cookie 或 API Key。

浏览器播放使用 /v1/videos/{task_id}/preview;该接口在中转站内流式返回已转存的视频结果,不返回对象存储跳转地址。

图片模型接口 ​

图片接口选择 ​

场景方法和路径请求格式
GPT Image 2 系列文生图POST /v1/images/generationsJSON
GPT Image 2 系列参考图编辑POST /v1/images/editsmultipart/form-data
Gemini 图片预览模型文生图POST /v1/images/generationsJSON
Gemini 图片预览模型参考图生成POST /v1beta/models/{model}:generateContentJSON,参考图使用 inlineData
查询异步图片任务GET /v1/images/generations/{task_id}无请求体

所有请求都使用当前中转站 API Key:

http
Authorization: Bearer <API_KEY>

图片创建请求建议同时发送稳定的 Idempotency-Key。同一 Key 只能对应同一请求内容;网络断开时使用原 Key 和原请求体重试,不要更换 Key 创建重复任务。

GPT Image 2 系列文生图 ​

本节适用于 gpt-image-2、gpt-image-2.5-flare 和 gpt-image-2.5-sunburst。三个模型使用相同的请求格式;按当前 API Key 的 GET /v1/models 结果选择可用模型名。

http
POST /v1/images/generations
Content-Type: application/json
Authorization: Bearer <API_KEY>
字段类型必填说明
modelstring是gpt-image-2、gpt-image-2.5-flare 或 gpt-image-2.5-sunburst
promptstring是图片提示词
nnumber否生成数量,省略时为 1
sizestring是输出尺寸,例如 1088x608
qualitystring否推荐 auto
output_formatstring否jpeg 或 png
moderationstring否推荐 auto
json
{
  "model": "gpt-image-2",
  "prompt": "电影感的未来城市街景,雨夜,霓虹灯反射在地面",
  "n": 1,
  "size": "1088x608",
  "quality": "auto",
  "output_format": "jpeg",
  "moderation": "auto"
}

GPT Image 2 系列参考图编辑 ​

http
POST /v1/images/edits
Authorization: Bearer <API_KEY>
Content-Type: multipart/form-data
字段类型必填说明
modelstring是gpt-image-2、gpt-image-2.5-flare 或 gpt-image-2.5-sunburst
promptstring是编辑或生成提示词
image[]file[]是一张或多张参考图
nnumber否推荐 1
sizestring是输出尺寸,例如 1088x608
qualitystring否推荐 auto
output_formatstring否jpeg 或 png
moderationstring否推荐 auto
bash
curl 'https://ai.lwaigc.cn/v1/images/edits' \
  -H 'Authorization: Bearer <API_KEY>' \
  -F 'model=gpt-image-2' \
  -F 'prompt=保持参考图人物一致,生成一张 16:9 的电影海报' \
  -F 'image[]=@reference.jpg' \
  -F 'n=1' \
  -F 'size=1088x608' \
  -F 'quality=auto' \
  -F 'output_format=jpeg' \
  -F 'moderation=auto'

Gemini 图片预览模型 ​

文生图可以使用统一图片接口。image_size 支持 1K、2K、4K,aspect_ratio 支持 1:1、16:9、9:16、4:3、3:4、3:2、2:3。

json
{
  "model": "gemini-3.1-flash-image-preview",
  "prompt": "一张高质感产品海报,背景干净,柔和棚拍灯光",
  "n": 1,
  "image_size": "2K",
  "aspect_ratio": "16:9"
}

请求地址:

http
POST /v1/images/generations
Content-Type: application/json
Authorization: Bearer <API_KEY>

需要发送参考图时使用 Gemini 兼容接口,参考图内容放入 contents[].parts[].inlineData:

http
POST /v1beta/models/gemini-3-pro-image-preview:generateContent
Content-Type: application/json
Authorization: Bearer <API_KEY>
json
{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "保持参考图人物一致,生成竖版杂志封面" },
        {
          "inlineData": {
            "mimeType": "image/jpeg",
            "data": "<BASE64_DATA>"
          }
        }
      ]
    }
  ],
  "generationConfig": {
    "responseModalities": ["TEXT", "IMAGE"],
    "imageConfig": {
      "imageSize": "2K",
      "aspectRatio": "9:16"
    }
  }
}

图片成功响应与异步轮询 ​

统一图片接口的同步成功响应可能包含 URL,也可能包含 Base64。客户端必须同时兼容:

json
{
  "created": 1780000000,
  "data": [
    {
      "url": "https://ai.lwaigc.cn/v1/assets/asset_xxx/content/asset_xxx.png?expires=<EXPIRES>&signature=<SIGNATURE>"
    }
  ]
}
json
{
  "created": 1780000000,
  "data": [
    {
      "b64_json": "<BASE64_DATA>"
    }
  ]
}

生成尚未完成时可能返回:

json
{
  "task_id": "task_xxx",
  "status": "pending",
  "poll_url": "/v1/images/generations/task_xxx?model=gpt-image-2",
  "data": []
}

此时按 poll_url 使用同一个 API Key 发起 GET,直到 data 中出现结果或状态进入失败终态。不要重新提交相同图片生成请求。

Gemini 兼容接口的图片结果位于 candidates[].content.parts[].inlineData;其中 mimeType 是图片格式,data 是 Base64 图片内容。

3. 创建视频任务 ​

http
POST /v1/videos
Authorization: Bearer <API_KEY>
Idempotency-Key: client_xxx
Content-Type: application/json

3.1 所有模型共有字段 ​

字段类型必填说明
modelstring是第 1 节中的准确模型名
promptstring是视频提示词
client_task_idstring强烈建议稳定幂等标识,应与请求头 Idempotency-Key 完全一致

其余字段按第 4–9 节对应模型发送,不要混用不同模型的专属参数。

3.2 创建成功响应 ​

首次创建成功返回 HTTP 202 Accepted:

json
{
  "id": "relay_video_xxx",
  "task_id": "relay_video_xxx",
  "client_task_id": "client_xxx",
  "status": "queued",
  "relay_state": "submitting",
  "progress": 0,
  "retry_after_ms": 6000
}

收到包含 task_id 的成功响应后,才表示任务已经建立。后续查询、播放和下载都使用返回的 relay_video_xxx。

4. WF Seedance 2.0 ​

4.1 模型能力 ​

model分辨率时长参数与人脸
wf-sd2.0-fast-v3480p / 720p4–15 秒933 参数 / 内置插件过脸
wf-sd2.0-mini-v3480p / 720p4–15 秒933 参数 / 内置插件过脸
wf-sd2.0-v1固定 720p固定 15 秒903 参数 / 原生过脸
wf-sd2.0-v1-fast固定 720p4–15 秒933 参数 / 原生不卡脸
wf-sd2.0-v3480p / 720p / 1080p4–15 秒933 参数 / 内置插件过脸

wf-sd2.0-fast-v3、wf-sd2.0-mini-v3 和 wf-sd2.0-v3 使用 933 参数(按当前接口校验为图片、视频、音频素材组合),支持 4–15 秒并使用内置插件过脸;其中标准版另外支持 1080p。wf-sd2.0-v1-fast 也使用 933 参数,支持 4–15 秒、固定 720p,使用原生不卡脸能力。wf-sd2.0-v1 使用 903 参数,仅支持 15 秒、固定 720p,并使用原生过脸。客户端发送 480p、720p 或 1080p(按模型能力选择)即可;固定 720p 的 wf-sd2.0-v1 和 wf-sd2.0-v1-fast 不要发送 resolution,生产定价中的 720p+ 仅是后台兼容价格键,不要把 720p+ 作为请求值。

4.2 实际请求字段 ​

字段类型必填规则
modelstring是固定为上表五个模型名之一
promptstring是视频提示词
secondsstring 或 number是wf-sd2.0-v1 只能为 15;其余模型为 4–15 的整数
resolutionstring条件必填wf-sd2.0-fast-v3 / wf-sd2.0-mini-v3 只能为 480p 或 720p,wf-sd2.0-v3 可为 480p、720p 或 1080p;wf-sd2.0-v1 和 wf-sd2.0-v1-fast 固定 720p,不要发送
aspect_ratiostring否例如 16:9、9:16、1:1
image_urls / images_base64string[]否wf-sd2.0-v1 最多 9 张;其余模型按 933 参数限制提交
video_urlsstring[]否wf-sd2.0-v1 不支持视频素材;其余模型按 933 参数限制提交
audio_urls / audios_base64string[]否wf-sd2.0-v1 按 903 参数提交音频素材;其余模型按 933 参数限制提交
client_task_idstring强烈建议与 Idempotency-Key 使用同一稳定值

兼容单素材字段 image_url、video_url、audio_url,也兼容旧客户端使用 duration 表示秒数;新客户端统一发送 seconds。素材 URL 应使用中转站签名地址或其他公网 HTTPS 地址,不要向客户端暴露上游真实地址。

4.3 请求示例 ​

json
{
  "model": "wf-sd2.0-v3",
  "client_task_id": "client_wf_sd20_v3_xxx",
  "prompt": "保持主体外观一致,镜头平稳向前推进,动作自然",
  "seconds": 10,
  "resolution": "720p",
  "aspect_ratio": "16:9",
  "image_urls": [
    "https://ai.lwaigc.cn/v1/assets/asset_xxx/content/asset_xxx.png?expires=<EXPIRES>&signature=<SIGNATURE>"
  ]
}

5. Wan 3.0 与 LG Seedance 2.0 ​

5.1 Wan 3.0 ​

model分辨率时长参数与计费
wan3.0-720p固定 720p4–30 秒10/5/5 参数 / 按秒付费 / 不卡脸

Wan 3.0 模型不需要发送 resolution,seconds 必须是 4–30 的整数并按秒计费。素材字段和参数数量按生产模型校验规则填写。

字段类型必填规则
modelstring是固定为 wan3.0-720p
promptstring是视频提示词
secondsstring 或 number是4–30 的整数,按秒计费
aspect_ratiostring否按模型支持的画幅填写
image_urls / images_base64string[]否使用中转站签名素材 URL 或图片 Data URL
video_urlsstring[]否使用中转站签名素材 URL
audio_urls / audios_base64string[]否使用中转站签名素材 URL 或音频 Data URL
client_task_idstring强烈建议与 Idempotency-Key 使用同一稳定值
json
{
  "model": "wan3.0-720p",
  "client_task_id": "client_wf_wan30_xxx",
  "prompt": "保持主体一致,动作连贯自然,镜头平稳移动",
  "seconds": 12,
  "aspect_ratio": "16:9",
  "image_urls": [
    "https://ai.lwaigc.cn/v1/assets/asset_xxx/content/asset_xxx.png?expires=<EXPIRES>&signature=<SIGNATURE>"
  ]
}

5.2 LG Seedance 2.0 ​

model分辨率时长素材数量计费与人脸
lg-sd2.0-v1固定 720p4–15 秒9 图 / 3 视频 / 3 音频按次付费 / 内置插件过脸

lg-sd2.0-v1 使用 933 素材参数并固定输出 720p、按次计费,使用内置插件过脸。不要发送 resolution 字段。

字段类型必填规则
modelstring是固定为 lg-sd2.0-v1
promptstring是视频提示词
secondsstring 或 number是4–15 的整数
resolutionstring否固定 720p,不要发送
aspect_ratiostring否例如 16:9、9:16、1:1;省略时默认 16:9
image_urls / images_base64string[]否最多 9 张
video_urlsstring[]否最多 3 条
audio_urls / audios_base64string[]否最多 3 条
client_task_idstring强烈建议与 Idempotency-Key 使用同一稳定值
json
{
  "model": "lg-sd2.0-v1",
  "client_task_id": "client_lg_sd20_xxx",
  "prompt": "保持人物外观一致,镜头平稳向前推进",
  "seconds": 10,
  "aspect_ratio": "16:9",
  "image_urls": [
    "https://ai.lwaigc.cn/v1/assets/asset_xxx/content/asset_xxx.png?expires=<EXPIRES>&signature=<SIGNATURE>"
  ]
}

6. Seedance 2.5 ​

6.1 模型能力 ​

model分辨率时长素材数量真人脸素材
dbb-sd2.5-v1固定 720p4–30 秒30 图 / 10 视频 / 10 音频原生不卡脸
dbb-sd2.5-v2固定 720p4–30 秒30 图 / 10 视频 / 10 音频原生不卡脸
hn-sd2.5-v2固定 720p固定 30 秒30 图 / 不支持视频和音频Dola 提示词优化 / 内置过脸
ld-sd2.5-v1480p / 720p / 1080p4–30 秒30 图 / 10 视频 / 10 音频原生不卡脸
ld-sd2.5-v2固定 720p固定 30 秒9 图 / 不支持视频和音频内置插件过脸
lg-sd2.5-v1480p / 720p / 1080p4–30 秒30 图 / 10 视频 / 10 音频原生不卡脸
mf-sd2.5-v2固定 720p4–29 秒30 图 / 不支持视频 / 10 音频原生过脸
qi-sd2.5-v1固定 720p4–30 秒30 图 / 10 视频 / 10 音频原生不卡脸
wf-sd2.5-v2固定 720p4–30 秒30 图 / 10 视频 / 10 音频原生过脸
wf-sd2.5-v5固定 720p固定 30 秒30 图 / 不支持视频 / 10 音频Dola,真人脸效果以接口实际结果为准
wf-sd2.5-v5-face固定 720p固定 30 秒30 图 / 不支持视频 / 10 音频Dola / 内置插件过脸

当前公开的 11 个 Seedance 2.5 模型中,ld-sd2.5-v1 和 lg-sd2.5-v1 支持 480p/720p/1080p,其余固定为 720p。mf-sd2.5-v2 支持 4–29 秒,其余可变时长模型为 4–30 秒;ld-sd2.5-v2、hn-sd2.5-v2、wf-sd2.5-v5 和 wf-sd2.5-v5-face 固定 30 秒。素材上限和人脸处理见上表,按秒计费模型以账户价格和 /api/pricing 为准。

6.2 实际请求字段 ​

字段类型必填规则
modelstring是固定为上表列出的 11 个当前公开模型名之一
promptstring是视频提示词
secondsstring 或 number是ld-sd2.5-v2、hn-sd2.5-v2、wf-sd2.5-v5、wf-sd2.5-v5-face 只能为 30;mf-sd2.5-v2 为 4–29 的整数;其余模型为 4–30 的整数
resolutionstring否ld-sd2.5-v1、lg-sd2.5-v1 只能为 480p、720p 或 1080p;其余模型固定 720p,不要发送
aspect_ratiostring否按模型当前支持的画幅填写
image_urlsstring[]否ld-sd2.5-v2 最多 9 张,其余模型最多 30 张
video_urlsstring[]否dbb-sd2.5-v1、dbb-sd2.5-v2、ld-sd2.5-v1、lg-sd2.5-v1、qi-sd2.5-v1、wf-sd2.5-v2 最多 10 条;mf-sd2.5-v2、ld-sd2.5-v2、hn-sd2.5-v2、wf-sd2.5-v5、wf-sd2.5-v5-face 不支持
audio_urlsstring[]否dbb-sd2.5-v1、dbb-sd2.5-v2、ld-sd2.5-v1、lg-sd2.5-v1、mf-sd2.5-v2、qi-sd2.5-v1、wf-sd2.5-v2、wf-sd2.5-v5、wf-sd2.5-v5-face 最多 10 条;ld-sd2.5-v2、hn-sd2.5-v2 不支持
client_task_idstring强烈建议与 Idempotency-Key 使用同一稳定值

素材使用公网可访问的 HTTPS URL。兼容单素材字段 image_url、video_url、audio_url,也兼容旧客户端使用 duration 表示秒数;新客户端统一发送 seconds。

6.3 请求示例 ​

json
{
  "model": "wf-sd2.5-v2",
  "client_task_id": "client_wf_seedance25_v2_xxx",
  "prompt": "保持主体一致,镜头平稳向前推进,动作自然连贯",
  "seconds": 10,
  "resolution": "720p",
  "aspect_ratio": "16:9",
  "image_urls": [
    "https://ai.lwaigc.cn/v1/assets/asset_xxx/content/asset_xxx.png?expires=<EXPIRES>&signature=<SIGNATURE>"
  ]
}

7. HN Seedance 2.0 ​

7.1 模型能力 ​

model版本分辨率时长素材数量
hn-sd2.0-v1Seedance 2.0 933固定 720p4–15 秒按当前接口校验
hn-sd官渠903-pro官渠 903 Pro固定 720p固定 15 秒9 图 / 不支持视频 / 3 音频

两个模型均固定为 720p,不发送 resolution。hn-sd2.0-v1 使用 933 参数并支持原生过脸;hn-sd官渠903-pro 使用官渠 903 参数且不支持视频参考。

7.2 实际请求字段 ​

字段类型必填规则
modelstring是固定为 hn-sd2.0-v1 或 hn-sd官渠903-pro
promptstring是视频提示词
secondsstring 或 number是hn-sd2.0-v1 为 4–15 的整数;hn-sd官渠903-pro 只能为 15
aspect_ratiostring否按模型当前支持的画幅填写
image_urls / images_base64string[]否hn-sd官渠903-pro 最多 9 张;其余两个按当前接口校验
video_urlsstring[]否hn-sd官渠903-pro 不支持;其余两个按当前接口校验
audio_urls / audios_base64string[]否hn-sd官渠903-pro 最多 3 条;其余两个按当前接口校验
client_task_idstring强烈建议与 Idempotency-Key 使用同一稳定值

兼容单素材字段 image_url、video_url、audio_url,但不得向不支持对应素材类型的模型发送该字段。兼容旧客户端使用 duration 表示秒数;新客户端统一发送 seconds。

7.3 请求示例 ​

json
{
  "model": "hn-sd2.0-v1",
  "client_task_id": "client_hn_903_xxx",
  "prompt": "保持人物外观一致,镜头缓慢向前推进",
  "seconds": 10,
  "aspect_ratio": "16:9",
  "image_urls": [
    "https://ai.lwaigc.cn/v1/assets/asset_xxx/content/asset_xxx.png?expires=<EXPIRES>&signature=<SIGNATURE>"
  ]
}

HN 系列任务完成后,查询响应会额外返回顶层 HTTPS video_url。客户端应保存并直接读取该地址;重复查询同一任务仍会返回结果地址。具体素材数量以当前接口校验结果为准,不要据此向 hn-sd2.0-v1 发送未验证的素材组合。

8. MiniMax H3 ​

8.1 模型能力 ​

model分辨率时长画幅素材数量
MiniMax-H3默认 2K5–15 秒16:9、9:16、1:19 图 / 不支持视频 / 3 音频

模型名区分大小写,必须发送 MiniMax-H3。该模型默认输出 2K,不能发送 resolution 字段。

8.2 实际请求字段 ​

字段类型必填规则
modelstring是固定为 MiniMax-H3
promptstring是视频提示词
secondsstring 或 number是5–15 的整数
aspect_ratiostring否只能为 16:9、9:16、1:1
image_urlsstring[]否最多 9 张
audio_urlsstring[]否最多 3 条
client_task_idstring强烈建议与 Idempotency-Key 使用同一稳定值

该模型不支持参考视频,不要发送 video_url 或 video_urls。兼容单素材字段 image_url、audio_url;兼容旧客户端使用 duration 表示秒数,但新客户端统一发送 seconds。

8.3 请求示例 ​

json
{
  "model": "MiniMax-H3",
  "client_task_id": "client_minimax_h3_xxx",
  "prompt": "镜头平缓向前推进,保持主体外观和背景结构稳定",
  "seconds": 10,
  "aspect_ratio": "16:9",
  "image_urls": [
    "https://ai.lwaigc.cn/v1/assets/asset_xxx/content/asset_xxx.png?expires=<EXPIRES>&signature=<SIGNATURE>"
  ]
}

9. 幂等创建和断线重试 ​

每次业务生成应同时发送相同值:

http
Idempotency-Key: client_xxx
json
{
  "client_task_id": "client_xxx"
}

规则:

  • 相同账号、相同 key、相同有效请求:返回原视频任务,不重复创建。
  • 相同 key、不同请求体:返回 HTTP 409,错误码 idempotency_key_reused。
  • 请求头与 body 中的值不一致:返回 HTTP 400,错误码 idempotency_key_mismatch。
  • client_task_id 最长 191 字节;建议只使用 ASCII 字母、数字、短横线和下划线。
  • 幂等重放返回 HTTP 200;首次创建返回 HTTP 202。
  • 创建响应丢失时,使用原 key 重发完全相同的请求,不要生成新 key。

幂等重放示例:

json
{
  "id": "relay_video_xxx",
  "task_id": "relay_video_xxx",
  "client_task_id": "client_xxx",
  "status": "in_progress",
  "relay_state": "polling",
  "progress": 31,
  "retry_after_ms": 6000
}

当前没有公开的“按 client_task_id 查询”接口。找回丢失的创建响应时,应使用相同幂等键重放原 POST。

图片请求断线与 HTTP 499 ​

图片生成可能需要数分钟。若客户端在中转站已经把完整请求发送给上游、但上游尚未返回结果时主动断开连接,中转站会返回 499,错误码为 client_request_cancelled,并提示 upstream settlement is pending。499 表示客户端连接已关闭,不是上游返回的 HTTP 状态,也不等同于上游明确失败。

客户端应将请求超时设置为能够覆盖上游最长生成时间,建议不少于 10 分钟;同时为每次业务请求发送稳定的 Idempotency-Key。遇到 499 或连接中断时,使用相同的 Key、相同的请求体重试,不要更换 Key 重新创建,否则可能产生重复任务。

10. 查询任务 ​

http
GET /v1/videos/{task_id}
Authorization: Bearer <API_KEY>
bash
curl 'https://ai.lwaigc.cn/v1/videos/relay_video_xxx' \
  -H 'Authorization: Bearer <API_KEY>'

10.1 处理中 ​

json
{
  "id": "relay_video_xxx",
  "task_id": "relay_video_xxx",
  "client_task_id": "client_xxx",
  "status": "in_progress",
  "relay_state": "polling",
  "progress": 47,
  "retry_after_ms": 6000
}

10.2 完成 ​

json
{
  "id": "relay_video_xxx",
  "task_id": "relay_video_xxx",
  "status": "completed",
  "relay_state": "completed",
  "progress": 100
}

10.3 失败终态 ​

任务业务失败通过 HTTP 200 返回终态:

json
{
  "id": "relay_video_xxx",
  "task_id": "relay_video_xxx",
  "status": "failed",
  "relay_state": "failed",
  "progress": 47,
  "error": {
    "code": "provider_task_failed",
    "message": "video task failed"
  }
}

10.4 临时轮询故障 ​

json
{
  "id": "relay_video_xxx",
  "task_id": "relay_video_xxx",
  "status": "in_progress",
  "relay_state": "polling",
  "progress": 47,
  "poll_warning": {
    "code": "provider_poll_temporarily_unavailable"
  },
  "retry_after_ms": 12000
}

收到 poll_warning 时延后查询,不要重新创建任务。progress 可能为 null,表示当前没有可信进度。

10.5 结果转存中 ​

上游生成完成后,视频结果还会转存至中转站对象存储。在转存完成前,任务查询保持处理中状态;这不是任务失败,也不需要重新创建任务:

json
{
  "id": "relay_video_xxx",
  "task_id": "relay_video_xxx",
  "status": "in_progress",
  "relay_state": "polling",
  "progress": 99,
  "retry_after_ms": 6000
}

客户端应按 retry_after_ms 继续查询任务,直到返回 completed。任务响应不会暴露上游结果地址、渠道信息或对象存储临时地址。

11. 视频播放和下载 ​

仅在任务为 completed 后调用:

http
GET /v1/videos/{task_id}/content
Authorization: Bearer <API_KEY>

兼容带文件名路由:

http
GET /v1/videos/{task_id}/content/video.mp4

接口支持 GET、HEAD 和 Range。首次请求必须访问中转站 /content 地址并携带 Bearer;若返回 307,后续跳转到对象存储地址时不要继续携带 Bearer、Cookie 或 API Key。

安全下载流程:

text
1. GET/HEAD /v1/videos/{task_id}/content,携带 Bearer。
2. 如果返回 200/206,直接读取响应体。
3. 如果返回 307,读取 Location。
4. 对 Location 发起同方法请求;Range 请求必须保留 Range 头。
5. 对对象存储 Location 的请求不携带 Bearer、Cookie 或 API Key。
6. 不要把 Location 完整写入日志或长期保存。

Range 示例:

http
GET /v1/videos/{task_id}/content
Authorization: Bearer <API_KEY>
Range: bytes=0-1023

预期响应:

text
完整 GET:200 或 307 后 200
合法 Range:206
越界 Range:416,并返回 Content-Range: bytes */总大小
HEAD:200 或 307 后 200

下载器应以最终响应的 Content-Type、Content-Length、Content-Range、ETag 为准。请求了非零 Range 但最终返回 200 时,表示服务器忽略 Range 或对象已变化,客户端应丢弃本地断点后从头覆盖下载,不能追加写入。

浏览器 <video> 标签不能直接携带 Bearer 时,业务后端应代理内容,或由前端使用带鉴权的 fetch 获取 Blob。不要把长期 API Key 放入公开网页。

11.1 浏览器预览 ​

http
GET /v1/videos/{task_id}/preview
Authorization: Bearer <API_KEY>

兼容带文件名路由:

http
GET /v1/videos/{task_id}/preview/video.mp4
Authorization: Bearer <API_KEY>

/preview 只返回中转站已转存的视频结果,并支持 GET、HEAD 和 Range。结果尚未转存完成时返回 503、Retry-After: 5 和 result_storage_pending;按 Retry-After 重试预览或继续查询任务,不要重新创建视频任务。

12. 临时素材 ​

12.1 上传本地文件 ​

http
POST /v1/assets
Authorization: Bearer <API_KEY>
Idempotency-Key: asset_client_xxx
Content-Type: multipart/form-data

multipart 只要求一个字段:

text
file=<文件二进制>
bash
curl -X POST 'https://ai.lwaigc.cn/v1/assets' \
  -H 'Authorization: Bearer <API_KEY>' \
  -H 'Idempotency-Key: asset_client_xxx' \
  -F 'file=@reference.png'

新上传返回 HTTP 201,幂等重放返回 HTTP 200。响应中的 url 位于顶层:

json
{
  "id": "asset_xxx",
  "object": "asset",
  "mime_type": "image/png",
  "size": 123456,
  "duration_ms": null,
  "expires_at": "2026-07-18T12:00:00Z",
  "url": "https://ai.lwaigc.cn/v1/assets/asset_xxx/content/asset_xxx.png?expires=<EXPIRES>&signature=<SIGNATURE>"
}

图片的 duration_ms 为 null,音频和视频返回检测到的时长。

12.1.1 素材上传 502:责任边界 ​

素材上传不是插件单方面负责,插件和中转站都需要正确处理。责任边界如下:

问题需要修复的位置
代理 60 秒左右中断上传中转站入口代理
multipart 请求体接收不完整Relay 应用 / 网关
应用 400 被转换成 502中转站代理错误映射
上传超时后自动重试插件
重试使用相同幂等键插件
上传失败不重复创建视频任务插件
本地文件占用、读取过程中被替换插件
错误显示过于笼统插件
R2 写入真正失败中转站 / R2 链路

中转站上传入口必须检查以下配置和处理逻辑:

text
client_max_body_size
client_body_timeout
proxy_send_timeout
proxy_read_timeout
proxy_request_buffering off
multipart 解析
400/502 错误映射

应用与网关要区分返回原因,不能把所有错误都显示成 502:

text
400:请求体不完整或字段错误
413:文件过大
502:公网素材下载失败(download_failed),或网关将上游错误映射为 Bad Gateway
503:素材存储暂不可用(storage_unavailable)
504:R2 或上游处理超时

12.1.2 素材上传 502:诊断结论 ​

当客户端已经完成本地文件读取并调用 POST /v1/assets,而中转站返回 HTTP 502 时,问题位于素材上传链路,不是另一台设备读取本地图片失败。排查顺序如下:

  1. 客户端读取本地文件并计算摘要。
  2. 客户端调用 POST /v1/assets,multipart 字段使用 file。
  3. 只有收到非 2xx 响应时,客户端才显示“上传素材失败”;应同时记录中转站返回的 error.code、error.message 和 request_id(不要记录真实签名 URL)。

在已经收到 HTTP 502 的前提下,可以先排除客户端本地路径无法读取、图片文件名包含中文、视频模型字段错误、R2 下载阶段和 /v1/videos 创建任务阶段。更可能的原因是:

  • Relay 的素材服务或对象存储上游异常;
  • R2 存储节点故障、权限错误或路由池中存在不可用节点;
  • 反向代理上传超时、请求体限制或 multipart 解析失败;
  • 网关返回 HTML/空响应,未按接口契约返回 JSON 错误。

如果多张不同素材同时返回 502,优先检查 Relay 上传服务、反向代理和 R2 路由,而不是单独判断某一张图片损坏。若只在大文件上失败,重点检查 client_max_body_size、client_body_timeout 和代理超时;若小文件也失败,重点检查上传服务、R2 节点健康状态、权限和错误日志。

插件侧对 502、503、504、429 及网络中断应使用同一个 Idempotency-Key 重试有限次数;重试仍失败时显示 Relay 的结构化错误。上传失败时不要创建视频任务,也不要换幂等键并行提交同一素材。

12.2 转存公网 HTTPS URL ​

http
POST /v1/assets/url
Authorization: Bearer <API_KEY>
Idempotency-Key: asset_url_xxx
Content-Type: application/json
json
{
  "url": "https://example.com/reference.png"
}

私网、回环、云元数据地址、file:// 和非 HTTPS 地址会被拒绝。

成功响应与 POST /v1/assets 相同,返回顶层 url。导入成功后,请使用返回的中转站签名 URL,不要继续把原始公网 URL传给视频模型。

12.3 素材 URL 规则 ​

  • 将返回的完整 HTTPS url 原样写入目标模型的 URL 素材字段。
  • 有效签名 URL 可以直接读取,不需要携带 Bearer。
  • 签名 URL 读取时可能返回 307 跳转到对象存储;跳转后的请求不要携带 Bearer、Cookie 或 API Key。
  • HEAD、完整 GET 和 Range GET 都应被客户端支持。
  • 不要修改文件名、后缀、expires 或 signature。
  • 不要把真实签名 URL 写入公开日志或文档。
  • 上传素材不会预扣视频生成费用;视频额度检查发生在创建视频任务时。

新上传素材默认返回带真实后缀的 V2 URL,后缀来自服务端文件内容检测。例如用户上传名为 reference.jpg、实际内容为 PNG 的文件,返回 URL 会以 .png 结尾。旧的无后缀签名 URL继续兼容。

支持的临时素材格式:

类型支持格式URL 后缀
图片JPEG、PNG、WEBP、GIF.jpg、.png、.webp、.gif
音频MP3、WAV、M4A、AAC、OGG.mp3、.wav、.m4a、.aac、.ogg
视频MP4、WEBM、MOV、MKV.mp4、.webm、.mov、.mkv

12.4 兼容音频引用 ​

音频引用接口保留,用于需要 reference_id 的旧客户端或模型链路:

http
POST /v1/media-references
Authorization: Bearer <API_KEY>
Idempotency-Key: audio_ref_xxx
Content-Type: multipart/form-data

multipart 字段:

字段必填说明
file是单个音频文件
purpose否provider_audio_reference 或 sora_audio_reference
project_id否最长 128 字符

成功响应:

json
{
  "reference_id": "mref_xxx",
  "url": "https://ai.lwaigc.cn/v1/media-references/mref_xxx/content/mref_xxx.mp3?expires=<EXPIRES>&signature=<SIGNATURE>",
  "expires_at": "2026-07-18T12:00:00Z",
  "mime_type": "audio/mpeg",
  "size": 123456,
  "duration_ms": 8000,
  "purpose": "provider_audio_reference",
  "project_id": ""
}

未过期的音频引用可以查询当前元数据和签名 URL:

http
GET /v1/media-references/{reference_id}
Authorization: Bearer <API_KEY>

音频引用内容 URL 读取规则与 /v1/assets 相同:无需 Bearer,可能返回 307 到对象存储。

12.5 图片接口返回 URL 兼容 ​

非流式图片接口仍使用原接口地址和请求字段,例如:

text
POST /v1/images/generations
POST /v1/images/edits

当图片生成结果为 b64_json 且中转站成功持久化图片时,响应可能被改写为 data[].url:

json
{
  "created": 1780000000,
  "data": [
    {
      "url": "https://ai.lwaigc.cn/v1/assets/asset_xxx/content/asset_xxx.png?expires=<EXPIRES>&signature=<SIGNATURE>"
    }
  ]
}

因此图片客户端必须同时兼容 data[].url 和 data[].b64_json,不能只读取 b64_json。服务直接返回 URL 时,中转站保持 URL 形态,不保证所有图片结果都经过对象存储。完整请求字段见“图片模型接口”章节。

13. 常见错误 ​

HTTP典型错误含义与处理
400invalid_request、unsupported_model、invalid_duration、invalid_resolution修正模型名或参数,不要原样无限重试
400reference_not_found、reference_download_timeout中转站会先自动切换素材读取路径并重试;最终仍返回且没有 task_id 时,重新上传素材并使用新的素材 URL 和新幂等键提交
401invalid_tokenAPI Key 缺失、无效或过期
403分组或模型访问权限不足检查该 Key 的可见模型和分组权限
404not_found任务不存在或不属于当前账号
499client_request_cancelled客户端在请求已发送给上游后断开连接,结果仍待确认;提高客户端超时,使用相同 Idempotency-Key 和相同请求体重试,不要换 Key 重复创建
409idempotency_key_reused相同 key 被用于不同请求体
409idempotency_request_in_progress、submission_unknown原幂等请求仍在处理或提交状态待确认,继续查询或稍后重试同一请求
413file_too_large素材超过上传限制
429storage_quota_exceeded临时素材存储已满,复用已有素材或等待过期清理后重试
429upload_rate_limited素材上传请求过于频繁,按 Retry-After 稍后重试
429额度或模型频率限制按错误提示处理;不要仅凭 429 判断为上传频率限制
307Temporary Redirect媒体内容跳转到对象存储,按原方法继续请求且不要转发 Bearer
416Range Not SatisfiableRange 越界,按 Content-Range: bytes */总大小 修正断点
503result_storage_pending视频结果正在转存,按 Retry-After 继续查询任务或重试预览;不要重新创建视频任务
503result_storage_unavailable、storage_unavailable中转站或素材对象存储暂不可用,按 Retry-After 重试;不要重新创建视频任务
503model_not_found当前模型对该分组暂不可用;未返回 task_id 时任务未创建
504上游或 R2 处理超时保留原幂等键,稍后查询或重试原请求;先确认是否已经返回 task_id
5xx中转站或生成服务临时异常使用原幂等键和原请求体安全重试

明确的非 2xx JSON 错误且没有 task_id,不是已创建任务。只有已经返回 task_id,随后进入 submission_unknown,才表示后台提交结果待确认。

14. 推荐接入流程 ​

  1. 使用当前 Key 请求 GET /v1/models。
  2. 从第 1 节选择完全一致的公开模型名。
  3. 本地素材先通过 /v1/assets 上传,保存顶层 url。
  4. 为每次业务生成一个稳定 client_task_id。
  5. 将相同值写入 Idempotency-Key 和请求体。
  6. 调用 POST /v1/videos,保存返回的 task_id。
  7. 按 retry_after_ms 查询 /v1/videos/{task_id}。
  8. completed 后读取 /content;如果返回 307,跳转请求不携带 Bearer。
  9. 创建响应丢失时,使用原幂等键重发完全相同的 POST。
  10. failed 后停止轮询,不要用同一任务 ID 继续下载。

媒体下载失败只重试下载请求,不要重新创建视频任务;否则可能导致重复生成和重复计费。

15. 计费说明 ​

接口文档不写死价格。实际价格取决于平台当前模型定价、账号分组、时长和分辨率配置。调用方应以中转站价格页或服务方提供的价格表为准。

图片与视频 API 对接文档