wuyeai.cn 对接文档 v1 · 2026-10-10
进入控制台

wuyeai.cn 对接文档

本站为标准 OpenAI 兼容接口。换模型只改 model 的值,接口路径、字段名、鉴权方式都不变。当前提供视频生成(Dola Seedance 系列)与图片生成(GPT-Image 系列)两类任务模型。

Base URL https://www.wuyeai.cn
SDK 填 https://www.wuyeai.cn/v1
鉴权 Authorization: Bearer sk-...
text复制
Base URL : https://www.wuyeai.cn
SDK 地址 : https://www.wuyeai.cn/v1
鉴权     : Authorization: Bearer sk-your-api-key
API Key 在哪拿:控制台 → 令牌(https://www.wuyeai.cn/keys)→ 新建令牌。注意区分两个东西:令牌(sk-开头)用于调用本页所有 /v1/* 接口;账号密码只用于登录控制台后台。创建令牌时请选择对应分组:default(视频模型)、生图(图片模型)。

接口总览

类型接口
查询模型GET /v1/models
视频提交POST /v1/videos
视频查询GET /v1/videos/{task_id}
视频下载GET /v1/videos/{task_id}/content
文生图(出图)POST /v1/images/generations
图生图 / 图片编辑(参考图)POST /v1/images/edits

本页仅包含当前已上线的模型与接口;新模型接入后,以 GET /v1/models 实际返回为准。

查询模型

bash复制
curl "https://www.wuyeai.cn/v1/models" \
  -H "Authorization: Bearer sk-your-api-key"

当前上线模型(仅示例,实际以接口返回为准):

模型 ID类型计费时长范围分辨率参考图上限参考音频上限
dola-seedance-2.0-fast视频¥1.3 / 次4–15 秒720p9 张3 个
dola-seedance-2.5视频¥1.6 / 次4–30 秒720p30 张10 个
gpt-image-2图片¥0.08 / 次————
gpt-image-2.5-flare图片¥0.08 / 次————
gpt-image-2.5-sunburst图片¥0.08 / 次————
列表按你的令牌分组过滤:令牌属于哪个分组,就只返回该分组可用的模型;模型 ID 直接从这里复制最稳妥。当前 default 分组 = 视频模型、生图 分组 = 图片模型;在未配置该模型的分组调用会报 No available channel for model … under group …。

视频生成

视频是异步任务,流程固定三步:提交拿任务 ID → 每 5~10 秒轮询状态 → completed 后下载。

1. 提交任务

bash复制
curl "https://www.wuyeai.cn/v1/videos" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "dola-seedance-2.5",
    "prompt": "让 @图1 的人物穿上 @图2 的衣服,走进 @图3 的场景;运镜与配音分别参考所传的视频、音频素材",
    "duration": 5,
    "ratio": "16:9",
    "resolution": "720p",
    "referenceImages": [
      "https://example.com/person.jpg",
      "https://example.com/clothes.jpg",
      "https://example.com/scene.jpg"
    ],
    "referenceVideos": ["https://example.com/camera-move.mp4"],
    "referenceAudios": [
      "https://example.com/voice.mp3",
      "https://example.com/bgm.mp3"
    ]
  }'

请求字段

字段类型必填说明
modelstring是视频模型 ID:dola-seedance-2.0-fast / dola-seedance-2.5
promptstring是视频提示词
durationinteger是时长秒数(整数)。可用范围:dola-seedance-2.0-fast 4–15 秒;dola-seedance-2.5 4–30 秒
resolutionstring是本站视频模型固定 720p,且必须显式传入:不传会被拒绝,传其它档位会直接报错
ratiostring否画幅,如 16:9 / 9:16 / 1:1;不传由模型决定
referenceImagesstring[]否参考图,公网 http(s) URL 数组;提示词里用 @图N 引用(见下)。上限见上表(9 / 30 张)
referenceVideosstring[]否参考视频,公网 http(s) URL 数组
referenceAudiosstring[]否参考音频,公网 http(s) URL 数组。上限见上表(3 / 10 个)
first_frame_imagestring否首帧图,公网 URL。和参考图是两套东西,见下
last_frame_imagestring否尾帧图,公网 URL。和参考图是两套东西,见下

兼容字段:seconds(与 duration 等价,本站会规范化后转发;两者同时传时必须一致)。为避免歧义,推荐统一使用 duration。

只发上表里的字段,不要发旧字段名 / 别名。参考素材一律用驼峰:referenceImages / referenceVideos / referenceAudios。以下名字会被直接拒绝(多数会报出正确写法):reference_images、reference_image_urls、reference_videos、reference_audios、duration_seconds、aspect_ratio、images、image_urls、size、generate_audio。上表之外的任何字段同样会被整单拒绝 —— 本站对字段做严格校验,宁可报错也不会静默丢弃你的参数。

@图N 与首尾帧(最容易踩的一条)

规则:提示词里的 @图1、@图2 … 只对应 referenceImages 数组;首尾帧(first_frame_image / last_frame_image)不算数组项。两套写法不要混用。

你发的字段提示词里写结果
referenceImages: [图1, 图2]@图1 @图2通过(推荐)
referenceImages: [图1, 图2]只写 @图1提交失败:数组第 2 项没有对应的 @图2
first_frame_image + last_frame_image@图1 @图2提交失败:提示词里的 @图N 没有对应的参考素材
first_frame_image + last_frame_image不写 @图N提交能过;能否出片以模型为准,出不了片就改用参考图写法

只有首帧 / 尾帧两张图时,用这套写法(提示词里不要写 @图N):

json复制
{
  "model": "dola-seedance-2.5",
  "prompt": "人物从画面左侧自然走向右侧,镜头缓慢推近",
  "duration": 5,
  "ratio": "16:9",
  "resolution": "720p",
  "first_frame_image": "https://example.com/first.jpg",
  "last_frame_image": "https://example.com/last.jpg"
}

上传本地素材(multipart/form-data)

本地文件走 multipart,字段名和 JSON 完全一样(驼峰):

bash复制
curl "https://www.wuyeai.cn/v1/videos" \
  -H "Authorization: Bearer sk-your-api-key" \
  -F "model=dola-seedance-2.5" \
  -F "prompt=让 @图1 的人物穿上 @图2 的衣服,走进 @图3 的场景" \
  -F "duration=5" \
  -F "ratio=16:9" \
  -F "resolution=720p" \
  -F "referenceImages=@person.jpg" \
  -F "referenceImages=@clothes.jpg" \
  -F "referenceImages=@scene.jpg" \
  -F "referenceVideos=@camera-move.mp4" \
  -F "referenceAudios=@voice.mp3" \
  -F "referenceAudios=@bgm.mp3"

同一个字段重复出现就是多个素材:上面 3 张图对应提示词里的 @图1 ~ @图3,视频 / 音频同理。除 referenceImages / referenceVideos / referenceAudios 外,其它字段只能出现一次。

素材要求

提交成功返回:

json复制
{
  "id": "task_xxxxxxxx",
  "object": "video",
  "model": "dola-seedance-2.5",
  "status": "queued",
  "progress": 0,
  "created_at": 1789591899
}
只提交一次。提交成功只代表任务已创建,保存返回的 id,然后轮询查询接口。不要重复调用 POST /v1/videos —— 本站按次计费,每调用一次就生成一次、扣一次费。

2. 轮询查询

bash复制
curl "https://www.wuyeai.cn/v1/videos/task_xxxxxxxx" \
  -H "Authorization: Bearer sk-your-api-key"

每 5~10 秒查一次即可。查询是纯 GET:不要带请求体,也不要再传 model、prompt 等生成字段,系统会用 task_id 恢复任务对应的模型与渠道。查询必须使用创建任务时的同一个令牌。

状态怎么处理
queued排队中,继续查原任务,不要重新提交
in_progress生成中,继续等待
completed停止轮询,去下载视频
failed停止轮询,看 error.message,改提示词或素材后新建任务
查询临时失败 ≠ 任务失败。查询接口偶发返回 408 / 409 / 425 / 429 / 5xx,只表示这一次查询没成功,保留 task_id 继续轮询即可;只有状态明确是 failed 才算失败。

任务完成时的响应示例:

json复制
{
  "id": "task_xxxxxxxx",
  "object": "video",
  "model": "dola-seedance-2.5",
  "status": "completed",
  "progress": 100,
  "created_at": 1789591899,
  "completed_at": 1789592086
}

完成时响应可能还会带上额外的地址 / 元数据字段(例如 video_url、metadata.url,以实际返回为准);下载推荐统一使用下面的本站下载接口。

3. 下载视频

bash复制
curl "https://www.wuyeai.cn/v1/videos/task_xxxxxxxx/content" \
  -H "Authorization: Bearer sk-your-api-key" \
  --output video.mp4

任务未完成时下载会报 Task is not completed yet, current status: IN_PROGRESS,等状态变为 completed 再下载。只使用接口返回的下载地址,不要自己拼路径。若显示 completed 但暂时取不到片,稍等几秒重试即可。

图片生成(文生图 / 图生图)

本站出图模型:gpt-image-2、gpt-image-2.5-flare、gpt-image-2.5-sunburst,均 ¥0.08 / 次。这些模型位于「生图」分组——请使用该分组下的令牌调用,否则会返回 No available channel for model … under group …。不确定自己的令牌能用哪些模型,先调 GET /v1/models 查询。
bash复制
curl "https://www.wuyeai.cn/v1/images/generations" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "一只在雨天窗台上的橘猫",
    "n": 1,
    "size": "1024x1024"
  }'
字段类型必填说明
modelstring是图片模型 ID
promptstring是图片描述
ninteger否生成张数,默认 1(正整数)
sizestring否尺寸,如 1024x1024 / 1024x1536 / 1536x1024,可用值以模型为准
response_formatstring否url 或 b64_json,以模型实际支持为准;返回内容原样透传
结果这样读:从 data[0].url 或 data[0].b64_json 取图,客户端两种都兼容最稳。注意:图片这条路的画幅字段是 size,视频那条路是 ratio,别搞混。
字段说明:图片请求由本站直连上游透传;size 建议按 宽x高 形式传(如 1024x1024),参数支持范围以模型实际返回为准(上游不识别的参数可能被拒绝)。

图生图 / 图片编辑(参考图生成)

bash复制
curl "https://www.wuyeai.cn/v1/images/edits" \
  -H "Authorization: Bearer sk-your-api-key" \
  -F "model=gpt-image-2" \
  -F "prompt=保持主体不变,改成电影海报风格" \
  -F "image=@reference.png" \
  -F "size=1024x1024" \
  -F "n=1"

素材文件字段用 image,必须走 multipart 上传,不能把本地路径写进 JSON;编辑接口必须至少上传一张图,否则会被上游以缺少图片为由拒绝。多图参考请按同一字段名重复传 -F "image=@a.png" -F "image=@b.png"(可用性以模型为准)。文生图接口不接受文件上传——要传图请走 /v1/images/edits。

计费

所有调用按额度计费。当前上线的 5 个模型均为按次计费:每提交一次任务,按固定单价扣费一次;轮询查询与下载视频不额外计费。

模型计费方式价格
dola-seedance-2.0-fast按次¥1.3 / 次
dola-seedance-2.5按次¥1.6 / 次
gpt-image-2按次¥0.08 / 次
gpt-image-2.5-flare按次¥0.08 / 次
gpt-image-2.5-sunburst按次¥0.08 / 次
视频按次计费:单次价格固定,与视频时长无关 —— 传 5 秒和传 30 秒扣的是同一个价。所以调试时先确认流程通了,再上正式参数即可。重复提交会重复计费(每调用一次 POST /v1/videos 就生成一次任务、扣一次费)。余额与消费明细在控制台「钱包 / 日志」里看。

常见错误

报错原因与处理
401 无效的令牌用的不是 sk- 开头的令牌,或令牌被禁用 / 过期。去控制台「令牌」重新建一个。
404 Invalid URL (GET /v1/…)请求路径写错,对照上面的接口总览改。
No available channel for model … under group …该模型在你的令牌分组没有可用渠道。当前 default 分组=视频模型、生图 分组=图片模型;确认令牌所在分组。
resolution is required for … and must be 720p (no silent default)视频模型必须显式传 resolution,本站固定 720p,不传会被拒绝。
resolution for dola-seedance-2.5 must be 720p (got 1080p)分辨率只支持 720p,其它档位直接报错。
duration is required for … / duration for … must be between 4 and 15 / 4 and 30 seconds (got …)时长必填且需在模型范围内(2.0-fast 4–15 秒;2.5 4–30 秒)。
field "reference_images" is not supported; use "referenceImages" instead用了旧字段名。按提示改成驼峰写法(视频素材字段见上表)。
field "watermark" is not supported; supported fields: …请求里带了不支持的字段,被整单拒绝。删掉多余字段,只保留文档列出的字段。
referenceImages supports at most 30 items for this model (got 31)参考图 / 参考音频数量超上限(见模型表),减少素材数量。
referenceImages[0] must be a public http(s) URL (private address rejected): …素材 URL 要公网可访问、未过期、不依赖登录 / Cookie / 内网地址。
prompt is required没传提示词。
图片参数错误(size / n 等)检查 size 是否为 宽x高 格式、n 是否为正整数;具体报错以实际返回为准。
bad_response_status_code(上游返回 4xx)图片请求被上游拒绝(多为参数问题),按返回的错误信息调整后重试。
图片编辑缺少图片文件图片编辑需 multipart 上传 image 文件。
文生图接口不接受文件上传要传参考图请走 /v1/images/edits。
400 task_not_exist查询要用创建任务时的同一个令牌,或 task_id 写错。
Task is not completed yet, current status: IN_PROGRESS任务未完成就调用了下载接口,等状态变为 completed 再下载。
素材下载失败 / 素材类型无效素材 URL 要公网可访问;Content-Type 必须与文件一致(image/* / video/* / audio/*),不要返回 application/octet-stream。
查询时返回 408 / 409 / 425 / 429 / 5xx只是这一次查询失败,不代表任务失败;保留 task_id 继续轮询。
余额不足账号额度用完了,去控制台充值或兑换。

文档版本 2026-10-10 · 模型与价格以控制台实时配置为准。