コンテンツにスキップ

Suno API

RouteAPI は Suno AI 音楽生成の統合 REST API を提供します。テキストから音楽生成、曲の延長、ボイスクローニング、ステム分離などをサポートします。

Suno の音楽生成は非同期です。 典型的なフロー:

  1. タスクを送信 /suno/audios へ → task_id を受信
  2. 2-3秒待機 してからポーリング開始
  3. 3-5秒ごとにポーリング /suno/tasks で action: "retrieve"
  4. status が success になったら → audio_url を取得
ステータス意味次のステップ
submitted送信済み、待機中ポーリング継続
queuedキュー中ポーリング継続
in_progress生成中ポーリング継続
success✅ 完了data 配列の最初の要素から audio_url を取得
failure❌ 失敗error フィールドを確認
Terminal window
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
}'
Terminal window
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" }'
{
"id": "task_xxxxx",
"task_id": "task_xxxxx",
"status": "success",
"data": [
{
"id": "audio_1",
"audio_url": "https://cdn.suno.ai/xxx.mp3",
"duration": 183.5
}
]
}
モデル ID最大長lyric 上限style 上限
chirp-v5-58分5000文字1000文字
chirp-v58分5000文字1000文字
chirp-v4150秒3000文字200文字

オーディオ操作のコアエンドポイントです。action フィールドで操作を選び、リクエストボディにその操作に必要なフィールドを指定します。

フィールド型デフォルト説明
modelstringchirp-v4生成モデル、chirp-v5-5 を推奨
actionstringgenerate操作タイプ
asyncboolean—true を強く推奨。明示的に false を渡した場合のみ同期分岐になり、省略時は転送されないため上流のデフォルトが適用されます
Action説明必須フィールド
generateプロンプトから新しい音楽を生成prompt
extend既存のオーディオを延長audio_id + continue_at
cover既存曲を新しいスタイルで再解釈audio_id
stemsボーカル + インストゥルメンタルに分離audio_id
remasterオーディオをリマスターして品質向上audio_id

完全なアクションタイプについては英語または中国語のドキュメントを参照してください。

タスクのステータスと結果をクエリします。

Terminal window
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" }'
エンドポイントメソッド説明
/suno/lyricsPOST歌詞を生成
/suno/uploadPOST外部オーディオファイルをアップロード
/suno/personaGET/POSTボイスペルソナを管理
/suno/wavPOSTWAV形式でエクスポート

完全な API リファレンスについては英語または中国語のドキュメントを参照してください。

リクエストがタスクハンドラに到達した後のエラーは、タスク用のボディを使用します:

{ "code": "invalid_request", "message": "prompt_empty (request id: ...)", "data": null }

認証とルーティングの失敗はそのハンドラより前に発生し、OpenAI 形式のボディ {"error": {"message": "...", "type": "...", "code": "..."}} のままです。よくあるエラーを参照してください。

ステータスコード原因
400invalid_requestエンドポイントまたはアクションに必須フィールドがない。message がそのフィールド名を示します(例: /suno/lyrics の prompt_empty、/suno/vox の audio_id_vocal_start_vocal_end_required)
400task_not_existaction: "retrieve" の id が自分のタスクではない
401—API Key の欠落・無効・期限切れ(OpenAI 形式のボディ)
403insufficient_user_quotaアカウント残高または Key のクォータが事前課金に足りない
429—上流チャネルがレート制限または飽和を報告した。RouteAPI がプロバイダーの原文を置き換えます
502acedata_suno_request_failed上流は受け付けたがリクエストを拒否した: コンテンツ審査、存在しない audio_id、未対応のアクション。message に上流の説明が入ります
502upstream_task_id_missing上流がタスク ID なしで 2xx を返し、ポーリングできない。事前課金は返金されます
503get_channel_failedタスクの背後にあるチャネルがハード障害(上流アカウントの利用不能など)と判定された。RouteAPI がプロバイダーの原文を置き換えます(利用可能なチャネルがまったくないモデルは、タスクハンドラに入る前に 503 model_not_found と OpenAI 形式のボディで拒否されます)
4xx / 5xxfail_to_fetch_task上流が非 2xx を返した。ステータスとボディはそのまま転送され、事前課金は返金されます

ポーリングが failure を返した失敗タスクも事前課金を返金します。理由はタスクレコードの error と message にあります。

Q: どのモデルを使うべきですか?
chirp-v5-5 を使用してください(最新かつ最も高性能)。

Q: 生成にどのくらい時間がかかりますか?
generate は通常 15-40秒です。

Q: audio_url は直接使用できますか?
はい、CDN の直接リンクで再生またはダウンロードできます。