Suno API 怎么用?官方接口现状、Key 获取与 Python 调用示例
Suno 官方 API 要受邀才能用,这里是现在就能跑通的办法。
本页内容
截至 2026 年 10 月 17 日,Suno 有官方 API,但不能自己注册。platform.suno.com 上只有已有账户的登录框,没有公开文档和价格表;Suno 7 月说先从一小批受邀合作方开始。没有邀请的话,另外两条路现在就能用。
Suno 有没有官方 API?
有,Suno 在 platform.suno.com 上公开在卖 API,而这一个页面就是它对外的全部。

页面标题说可以用一句提示词生成原创歌曲、翻唱和混搭,后面跟了一句 “a simple REST API”。整页唯一能做的动作,是用绑定 Suno 的 Google 账号或邮箱验证码登录。页面外链只有 suno.com、Terms 和 Privacy 三个。同域下的 /docs 和 /pricing 打开还是同一个登录页(2026 年 10 月 17 日核对)。API 是存在的,至于有没有文档和价格,要登录之后才看得到。
| 你想找什么 | 2026 年 10 月 17 日的情况 |
|---|---|
| 官方 API 页面 | 只有登录 |
| 公开文档 | 没有发布 |
| 价格表 | 没有发布 |
| 自助注册 | 没有 |
| 怎么拿到入口 | 邀请、合作申请表 |
合作方的消息来自 Music Business Worldwide。2026 年 7 月 2 日的报道说,Suno 首席产品官 Jack Brody 在 7 月 1 日的 LinkedIn 帖子里公布了计划。报道引用的申请表原话是 “a curated group of partners”,意思就是先做一小批受邀合作方。上线时间没有公布,平台页、发布记录和帮助中心到现在也没补上日期。
企业用户走的是销售,条款原文是 “contact sales to use our Service”。同一篇报道还说 Suno “has not released self-serve developer access”。这和 10 月 17 日页面上的样子对得上。
现在能用代码调用 Suno 的三条路
| 方式 | 怎么做 | 要注意什么 |
|---|---|---|
| 官方合作接入 | 向 Suno 申请,进受邀名单 | 没有时间表 |
| 非官方 GitHub 项目 | 自己的 Suno cookie 跑在服务器上 | 条款风险、代码停更 |
| 第三方 API 平台 | OmniaKey 的 key,建任务再轮询 | 第三方,不是 Suno |
官方合作接入:7 月那张申请表是 Suno 唯一露出的门。报道说先给一小批受邀合作方,不是开放注册。2026 年 10 月 17 日平台上只有登录框,没有申请表、候补名单或申请链接。我们在 Suno 自己的页面上也没找到这张表的公开链接。
非官方 GitHub 项目:gcui-art/suno-api 是最多人用的绕行方案。2026 年 10 月 17 日它有 3,259 个 star、约 100 个未关闭的 issue,最后一次提交在 2026 年 3 月 6 日。README 自己写着官方 API “is not yet available”。用起来要三样东西:自己 Suno 账号的 cookie,从浏览器网络面板手动复制。还要一个付费的 2Captcha key,因为 Suno 一直在出 hCaptcha 验证码。最后是一个用 Playwright 加 rebrowser 补丁驱动的真浏览器。2025 年 12 月 14 日开的 issue #262 写着,作者 “lacks the time to maintain it”。
Suno 的服务条款 2026 年 8 月 10 日修订,9 月 3 日生效。它禁止 “data mining, robots, scraping” 这类抓取方式。也不许用 “not intentionally made available” 的途径获取内容。拿这类用自己 cookie 驱动 suno.com 的项目做产品之前,先把 Suno 服务条款里的这两条读一遍。README 里没有相关提醒,唯一的法律声明是 LGPL-3.0 许可。
第三方 API 平台:OmniaKey 是第三方 API 平台,不是 Suno。它通过自己的异步媒体接口提供 Suno v4.5 和 Suno v6 的调用,key 由 OmniaKey 发放和计费。文档里只有 suno-v4.5 和 suno-v6 两个模型 ID,一次请求返回一首成品歌。Suno 账号里给的是两个备选,下面就用它跑通一次。
用 Python 生成一首歌
一次请求建任务,第二次查询状态,最后的 MP3 用签名链接下载。先把 key 放进环境变量,把下面的脚本存成 suno_song.py 再运行。脚本每 5 秒查一次状态,因为 progress.percent 只是尽力而为,任务在跑时也可能一直是 0。
export OMNIAKEY_API_KEY="your-key"
python3 suno_song.py
import os
import time
import uuid
import requests
API = "https://api.omniakey.com/v1/media/tasks"
HEADERS = {"Authorization": f"Bearer {os.environ['OMNIAKEY_API_KEY']}"}
# 1. Create the job. Reuse the same Idempotency-Key only when retrying this exact request.
job = requests.post(
API,
headers={**HEADERS, "Idempotency-Key": str(uuid.uuid4())},
json={
"model": "suno-v4.5",
"type": "audio",
"operation": "generate",
"input": {"prompt": "calm lo-fi beat for late-night coding, soft piano, vinyl crackle"},
"parameters": {"title": "Late Build", "instrumental": True},
},
timeout=30,
)
job.raise_for_status()
task = job.json()
print("task:", task["id"], task["status"])
# 2. Poll on status, not on progress.percent, until the job finishes.
while task["status"] in ("queued", "processing"):
time.sleep(5)
task = requests.get(f"{API}/{task['id']}", headers=HEADERS, timeout=30).json()
if task["status"] != "succeeded":
raise SystemExit(f"job ended {task['status']}: {task.get('error')}")
# 3. Download the MP3 now: the signed URL expires in about an hour.
asset = task["assets"][0]
with open("late-build.mp3", "wb") as f:
f.write(requests.get(asset["url"], timeout=120).content)
print("saved late-build.mp3", asset["byte_size"], "bytes")
2026 年 10 月 17 日跑这段脚本,输出两行:
task: task_VDvzdpfABcqDOIpo9I1p7CXHg99elSuK queued
saved late-build.mp3 3506516 bytes
从开始到文件存好用了 82 秒。文件是 48 kHz 立体声 MP3,约 161 kbps,时长 2:55,3.5 MB。脚本把 instrumental 设成了 true,所以是纯音乐。
为了对比两个模型在两种输入方式下的差别,我们 2026 年 10 月 17 日 13:03 UTC 起又在 OmniaKey 的接口上生成了四首,每 4 秒查一次状态。

| 模型 | 输入方式 | 出歌耗时 | 时长 |
|---|---|---|---|
| v4.5 | 描述 | 105 秒 | 3:23 |
| v6 | 描述 | 92 秒 | 3:07 |
| v4.5 | 自己写词 | 70 秒 | 1:03 |
| v6 | 自己写词 | 86 秒 | 0:45 |
四首都是第一次就成功,每次请求返回一个 MP3。给一段描述,出来是约 3 分钟的完整歌。同样风格配上自己写的八句歌词,只有 45 到 63 秒,自己写词就按短歌来规划。码率 151 到 195 kbps,48 kHz 立体声,下载链接在任务创建约一小时后过期。
参数和限制
| 字段 | 作用 |
|---|---|
input.prompt | 描述你想要什么样的歌 |
input.lyrics | 自己写的词,填了就会切换模式 |
parameters.style / parameters.tags | 自己写词时用来说明风格 |
parameters.title | 歌曲标题 |
parameters.instrumental | 设成 true 去掉人声 |
parameters.mv | 指定 v4.5 的版本:chirp-v4-5、chirp-v4、chirp-v3-5、chirp-bluejay |
parameters.n | 歌曲数量,只能是 1 |
- 填了
input.lyrics就切到自己写词的模式。这时input.prompt、parameters.style或parameters.tags用来描述风格。两个都不填的任务会被拒绝。 suno-v6靠模型 ID 区分,不需要mv;mv只对 v4.5 有效。- 只有
generate可用。续写、单独生成歌词和语音合成会返回503 no_available_channel,预扣的费用会退回。 - 一次请求一首成品歌,所以
parameters.n只能是 1。 - 下载链接是签名短链,约一小时有效;任务记录保留 24 小时。
报错和退款
| 错误码 | 什么意思 | 怎么办 |
|---|---|---|
400 invalid_request | 请求体格式不对,或描述和歌词都没填 | 改好请求体,换一个新的 Idempotency-Key |
400 model_price_error | 这个模型和操作没有配置价格 | 看控制台或模型页 |
403 model_not_allowed | 这个 key 或分组不包含该模型 | 查一下 key 的模型权限 |
400 missing_idempotency_key | 少了 Idempotency-Key 头 | 一个任务配一个唯一的 key |
409 idempotency_key_reused | key 相同,请求体不同 | 改回原请求体,或换新 key |
404 task_not_found | 任务 ID 查不到 | 核对 ID 和 24 小时保留期 |
409 task_state_conflict | 任务不能切到这个状态 | 先读任务当前状态 |
503 no_available_channel | 现在没有渠道提供这个模型或操作 | 改用 generate,或稍后再试 |
provider_submit_uncertain | 操作没开放,或参数在发出前被拒 | 看 error.message,预扣费用会退回 |
provider_failed | 供应商拒绝了任务,或在队列里超时 | 看 error.message,预扣费用会退回 |
失败、被取消或根本没送到供应商的任务会自动退款。取消后仍然跑完的任务,按最终状态计费。同一个幂等 key 配同样的请求体重放,会返回原来那个任务和 200,不会新建第二个任务,所以超时重试只扣一次钱。恢复也就两步:建任务超时就原样重发请求体和 key,拿到任务 ID 之后就继续查它。
国内怎么用
OmniaKey 支持人民币直充,网站上的说法是支持支付宝和微信支付,不用先换美元。一个 key 就能调用多家模型。音乐这边是 Suno v4.5 和 Suno v6,调用方式和上面的脚本一样,只是把模型 ID 换掉。费用按次计算,具体数字看模型页。
常见问题
Suno API 免费吗?
platform.suno.com 上没有免费的 API 额度。免费额度在 suno.com 的网页版。v6-mini 所有人都能用,v4.5-all 从 2025 年 10 月 21 日起免费。免费档生成的作品只能自己用,不能商用。
用 Suno API 生成的歌能商用吗?
服务条款把作品的权益转给 Pro 和 Premier 订阅用户。商用只限“通过认可渠道下载”的作品,原文是 “through an approved channel”。免费档的作品只能自用,remix 不论什么套餐都只限个人使用。通过第三方 API 生成的歌也一样,要放进收费产品,先读一遍 Suno 的条款。
一首歌要等多久?
音频文档写的是 20 秒到 2 分钟。我们这四次是 70 到 105 秒,脚本那次从开始到存好文件 82 秒。
用 v4.5 还是 v6?
Suno 在 2026 年 9 月 9 日发布 v6 系列,v4.5 是 2025 年 5 月 1 日发布。v6 只看模型 ID。v4.5 要用 parameters.mv 指定版本,而 OmniaKey 的 suno-v4.5 没说明对应哪个 v4.5 版本。Suno 把 v6 称为旗舰模型,除非你要用 mv 指定旧的 v4.5 版本,否则先用 Suno v6。
Suno API Key 怎么获取?
已经有 API 账户的,登录 platform.suno.com 管理账户。登录方式是用绑定 Suno 的 Google 账号,或者邮箱验证码。没有账户的话,7 月那份合作申请表是唯一公开入口,今天页面上已经看不到。第三方平台像 OmniaKey 是自己发 key,和 Suno 账号无关。