模型指南

Suno API:用 Suno V6 生成歌曲

Suno V6 可以根据一个创意、一种风格或你自己的歌词,写出并演唱一首完整的歌曲,也可以演奏纯音乐。本指南介绍如何通过 REST API 调用它、价格是多少,以及它的四个输入如何搭配。

Suno V6 API 能为你做什么

Suno V6 是 Suno 最新的音乐模型。给它一个创意、一种风格、你自己的歌词,或这几者的组合,它就会写出并演唱一首完整的歌曲,或演奏纯音乐。在 Revana 上它的模型 id 是 suno-v6,与所有视频和图像模型使用同一个接口。

Revana 上的 Suno V6 概览
项目详情
模型 idsuno-v6
生成内容带人声的歌曲,或纯音乐
每个任务的曲目数同一请求的两个版本
输入prompt, style, lyrics, instrumental
提示词长度最多 3,000 个字符
价格每个任务 $0.08,含两首曲目
线路一条线路

Suno API 价格(2026年10月)

Suno V6 按任务计价,而不是按秒或按曲目计价。一个任务 $0.08,返回两首曲目,所以每首成品歌曲的成本是它的一半。

Suno V6 按批量计算的费用
任务数获得的曲目数合计
12$0.08
1020$0.80
100200$8.00
1,0002,000$80.00

失败的任务不会扣费。额度为预付,$10 起,无需订阅;详见价格页面。

四个输入及其组合方式

  • prompt用平实的语言描述你想要的歌曲:情绪、主题、面向的听众。
  • style指定曲风和声音,例如“lo-fi hip hop, soft piano, vinyl crackle”或“upbeat pop punk, female vocals”。
  • lyrics是你自己写的、要被演唱的词。单独成行的 [Verse] 和 [Chorus] 等段落标签有助于模型塑造歌曲结构。
  • instrumental设为 true 时,生成没有人声的音乐。

每个请求都需要 style 或 lyrics(或两者都有)。instrumental: true 不能与 lyrics 一起发送,因为没人来演唱;违反任一规则的请求会在扣费之前被拒绝。

生成一首歌

发送 POST /v1/generations,带上模型 id 和 input,然后轮询,直到任务出现 succeeded 或 failed。这个请求的费用为 $0.08。

cURL
export REVANA_API_KEY="sr_live_..."

# 1. Submit the job (returns 202 with the generation id)
curl https://api.revana.si/v1/generations \
  -H "Authorization: Bearer $REVANA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "suno-v6",
    "input": {
      "prompt": "A warm, hopeful song about a small bakery opening before sunrise on a quiet street.",
      "style": "acoustic indie folk, male vocals, fingerpicked guitar, light percussion"
    },
    "max_cost_usd": 0.1
  }'

# 2. Poll with the id from step 1 until status is "succeeded" or "failed"
curl https://api.revana.si/v1/generations/gen_01JC2V8K5T \
  -H "Authorization: Bearer $REVANA_API_KEY"
Python
import os
import time

import requests

API = "https://api.revana.si/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['REVANA_API_KEY']}"}

resp = requests.post(f"{API}/generations", headers=HEADERS, json={
    "model": "suno-v6",
    "input": {
        "prompt": "A warm, hopeful song about a small bakery opening before sunrise on a quiet street.",
        "style": "acoustic indie folk, male vocals, fingerpicked guitar, light percussion",
    },
    "max_cost_usd": 0.1,
})
resp.raise_for_status()
job = resp.json()

while job["status"] in ("queued", "running"):
    time.sleep(5)
    job = requests.get(f"{API}/generations/{job['id']}", headers=HEADERS).json()

if job["status"] == "succeeded":
    print(job["output"]["urls"], job["cost_usd"])
else:
    print("Failed:", job["error"])
Node.js
// Node 18 or later. Save as generate.mjs and run: node generate.mjs
const API = "https://api.revana.si/v1";
const headers = {
  Authorization: `Bearer ${process.env.REVANA_API_KEY}`,
  "Content-Type": "application/json",
};

const res = await fetch(`${API}/generations`, {
  method: "POST",
  headers,
  body: JSON.stringify({
    model: "suno-v6",
    input: {
      prompt: "A warm, hopeful song about a small bakery opening before sunrise on a quiet street.",
      style: "acoustic indie folk, male vocals, fingerpicked guitar, light percussion",
    },
    max_cost_usd: 0.1,
  }),
});
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
let job = await res.json();

while (job.status === "queued" || job.status === "running") {
  await new Promise((r) => setTimeout(r, 5000));
  job = await (await fetch(`${API}/generations/${job.id}`, { headers })).json();
}

if (job.status === "succeeded") console.log(job.output.urls, job.cost_usd);
else console.error("Failed:", job.error);
响应
{
  "id": "gen_01JC2V8K5T",
  "model": "suno-v6",
  "status": "succeeded",
  "output": {
    "urls": [
      "https://cdn.revana.si/g/gen_01JC2V8K5T/0.mp3",
      "https://cdn.revana.si/g/gen_01JC2V8K5T/1.mp3"
    ]
  },
  "cost_usd": 0.08,
  "attempts": 1,
  "error": null,
  "created_at": "2026-10-28T10:14:02Z",
  "completed_at": "2026-10-28T10:15:31Z"
}

output.urls 中的两个文件是同一请求的两个版本。可以像这样通过 API 下载:

下载两首曲目
# Each Suno job returns two tracks. Fetch both once the job has succeeded.
curl -L -o take-1.mp3 https://api.revana.si/v1/generations/gen_01JC2V8K5T/content \
  -H "Authorization: Bearer $REVANA_API_KEY"
curl -L -o take-2.mp3 https://api.revana.si/v1/generations/gen_01JC2V8K5T/content/2 \
  -H "Authorization: Bearer $REVANA_API_KEY"

演唱你自己的歌词

要让 Suno 演唱你写的歌词,请把它们放在 lyrics 中,并带上 style 发送:

请求体
{
  "model": "suno-v6",
  "input": {
    "style": "synth pop, bright female vocals, 112 bpm",
    "lyrics": "[Verse]\\nCity lights are coming on\\nEvery window tells a story\\n\\n[Chorus]\\nWe run until the morning\\nWe run until the sun"
  },
  "max_cost_usd": 0.1
}

为视频配的纯音乐

要为片段配背景音乐,省略 lyrics 并设置 instrumental:

请求体
{
  "model": "suno-v6",
  "input": {
    "prompt": "Calm background music for a 30 second product video about a ceramic coffee mug.",
    "style": "ambient electronic, soft pads, slow tempo",
    "instrumental": true
  },
  "max_cost_usd": 0.1
}

同一个 API 密钥也能生成视频。你可以把 Suno 曲目与视频模型指南中任意模型生成的片段搭配使用,也可以通过 Revana MCP 服务器让智能体一并完成。

Suno V6 与其他所有模型一起列在模型页面上,完整的请求参考在文档中。获取 API 密钥,生成你的第一首歌。

常见问题

Suno API 多少钱?

2026年10月,在 Revana 上 Suno V6 每个任务 $0.08。每个任务返回两首曲目,失败的任务不会扣费。

Suno API 会返回两首歌吗?

会。每个 Suno V6 任务都会针对同一个请求返回两个版本。可从 /v1/generations/{id}/content 和 /content/2 下载。

我可以在 Suno API 中使用自己的歌词吗?

可以。把歌词放在 lyrics 中发送,并用 style 指定声音风格。单独成行的 [Verse]、[Chorus] 等段落标签有助于塑造歌曲结构。

Suno 能生成纯音乐吗?

能。把 instrumental 设为 true,并在 prompt 和 style 中描述音乐。纯音乐请求不要同时发送 lyrics。

Suno 的提示词最长能有多长?

最多 3,000 个字符。更长的提示词会在扣费之前被拒绝。

一个密钥,生成一首歌

一个 API 密钥即可使用 Suno V6 以及所有视频和图像模型。预付额度 $10 起,只对成功的任务收费。