元工 元工模型平台 API v2.10

API 文档

一把密钥调用文本、图片、视频、语音全部模型。接口完全兼容 OpenAI 格式——现有代码只需替换 base_url 与密钥即可直接使用。

接入信息

接口地址https://pay.uniwork.top/v1
鉴权方式请求头 Authorization: Bearer <您的密钥>
密钥获取登录控制台 → 令牌页创建;或联系您的服务顾问
计费方式按量后付,从账户余额实时扣减,明细可在控制台查询
密钥安全 密钥仅可保存在您的服务端(环境变量或密钥管理服务),切勿写入小程序前端、网页 JS、移动端 App 或公开代码仓库。一旦泄露,任何人都可消耗您的余额。如怀疑泄露,请立即在控制台删除该令牌并新建。

快速开始

Python(openai SDK ≥ 1.0)

from openai import OpenAI

client = OpenAI(
    api_key="您的密钥",
    base_url="https://pay.uniwork.top/v1",
)

resp = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[{"role": "user", "content": "给宠物服饰店写三条小红书标题"}],
)
print(resp.choices[0].message.content)

Node.js

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.UNIWORK_KEY,
  baseURL: "https://pay.uniwork.top/v1",
});

const r = await client.chat.completions.create({
  model: "deepseek-v4-flash",
  messages: [{ role: "user", content: "你好" }],
});

cURL

curl https://pay.uniwork.top/v1/chat/completions \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"deepseek-v4-flash","messages":[{"role":"user","content":"你好"}]}'

模型总表

您的密钥实际可调用的模型,以 GET /v1/models 返回为准。需要开通新模型请联系服务顾问。

用途模型名计费方式说明
文本 · 高频任务deepseek-v4-flash按 token日常对话、批量处理首选
文本 · 质量档deepseek-v4-pro按 token复杂推理、长文创作
视觉理解 · 首选qwen3.7-flash按 token图片/视频帧输入,1M 超长上下文
多模态 · 全能低价glm-5.3-flash按 token图片/视频/文件/文本输入,1M 上下文,工具调用强;思考不可关闭,max_tokens 建议 ≥300
多模态 · DeepSeek 视觉deepseek-v4-flash-vision-exp按 token图片+文本输入,1M 上下文,工具调用/JSON;实验性模型,默认思考,max_tokens 建议 ≥500
图片理解kimi-k2.7-code按 token支持图片输入
图片理解 · 高速kimi-k2.7-code-highspeed按 token延迟敏感场景
图片生成 · 首选gpt-image-2按 token通用出图、改图、多图合成
图片生成 · 新一代gpt-image-2.5-flare按 token(与 gpt-image-2 同价)OpenAI 09-08 新版:画质更高、速度约快一半,多 xhigh / max 两档;参数与 gpt-image-2 完全一致,改模型名即可
图片生成 · 新一代 · 高精度gpt-image-2.5-sunburst按 token(与 gpt-image-2 同价)OpenAI 09-08 同系列高精度版:细节与提示词还原更强、编辑精度更高,生成更慢;参数与 flare 完全一致,按需选用
图片生成 · 中文强doubao-seedream-5-0-pro-260628按张(一口价,1K/2K 同价)海报文字渲染准确;尺寸 92 万~462 万像素(4K 不支持);不支持组图;国产备案模型
视频 · 旗舰doubao-seedance-2-5-260628按用量时长 4-30 秒或 -1 自动;参考图≤30;仅 480p/720p
视频 · 高质量doubao-seedance-2-0-260128按用量支持 480p / 720p / 1080p / 4K
视频 · 高性价比doubao-seedance-2-0-mini-260615按用量仅支持 480p / 720p
视频 · 口型重配videoretalk按视频时长人物视频 + 音频 → 口型匹配;多路并行,建议在途 ≤4
视频 · 万相 All-in-Onewan3.0-video / -prime按秒×分辨率文生/图生/参考/编辑/延长全包,2-30 秒原生有声;素材含真人人脸请用它(seedance 系会拒);默认 1080P 最贵,预览显式传 480P;结果 URL 24 小时过期
视频 · MiniMax H3 系列minimax-h3-max-turbo / minimax-h3-max / minimax-h3按秒×分辨率5-15 秒原生有声、对白口型同步;turbo=文生/首帧图生最低价档,max=参考图(≤9)+参考音频(≤3)锁同脸同声,h3=可到 2K/4K;主档 768P
语音 · 性价比cosyvoice-v2按字符多种系统音色
语音 · 低价cosyvoice-v3-flash按字符批量场景
语音 · 克隆首选cosyvoice-v3.5-flash按字符只认克隆音色,配合「声音克隆」
语音 · 高保真cosyvoice-v3.5-plus按字符最高音质,支持声音设计;克隆时 target_model 选它(与 flash 音色不互通)
语音识别qwen-audio-3.0-asr-flash按次返回文本 + 逐词时间戳;音频 ≤ 5 分钟
音乐 / BGMmusic-3.0 · music-2.6按首一次调用直接出成品 mp3,单曲最长约 2.5 分钟;可自动写词
音乐 · 作词music-lyrics按次只出词不出歌:主题 → 带结构标签的完整歌词 + 歌名 + 风格;可续写改写
音乐 · 翻唱music-cover按首参考音频换词 / 换风格重唱,附原词与结构提取
视频理解qwen3.5-omni-flash按 token视频 URL 直接传;画面和声音一起理解

单价与实时用量请登录门户查看——余额、逐条调用明细与消耗金额都在控制台,实际扣费以账单为准。

对话与图片理解

POST /v1/chat/completions — 标准 OpenAI 格式,支持流式输出。

流式输出

{
  "model": "deepseek-v4-flash",
  "messages": [{"role": "user", "content": "写一段产品介绍"}],
  "stream": true
}

SSE 分片返回,最后一片为 data: [DONE]

图片理解

{
  "model": "kimi-k2.7-code",
  "messages": [{
    "role": "user",
    "content": [
      {"type": "image_url", "image_url": {"url": "https://.../photo.jpg"}},
      {"type": "text", "text": "这张商品图有什么卖点?"}
    ]
  }]
}
图片必须 base64 图片理解请以 data:image/jpeg;base64,... 形式传入,直接给外部图片链接会报 unsupported image url
DeepSeek 思考模式必读 deepseek-v4 系列默认开启思考模式,推理消耗计入输出 token 且先于正文——预算偏小时会出现 "token 用尽但正文为空"的间歇性失败。不需要思考时请显式关闭:"thinking": {"type": "disabled"} (注意 enable_thinking: false 不是 DeepSeek 的参数,传了无效)。关闭后响应更快、费用更低。
计费依据 响应中的 usage 字段(prompt_tokens / completion_tokens)即本次计费依据。 若您需要按自己的终端用户分摊费用,建议将该字段原样记录到自己的账本中。

图片生成

POST /v1/images/generations

GPT Image 系列:三个模型,同一套参数、同一个价

模型定位速度(2026-09-09 实测)什么时候用
gpt-image-2上一代通用模型,稳定基线1K 低画质 10–20s,高画质数十秒到 3 分钟已经在用、不想动的项目
gpt-image-2.5-flare新一代默认款:画质更好、更快1K 低画质 11–30s(负载高时 1–3 分钟)新项目、日常出图、批量出图
gpt-image-2.5-sunburst新一代高精度款:细节与提示词还原、编辑精度更强与 flare 相当,略慢精修、参考图改图、商业精品图

三个模型的 size / quality / n 和改图接口完全一样,换模型只改 model 字段;三个都按 token 计费,单价相同。注意:response_format 只有 gpt-image-2 接受,2.5 两款传了会返回 400 Unknown parameter——它们默认就回 b64_json,不要传。

curl https://pay.uniwork.top/v1/images/generations \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2.5-flare",
    "prompt": "简约陶土橙圆形 logo,白色背景",
    "size": "1024x1024",
    "quality": "medium",
    "n": 1
  }'
# 换成 "gpt-image-2" 或 "gpt-image-2.5-sunburst" 即可,其他一个字不改
  • 默认返回 b64_json(base64 编码图片),自行解码保存;gpt-image-2 和 seedream 支持 "response_format": "b64_json" / "url";gpt-image-2.5-flare / gpt-image-2.5-sunburst 不接受 response_format(传了 400),按默认 b64_json 处理即可(2026-09-10 实测)
  • size:常用 1024x1024 / 1536x1024 / 1024x1536,2K/4K 档(如 2048x20483840x2160)也可。09-09 实测 768x10241344x20162048x11522048x20481536x2048 三款全部通过,实出尺寸与请求一致
  • quality:gpt-image-2low / medium / high / auto(传 standard 会被拒);2.5 两款在此之上多 xhigh / max 两档。越高吐的 token 越多、越贵
  • token 用量参考(09-09 实测,flare 与 sunburst 逐档相同):
    规格gpt-image-2gpt-image-2.5 flare / sunburst
    768×1024 low134134
    1024×1024 low196196
    2048×2048 low397
    1536×2048 medium2223556
    1536×2048 high2223
    1024×1024 high7024
    1024×1024 xhigh不支持3122
    改图 edits 768×1024 low入 798 / 出 134
    2.5 的 medium 只用 2.0 medium 约四分之一的 token;要 2.0 medium 的观感,用 2.5 的 high,token 数相同。
  • doubao-seedream-5-0-pro-260628(2026-08-19 实测):size 写精确宽高,像素面积须在 921,600 ~ 4,624,220 之间(如 768x1024 太小、任何 4K 档太大,都返回 400)——即 不支持 4K;不支持组图(sequential_image_generation 会被忽略,只回 1 张、不报错,多张请多次调用);默认带「AI生成」角标,加 "watermark": false 即无;按张一口价,1K/2K 同价
  • 把 seedream 当 GPT Image 系列的兜底时,切换前先把尺寸映射进上面的像素区间、多张拆成多次调用

参考图改图 / 多图合成

都能改图,但走的门不同,别用混:

模型改图走哪个接口参考图怎么传
gpt-image-2 / gpt-image-2.5-flare / gpt-image-2.5-sunburstPOST /v1/images/edits(multipart)-F image=@文件,可多张;-F mask=@png 可选
doubao-seedream-5-0-pro-260628POST /v1/images/generations(JSON)JSON 里加 "image" 字段(公网 URL 或 data:image/png;base64,...;单图字符串或多图数组)
# GPT Image 系列:multipart 传文件(精修推荐 sunburst,换成 gpt-image-2 / flare 同样可用)
curl https://pay.uniwork.top/v1/images/edits \
  -H "Authorization: Bearer $KEY" \
  -F model=gpt-image-2.5-sunburst \
  -F image=@pet.jpg \
  -F image=@clothes.jpg \
  -F prompt="让这只宠物穿上这件衣服,保持宠物原本的样貌"
# seedream:generations + image 字段(公网 URL 或 data:base64 直塞,单图字符串或多图数组)
curl https://pay.uniwork.top/v1/images/generations \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedream-5-0-pro-260628",
    "prompt": "把这个logo的颜色改成深蓝色,其他保持不变",
    "image": "https://您的图片URL.png",
    "size": "1024x1024",
    "watermark": false
  }'
注意 seedream 走 /v1/images/edits 会报错(unsupported relay mode); GPT Image 系列的 JSON generations 不认 image 字段。各走各的门。

视频生成

视频为异步任务:提交后立即返回任务 ID,轮询至完成后取视频地址。

两个端点,按需选门

/v1/videos(OpenAI 标准)/v1/video/generations(功能全)
适合OpenAI SDK、简单场景多参考图 / 首帧尾帧 / 口型重配
时长参数seconds(字符串;传 duration 会被忽略走默认 5 秒)metadata.duration(数字 4-15)
参考图仅一张(image 字段)多参考图数组
轮询状态queued → in_progress → completed,成片在 metadata.urlqueued → running → succeeded,成片在 content.video_url

以下详述功能全版(门二):

① 提交任务

POST /v1/video/generations

// 文生视频
{
  "model": "doubao-seedance-2-0-mini-260615",
  "prompt": "一只橘猫从木桌轻盈跳下,午后阳光客厅,写实风格",
  "metadata": { "duration": 5, "ratio": "9:16", "resolution": "720p" }
}
// 图生视频(以图片作为首帧)
{
  "model": "doubao-seedance-2-0-260128",
  "prompt": "镜头缓慢推进,人物从静止到抬头微笑",
  "metadata": {
    "duration": 8, "resolution": "720p",
    "content": [
      {"type": "image_url",
       "image_url": {"url": "https://.../first.jpg"},
       "role": "first_frame"}
    ]
  }
}
// 口型重配:人物视频 + 人声音频 → 口型对上的新视频
{
  "model": "videoretalk",
  "prompt": "lip sync",
  "metadata": {
    "content": [
      {"type": "video_url", "video_url": {"url": "https://.../person.mp4"}},
      {"type": "audio_url", "audio_url": {"url": "https://.../speech.mp3"}}
    ]
  }
}
// 万相 wan3.0:同一个门,换 model 名即可(参数放 metadata 根)
{
  "model": "wan3.0-video",
  "prompt": "一只橘猫在窗台上晒太阳,轻轻摇尾巴,写实风格",
  "metadata": {
    "resolution": "480P", "duration": 5, "audio": true,
    "content": [
      {"type": "image_url",
       "image_url": {"url": "https://.../first.jpg"},
       "role": "first_frame"}
    ]
  }
}

MiniMax H3 系列(minimax-h3-max-turbo / minimax-h3-max / minimax-h3)

同一个任务门,5-15 秒、24 fps、原生有声且对白口型同步;素材决定入口:first_frame(可加 last_frame)=首帧图生,reference_image / audio_url=参考生视频(锁人脸、道具、声线),都不带=文生。turbo 只有文生和首帧图生(最快最便宜),max 多参考生视频,h3 多 2K / 4K 档。

// MiniMax H3 Max:参考图锁同脸 + 参考音频锁声线,对白直接写在提示词里
{
  "model": "minimax-h3-max",
  "prompt": "中式书房,老人接过飞机模型笑了。老人说:\"第一架不是。后头三架,有我一份。\" 环境音:窗外鸟鸣。无音乐,画面无字幕",
  "metadata": {
    "resolution": "768P", "ratio": "9:16", "duration": 8,
    "content": [
      {"type": "image_url", "image_url": {"url": "https://.../老人.png"}, "role": "reference_image"},
      {"type": "audio_url", "audio_url": {"url": "https://.../声音样本.mp3"}}
    ]
  }
}
  • resolution:turbo / max 为 480P / 768P,h3 另有 2K / 4K;写 720p 自动落 768P。duration 5–15。参考视频(video_url)暂不受理;turbo 带参考素材会被拒绝并提示换模型。
  • 对白写法 角色说:"台词",一镜一人;提示词里写明"无音乐、画面无字幕"。
  • 计费按提交秒数 × 分辨率(失败不计费):turbo 480P=6250 token/秒、768P=1 万;max 12500 / 2 万;h3 12500 / 15000 / 32500 / 4 万;参考图前 4 张免费,之后每张 5000 token。单价看门户。
  • 结果 URL 保留期不长,拿到立即转存。

seedance ↔ wan3.0 切换对照

两家走同一个任务门,提交/轮询/参考图写法完全一致,改 model 名即切;差异只有这几处:

seedance 系wan3.0-video / -prime
时长4–15 秒(2.5 支持 4–30)2–30 秒;-1 智能时长
resolution 写法小写(720p)大小写均可(平台已归一化);默认 1080P 最贵档,预览显式传 480P
音轨无原生配音(音频仅作口型参考)默认原生有声(台词/BGM/音效),"audio": false
真实人脸素材拒(笼统 Bad Request)可用——人脸素材首选它
独有能力多镜头 Shot 语法、fast 档视频编辑/延长(提示词写"编辑/替换/延长")、参考音频、文件/网页生视频、ratio: "adaptive"
计费按 token(预扣→退差)实际输出秒数 × 实际分辨率(480P/720P/1080P = 1/2/4 万 token 每秒),失败不扣
素材组合限制首帧可与参考图混用first_frame/last_frame 只能互相搭配,不能与 reference_*/file/link 混用,混用任务直接失败(不扣费)

② 轮询结果

GET /v1/video/generations/{task_id} — 状态流转 queuedrunningsucceeded / failed。 成功后响应中 content.video_url 即视频地址。建议轮询间隔 8–10 秒。

必读规则
  • duration(秒)必须写在 metadata,写在顶层会被忽略, 导致按默认时长出片且不报错。seedance 时长范围 4–15 秒。
  • mini 仅支持 480p / 720p,传 1080p 或 4K 会直接报错。
  • 口型重配素材要求:视频为正面近景人物、2–120 秒、MP4/MOV;音频需干净人声、无背景音乐。
  • 口型重配支持素材直塞:没有对象存储时,video_url / audio_url 可直接放 data:video/mp4;base64,... / data:audio/mpeg;base64,..., 单字段上限 2800 万字符(原文件约 19MB,超限报 StreamReadConstraints 错)。 成片时长跟随音频,参考视频先裁剪到音频长度再压缩即可大幅缩小体积;口播类画面 720p 约可容纳 2 分钟。
  • 成片地址约 24 小时有效,请拿到后立即转存到您自己的存储。
  • 视频生成耗时通常数分钟,请务必做成异步——提交后即返回,由后台轮询,完成后再通知用户。
  • 账单中视频会出现两条记录:先按最大时长预扣,完成后按上游真实用量退还差额。这是正常机制,注意带参考视频的任务按(参考视频时长+输出时长)之和计费,参考视频越长费用越高。 失败任务全额退还。
  • 多参考图必须放 metadata.content 数组(role=reference_image)。 顶层塞 image 数组会被静默忽略——返回 200 但参考图不生效。
  • 中文 prompt 建议 ≤500 字,过长会被拒绝;写关键动作句即可。
  • 图生视频输出比例跟随参考图,要 16:9 先把参考图裁成 16:9。
  • 参考图用 URL 或压缩 JPEG,勿传 2MB+ 的 base64 大图(请求体过大会失败)。
  • 参考图/参考视频不能包含真实人脸(上游隐私策略,报错表现为笼统 Bad Request)。 素材有人出镜:首选改用 wan3.0-video(同一任务门、同样支持首帧/参考图,对人脸不拦截,实测同图 seedance 拒而万相成片); 真人口播/对口型请用 videoretalk;仍想用 seedance 才考虑打码或换素材。
  • 多模态参考支持图+视频+音频混合(图≤9、视频≤3 且每个 2-15 秒总长 ≤15 秒、音频≤3)。

语音合成

POST /v1/audio/speech — 响应体直接是音频二进制(默认 mp3),保存即可播放。

curl https://pay.uniwork.top/v1/audio/speech \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"model":"cosyvoice-v2","input":"欢迎使用元工智能","voice":"longxiaochun_v2"}' \
  -o out.mp3

声音克隆(创建专属音色)

克隆走独立管理接口(同一把密钥鉴权),得到 voice_id 后照常走 /v1/audio/speech 合成:

# 创建音色(audio_url = 10-20 秒干净人声,公网可访问)
curl https://pay.uniwork.top/voice/clone \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"provider": "aliyun", "audio_url": "https://.../sample.mp3", "name": "boss"}'
# → {"voice_id": "cosyvoice-v3.5-flash-boss-xxxx"}

# 用克隆音色合成(可带情绪指令与语速)
curl https://pay.uniwork.top/v1/audio/speech \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"model": "cosyvoice-v3.5-flash", "input": "你好", "voice": "克隆返回的voice_id",
       "instructions": "用非常开心、兴奋的语气说", "speed": 1.2}' -o out.mp3
  • provider:目前只支持 aliyun;可选 target_model:cosyvoice-v3.5-flash(默认)或 cosyvoice-v3.5-plus(高保真)——音色与所选模型绑定,不互通,换档要重克隆(创建免费)
  • 音色按账户隔离:list 只返回你自己创建的音色,delete 只能删自己的;新克隆的 voice_id 前缀是账户标识(如 u113-),name 仅作为你自己系统里的显示名
  • voice_id 请当密钥保管:持有 id 即可用该音色合成,不要写进小程序前端 / 网页 JS / 公开仓库
  • instructions:情绪/语气自然语言指令(如"用温柔安抚的语气说"),仅 cosyvoice-v3.5-flash + 克隆音色生效;注意是复数拼写,单数会被网关忽略
  • speed:语速 0.5–2.0,超出取边界值
  • 管理接口:GET /voice/list?provider=aliyun 列音色、POST /voice/delete 删音色;每小时限 20 次管理操作
  • 克隆本身暂不计费,合成按正常价;克隆音色偶发"音色未就绪"报错,重试 1-2 次即可
  • audio_url 也支持 data:audio/mpeg;base64,... 直塞——没有对象存储可以把样本直接放进请求体(样本通常不到 1MB)

正文富文本标记(局部控制)

instructions 控制整段语气,富文本标记控制单个词或单句,两者可同时使用。 标记直接写在 input 正文里,不会被朗读出来:

标记作用
<strong>关键词</strong>刻意重读强调(标注卖点最常用)
<laughter>一句话</laughter>这句话带笑意
[laughter]插入一声笑
[breath]插入换气声
curl https://pay.uniwork.top/v1/audio/speech \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"model": "cosyvoice-v3.5-flash", "voice": "克隆返回的voice_id",
       "input": "这款抽纸<strong>130抽</strong>,湿水<strong>不易破</strong>[breath],囤起来很划算。",
       "instructions": "用开心、有感染力的带货语气说", "speed": 1.1}' -o out.mp3
写指令的要点 instructions 里只描述「怎么说」(语气、风格、角色),不要写正文内容—— 内容会被当作台词朗读出来。另外语气与语速会改变音频时长(同一段文案不同语气可相差数秒), 制作口型视频时请先合成音频、取得实际时长后再安排画面。

cosyvoice-v2 常用系统音色:longxiaochun_v2(标准女声)、 longwan_v2(温柔女声)、longyue_v2(客服女声)、longshu_v2(男声)。 单次文本建议不超过 2000 字。

语音识别(转文字)

POST /v1/audio/transcriptionsmultipart 表单上传音频文件(与 OpenAI 官方一致)。 返回文本,并附带逐词时间戳,可直接用于生成字幕或卡点。

curl https://pay.uniwork.top/v1/audio/transcriptions \
  -H "Authorization: Bearer $KEY" \
  -F model=qwen-audio-3.0-asr-flash \
  -F file=@voice.mp3
// 返回
{
  "text": "hello world,这里是阿里巴巴语音实验室。",
  "words": [
    {"word": "hello", "start": 0.6, "end": 1.0},
    {"word": " world,", "start": 1.0, "end": 1.28}
  ]
}

音频不超过 5 分钟、10 MB。须上传文件本体,暂不支持只传音频 URL。

音乐 / BGM 生成

POST /v1/chat/completions — 与对话同一个接口,任何 OpenAI SDK 直接可用。 一次调用直接返回成品音频链接,无需轮询;实测约 60-90 秒出一首,单曲最长约 2.5 分钟。 按首计费,生成失败不计费。

# 一句风格描述 = 一首纯音乐 BGM
curl https://pay.uniwork.top/v1/chat/completions \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"model":"music-3.0","messages":[{"role":"user","content":"轻快明亮的企业宣传片背景音乐,现代电子,积极向上"}]}'

返回体 choices[0].message.content 是音频直链(24 小时有效,请及时转存), 同时给了顶层 audio_urlduration(秒)方便直接取用。

要带人声的歌:把 content 写成 JSON 字符串,给 lyrics(用 [verse] / [chorus] 分段):

{"model": "music-3.0", "messages": [{"role": "user", "content":
  "{\"prompt\":\"流行,温暖,女声\",\"lyrics\":\"[verse]\\n街灯微亮晚风轻抚\\n[chorus]\\n推开木门香气弥漫\"}"}]}
  • 模型:music-3.0(推荐)、music-2.6,同价
  • content 为纯文本时 = 风格描述,默认出纯音乐(BGM 场景);给了 lyrics 则出带唱的歌
  • JSON 形态可选字段:prompt(≤2000 字)、lyrics(≤3500 字)、is_instrumentalformatsample_ratebitrate
  • 只给风格、让 AI 自动写词并唱:加 "lyrics_optimizer": true(lyrics 留空)。实测约 2 分钟出一首 3 分钟完整歌。
  • 单次请求耗时较长,客户端超时请设 ≥180 秒

只作词不出歌(model = music-lyrics)

先出词、让用户看/改,满意再送去唱——比 lyrics_optimizer 多一道"人工过目"。返回带 [Intro]/[Verse]/[Chorus]… 结构标签的完整歌词 + 自动起的歌名 + 风格标签,秒级返回。

# 纯文本 = 歌曲主题,写整首;顶层另给 song_title / style_tags / lyrics
{"model": "music-lyrics", "messages": [{"role": "user", "content": "一首关于宠物服饰店开业的欢快歌"}]}

# 续写 / 改写已有歌词
{"model": "music-lyrics", "messages": [{"role": "user", "content":
  "{\"mode\":\"edit\",\"lyrics\":\"[Verse]\\n已有的词…\",\"prompt\":\"扩写成完整一首\"}"}]}
  • mode:write_full_song(默认)/ edit(需给 lyrics);可加 title 指定歌名
  • 拿到的 lyrics 可原样塞给 music-3.0 唱出来;按次计费,比出歌便宜得多

翻唱(model = music-cover)

拿一段参考音频,换新歌词 / 换风格重唱——门店主题曲、活动歌、把喜欢的曲子换成自己的词,都靠它。

{"model": "music-cover", "messages": [{"role": "user", "content":
  "{\"audio_url\":\"https://.../reference.mp3\",\"lyrics\":\"[verse]\\n晨光穿过木窗\\n[chorus]\\n每一分钱花得明白\",\"prompt\":\"保持原曲风格\"}"}]}
  • 参考音频:公网 URL(或 audio_base64),6 秒 – 6 分钟、≤ 50MB
  • lyrics:新歌词,10–1000 字;不给则用从参考音频自动提取的原词(= 纯换风格)
  • prompt:目标风格(可选,默认"保持原曲风格");想换风格就写,如"改成慢板抒情,钢琴伴奏"
  • 返回顶层多带:cover_feature_id(24 小时内可复用——再出新版本时直接传它、免去重新分析,快约 30 秒)、 source_lyrics(从参考音频提取的原词,带分段)、structure(歌曲结构与时间戳)
  • 实测:首次翻唱约 85 秒(含分析),复用 cover_feature_id 约 55 秒;按首计费,与 music-3.0 同价
版权提示 参考音频若为他人商业歌曲,翻唱产物对外发布的版权责任由使用方自行承担。建议使用自有 / 已授权音频,或本平台生成的曲子作为参考。

用量查询

接口说明
GET /v1/models当前密钥可调用的全部模型列表
GET /v1/dashboard/billing/usage累计消耗,total_usage 单位为美分
POST /v1/responses仅 DeepSeek 系列可用(实验性);其余模型(含 glm-5.3-flash)不支持,请用 /v1/chat/completions。SDK 若默认走 Responses 协议(如 provider 选成 openai-api)会得到 404
控制台余额、逐条调用明细、充值与账单导出

错误处理

状态码含义处理建议
401密钥无效或已被删除核对密钥;如疑似泄露请在控制台重建
403余额不足,或该模型未开通控制台充值;需开通模型请联系服务顾问
429请求过于频繁指数退避重试(2s / 4s / 8s),并在业务侧加排队
500 / 503服务临时波动重试 1–2 次;若持续失败请联系我们

错误响应格式:{"error": {"message": "...", "type": "..."}}

图片接口最终结果 · v2.11(2026-09-11)

POST /v1/images/generations/v1/images/edits 遇到可重试故障时,平台先在重试预算内执行可用渠道切换,再返回成功或最终失败。成功响应体保持不变。不同模型和账户的备用能力可能不同。

请将响应头 X-Uniwork-Request-Id 与业务任务 ID 一起保存。失败体另含 error.request_iderror.retryable;该 ID 用于日志核查,当前不是可查询成品的异步任务 ID。

error.code处理建议
service_unavailable / rate_limit_exceededretryable=true 时可退避重试,或按业务策略选择备用模型
moderation_blocked内容审核拒绝;调整素材或描述,不自动切换模型重发
invalid_request检查模型、参数和参考素材,不盲目重发
result_unknown结果未确认,retryable=false;不要立即重新生成或切备用模型,保存请求 ID 联系支持核查
invalid_api_key / permission_denied / insufficient_quota检查身份、权限和账户或令牌额度

调用方超时或连接中断也可能是结果未知,不能只凭超时认定未生成。成功收到 HTTP 响应后,调用方仍需完成成品保存与展示。

排查提示 个别错误提示文案可能不够准确(例如服务繁忙时也可能提示鉴权相关信息)。 若您确认密钥正确却持续失败,请直接联系我们排查,不必反复更换密钥。

接入建议

  1. 按终端用户记账 —— 若您的产品面向自己的用户,请将每次调用的 usage 记入自己的数据库,按控制台上的单价换算后扣减该用户余额。平台侧仅对您的账户结总账。
  2. 设置用量上限 —— 为每个终端用户设置日限额(如每天最多生成 N 条视频),避免单个用户异常消耗。
  3. 长任务落库 —— 视频任务 ID 持久化保存,轮询放在后台队列执行,不要挂在 HTTP 请求中同步等待。
  4. 并发控制 —— 建议业务侧限制并发:视频约 10 路、图片约 20 路;超出部分排队,体验更稳定。
  5. 内容合规 —— 对外发布的 AI 生成图片 / 视频,请按《人工智能生成合成内容标识办法》添加标识; 小程序、App 等场景请接入平台方的内容安全审核接口。
  6. 模型分层使用 —— 改写、提炼等高频轻任务用 deepseek-v4-flash; 脚本创作等质量敏感任务用 deepseek-v4-pro,成本与效果更平衡。