演講(Speech)生成 API

2026-09-18 更新 · Suno-API 團隊

介面說明

演講(Speech)用於把演講稿或一句話描述生成「說話/演講」音訊,可選是否配背景音樂。 適合演講、致辭、旁白、口播稿、有聲內容等場景。

請注意:本介面生成的是說話音訊,不是演唱歌曲(沒有旋律、沒有歌唱人聲)。 需要唱歌請使用靈感模式生成 API 或專業模式生成 API。

介面位址:POST /api/music/speech

計費:收費,目前預設 0.6 元/次。每次通常回傳 2 條音訊,實際扣費以目前後台價格設定為準。

Max Mode / Variety:本介面支援選用參數 max_mode 與 variety(0-4)。開啟 max_mode 時本次依 2 倍價格計費(0.6 → 1.2 元/次),variety 不額外計費;兩者含義與寫法見 Suno API 介面文件總覽 的「進階參數」一節。

等待時間與逾時(重要):本介面是同步介面,回應返回時才代表訂單已被受理並提交生成。 實測多數請求數秒內返回(1–10 秒);但與其它同步生成介面一樣,極端情況下可能更久, 請把用戶端逾時設定為 300 秒以上; 未收到回應不等於沒有生成,逾時後請勿立即重試(會重複下單、重複扣費)。 連線中斷可稍後用 GET /api/music/songs 確認。詳見 Suno API 介面文件總覽的「等待時間與逾時設定」。

內容合規:平台會對演講稿做版權與內容政策校驗。若被判定為涉及版權材料(例如直接引用他人歌詞、知名作品原文),本次會生成失敗並自動全額退費。改用你自己的表述、把引用改成轉述後再試即可。

請求參數

Headers

參數名 型別 必填 說明
Authorization string 是 Bearer YOUR_API_KEY
Content-Type string 是 application/json

Body 參數

參數名 型別 必填 預設值 說明
script string 是 - 演講稿全文;最多 3000 字元(超長回傳 400,不扣費)
tone string 否 - 語氣/語速/情緒/場景描述,如「激昂有力,語速由慢到快;學校禮堂」;最多 1000 字元
song_title string 否 - 標題;最多 100 字元
gender string 否 不限 演講者性別:m、f(相容 male、female);也可用 vocal_gender 傳同一個值
backing_music boolean 否 true 是否配背景音樂;false 為純人聲演講
model string 否 suno-v6 對客模型名:suno-v6、suno-v6-wild 或 suno-v6-mini
wait_completion boolean 否 false 是否等待生成完成後再回傳
max_mode boolean 否 false 開啟後本次依 2 倍價格計費
variety integer 否 - 風格變化程度 0-4,見總覽「進階參數」

本介面不支援 duration(時長參數):傳了會回傳 HTTP 400,不做靜默忽略。 演講時長由 script 的內容長度決定。

請求範例

最小請求(只需要演講稿)

curl -X POST https://www.suno-api.io/api/music/speech \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  --max-time 300 \
  -d '{
    "script": "各位老師、各位同學,大家好!今天我演講的題目是《不負時光,奮力前行》。"
  }'

完整請求(指定語氣、性別、關閉背景音樂)

curl -X POST https://www.suno-api.io/api/music/speech \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  --max-time 300 \
  -d '{
    "script": "Good evening everyone, thank you all for coming to celebrate this special day with us.",
    "tone": "warm and slow, wedding reception",
    "song_title": "Wedding Toast",
    "gender": "f",
    "backing_music": false,
    "model": "suno-v6"
  }'

Python 範例

import requests

response = requests.post(
    'https://www.suno-api.io/api/music/speech',
    headers={'Authorization': 'Bearer YOUR_API_KEY'},
    json={
        'script': '各位同事,下午好。下面報告一下本週的進展。',
        'tone': '平穩清晰,會議報告',
        'gender': 'male',
        'backing_music': True,
    },
    timeout=300,
)
response.raise_for_status()
items = response.json()          # 通常 2 條
for item in items:
    print(item['song_id'], item['status'])

參數說明

script(演講稿,必填)

tone(語氣與場景,選用)

用來描述「怎麼講」,而不是「講什麼」。建議包含四類資訊:語氣、語速/節奏、情緒、場景。

激昂有力,語速由慢到快,停頓明顯;學校禮堂,面向全校師生
溫暖柔和,語速平緩;婚禮宴會現場
沉穩克制,均速清晰;董事會報告

上限 1000 字元。不填時由模型依 script 的內容自行判斷。

gender / vocal_gender(演講者性別,選用)

backing_music(背景音樂,選用)

model(模型,選用)

三個對客模型都可用且同價(0.6 元/次)。演講由 Suno v6 系列引擎生成;不填時依預設 suno-v6 處理。除非你有明確偏好,通常不需要傳這個欄位。

參數驗證與文字上限

以下情況會回傳 HTTP 400,都在扣費之前攔截,不會產生費用:

情況 錯誤訊息
沒有傳 script,或只傳了空白 script is required for speech
gender 不是 m/f/male/female gender must be one of m, f, male, female
backing_music 不是布林值 backing_music must be a boolean
傳了不支援的 duration duration is not supported on /api/music/speech

文字欄位長度上限

超長同樣回傳 HTTP 400,不會進入生成、不會預扣費。計數按 Unicode 字元(一個漢字算 1 個字元), 首尾空白也計入:

欄位 上限
script(演講稿) 3000 字元
tone(語氣描述) 1000 字元
song_title(標題) 100 字元

錯誤訊息形如 script must not exceed 3000 characters; received 4120: 第一個詞是超限的欄位名,末尾是實際字數,拿到 400 直接按這兩個數字裁剪即可。

回應結果

回傳與其它生成介面完全一致的歌曲陣列(通常 2 條),保存 song_id 後依 歌曲查詢與歷史 API 查詢最終狀態與音訊位址:

[
  {
    "song_id": "b7529174-b495-465b-8c5e-cd21bea2df8c",
    "song_title": "不負時光",
    "status": "pending",
    "audio_url": "",
    "cover_url": "",
    "video_url": "",
    "model_version": "suno-v6",
    "generation_type": "generate",
    "created_at": "2026-10-08T01:00:00Z"
  }
]
欄位 說明
song_id 曲目 ID,後續查詢/下載都用它
status pending(已提交、生成中)、processing、completed(已完成)、failed(失敗)
song_title 標題(未傳 song_title 時由模型生成,可能為空)
audio_url 音訊位址;生成完成前為空,完成後可直接下載或播放

生成失敗與退款

生成失敗時,本次費用會自動全額退回,不需要聯絡客服。失敗原因可在回應或 歌曲查詢與歷史 API 的 error_message 裡看到。

最常見的失敗原因是內容被平台判定為涉及版權材料,例如:

Your lyrics contain copyrighted material. Please change it and try again.

遇到這種情況,把稿件換成你自己的表述(或把引用改成轉述)後重新提交即可。

常見問題

Q:為什麼生成出來是「說話」,不是唱歌? A:本介面就是演講介面,輸出為說話音訊。要唱歌請用生成/專業模式介面。

Q:每次為什麼回傳 2 條? A:與本平台其它生成介面一致,一次生成產出 2 條候選,按 song_id 分別查詢,選滿意的一條即可。

Q:怎麼控制時長? A:由 script 的長度決定,本介面不接受 duration 參數。

Q:可以指定音色(例如我複製的聲音)嗎? A:目前版本不支援。演講使用固定的演講音色,可用 gender 指定男聲/女聲; 如需用自己的聲音,請使用複製音色 API(推薦) 的相關能力。

Q:tone 不填會怎樣? A:模型會依 script 的內容自行判斷語氣與節奏。要穩定重現某個風格,建議把語氣、語速、場景寫進 tone。

相容欄位

推薦欄位 相容欄位 說明
gender vocal_gender 兩者傳其一即可,m/f/male/female 均可

新接入請統一使用 snake_case。其餘欄位(script、tone、song_title、backing_music)沒有 camelCase 別名。

下一步

拿到 song_id 後:

  1. 用歌曲查詢與歷史 API 查詢生成狀態與音訊位址;
  2. 完成後用歌曲媒體下載與試聽 API 下載或試聽;
  3. 想批次下載或轉存,見下載中心相關介面。
下一篇音效生成 API

取得 API 金鑰

註冊後即可在主控台建立 API 金鑰。每次生成 0.6 元可得 2 首歌,下載不限次數,且不需要手機號碼。

取得 API 金鑰 回到總覽