Suno API の公式提供状況、APIキーの取得方法、Python での実行例
Suno 公式の API は招待制です。それでも今すぐ動く方法を紹介します。
このページの内容
2026年10月17日時点で、Suno には公式 API があります。ただし自分では登録できません。platform.suno.com にあるのは既存の API アカウント向けのログイン画面だけで、公開ドキュメントも価格表もなく、Suno は7月に、まずは選ばれたパートナーから始めると述べています。招待がなければ、今日そのまま使える方法がほかに2つあります。
Suno API は公式に提供されている?
Suno は platform.suno.com で API を案内していて、公開されているのはこの1ページだけです。

見出しは「original songs, covers, and mashups from a single prompt」を「a simple REST API」で実現するとうたっています。ページ上でできることは、Suno アカウントに紐づいた Google アカウントか、メールで届くコードでログインするだけです。ほかのリンクは suno.com、Terms、Privacy の3つだけ。同じホストの /docs と /pricing を開いても同じログイン画面が出るだけでした(2026年10月17日に確認)。API は存在しますが、ドキュメントや価格はログインした後にしか見えません。
| 探しているもの | 2026年10月17日の状況 |
|---|---|
| 公式 API ページ | ログインのみ |
| 公開ドキュメント | 未公開 |
| 価格表 | 未公開 |
| セルフ登録 | なし |
| 入口の入手方法 | 招待、パートナー申請フォーム |
パートナー募集の話は Music Business Worldwide が報じています。2026年7月2日の記事によると、Suno の最高製品責任者(CPO)Jack Brody 氏が7月1日の LinkedIn 投稿で計画を発表し、応募フォームへのリンクを載せました。記事が引用するフォームの文言は「We're beginning to explore a developer API, starting with a curated group of partners.」で、まずは選ばれたパートナーから開発者向け API を試すという意味です。提供開始日は発表されておらず、プラットフォームのページにもリリースノートにも Suno のヘルプセンターにも日付はありません。
法人で使いたい場合は営業窓口に回されます。Suno の利用規約には「if you are an enterprise user, you must contact sales to use our Service」とあります。同じ記事は、Suno が「has not released self-serve developer access or published its own API documentation」だと伝えていて、10月時点のページの状態とも一致します。
今すぐコードから Suno を呼ぶ3つの方法
| 方法 | 仕組み | 注意点 |
|---|---|---|
| 公式パートナー枠 | Suno に申請して選ばれた枠に入る | 公開された時期の目安はない |
| 非公式の GitHub ラッパー | 自分の Suno cookie を自分のサーバーで使う | Suno の規約、コードの更新停止 |
| サードパーティ API プラットフォーム | OmniaKey のキーでタスク作成とポーリング | Suno ではなく第三者 |
公式パートナー枠。 Brody 氏が7月にリンクした応募フォームが、Suno が示した唯一の入口です。記事も、一般公募ではなく選ばれたパートナー向けの早期アクセスだと説明しています。2026年10月17日の時点で、プラットフォームのページにあるのはログインボックスだけで、フォームも順番待ちリストも申請リンクもありません。Suno 自身のページにフォームへの公開リンクは見つかりませんでした。幅広い提供開始の時期についても、Music Business Worldwide は何も報じていません。
非公式の GitHub ラッパー。 gcui-art/suno-api がもっとも知られた回避策です。2026年10月17日時点で star は3,259、未解決の issue は約100件、最後のコミットは2026年3月6日です。README には公式 API が「is not yet available」と書かれています。必要なものは3つ。自分の Suno アカウントの cookie をブラウザのネットワークタブから手でコピーすること、Suno が hCaptcha を出し続けるための有料の 2Captcha キー、Playwright と rebrowser のパッチで動かす実ブラウザです。2025年12月14日に立てられた issue #262 には、作者が「lacks the time to maintain it」と書いています。
2026年8月10日改訂・9月3日発効の Suno 利用規約は、「any data mining, robots, scraping, or similar data gathering or extraction methods」を禁じています。さらに「through any means not intentionally made available or provided for through the Service」でコンテンツを取得することも禁じています。自分の cookie で suno.com を動かすラッパーの上に製品を作る前に、Suno の利用規約 でこの2つの条項を読んでください。README にはこれらの注意はなく、法的な記載は LGPL-3.0 ライセンスだけです。
サードパーティ API プラットフォーム。 OmniaKey はサードパーティの API プラットフォームで、Suno ではありません。独自の非同期メディア API を通して Suno v4.5 と Suno v6 への API アクセスを販売し、キーの発行と課金も OmniaKey が行います。ドキュメントに載っているモデル ID は suno-v4.5 と suno-v6 の2つだけで、1回のリクエストで完成したミックス済みの曲が1曲返ります。Suno のアカウントでは2案が表示されます。以下ではこの方法を実際に最後まで動かします。
Python で曲を1曲生成する
リクエストを1回送るとジョブが作られ、もう1回呼ぶと状態がわかり、完成した MP3 が署名付きリンクで届きます。キーを環境変数に入れて、スクリプトを suno_song.py として保存してから実行してください。スクリプトは5秒ごとに status を確認します。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. ジョブを作成する。このリクエストを再試行するときだけ、同じ Idempotency-Key を使い回す。
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. ジョブが終わるまで、progress.percent ではなく status で確認する。
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. MP3 は今すぐダウンロードする。署名付き URL は約1時間で切れる。
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日にこのスクリプトをそのまま実行すると、2行が出力されました。
task: task_VDvzdpfABcqDOIpo9I1p7CXHg99elSuK queued
saved late-build.mp3 3506516 bytes
開始からファイル保存まで82秒でした。ファイルは 48 kHz ステレオの MP3 で、約 161 kbps、長さ 2:55、3.5 MB。スクリプトが instrumental を true にしているのでインストゥルメンタルです。
2つのモデルを2種類の入力で比べるため、2026年10月17日の13:03 UTC から OmniaKey の API で4曲作り、4秒ごとに状態を確認しました。

| モデル | 入力モード | 完成まで | 長さ |
|---|---|---|---|
| v4.5 | 説明文 | 105秒 | 3:23 |
| v6 | 説明文 | 92秒 | 3:07 |
| v4.5 | 自作歌詞 | 70秒 | 1:03 |
| v6 | 自作歌詞 | 86秒 | 0:45 |
4曲とも一発で完成し、どのリクエストも MP3 を1つ返しました。説明文を渡すと3分前後の曲になります。同じスタイルで自作の歌詞を8行付けると45〜63秒でした。歌詞を自分で書くときは短い曲になると考えておいてください。ビットレートは 151〜195 kbps、48 kHz ステレオで、署名付きのダウンロードリンクはジョブ作成から約1時間で切れます。
パラメータと制限
| フィールド | 役割 |
|---|---|
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で失敗し、事前に引かれた料金は戻ります。 - 1リクエストで完成曲1曲なので、
parameters.nは 1 でなければなりません。 - アセットのリンクは署名付きで短命、およそ1時間です。タスクの記録は作成から24時間保持されます。
エラーと返金
| コード | 意味 | 対処 |
|---|---|---|
400 invalid_request | ボディの形式が不正、またはプロンプトも歌詞もない | ボディを直し、新しい Idempotency-Key を使う |
400 model_price_error | このモデルと操作に価格が設定されていない | ダッシュボードかモデルページを確認する |
403 model_not_allowed | キーまたはグループにモデルが含まれていない | キーのモデル権限を確認する |
400 missing_idempotency_key | Idempotency-Key ヘッダーがない | ジョブごとに一意のキーを付ける |
409 idempotency_key_reused | 同じキーで別のボディ | 元のボディに戻すか、新しいキーを使う |
404 task_not_found | 不明なタスク ID | ID と保持期間を確認する |
409 task_state_conflict | その状態に移行できない | タスクの現在の状態を読む |
503 no_available_channel | 今そのモデルや操作を提供するチャネルがない | generate を使うか、時間をおいて試す |
provider_submit_uncertain | 操作が未提供、または送信前にパラメータが拒否された | error.message を読み、料金は返金される |
provider_failed | プロバイダーがジョブを拒否、またはキューでタイムアウト | error.message を読み、料金は返金される |
失敗したジョブ、キャンセルされたジョブ、プロバイダーに届かなかったジョブは自動で返金されます。キャンセル後も完走したタスクは、最終的な状態で課金されます。同じ冪等キーと同じボディで再送すると、2つ目のジョブは作られず元のタスクと 200 が返るので、タイムアウト後の再試行でも課金は1回だけです。復旧手順は短く、作成がタイムアウトしたら同じボディとキーをそのまま送り直し、タスク ID を取得したらそれをポーリングし続けます。
よくある質問
Suno API は無料で使える?
platform.suno.com に無料枠はありません。無料プランは suno.com のアプリ側にあります。v6-mini は誰でも使え、v4.5-all は2025年10月21日から無料です。無料枠で作った作品は個人利用のみで、商用利用はできません。
Suno API で作った曲は商用利用できる?
Suno の利用規約は、作品の権利を Pro と Premier の有料プラン加入者に割り当てています。商用利用が認められるのは「downloaded by you through an approved channel」でダウンロードした作品だけです。無料枠の作品は非商用のままで、リミックスはどのプランでも個人利用に限られます。サードパーティ API の曲も同じ扱いなので、生成した曲を有料製品に入れる前に Suno の規約を読んでください。
1曲にどれくらいかかる?
音声のドキュメントでは20秒から2分とされています。今回の4件は70〜105秒、スクリプトの実行は開始から保存まで82秒でした。
v4.5 と v6 のどちらを使うべき?
Suno は2026年9月9日に v6 ファミリーを、2025年5月1日に v4.5 を発表しました。v6 はモデル ID だけで選べますが、v4.5 は parameters.mv でバージョンを固定します。OmniaKey の suno-v4.5 がどの v4.5 バリアントに対応するかは公開されていません。Suno は v6 をフラッグシップモデルと呼んでいるので、古い v4.5 のバージョンを固定する必要がなければ Suno v6 から始めてください。
Suno API キーはどうやって取得する?
すでに API アカウントを持っているなら、platform.suno.com で Suno アカウントに紐づいた Google アカウントか、メールで届くコードを使ってログインします。アカウントがない場合、7月のパートナー申請フォームが唯一の公開された入口でしたが、今のページにはありません。OmniaKey のようなサードパーティプラットフォームは Suno のログインとは別に独自のキーを発行します。