Suno API
RouteAPI は Suno AI 音楽生成の統合 REST API を提供します。テキストから音楽生成、曲の延長、ボイスクローニング、ステム分離などをサポートします。
ワークフロー概要
Section titled “ワークフロー概要”Suno の音楽生成は非同期です。 典型的なフロー:
- タスクを送信
/suno/audiosへ →task_idを受信 - 2-3秒待機 してからポーリング開始
- 3-5秒ごとにポーリング
/suno/tasksでaction: "retrieve" - status が
successになったら →audio_urlを取得
タスクステータス
Section titled “タスクステータス”| ステータス | 意味 | 次のステップ |
|---|---|---|
submitted | 送信済み、待機中 | ポーリング継続 |
queued | キュー中 | ポーリング継続 |
in_progress | 生成中 | ポーリング継続 |
success | ✅ 完了 | data 配列の最初の要素から audio_url を取得 |
failure | ❌ 失敗 | error フィールドを確認 |
クイックスタート
Section titled “クイックスタート”ステップ1:タスクを送信
Section titled “ステップ1:タスクを送信”curl -X POST "https://api.routeapi.ai/suno/audios" \ -H "Authorization: Bearer $ROUTEAPI_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "chirp-v5-5", "prompt": "A cheerful summer pop song with piano and guitar", "async": true }'ステップ2:結果をポーリング
Section titled “ステップ2:結果をポーリング”curl -X POST "https://api.routeapi.ai/suno/tasks" \ -H "Authorization: Bearer $ROUTEAPI_KEY" \ -H "Content-Type: application/json" \ -d '{ "action": "retrieve", "id": "task_xxxxx" }'ステップ3:オーディオを取得
Section titled “ステップ3:オーディオを取得”{ "id": "task_xxxxx", "task_id": "task_xxxxx", "status": "success", "data": [ { "id": "audio_1", "audio_url": "https://cdn.suno.ai/xxx.mp3", "duration": 183.5 } ]}サポートされるモデル
Section titled “サポートされるモデル”| モデル ID | 最大長 | lyric 上限 | style 上限 |
|---|---|---|---|
chirp-v5-5 | 8分 | 5000文字 | 1000文字 |
chirp-v5 | 8分 | 5000文字 | 1000文字 |
chirp-v4 | 150秒 | 3000文字 | 200文字 |
POST /suno/audios
Section titled “POST /suno/audios”オーディオ操作のコアエンドポイントです。action フィールドで操作を選び、リクエストボディにその操作に必要なフィールドを指定します。
コアパラメータ
Section titled “コアパラメータ”| フィールド | 型 | デフォルト | 説明 |
|---|---|---|---|
model | string | chirp-v4 | 生成モデル、chirp-v5-5 を推奨 |
action | string | generate | 操作タイプ |
async | boolean | — | true を強く推奨。明示的に false を渡した場合のみ同期分岐になり、省略時は転送されないため上流のデフォルトが適用されます |
アクションタイプ
Section titled “アクションタイプ”| Action | 説明 | 必須フィールド |
|---|---|---|
generate | プロンプトから新しい音楽を生成 | prompt |
extend | 既存のオーディオを延長 | audio_id + continue_at |
cover | 既存曲を新しいスタイルで再解釈 | audio_id |
stems | ボーカル + インストゥルメンタルに分離 | audio_id |
remaster | オーディオをリマスターして品質向上 | audio_id |
完全なアクションタイプについては英語または中国語のドキュメントを参照してください。
POST /suno/tasks
Section titled “POST /suno/tasks”タスクのステータスと結果をクエリします。
curl -X POST "https://api.routeapi.ai/suno/tasks" \ -H "Authorization: Bearer $ROUTEAPI_KEY" \ -H "Content-Type: application/json" \ -d '{ "action": "retrieve", "id": "task_xxxxx" }'その他のエンドポイント
Section titled “その他のエンドポイント”| エンドポイント | メソッド | 説明 |
|---|---|---|
/suno/lyrics | POST | 歌詞を生成 |
/suno/upload | POST | 外部オーディオファイルをアップロード |
/suno/persona | GET/POST | ボイスペルソナを管理 |
/suno/wav | POST | WAV形式でエクスポート |
完全な API リファレンスについては英語または中国語のドキュメントを参照してください。
リクエストがタスクハンドラに到達した後のエラーは、タスク用のボディを使用します:
{ "code": "invalid_request", "message": "prompt_empty (request id: ...)", "data": null }認証とルーティングの失敗はそのハンドラより前に発生し、OpenAI 形式のボディ {"error": {"message": "...", "type": "...", "code": "..."}} のままです。よくあるエラーを参照してください。
| ステータス | コード | 原因 |
|---|---|---|
| 400 | invalid_request | エンドポイントまたはアクションに必須フィールドがない。message がそのフィールド名を示します(例: /suno/lyrics の prompt_empty、/suno/vox の audio_id_vocal_start_vocal_end_required) |
| 400 | task_not_exist | action: "retrieve" の id が自分のタスクではない |
| 401 | — | API Key の欠落・無効・期限切れ(OpenAI 形式のボディ) |
| 403 | insufficient_user_quota | アカウント残高または Key のクォータが事前課金に足りない |
| 429 | — | 上流チャネルがレート制限または飽和を報告した。RouteAPI がプロバイダーの原文を置き換えます |
| 502 | acedata_suno_request_failed | 上流は受け付けたがリクエストを拒否した: コンテンツ審査、存在しない audio_id、未対応のアクション。message に上流の説明が入ります |
| 502 | upstream_task_id_missing | 上流がタスク ID なしで 2xx を返し、ポーリングできない。事前課金は返金されます |
| 503 | get_channel_failed | タスクの背後にあるチャネルがハード障害(上流アカウントの利用不能など)と判定された。RouteAPI がプロバイダーの原文を置き換えます(利用可能なチャネルがまったくないモデルは、タスクハンドラに入る前に 503 model_not_found と OpenAI 形式のボディで拒否されます) |
| 4xx / 5xx | fail_to_fetch_task | 上流が非 2xx を返した。ステータスとボディはそのまま転送され、事前課金は返金されます |
ポーリングが failure を返した失敗タスクも事前課金を返金します。理由はタスクレコードの error と message にあります。
よくある質問
Section titled “よくある質問”Q: どのモデルを使うべきですか?
chirp-v5-5 を使用してください(最新かつ最も高性能)。
Q: 生成にどのくらい時間がかかりますか?
generate は通常 15-40秒です。
Q: audio_url は直接使用できますか?
はい、CDN の直接リンクで再生またはダウンロードできます。