スピーチ(Speech)生成 API

2026-09-18 更新 · Suno-API チーム

インターフェースの説明

スピーチ(Speech)は、原稿または一言の説明から「話す/スピーチ」音声を生成します。背景音楽の有無を選べます。 スピーチ、挨拶、ナレーション、口播原稿、音声コンテンツなどの用途に向いています。

ご注意:本エンドポイントが生成するのは話し音声であり、歌ではありません(旋律も歌唱ボーカルもありません)。 歌が必要な場合はひらめきモード生成 API またはプロモード生成 APIをご利用ください。

エンドポイント: POST /api/music/speech

課金: 有料、現在は既定で 1 回 0.6 元。通常は 1 回につき 2 件の音声が返ります。実際の請求額は現在の管理画面の価格設定に従います。

Max Mode / Variety: 本エンドポイントは任意パラメータ max_mode と variety(0〜4)に対応しています。 max_mode を有効にするとこの 1 回は 2 倍の価格で課金され(0.6 → 1.2 元/回)、variety に追加課金は ありません。両者の意味と書き方は新版 API 概要の「高度なパラメータ」の節をご覧ください。

待ち時間とタイムアウト(重要):本エンドポイントは同期インターフェースで、レスポンスが返った時点で初めて注文が受理され生成に投入されます。 実測では多くのリクエストは数秒(1〜10 秒)で返りますが、他の同期生成エンドポイントと同様、極端な場合はより長くかかることがあります。 クライアントのタイムアウトは 300 秒以上に設定してください。 レスポンスが無いことは未生成を意味せず、タイムアウト直後の再試行は注文の重複と二重課金につながります。 接続が切れた場合は少し後に GET /api/music/songs で確認できます。詳しくは新版 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(語気と場面、任意)

「何を話すか」ではなく「どう話すか」を描写します。語気、語速/リズム、感情、場面の 4 種類を含めるとよいです。

情熱的で力強く、語速は遅いところから速く、間をはっきりと;学校の講堂、全校の師弟に向けて
温かくやわらかく、語速はゆるやかに;結婚披露宴の会場
落ち着いて抑制的、一定の速さで明瞭に;取締役会での報告

上限は 1000 文字。入力しない場合、モデルが script の内容から判断します。

gender / vocal_gender(話者の性別、任意)

backing_music(背景音楽、任意)

model(モデル、任意)

3 つの対客モデルはすべて利用でき、価格は同じです(1 回 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 字は 1 文字)で、 先頭・末尾の空白も含みます:

フィールド 上限
script(原稿) 3000 文字
tone(語気の描写) 1000 文字
song_title(タイトル) 100 文字

エラーメッセージは script must not exceed 3000 characters; received 4120 の形です。 最初の語が上限を超えたフィールド名で、末尾が実際の文字数なので、400 を受け取ったらこの 2 つの数字でそのまま切り詰められます。

レスポンス結果

レスポンスは他の生成エンドポイントと完全に同じ楽曲配列(通常 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:本プラットフォームの他の生成エンドポイントと同様、1 回の生成で 2 件の候補が出ます。song_id ごとに照会し、満足できる 1 件を選んでください。

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 キーを作成できます。1 回 0.6 元で 2 曲が生成され、ダウンロードは無制限、電話番号は不要です。

API キーを取得 概要に戻る