Extend API(延長)
インターフェースの説明
延長は、既存の楽曲の指定した時点から続きのフレーズを生成します。
エンドポイント: POST /api/music/extend
課金: 有料、現在は既定で 1 回 0.6 元。実際の請求額は現在の管理画面の価格設定に従います。
Max Mode / Variety: 本エンドポイントは任意パラメータ max_mode と variety(0〜4)に対応しています。
max_mode を有効にするとこの 1 回は 2 倍の価格で課金され(0.6 → 1.2 元/回)、variety に追加課金は
ありません。両者の意味と書き方は新版 API 概要の「高度なパラメータ」の節をご覧ください。
待ち時間とタイムアウト(重要): 本エンドポイントは同期インターフェースで、レスポンスが返った時点で初めて注文が受理され生成に投入されます。実測では多くのリクエストが 1〜3 秒で返り、約 10% が 30 秒を超え、最長は約 230 秒です。クライアントのタイムアウトは 300 秒以上に設定してください。レスポンスが無いことは未生成を意味せず、タイムアウト直後の再試行は注文の重複と二重課金につながります。 接続が切れた場合は少し後に
GET /api/music/songsで確認できます。詳しくは新版 API 概要の「待ち時間とタイムアウト設定」をご覧ください。
リクエストパラメータ
Headers
| パラメータ名 | 型 | 必須 | 説明 |
|---|---|---|---|
| Authorization | string | はい | Bearer YOUR_API_KEY |
| Content-Type | string | はい | application/json |
Body パラメータ
| パラメータ名 | 型 | 必須 | 既定値 | 説明 |
|---|---|---|---|---|
| model | string | いいえ | suno-v6 | 対客モデル名: suno-v6、suno-v6-wild、suno-v6-mini |
| audioId | string | はい | - | 延長する楽曲の ID |
| prompt | string | はい | - | 延長の指示 |
| continueAt | number | はい | - | 延長の開始位置(秒)。0 より大きく、かつ元楽曲の長さより小さい必要があります。開始位置の後ろに最低 10 秒残してください。そうでないと成品はその数秒だけになります |
| style | string | いいえ | - | スタイルタグ |
| negativeTags | string | いいえ | - | 避けたいスタイル |
| title | string | いいえ | - | タイトル |
| sourceAudioUrl | string | いいえ | - | ソース音声 URL |
| sourceFileName | string | いいえ | - | ソースファイル名 |
| waitAudio | boolean | いいえ | false | 音声の完成を待つかどうか |
リクエスト例
curl -X POST https://www.suno-api.io/api/music/extend \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-v6",
"audioId": "clip_id",
"prompt": "サビを続けて、感情を強く",
"continueAt": 60,
"style": "Mandopop, rock",
"negativeTags": "noise",
"title": "延長バージョン",
"waitAudio": false
}'
レスポンス結果
{
"code": 200,
"message": "success",
"data": {
"clips": [
{
"song_id": "extended_clip_id",
"song_title": "延長バージョン",
"status": "pending"
}
]
}
}
互換フィールド
旧フィールドも引き続き利用できます:
| 新しいフィールド | 互換の旧フィールド |
|---|---|
| audioId | song_id、audio_id |
| prompt | description |
| continueAt | start_time、continue_at |
| style | style_tags、tags |
| negativeTags | negative_tags |
| waitAudio | wait_audio |
注意事項
- 開始位置を終わり際に置かないでください:延長で出る長さはほぼ「開始位置より後ろに残っている部分」と同じです。開始位置が終わりに近すぎると成品は数秒だけになります。実測では 242 秒の曲を 240 秒目から延長すると 2.7 秒しか出ませんでした(それでも 1 回分の料金がかかります)。開始位置の後ろに最低 10 秒残してください。
- 延長に「素材が短すぎる」門番はありません:実測では 9.6 秒の短い素材から 5 秒目で延長しても正常に出歌し、素材や残りが短いことを理由に拒否されることはありません。
- 開始位置は 0 より大きい必要があります:
continueAt=0はプラットフォームに受理された後に無効化され、失敗理由も返りません。1 秒より後ろから始めてください。 - 1 回の呼び出しで 2 件返ります(2 曲として課金)。
clips配列の長さで判断してください。 - 結果は新しい作品で、元の曲は影響を受けません。