curl --request POST \
--url https://api.evolink.ai/v1/audios/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "suno-v5-beta",
"prompt": "A cheerful summer pop song about road trips and freedom"
}
'{
"created": 1766319090,
"id": "task-unified-1766319089-oqs9cue4",
"model": "suno-v5-beta",
"object": "audio.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": true,
"estimated_time": 120
},
"type": "audio",
"usage": {
"billing_rule": "per_call",
"credits_reserved": 10,
"user_group": "default"
}
}{
"error": {
"code": "invalid_request",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: suno-v5-beta",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}{
"error": {
"code": "service_unavailable",
"message": "No available channel for the requested model",
"type": "api_error"
}
}Suno 音楽生成 Beta
curl --request POST \
--url https://api.evolink.ai/v1/audios/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "suno-v5-beta",
"prompt": "A cheerful summer pop song about road trips and freedom"
}
'{
"created": 1766319090,
"id": "task-unified-1766319089-oqs9cue4",
"model": "suno-v5-beta",
"object": "audio.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": true,
"estimated_time": 120
},
"type": "audio",
"usage": {
"billing_rule": "per_call",
"credits_reserved": 10,
"user_group": "default"
}
}{
"error": {
"code": "invalid_request",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: suno-v5-beta",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}{
"error": {
"code": "service_unavailable",
"message": "No available channel for the requested model",
"type": "api_error"
}
}承認
##すべてのAPIにBearer Token認証が必要です##
APIキーの取得:
APIキー管理ページにアクセスしてAPIキーを取得してください
リクエストヘッダーに追加:
Authorization: Bearer YOUR_API_KEY
ボディ
モデル名
後方互換性: 以前に統合されたモデル名(suno-v5、suno-v4.5、suno-v4.5plus、suno-v4.5all、suno-v4など)は引き続き使用可能で、対応する-betaバージョンに自動的にマッピングされます
利用可能なオプション:
suno-v5.5-beta:独自の好みに合わせたモデルに対応するV5.5、プロンプト最大5000文字、スタイル最大1000文字。互換モデル名:suno-v5.5suno-v5-beta:V5最新バージョン(デフォルト推奨)、Voice Personaをサポート、より優れた音楽表現力、高速生成、プロンプト最大5000文字、スタイル最大1000文字suno-v4.5plus-beta:V4.5+強化バージョン、より豊かな音色、新しいクリエイティブ手法、最大8分、プロンプト最大5000文字、スタイル最大1000文字suno-v4.5all-beta:V4.5フル機能バージョン、よりスマートなプロンプト、高速生成、最大8分、プロンプト最大5000文字、スタイル最大1000文字suno-v4.5-beta:V4.5バージョン、よりスマートなプロンプト、高速生成、最大8分、プロンプト最大5000文字、スタイル最大1000文字suno-v4-beta:V4バージョン、ボーカル品質向上、最大4分、プロンプト最大3000文字、スタイル最大200文字
suno-v5.5-beta, suno-v5-beta, suno-v4.5plus-beta, suno-v4.5all-beta, suno-v4.5-beta, suno-v4-beta "suno-v5-beta"
カスタムモードを有効化
説明:
false:シンプルモード、promptのみ提供、AIが歌詞とスタイルを自動生成true:カスタムモード、style、title、歌詞などを細かく制御可能
カスタムモードの必須パラメータ:
style:必須title:必須prompt:instrumental=falseの場合は必須(歌詞として使用)
シンプルモード(custom_mode=false)では prompt のみサポートされます:
style、title、negative_tags、vocal_gender、style_weight、weirdness_constraint、audio_weight、persona_id、persona_model、duration は、このモードではいずれもサポートされません。API が必ず拒否するとは限りませんが、これらのパラメータは生成結果に一切影響しません。細かく制御したい場合は custom_mode=true をご利用ください
false
インストゥルメンタル音楽を生成(ボーカルなし)
説明:
false:ボーカル付き音楽を生成true:ボーカルなしのインストゥルメンタル/BGMを生成
注意:
- 非カスタムモードでは、このパラメータは必須フィールドに影響しません
- カスタムモードで
trueに設定すると、promptはオプションになります
false
希望する音楽内容を説明するプロンプト
非カスタムモード(custom_mode=false):
- 必須、音楽の説明として使用、AIが歌詞とスタイルを自動生成
- 最大文字数:
500文字
カスタムモード(custom_mode=true):
instrumental=falseの場合に必須、正確な歌詞として使用instrumental=trueの場合は任意- 最大文字数:V4は
3000文字、V4.5+は5000文字
歌詞フォーマットの提案:
[Verse]、[Chorus]、[Bridge]などのタグを使用して歌詞構造を整理してください
"A cheerful summer pop song about road trips and freedom"
音楽スタイルの指定
説明:
- カスタムモード(
custom_mode=true)で必須 - 音楽のジャンル、ムード、またはアーティスティックな方向性を定義
- 英語のカンマ区切りタグの使用を推奨
文字数制限:
- V4:最大
200文字 - V4.5+:最大
1000文字
一般的なスタイルタグ:
- ジャンル:pop, rock, jazz, classical, electronic, hip-hop, r&b, country, folk
- ムード:happy, sad, energetic, calm, romantic, dark, uplifting
- 楽器:piano, guitar, drums, bass, violin, saxophone, synthesizer
- ボーカル:male vocals, female vocals, choir, harmonies
- テンポ:slow, fast, upbeat, groovy, 120bpm
シンプルモード(custom_mode=false)ではサポートされません。このモードではスタイルは prompt に基づいて AI が自動生成するため、本パラメータを送信しても反映されません。
"pop, electronic, upbeat, female vocals"
曲名
説明:
- カスタムモード(
custom_mode=true)で必須 - プレーヤーインターフェースとファイル名に表示されます
- 最大長:
80文字
シンプルモード(custom_mode=false)ではサポートされません。このモードではタイトルは AI が自動生成するため、本パラメータを送信しても反映されません。
80"Summer Dreams"
除外スタイル、避けたい音楽スタイルや特徴を指定
説明:
- 最大長:
200文字(すべてのモデルで共通)
例:
heavy metal, screaming, sadrap, fast tempo
custom_mode=true の場合のみサポートされます。シンプルモードで送信しても反映されません。
200"heavy metal, screaming"
ボーカルの性別設定
オプション:
m: 男性ボイスf: 女性ボイス
注意:
custom_mode=trueの場合のみ有効- このパラメータは確率を上げるだけで、指定された性別に従うことを保証するものではありません
- シンプルモード(
custom_mode=false)ではサポートされず、送信しても反映されません
m, f "f"
スタイルの重み。指定されたスタイルへの忠実度を制御します
範囲: 0.0 ~ 1.0、小数点以下最大2桁、0.01 の倍数
説明:
- 値が高いほど指定されたスタイルに忠実になります
0は有効な値で、指定スタイルに従わないことを表し、モデルに送信されます
custom_mode=true の場合のみサポートされます。シンプルモードで送信しても反映されません。
0 <= x <= 1次の倍数である必要があります 0.010.7
奇抜さの制約。出力の創造性/実験性を制御します
範囲: 0.0 ~ 1.0、小数点以下最大2桁、0.01 の倍数
説明:
- 値が高いほど創造的で実験的な出力になります
- 値が低いほど伝統的で保守的な出力になります
0は有効な値で、モデルに送信されます
custom_mode=true の場合のみサポートされます。シンプルモードで送信しても反映されません。
0 <= x <= 1次の倍数である必要があります 0.010.3
音声の重み。音声特徴の重みを制御します
範囲: 0.0 ~ 1.0、小数点以下最大2桁、0.01 の倍数
説明:
0は有効な値で、モデルに送信されます
custom_mode=true の場合のみサポートされます。シンプルモードで送信しても反映されません。
0 <= x <= 1次の倍数である必要があります 0.010.5
Persona ID、作成済みのPersonaスタイルを今回の音楽生成に適用
custom_mode=true の場合のみ使用可能。Suno Persona 作成 APIで取得し、一貫したボーカルとスタイル特性を維持できます
取得方法: Personaタスク完了後、result_data.persona_id から取得
シンプルモード(custom_mode=false)ではサポートされません。
V5系モデル(suno-v5-beta / suno-v5.5-beta および対応する -beta なしの互換名)でのみサポートされます。他のモデルで送信するとパラメータエラーになります。
"5c57d49ef834110496fae5aa14fec441"
Persona の適用方式
オプション:
style_persona:スタイル指向型。編曲、リズム、音色などの音楽スタイル特性を重視voice_persona:ボイス指向型。音色、歌唱法、声質などのボーカル特性を重視
両方ともV5系モデル(suno-v5-beta / suno-v5.5-beta および対応する -beta なしの互換名)でのみ利用でき、custom_mode=true が必要です。必ず persona_id と組み合わせて使用してください。persona_id を指定せずに persona_model のみを送信しても反映されません(persona_id は単独で使用できます)。
style_persona, voice_persona "style_persona"
希望する音声の長さ(秒)
モデルが suno-v5.5-beta(または互換名 suno-v5.5)かつ custom_mode=true の場合のみ利用できます。10~360 の整数を指定してください。省略時の上流デフォルトは 20 秒です。他のモデルやシンプルモードではサポートされず、送信するとパラメータエラーになります。
10 <= x <= 360120
タスク終端状態を通知する HTTPS コールバック URL
コールバックタイミング:
- GroAPI はタスクが終端状態(
completed、failed、cancelled)になったときに1回だけ送信します textやfirstなど上流の中間ステージは転送しません- コールバック本文は
GET /v1/tasks/{id}のタスク詳細と同じ構造です
セキュリティ制限:
- HTTPS のみ対応
- 内部 IP アドレスへのコールバックは禁止
- URL は
2048文字以内
コールバックメカニズム:
- 1回あたりのタイムアウト:
10秒 - 初回失敗後、最大
3回再試行 - 2xx ステータスコードを返すと成功とみなします
"https://your-domain.com/webhooks/suno-callback"
レスポンス
音楽タスクの作成に成功しました
タスク作成タイムスタンプ
1766319090
タスク ID、タスクのステータスと結果を照会するために使用
"task-unified-1766319089-oqs9cue4"
使用された実際のモデル名
"suno-v5-beta"
タスクタイプ
audio.generation.task タスク進捗率(0-100)
0 <= x <= 1000
タスクステータス
pending, processing, completed, failed, cancelled "pending"
音声タスクの詳細
Show child attributes
Show child attributes
タスク出力タイプ
audio "audio"
使用量と課金情報
Show child attributes
Show child attributes