> ## Documentation Index
> Fetch the complete documentation index at: https://docs.acedata.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Suno 楽曲生成 API 連携説明

> Suno Music Generation API guide - Ace Data Cloud

AI の応用が広がるにつれて、各種 AI プログラムはすでに徐々に普及している。AI はすでに徐々に人々の仕事や生活のあらゆる面に深く入り込んでいる。そして AI が関わる業界もますます増えており、最初の執筆から、医療・教育、そして現在の音楽に至るまで広がっている。

Suno はプロフェッショナルで高品質な AI 楽曲・音楽制作プラットフォームであり、ユーザーは簡単なテキストプロンプトを入力するだけで、ジャンルスタイルと歌詞に基づいてボーカル付きの楽曲を生成できる。この AI 音楽生成器は、Meta、TikTok、Kensho などの有名テクノロジー企業出身のチームメンバーによって開発されており、いかなる楽器ツールも必要とせず、すべての人が素晴らしい音楽を作れることを目標としている。

以下はモデル更新の進捗である：

| バージョン | model | リリース日 | lyric 制限 | style 制限 | 楽曲の最長時間 |
| - | - | - | - | - | - |
| v6 | chirp-v6 | 2026.09.09 | — | — | — |
| v6 Wild | chirp-v6-wild | 2026.09.09 | — | — | — |
| v6 Mini | chirp-v6-mini | 2026.09.09 | — | — | — |
| v5.5 | chirp-v5-5 | 2026.03.27 | 5000 | 1000 | 8 分 |
| v5 | chirp-v5 | 2025.09.23 | 5000 | 1000 | 8 分 |
| v4.5+ | chirp-v4-5-plus | 2025.07.17 | 5000 | 1000 | 8 分 |
| v4.5 | chirp-v4-5 | 2025.05.03 | 5000 | 1000 | 4 分 |
| v4 | chirp-v4 | 2024.12.17 | 3000 | 200 | 150 秒 |
| v3.5 | chirp-v3-5 | --- | 3000 | 200 | 120 秒 |

> 上表の `lyric` と `style` の制限は、カスタムモード（`custom` が `true`）における上限である。カスタムではないインスピレーションモード（`custom` が `false`）では `prompt` のみを入力し、その長さの上限は 500 文字（各モデル共通）である。

Suno は現在、`chirp-v6`、`chirp-v6-wild`、および `chirp-v6-mini` をサポートしている。`chirp-v6` の使用を推奨する；旧モデル名も引き続き互換性がある。

しかし Suno 公式は API を提供しておらず、AceDataCloud は Suno の API 一式を提供し、Suno 公式との連携をシミュレートしており、必要な音楽を便利かつ迅速に生成できる。

## 申請と使用

Suno Audios Generation API を使用するには、まず [Ace Data Cloud コンソール](https://platform.acedata.cloud/console/applications) であなたの API Token を取得し、予備として保存する。

![](https://cdn.acedata.cloud/dvc3cg.jpg)

まだログインまたは登録していない場合は、ログインページへ自動的に移動して登録とログインを案内され、完了後は自動的に現在のページへ戻る。

**1 つの API Token でプラットフォームのすべてのサービスを呼び出すことができ、サービスごとに個別申請する必要はない。** 初回申請時には無料枠が付与され、無料で体験できる；枠が不足した場合は [コンソール](https://platform.acedata.cloud/console/coin) で共通残高をチャージできる。

> 📘 完全なドキュメント：[Suno Audios Generation API →](https://platform.acedata.cloud/documents/suno-audios)

## 基本的な使用方法

どのような楽曲を考えても、任意の文章を入力できる。たとえばクリスマスに関する楽曲を生成したい場合は、`a song for Christmas` と入力すればよく、図のとおりである：

<p>
  <img src="https://cdn.acedata.cloud/2kuuup.png" width="500" className="m-auto" />
</p>

ここでは Request Headers を設定していることが分かり、以下を含む：

* `accept`：どの形式のレスポンス結果を受け取りたいか。ここでは `application/json`、つまり JSON 形式を入力する。
* `authorization`：API を呼び出すためのキーであり、申請後に直接プルダウンから選択できる。

また Request Body を設定しており、以下を含む：

* `action`：オーディオタスクのタイプ。デフォルトは `generate`。生成、続きの作成、カバー、結合、ステム分離、オーディオトラックの追加、指定オーディオトラックの抽出、効果音の生成、速度調整などの操作をサポートし、すべて `POST /suno/audios` を通じて呼び出します。
* `prompt`：Suno 公式のインスピレーションモードのプロンプト（`custom` が `false` の場合に有効）。最大 500 文字。
* `model`：今回の音楽生成タスクのモデル。v6 シリーズには `chirp-v6`、`chirp-v6-wild`、`chirp-v6-mini` が含まれます。旧モデル名も引き続き互換性があります。
* `max_mode`：拡張生成モード。`generate` は `custom` と `max_mode` がともに `true` の場合にのみ有効で、料金は 1.12 Credits です。`add_stem` は直接有効化でき、料金は 1.344 Credits です。無効または省略時は、それぞれ 0.56 および 0.672 Credits です。
* `variety`：生成結果の多様性の強度。`off`、`normal`、`high`、`extra`、`max` から選択可能。`generate` と `add_stem` にのみ使用され、その他の action で渡すと 400 が返されます。
* `lyric`：Suno 公式のカスタムモードの歌詞内容。`chirp-v3-5` と `chirp-v4` は最大 3000 文字、`chirp-v4-5` 以降（`chirp-v5`、`chirp-v5-5` を含む）は最大 5000 文字。
* `custom`：カスタムモードを使用するかどうか。デフォルトは: `false`。
* `instrumental`：Suno 公式のインスピレーションモードのインストゥルメンタルオプション。
* `title`：Suno 公式のカスタムモードの楽曲タイトル。`chirp-v3-5`、`chirp-v4` は最大 80 文字、`chirp-v4-5` 以降は最大 100 文字。
* `style`：Suno 公式のカスタムモードの音楽スタイル。`chirp-v3-5` と `chirp-v4` は最大 200 文字、`chirp-v4-5` 以降（`chirp-v5`、`chirp-v5-5` を含む）は最大 1000 文字。
* `negative_tags`：カスタムモード（`custom` が `true`）で、生成結果から除外したい音楽スタイルまたはジャンル。
* `audio_weight`：オーディオまたは音声特徴の影響の重み。範囲は 0-1 で、`0` も有効な値です。生成、続きの作成、カバー、オーディオトラックの追加、音声一貫性などの操作に使用できます。参照オーディオまたは音声特徴がない場合、モデルはこの値を弱めたり無視したりする可能性があります。
* `audio_id`：参照音楽の ID。
* `overpainting_start`/`overpainting_end`：既存のインストゥルメンタル音楽にボーカルを追加する開始・終了時刻。単位は秒。
* `underpainting_start`/`underpainting_end`：アカペラに伴奏を追加する開始・終了時刻。単位は秒。
* `persona_id`：アーティストの楽曲 ID。
* `continue_at`：続きの作成境界。単位は秒。たとえば、213.5 は 3 分 33.5 秒の位置から後続のセグメントを生成することを示します。`lyric` と `style` は境界以降の新しい内容のみをガイドし、元のオーディオ内で境界より前の歌詞や歌唱を置き換えることはありません。
* `style_influence`：カスタムモードでのスタイル影響力。範囲は 0-1 で、大きいほど通常は選択したスタイルにより沿います。`0` も有効な値として渡されます。
* `replace_section_end`：置換するセグメントの最終時刻。
* `replace_section_start`：置換するセグメントの開始時刻。
* `vocal_gender`：女性・男性ボーカルの好みを制御します。女性ボーカルは `f`、男性ボーカルは `m` で、4.5 以降のモデルで有効です。これは好みの項目であり、厳密な遵守は保証されません。
* `weirdness`：カスタムモードでの奇抜さ。範囲は 0-1 で、大きいほど通常はより創造的・実験的になります。`0` も有効な値として渡されます。
* `duration`：期待する楽曲の長さ。単位は秒で、整数である必要があり、値の範囲は 10 から 360 です。このパラメータは、カスタムモード（`custom` が `true`）の楽曲生成に使用されます。これは厳格な制約ではなく傾向を示すプロンプトです。モデルはこれを参照しますが、達成を保証するものではありません。実際の完成品の長さはレスポンス内の `duration` フィールドに従い、通常は期待値より短くなります。

### 高度なパラメータの適用範囲

| パラメータ | 値 | サポートされる action | 説明 |
| - | - | - | - |
| `weirdness` | 0-1 | 任意 | 実験性を調整。`0` は有効な値。効果は操作、モード、モデルに依存 |
| `style_influence` | 0-1 | 任意 | スタイルへの追従傾向を調整。`0` は有効な値。効果は操作、モード、モデルに依存 |
| `audio_weight` | 0-1 | 任意 | オーディオまたは音声特徴の影響を調整。参照情報がない場合はモデルに無視される可能性がある |
| `variety` | `off` / `normal` / `high` / `extra` / `max` | `generate`、`add_stem` | 結果間のスタイルの多様性を調整 |
| `max_mode` | boolean | `generate`（`custom=true` が必要）、`add_stem` | 一貫性を強化し、拡張モード料金で課金される |
| `vocal_gender` | `f` / `m` | ボーカル制御をサポートする生成操作 | 好みの項目であり、厳密な遵守は保証されない |
| `duration` | 整数 10-360 | 任意 | 期待する長さ。具体的な操作、モード、またはモデルによっては無視される可能性がある |

プラットフォームはパラメータの型と数値範囲を検証しますが、action が異なることのみを理由にこれらの任意の調整項目を拒否することはありません。具体的な効果は操作、モード、モデルによって決まります。

* `lyric_prompt`：歌詞を生成するための prompt。`custom` が `true` であり、かつ `lyric` が渡されていない場合に限り有効です。
* `callback_url`：結果をコールバックする必要がある URL。
* `async`：任意。`true` に設定すると、インターフェースは直ちに `task_id` を返します。`callback_url` を提供する必要はなく、その後、対応するタスク照会インターフェースを通じてポーリングして結果を取得します。

生成されたコードは以下のとおりです：

<p>
  <img src="https://cdn.acedata.cloud/1xehwl.png" width="500" className="m-auto" />
</p>

「Try」ボタンをクリックして API を直接テストできます。1～2 分ほど待つと、結果は以下のとおりです：

```json theme={null}
{
  "success": true,
  "task_id": "e72fb249-bd5b-4e2a-b20c-8a06fea5ac14",
  "trace_id": "7dbc5b6a-b2c0-4d85-9d39-fa8a8a785ccf",
  "data": [
    {
      "id": "b481b17a-bf50-4e10-8adc-4d5635050893",
      "title": "ヤドリギの下で",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-001",
      "lyric": "[ヴァース]\n地面に舞い落ちる雪片\nあたり一面にきらめく灯り\n松の香りが空気を満たす\nどこもかしこもクリスマスの魔法\n[コーラス]\n今夜ヤドリギの下で\nやわらかな月明かりに輝く心\n笑い声が響く\n明るい気持ち\nクリスマスの季節\nとても素敵に感じる\n[ヴァース 2]\n暖炉の灯りのそばに掛けられた靴下\n冷たい風が吹く中の内なる温もり\n焼かれるクッキー\n甘い喜び\n明るく輝く喜びの季節\n[コーラス]\n今夜ヤドリギの下で\nやわらかな月明かりに輝く心\n笑い声が響く\n明るい気持ち\nクリスマスの季節\nとても素敵に感じる\n[ブリッジ]\nろうそくの明かりのもとで歌われるキャロル\n頭上の星が世界を近く感じさせる\n平和と愛\n季節の信条\n必要なすべてで心を満たす\n[コーラス]\n今夜ヤドリギの下で\nやわらかな月明かりに輝く心\n笑い声が響く\n明るい気持ち\nクリスマスの季節\nとても素敵に感じる",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-17T15:59:32.468Z",
      "model": "chirp-auk",
      "state": "succeeded",
      "prompt": "クリスマスのための歌",
      "style": "ホリデー、陽気な、男性ボーカル",
      "duration": 154.92
    },
    {
      "id": "fbf22dab-5e2b-4e02-84c0-6d7605f14c3d",
      "title": "ヤドリギの下で",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-002",
      "lyric": "[ヴァース]\n地面に舞い落ちる雪片\nあたり一面にきらめく灯り\n松の香りが空気を満たす\nどこもかしこもクリスマスの魔法\n[コーラス]\n今夜ヤドリギの下で\nやわらかな月明かりに輝く心\n笑い声が響く\n明るい気持ち\nクリスマスの季節\nとても素敵に感じる\n[ヴァース 2]\n暖炉の灯りのそばに掛けられた靴下\n冷たい風が吹く中の内なる温もり\n焼かれるクッキー\n甘い喜び\n明るく輝く喜びの季節\n[コーラス]\n今夜ヤドリギの下で\nやわらかな月明かりに輝く心\n笑い声が響く\n明るい気持ち\nクリスマスの季節\nとても素敵に感じる\n[ブリッジ]\nろうそくの明かりのもとで歌われるキャロル\n頭上の星が世界を近く感じさせる\n平和と愛\n季節の信条\n必要なすべてで心を満たす\n[コーラス]\n今夜ヤドリギの下で\nやわらかな月明かりに輝く心\n笑い声が響く\n明るい気持ち\nクリスマスの季節\nとても素敵に感じる",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-17T15:59:32.468Z",
      "model": "chirp-auk",
      "state": "succeeded",
      "prompt": "クリスマスのための歌",
      "style": "ホリデー、陽気な、男性ボーカル",
      "duration": 158.48
    }
  ]
}
```

この時点で、タイトル、プレビュー画像、歌詞、音声、動画などを含む2曲の内容を取得できたことがわかります。

フィールドの説明は以下のとおりです：

* success：生成が成功したかどうか。成功した場合は `true`、それ以外は `false`
* data：生成された楽曲の詳細情報を含むリストです。
  * state： 楽曲の生成状態。主に4種類あり、詳細は以下のとおりです：
    * succeeded：生成成功
    * pending：キュー待ち
    * running：実行中
    * error：失敗
  * id：楽曲 ID
  * title：楽曲のタイトル
  * image\_url：楽曲のカバー画像
  * lyric：楽曲の歌詞
  * audio\_url：楽曲の最終音声アドレス。プラットフォームは Ace Data Cloud CDN のアドレスを優先して返します。永続化に失敗した場合は元のメディアアドレスが返される可能性があるため、速やかにダウンロードしてください。
  * video\_url：楽曲の動画ファイル。開くと mp4 動画です。
  * created\_at：作成時間
  * model：使用したモデル。通常は最新の v3 モデルです
  * style：スタイル

## カスタム生成

歌詞をカスタム生成したい場合は、歌詞を入力できます：

この時、`lyric` フィールドには以下のような内容を渡すことができます：

```
[Verse]\nSnowflakes falling all around\nGlistening white\nCovering the ground\nChildren laughing\nFull of delight\nIn this winter wonderland tonight\nSanta's sleigh\nUp in the sky\nRudolph's nose shining bright\nOh my\nHear the jingle bells\nRinging so clear\nBringing joy and holiday cheer\n[Verse 2]\nRoasting chestnuts by the fire's glow\nChristmas lights\nThey twinkle and show\nFamilies gathering with love and cheer\nSpreading warmth to everyone near
```

> 注意：ここでの歌詞内の `\n` は改行文字です。歌詞を生成する方法がわからない場合は、AceDataCloud が提供する歌詞生成 API を使用して、prompt から歌詞を生成できます。API は [Suno Lyrics Generation API](https://platform.acedata.cloud/documents/suno-lyrics) です。

続いて、歌詞、タイトル、スタイルに基づいて楽曲をカスタム生成するには、以下の内容を指定できます：

* lyric：歌詞テキスト
* custom：`true` を入力するとカスタム生成を表します。このパラメータのデフォルトは false で、`prompt` を使用した生成を表します。
* title：楽曲のタイトル。
* style：楽曲のスタイル。任意です。

入力例は以下のとおりです：

<p>
  <img src="https://cdn.acedata.cloud/qp3iba.png" width="500" className="m-auto" />
</p>

入力完了後、自動生成されたコードは以下のとおりです：

<p>
  <img src="https://cdn.acedata.cloud/o5haei.png" width="500" className="m-auto" />
</p>

対応するコード：

```shell theme={null}
curl -X POST 'https://api.acedata.cloud/suno/audios' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "generate",
  "prompt": "A song for Christmas",
  "model": "chirp-v4-5",
  "lyric": "[Verse]\\nSnowflakes falling all around\\nGlistening white\\nCovering the ground\\nChildren laughing\\nFull of delight\\nIn this winter wonderland tonight\\nSanta's sleigh\\nUp in the sky\\nRudolph's nose shining bright\\nOh my\\nHear the jingle bells\\nRinging so clear\\nBringing joy and holiday cheer\\n[Verse 2]\\nRoasting chestnuts by the fire's glow\\nChristmas lights\\nThey twinkle and show\\nFamilies gathering with love and cheer\\nSpreading warmth to everyone near",
  "custom": true
}'
```

テストは可能であり、生成される結果は類似しています。

## カスタム歌手スタイル生成機能

歌手スタイルを使用して楽曲を生成したい場合、まず上記の基本的な使用方法で楽曲を生成し、
最後にこの楽曲を歌手スタイルに設定する必要があります。その後、[Suno Persona API](https://platform.acedata.cloud/documents/suno-persona) にアクセスし、公式で生成された音楽 ID `audio_id` に基づいて歌手スタイルの id パラメータ `persona_id` を生成する必要があります。具体的なパラメータは以下の図のとおりです：

<p>
  <img src="https://cdn.acedata.cloud/pmzo3l.png" width="500" className="m-auto" />
</p>

入力が完了すると、以下のコードが自動生成されます：

<p>
  <img src="https://cdn.acedata.cloud/a5g0nj.png" width="500" className="m-auto" />
</p>

対応する Python コード：

```python theme={null}
import requests

url = "https://api.acedata.cloud/suno/persona"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "audio_id": "97efc9f4-0e8d-4b3e-88df-14568fa1b11f",
    "name": "test"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

実行をクリックすると、以下のような結果が得られることがわかります：

```json theme={null}
{
  "success": true,
  "task_id": "7628b754-4fe7-4e79-bda4-806d0dd8bf6e",
  "data": {
    "persona_id": "e0d7319e-aa2a-44cb-b00a-916218d7cb0b"
  }
}
```

上記の `audio_id` と `persona_id` を、それぞれ `97efc9f4-0e8d-4b3e-88df-14568fa1b11f`、`e0d7319e-aa2a-44cb-b00a-916218d7cb0b` として、今回のサンプルデータにします。次に、パラメータ `action` を `artist_consistency` に設定し（新バージョンの歌手スタイル Persona-v2-vox の場合、`action` は必ず `artist_consistency_vox` に設定する必要があります）、続けて楽曲を生成する必要がある ID、歌手スタイル ID を入力します。入力例は以下のとおりです：

<p>
  <img src="https://cdn.acedata.cloud/fukijq.png" width="500" className="m-auto" />
</p>

入力が完了すると、以下のコードが自動生成されます：

<p>
  <img src="https://cdn.acedata.cloud/5uzk9d.png" width="500" className="m-auto" />
</p>

対応する Python コード：

```python theme={null}
import requests

url = "https://api.acedata.cloud/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "artist_consistency",
    "prompt": "A song for Christmas",
    "model": "chirp-v4-5",
    "persona_id": "e0d7319e-aa2a-44cb-b00a-916218d7cb0b",
    "audio_id": "97efc9f4-0e8d-4b3e-88df-14568fa1b11f"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

実行をクリックすると、以下のような結果が得られることがわかります：

```json theme={null}
{
  "success": true,
  "task_id": "9b732b1a-bd67-48bc-95e4-90140e06836f",
  "trace_id": "30fcd88e-7687-4137-92d7-913b58115204",
  "data": [
    {
      "id": "727a36e2-8dce-4df7-99e5-14e44635c80f",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-003",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-17T16:27:33.979Z",
      "model": "chirp-auk",
      "state": "succeeded",
      "style": "",
      "duration": 244.4
    },
    {
      "id": "3b33301a-b17e-4b25-8842-09b46dab1a36",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-004",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-17T16:27:33.979Z",
      "model": "chirp-auk",
      "state": "succeeded",
      "style": "",
      "duration": 229.88
    }
  ]
}
```

結果の内容は上記のものと一致していることがわかり、これにより歌手スタイルを使用して楽曲を生成する機能が実現されます。

## 続きを生成する機能

すでに生成された Suno 楽曲に対して続きを生成したい場合は、パラメータ `action` を `extend` に設定し、続けて生成する必要がある楽曲の ID を入力できます。楽曲 ID は基本的な使用方法に基づいて取得します。上記から、この時点で楽曲の ID は以下であることがわかります：

```
"id": "97efc9f4-0e8d-4b3e-88df-14568fa1b11f"
```

> 注意：ここで歌詞中の `id` は生成後の楽曲の ID です。楽曲の生成方法がわからない場合は、上記の基本的な使用方法を参考にして楽曲を生成できます。

自分でアップロードした楽曲に対して続きを生成したい場合は、パラメータ `action` を `upload_extend` に設定し、続けて生成する必要があるカスタムアップロード済み楽曲の ID を入力できます。楽曲 ID は [Suno Upload Generation API](https://platform.acedata.cloud/documents/suno-upload) を使用して取得します。以下の図のとおりです：

<p>
  <img src="https://cdn.acedata.cloud/a0mn5e.png" width="500" className="m-auto" />
</p>

次に、続きのセグメントの歌詞を必ず入力する必要があり、スタイルを指定することもできます：

* lyric：`continue_at` 以降に新しく生成されるセグメントの歌詞を誘導するためだけに使用され、元の音声におけるこの時点以前の歌詞は置き換えられません。
* custom：`true` を入力するとカスタム生成を表します。このパラメータのデフォルトは false であり、`prompt` を使用して生成することを表します。
* style：続きのセグメントの楽曲スタイル、任意入力です。
* continue\_at：続きの生成境界で、単位は秒です。例えば、213.5 は 3 分 33.5 秒の位置から後続セグメントを生成することを表します。

> `extend` は既存の楽曲の続きを後方に作成するためのものであり、楽曲全体の歌詞を変更するものではありません。楽曲全体を最初から新しい歌詞で作成したい場合は、`generate` を使用して再生成してください。既存の楽曲を参考にして再演奏したい場合は、`cover` を使用できます。楽曲全体の新しい歌詞を渡した場合でも、`continue_at` より前の元の歌詞は置き換えられません。

入力例は以下のとおりです：

<p>
  <img src="https://cdn.acedata.cloud/zp9s42.png" width="500" className="m-auto" />
</p>

入力が完了すると、以下のコードが自動生成されます：

<p>
  <img src="https://cdn.acedata.cloud/wwpw78.png" width="500" className="m-auto" />
</p>

以下に保持されているのは実際の履歴呼び出しスナップショットであり、`continue_at` は 2 秒のため、最初の 2 秒だけが続き書き境界より前の元の内容に該当します。実際に曲の終わり近くから続き書きする場合は、この値を続き書きを開始したい秒数に設定し、`lyric` には境界後に歌う新しいセクションのみを指定してください。

対応する Python コード：

```python theme={null}
import requests

url = "https://api.acedata.cloud/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "extend",
    "prompt": "A song for Christmas",
    "model": "chirp-v4-5",
    "audio_id": "97efc9f4-0e8d-4b3e-88df-14568fa1b11f",
    "continue_at": 2,
    "lyric": "[Verse]\\nSnowflakes falling all around\\nGlistening white\\nCovering the ground\\nChildren laughing\\nFull of delight\\nIn this winter wonderland tonight\\nSanta's sleigh\\nUp in the sky\\nRudolph's nose shining bright\\nOh my\\nHear the jingle bells\\nRinging so clear\\nBringing joy and holiday cheer\\n[Verse 2]\\nRoasting chestnuts by the fire's glow\\nChristmas lights\\nThey twinkle and show\\nFamilies gathering with love and cheer\\nSpreading warmth to everyone near",
    "custom": True,
    "instrumental": False
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

実行をクリックすると、以下のような結果が得られることがわかります：

```json theme={null}
{
  "success": true,
  "task_id": "75b835d9-30d1-4641-8524-0aeedbdc9e1a",
  "trace_id": "44c41045-a2e1-4d19-aafc-7abd239d0d5c",
  "data": [
    {
      "id": "0a1e1b10-c36a-41c9-9bfb-b26d9d25db98",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-005",
      "lyric": "[Verse]\\nSnowflakes falling all around\\nGlistening white\\nCovering the ground\\nChildren laughing\\nFull of delight\\nIn this winter wonderland tonight\\nSanta's sleigh\\nUp in the sky\\nRudolph's nose shining bright\\nOh my\\nHear the jingle bells\\nRinging so clear\\nBringing joy and holiday cheer\\n[Verse 2]\\nRoasting chestnuts by the fire's glow\\nChristmas lights\\nThey twinkle and show\\nFamilies gathering with love and cheer\\nSpreading warmth to everyone near",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-17T16:38:35.509Z",
      "model": "chirp-auk",
      "state": "succeeded",
      "style": "",
      "duration": 165.92
    },
    {
      "id": "4334c5b4-0a44-4b26-a8f6-66cc4dbb8fc3",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-006",
      "lyric": "[Verse]\\nSnowflakes falling all around\\nGlistening white\\nCovering the ground\\nChildren laughing\\nFull of delight\\nIn this winter wonderland tonight\\nSanta's sleigh\\nUp in the sky\\nRudolph's nose shining bright\\nOh my\\nHear the jingle bells\\nRinging so clear\\nBringing joy and holiday cheer\\n[Verse 2]\\nRoasting chestnuts by the fire's glow\\nChristmas lights\\nThey twinkle and show\\nFamilies gathering with love and cheer\\nSpreading warmth to everyone near",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-17T16:38:35.509Z",
      "model": "chirp-auk",
      "state": "succeeded",
      "style": "",
      "duration": 158.84
    }
  ]
}
```

結果を見ると、`lyric` には今回の続き書きタスクで使用された歌詞テキストが返されることがわかります。このフィールドは完成した音声全体の逐語的な文字起こしではありません。`extend` の場合、`continue_at` より前の元音声には引き続き元の歌詞が使用され、新しい歌詞は続き書きセグメントを誘導するためにのみ使用されます。

## 完全な楽曲を取得する

現在のモデルの `extend` 結果には通常、`continue_at` より前の元音声と境界後の新しい内容がすでに含まれています。まず、返された音声の実際の長さと内容に基づいて、すでに完全な楽曲であるかを判断してください。返されたものが独立した続き書きセグメントである場合、または複数回の続き書き履歴を明示的に1曲へ統合する必要がある場合は、連結機能を使用してください：

* action：値は `concat`。
* audio\_id：最後の続き書きセグメントの ID。

たとえば、拡張後の楽曲 ID が：0a1e1b10-c36a-41c9-9bfb-b26d9d25db98 の場合、パラメータは以下のように設定できます：

```json theme={null}
{
  "action": "concat",
  "audio_id": "0a1e1b10-c36a-41c9-9bfb-b26d9d25db98"
}
```

その他のパラメータは変更せず、返されるのは1曲の完全な楽曲、つまりすべての楽曲セグメントを連結した結果ですが、結果は1曲のみです。例は以下のとおりです：

```json theme={null}
{
  "success": true,
  "task_id": "0f794915-8418-4124-93f5-b7eb3a417167",
  "trace_id": "62afcce0-e7e5-44b8-8c2e-4bba12a4f414",
  "data": [
    {
      "id": "0efec7e0-11bf-4313-9981-2c0e7218d7dd",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-007",
      "lyric": "[Verse]\\nSnowflakes falling all around\\nGlistening white\\nCovering the ground\\nChildren laughing\\nFull of delight\\nIn this winter wonderland tonight\\nSanta's sleigh\\nUp in the sky\\nRudolph's nose shining bright\\nOh my\\nHear the jingle bells\\nRinging so clear\\nBringing joy and holiday cheer\\n[Verse 2]\\nRoasting chestnuts by the fire's glow\\nChristmas lights\\nThey twinkle and show\\nFamilies gathering with love and cheer\\nSpreading warmth to everyone near\n[Verse]\\nSnowflakes falling all around\\nGlistening white\\nCovering the ground\\nChildren laughing\\nFull of delight\\nIn this winter wonderland tonight\\nSanta's sleigh\\nUp in the sky\\nRudolph's nose shining bright\\nOh my\\nHear the jingle bells\\nRinging so clear\\nBringing joy and holiday cheer\\n[Verse 2]\\nRoasting chestnuts by the fire's glow\\nChristmas lights\\nThey twinkle and show\\nFamilies gathering with love and cheer\\nSpreading warmth to everyone near",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-17T16:43:06.718Z",
      "model": "chirp-auk",
      "state": "succeeded",
      "style": "",
      "duration": 167.91997916666668,
      "concat_history": [
        {
          "continue_at": 2,
          "id": "97efc9f4-0e8d-4b3e-88df-14568fa1b11f",
          "infill": false,
          "source": "web",
          "type": "gen"
        },
        {
          "id": "0a1e1b10-c36a-41c9-9bfb-b26d9d25db98"
        }
      ]
    }
  ]
}
```

## 音楽カバー

元の楽曲に基づいて楽曲を継続生成した後、返される楽曲のスタイルがあまり適切でない可能性があります。以前に生成した楽曲（カスタムアップロードした音楽の場合もサポート）をカバーする必要がある場合は、音楽カバーの方法を使用し、以下の内容を指定できます：

* action：内容は `cover` です。カスタムアップロードした音楽に対してカバー操作を行う場合は、内容を必ず `upload_cover` に指定する必要があります。
* audio\_id：以前に生成した楽曲の ID。

例えば、以前に生成した楽曲 ID が：0a1e1b10-c36a-41c9-9bfb-b26d9d25db98 である場合、以下のようにパラメータを設定できます：

```json theme={null}
{
  "action": "cover",
  "audio_id": "0a1e1b10-c36a-41c9-9bfb-b26d9d25db98",
  "prompt": "A song for Christmas",
  "model": "chirp-v4-5"
}
```

その他のパラメータは変更せず、返されるのはカバー後の楽曲、すなわち以前に生成した楽曲をカバーした結果であり、例は以下のとおりです：

```json theme={null}
{
  "success": true,
  "task_id": "b9d43d06-2e0a-4b5e-9e0d-7dfab32e00ab",
  "trace_id": "6c5e567d-0fdc-4c44-9b36-4090d9a75ff5",
  "data": [
    {
      "id": "6988fa57-f810-41cf-afab-7838db2c77dc",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-008",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-17T16:44:13.007Z",
      "model": "chirp-auk",
      "state": "succeeded",
      "style": "",
      "duration": 182.4
    },
    {
      "id": "ce98b991-0258-4f05-8245-e43d4efa8fb8",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-009",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-17T16:44:13.007Z",
      "model": "chirp-auk",
      "state": "succeeded",
      "style": "",
      "duration": 179.72
    }
  ]
}
```

生成結果は上記と類似しており、これで以前に生成した楽曲に対するカバー生成のプロセスが完了します。

## セクションの置換

楽曲の生成後、楽曲セクションの置換を個別に行う二次創作が必要な場合は、楽曲のあるセクションに対して置換操作を行えます。

> ⚠️ **注意**：`replace_section_result_mode` のデフォルトは `full_song` です：システムは新たに生成された 2 つの候補をそれぞれ結合し、2 曲の完全な楽曲を返します。まだ結合されていない置換セクション候補のみが必要な場合は、明示的に `candidates` に設定し、その後候補を選択して[音楽結合](#音楽結合)を呼び出してください。

パラメータの説明は以下のとおりです：

* action：内容は `replace_section` です。
* audio\_id：元の楽曲（置換されるソース楽曲）の ID。
* model: 楽曲生成モデル。
* lyric: 置換後の完全な歌詞（置換されるセクションおよびそのコンテキストを含み、`prompt` 内の内容と一致させます）。
* prompt：置換するセクションの新しい歌詞。
* style：楽曲のスタイル、任意。
* replace\_section\_start：置換されるセクションの元の楽曲内での開始時間（秒）。
* replace\_section\_end：置換されるセクションの元の楽曲内での終了時間（秒）。
* replace\_section\_result\_mode：返却モード、デフォルトは `full_song` です。`full_song` は 2 つの候補をそれぞれ結合して 2 曲の完全な楽曲を返します；`candidates` はまだ結合されていない 2 つの候補セクションを返します。

### ステップ 1：セクション置換タスクを開始する

例えば、以前に生成した楽曲 ID が：18db7ed0-2b8a-41db-91c1-b0781dcca0d4（長さ 94.12 秒）であり、30 秒目から 60 秒目までのサビを新しい歌詞に置き換えたい場合、以下のようにパラメータを設定できます：

```json theme={null}
{
  "action": "replace_section",
  "audio_id": "18db7ed0-2b8a-41db-91c1-b0781dcca0d4",
  "model": "chirp-v5-5",
  "custom": false,
  "instrumental": false,
  "lyric": "[Intro]\n锣鼓喧天 红灯高挂\n[Verse 1]\n爆竹声声辞旧岁\n春风暖暖入万家\n红包压岁笑开颜\n金蛇起舞贺新春\n[Chorus]\n梅花绽放春意洋溢满地\n梅花绽放春意洋溢满地\n梅花绽放春意洋溢满地\n梅花绽放春意洋溢满地\n[Verse 2]\n饺子飘香年夜饭\n灯笼摇曳照团圆",
  "prompt": "梅花绽放春意洋溢满地\n梅花绽放春意洋溢满地\n梅花绽放春意洋溢满地\n梅花绽放春意洋溢满地",
  "replace_section_start": 30.0,
  "replace_section_end": 60.0,
  "replace_section_result_mode": "full_song"
}
```

デフォルトでは、2つの候補をそれぞれ結合して完成した2曲の完全な楽曲が返されます。`replace_section_result_mode` を `candidates` に設定した場合は、まだ結合されていない2つの置換セグメントが返され、その構造は以下の例と同じです。

```json theme={null}
{
  "success": true,
  "task_id": "dd067075-a295-4160-8375-d5504327d55b",
  "trace_id": "c34f589b-9195-4d0b-af78-9c890e77609c",
  "data": [
    {
      "id": "364f9d8b-ca25-463b-9a5e-d0b7139e2d6a",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-010",
      "image_large_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-011",
      "lyric": "[Intro]\n锣鼓喧天 红灯高挂\n[Verse 1]\n爆竹声声辞旧岁\n春风暖暖入万家\n红包压岁笑开颜\n金蛇起舞贺新春\n[Chorus]\n梅花绽放春意洋溢满地\n梅花绽放春意洋溢满地\n梅花绽放春意洋溢满地\n梅花绽放春意洋溢满地\n[Verse 2]\n饺子飘香年夜饭\n灯笼摇曳照团圆",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2026-05-06T06:55:00.000Z",
      "model": "chirp-v5-5",
      "state": "succeeded",
      "style": "",
      "duration": 45.16
    },
    {
      "id": "fae966ea-5f7f-4e80-9962-1c57963c7f8a",
      "title": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "model": "chirp-v5-5",
      "state": "succeeded",
      "duration": 33.8
    }
  ]
}
```

`candidates` モードでは、返される2つの音声の長さ（45.16秒、33.8秒）は元の楽曲（94.12秒）よりはるかに短く、少量のコンテキストを含む置換セグメントであり、**完全な楽曲ではありません**。満足のいく候補を選んで、引き続き手動で結合できます。デフォルトの `full_song` モードでは、2回の結合が完了し、2曲の完全な楽曲が直接返されます。

### 完全な楽曲を直接返す

完全な楽曲を直接取得したい場合は、ステップ1で `replace_section_result_mode` を `full_song` に設定できます。インターフェースはそれぞれ2つの候補を結合し、2曲の完全な楽曲を返します。この場合、`concat` を再度呼び出す必要はありません。

### ステップ2：置換セグメントを元の楽曲に結合する

上で選択したセグメント（例：`364f9d8b-ca25-463b-9a5e-d0b7139e2d6a`）に対して、[音楽の結合](#音楽の結合) セクションの方法に従い、`concat` タスクを開始します。

```json theme={null}
{
  "action": "concat",
  "audio_id": "364f9d8b-ca25-463b-9a5e-d0b7139e2d6a",
  "model": "chirp-v5-5"
}
```

返されるのは結合済みの完全な楽曲で、例は以下のとおりです。

```json theme={null}
{
  "success": true,
  "task_id": "5dbd4a78-0197-4ef3-9c16-8bddaf4f0c94",
  "trace_id": "580bd1da-2ad3-4d75-be1f-6c14bd4b489d",
  "data": [
    {
      "id": "365a9640-0452-4567-80f0-4f5a2a17ddd5",
      "title": "新年快乐",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-012",
      "lyric": "[Intro]\n锣鼓喧天 红灯高挂\n[Verse 1]\n爆竹声声辞旧岁\n春风暖暖入万家\n红包压岁笑开颜\n金蛇起舞贺新春\n[Chorus]\n梅花绽放春意洋溢满地\n梅花绽放春意洋溢满地\n梅花绽放春意洋溢满地\n梅花绽放春意洋溢满地\n[Verse 2]\n饺子飘香年夜饭\n灯笼摇曳照团圆",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2026-05-06T06:56:46.057Z",
      "model": "chirp-v5-5",
      "state": "succeeded",
      "style": "traditional Chinese new year, festive, female vocals, upbeat",
      "duration": 105.28
    }
  ]
}
```

この時点で、`duration` は完全な曲の長さ（105.28 秒、元の曲の長さとほぼ同じ）に戻っており、`audio_url` が指しているのは置換完了後の曲全体です。これにより、「生成 → セグメント置換 → 曲全体の結合」という二次創作プロセスが完了します。

## ボーカルと伴奏の分離

曲を生成した後、伴奏とボーカルを個別に操作する二次創作を行う必要がある場合、純粋な音楽伴奏とアカペラのボーカルを分離できます。以下の内容を指定できます：

* action：内容は `stems`。
* audio\_id：以前に生成した曲の ID。

たとえば、以前に生成した曲の ID が ec13e502-d043-4eb2-92ee-e900c6da69d1 である場合、以下のようにパラメータを設定できます：

```json theme={null}
{
  "action": "stems",
  "audio_id": "ec13e502-d043-4eb2-92ee-e900c6da69d1"
}
```

上記のパラメータにより、ボーカルと伴奏の分離結果を取得できます。結果は以下のとおりです：

```json theme={null}
{
  "success": true,
  "task_id": "4050affc-f8a6-4cba-a86c-bf201eed053d",
  "trace_id": "5107ee58-687d-422f-9195-fa0e82e1fcc8",
  "data": [
    {
      "id": "e3de0928-085a-42c4-b982-3b24738d1989",
      "title": "Deck the Sky - Vocals",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-013",
      "lyric": "[Verse]\nSnowflakes dance on rooftops high\nChildren's laughter fills the sky\nCarols ring from church bells loud\nHolidays a joyful crowd\n[Verse 2]\nCandy canes and cocoa warm\nWrapped up tight in our own storm\nStockings hung with dreams and cheer\nMagic growing every year\n[Chorus]\nDeck the sky with twinkling stars\nHoliday joy feels ours and ours\nSing the songs of love and light\nChristmas glows so pure and bright\n[Verse 3]\nFireside tales of long ago\nReindeer prance in icy glow\nEvergreen and tinsel’s gleam\nChristmas time a lovely dream\n[Bridge]\nHearts are full with friends and kin\nMistletoe for love to win\nGifts of love and hope we share\nChristmas spirit everywhere\n[Chorus]\nDeck the sky with twinkling stars\nHoliday joy feels ours and ours\nSing the songs of love and light\nChristmas glows so pure and bright",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "https://cdn.acedata.cloud/assets/examples/gemini/04a043bd-6b23-4b4e-945c-ce48158c3eee-3a89912507c7.mp4?example=video-001",
      "created_at": "2025-01-05T07:49:16.881Z",
      "model": "",
      "state": "succeeded",
      "style": "holiday, jolly",
      "duration": 174.16
    },
    {
      "id": "ad5d7c89-709c-4eb4-a5a6-72f9f5e57fdb",
      "title": "Deck the Sky - Instrumental",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-014",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "https://cdn.acedata.cloud/assets/examples/gemini/04a043bd-6b23-4b4e-945c-ce48158c3eee-3a89912507c7.mp4?example=video-002",
      "created_at": "2025-01-05T07:49:16.892Z",
      "model": "",
      "state": "succeeded",
      "style": "holiday, jolly",
      "duration": 174.16
    }
  ]
}
```

生成された結果は上記と類似しており、これにより以前に生成した曲に対するボーカルと伴奏の分離プロセスが完了します。

## 全トラックのボーカルと伴奏の分離

曲を生成した後、全トラックのボーカルと伴奏の分離操作を行う必要がある場合、以下の内容を指定できます：

* action：内容は `all_stems`。
* audio\_id：以前に生成した曲の ID。

たとえば、以前に生成した曲の ID が bdf23a5a-59f5-4103-b452-054a824a7f9f である場合、以下のようにパラメータを設定できます：

```json theme={null}
{
  "action": "all_stems",
  "audio_id": "bdf23a5a-59f5-4103-b452-054a824a7f9f"
}
```

上記のパラメータにより、全トラックのボーカルと伴奏の分離結果を取得できます。結果は以下のとおりです：

```json { theme={null}
  "success": true,
  "task_id": "f4b16fb9-8478-4857-88c7-b9a1f0bb9518",
  "trace_id": "9c560ebd-4fc6-4bdb-988a-8890160a92fb",
  "data": [
    {
      "id": "f86ca64a-9519-4ea7-a592-52438e001412",
      "title": "安全之弦 (Vocals)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-015",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    }, {
      "id": "99e649a7-a394-47b9-a915-d7f847285a36",
      "title": "安全之弦 (Backing Vocals)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-016",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    }, {
      "id": "6d710bf7-809f-4fdc-bb63-b8cb3a456d42",
      "title": "安全之弦 (Drums)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-017",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    },
{
      "id": "e05f07e3-7d80-4713-8e51-7f176c733543",
      "title": "安全の弦 (Bass)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-018",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    }, {
      "id": "93fe7cd8-62fd-4739-b78e-142c7e0b8562",
      "title": "安全の弦 (Guitar)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-019",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    }, {
      "id": "8367d71c-fdd3-441c-8ebe-70c33cca821b",
      "title": "安全の弦 (Keyboard)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-020",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    }, {
      "id": "28c03590-731c-416e-8fd3-95cdb3d75043",
      "title": "安全の弦 (Percussion)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-021",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    }, {
      "id": "3d4c1a28-4e1c-485a-8201-d21bb93aca2f",
      "title": "安全の弦 (Strings)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-022",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    }, {
      "id": "b9db8ded-01ec-4e37-b8a5-64aab3a814c2",
      "title": "安全の弦 (Synth)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-023",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    }, {
      "id": "10a5248e-32e6-42b9-8da1-678a8a392aef",
      "title": "安全の弦 (FX)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-024",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    }, {
      "id": "2d272128-111f-4901-8f62-5ae1eb43095a",
      "title": "安全の弦 (Brass)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-025",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    }, {
      "id": "4a7c19a5-f8d4-4e4a-add9-aa0bad9307cc",
      "title": "安全の弦 (Woodwinds)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-026",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    }, {
      "id": "1ca774f9-3e75-48a6-941b-808875eadcd2",
      "title": "安全の弦 (Vocals)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-027",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    },
{
      "id": "14c5ffc7-addf-4fee-afd2-4b8b3e7ee470",
      "title": "安全の弦 (バックボーカル)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-028",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.771Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    }, {
      "id": "9d044557-450d-48ab-90dc-8eaf6f1cdb6c",
      "title": "安全の弦 (ドラム)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-029",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.771Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    }, {
      "id": "efd052d0-c12f-47b3-8282-1f3ef7610e1f",
      "title": "安全の弦 (ベース)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-030",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.771Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    }, {
      "id": "5775372b-292e-4420-96ef-60e57a60cc1f",
      "title": "安全の弦 (ギター)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-031",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.771Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    }, {
      "id": "dab3f220-19cd-408e-9b96-30ec18f5b049",
      "title": "安全の弦 (キーボード)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-032",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.771Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    }, {
      "id": "2d0cd6d4-af82-4bb5-86fe-d92bdb367157",
      "title": "安全の弦 (パーカッション)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-033",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.771Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    }, {
      "id": "f3191a1a-5e8d-4afe-b638-3add222d52cd",
      "title": "安全の弦 (ストリングス)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-034",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.771Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    }, {
      "id": "a8834ea5-200b-4206-a812-9780ef336660",
      "title": "安全の弦 (シンセ)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-035",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.771Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    }, {
      "id": "f50d1a31-ef72-400a-b8ae-0367849d007d",
      "title": "安全の弦 (FX)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-036",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.771Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    }, {
      "id": "cb581673-23cc-40d6-9f9b-0f76720f0d18",
      "title": "安全の弦 (ブラス)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-037",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.771Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    },
{
      "id": "d91cfb52-f0a3-4546-bf8a-2ad14c3775a5",
      "title": "安全の弦 (Woodwinds)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-038",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.771Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    }
  ]
}
```

生成結果は上記と類似しており、これで元々生成された楽曲に対する音源分離のプロセスが完了します。

## 音源を追加する

`add_stem` は指定したオーディオに対してターゲットの楽器または音声トラックを生成し、`POST /suno/audios` を通じて呼び出します。

* 必須：`action`、`audio_id`、`stem_type`。
* 任意：`model`、`prompt`、`title`、`style`、`negative_tags`、`weirdness`、`style_influence`、`audio_weight`、`max_mode`、`variety`。
* 料金：通常モードは 0.672 Credits；`max_mode` が `true` の場合は 1.344 Credits。

```json theme={null}
{
  "action": "add_stem",
  "audio_id": "dead4ee5-df4d-417b-8f7e-717722fae51a",
  "stem_type": "bass",
  "model": "chirp-v6",
  "prompt": "Add warm bass guitar",
  "style": "minimal piano pulse with warm bass guitar",
  "negative_tags": "vocals",
  "variety": "normal",
  "max_mode": false,
  "async": true
}
```

終端状態のレスポンス：

```json theme={null}
{
  "success": true,
  "task_id": "82851953-9590-4334-8bb8-ae30ccadc815",
  "trace_id": "862bbcce-1678-44ff-982d-8b439c126a5e",
  "data": [
    {
      "id": "0adc26ca-2720-4c69-b237-457a986d70e3",
          "audio_url": "https://cdn.acedata2.cloud/suno/0adc26ca-2720-4c69-b237-457a986d70e3.mp3",
      "model": "chirp-v6",
      "state": "succeeded",
      "duration": 12.8
    },
    {
      "id": "e2d39a6c-1d20-4a40-adaf-b2551815d869",
          "audio_url": "https://cdn.acedata2.cloud/suno/e2d39a6c-1d20-4a40-adaf-b2551815d869.mp3",
      "model": "chirp-v6",
      "state": "succeeded",
      "duration": 12.36
    }
  ],
  "cost": {"amount": 0.6048, "currency": "credit", "list_amount": 0.672}
}
```

## 音源を抽出する

`extract_stem` は指定したオーディオからターゲット音源を抽出すると同時に、その音源を除去した補完バージョンを返し、`POST /suno/audios` を通じて呼び出します。

* 必須：`action`、`audio_id`、`stem_type`。
* 任意：`audio_format`。現在の公共デュアルチャネル契約では `mp3` のみサポートされています。
* 料金：1.12 Credits。

```json theme={null}
{
  "action": "extract_stem",
  "audio_id": "dead4ee5-df4d-417b-8f7e-717722fae51a",
  "stem_type": "bass",
  "audio_format": "mp3",
  "async": true
}
```

終端状態のレスポンスにおける `data` はフラットなオーディオリストを保持し、`stem_sets` はターゲット音源と補完音源の対応関係を示します：

```json theme={null}
{
  "success": true,
  "task_id": "ae9557d0-4ff7-4a35-bcde-d881e78fbfe5",
  "trace_id": "82c51a55-7627-41a5-b72b-1b9775ca25f2",
  "data": [
    {"id":"3084d7e1-4278-4733-8b56-56f7ecf3f859","title":"(Bass)","audio_url":"https://cdn.acedata2.cloud/suno/3084d7e1-4278-4733-8b56-56f7ecf3f859.mp3","model":"chirp-v6","state":"succeeded","duration":12.8,"stem_set":1},
    {"id":"19b83ca9-a51d-494f-a41d-5b0957f3295e","title":"(Without Bass)","audio_url":"https://cdn.acedata2.cloud/suno/19b83ca9-a51d-494f-a41d-5b0957f3295e.mp3","model":"chirp-v6","state":"succeeded","duration":12.8,"stem_set":1},
    {"id":"7eb431e8-f4db-4915-902e-0e89d2b3185a","title":"(Bass)","audio_url":"https://cdn.acedata2.cloud/suno/7eb431e8-f4db-4915-902e-0e89d2b3185a.mp3","model":"chirp-v6","state":"succeeded","duration":12.8,"stem_set":2},
    {"id":"495d29cc-5790-4d0a-8b95-9551a6127b61","title":"(Without Bass)","audio_url":"https://cdn.acedata2.cloud/suno/495d29cc-5790-4d0a-8b95-9551a6127b61.mp3","model":"chirp-v6","state":"succeeded","duration":12.8,"stem_set":2}
  ],
  "stem_sets": [
    {"stem_type":"bass","isolated":{"id":"3084d7e1-4278-4733-8b56-56f7ecf3f859","state":"succeeded","stem_set":1},"remainder":{"id":"19b83ca9-a51d-494f-a41d-5b0957f3295e","state":"succeeded","stem_set":1}},
    {"stem_type":"bass","isolated":{"id":"7eb431e8-f4db-4915-902e-0e89d2b3185a","state":"succeeded","stem_set":2},"remainder":{"id":"495d29cc-5790-4d0a-8b95-9551a6127b61","state":"succeeded","stem_set":2}}
  ],
  "cost": {"amount": 1.008, "currency": "credit", "list_amount": 1.12}
}
```

## 効果音を生成する

`sounds` はテキストによる説明に基づいてワンショットまたはループ可能な効果音を生成し、`POST /suno/audios` を通じて呼び出します。

* 必須：`action`、`sound`、`sound_type`。
* 任意：`model`、`bpm`、`key`、`audio_format`；`audio_format` は現在 `mp3` のみサポートされています。
* `sound_type`：`one-shot` または `loop`。
* 料金：0.112 Credits。

```json theme={null}
{
  "action": "sounds",
  "sound": "single soft analog synth pluck, no reverb",
  "sound_type": "one-shot",
  "model": "chirp-v6",
  "bpm": 120,
  "key": "C",
  "audio_format": "mp3",
  "async": true
}
```

```json theme={null}
{
  "success": true,
  "task_id": "f6716546-d118-40a0-ad15-09999f9f22ba",
  "trace_id": "da4c7895-e494-4bd8-83bd-132e006c94e3",
  "data": [
    {"id":"b3cd3e7d-96e4-48ef-abde-73c7ddee8b4a","title":"single soft analog synth pluck, no reverb","audio_url":"https://cdn.acedata2.cloud/suno/b3cd3e7d-96e4-48ef-abde-73c7ddee8b4a.mp3","model":"chirp-v6","state":"succeeded","duration":10},
    {"id":"f1517867-b76a-4cdf-b006-9ce6e653e0a5","title":"single soft analog synth pluck, no reverb","audio_url":"https://cdn.acedata2.cloud/suno/f1517867-b76a-4cdf-b006-9ce6e653e0a5.mp3","model":"chirp-v6","state":"succeeded","duration":10}
  ],
  "cost": {"amount": 0.1008, "currency": "credit", "list_amount": 0.112}
}
```

## オーディオ速度の調整

`adjust_speed` は指定されたオーディオの再生速度を調整し、`POST /suno/audios` を通じて呼び出します。

* 必須：`action`、`audio_id`、`speed_multiplier`、`title`。
* 任意：`keep_pitch`。
* `speed_multiplier`：範囲は 0.25～4。
* 料金：0.28 Credits。

```json theme={null}
{
  "action": "adjust_speed",
  "audio_id": "dead4ee5-df4d-417b-8f7e-717722fae51a",
  "speed_multiplier": 1.1,
  "keep_pitch": true,
  "title": "Suno contract verification speed 1.1x",
  "async": true
}
```

元のオーディオの長さは 9.8 秒で、1.1 倍速の結果は 8.909090909 秒です：

```json theme={null}
{
  "success": true,
  "task_id": "c5860fdd-76b1-40a1-b5b5-ec047e471c8a",
  "trace_id": "292ed097-3631-441c-ac80-52f326b62726",
  "data": [
    {
      "id": "02534b52-45a7-4961-834a-f473a407e62c",
      "title": "Suno contract verification speed 1.1x",
      "audio_url": "https://cdn.acedata2.cloud/suno/02534b52-45a7-4961-834a-f473a407e62c.mp3",
      "model": "chirp-v6",
      "state": "succeeded",
      "duration": 8.909090909090908
    }
  ],
  "cost": {"amount": 0.252, "currency": "credit", "list_amount": 0.28}
}
```

生成モデルにはランダム性があります。インターフェースはパラメータの意味、タスク状態、およびレスポンス構造の一貫性を保証しますが、異なるリクエストで完全に同一の波形が生成されることは保証しません。

## カスタム生成の高度なパラメータ

公式では、カスタムモードで高度なパラメータ `weirdness`==>`Weirdness`、`style_influence`==>`Style Influence`、`audio_weight`==>`Audio Influence` を使用して生成することが許可されており、対応する公式の例は以下のとおりです：

<p>
  <img src="https://cdn.acedata.cloud/1xonxy.png" width="500" className="m-auto" />
</p>

高度なパラメータはいずれも 0～1 の範囲であり、具体的なパラメータは以下の図のとおりです：

<p>
  <img src="https://cdn.acedata.cloud/7i94ih.png" width="500" className="m-auto" />
</p>

入力完了後、自動生成されるコードは以下のとおりです：

<p>
  <img src="https://cdn.acedata.cloud/2dlbo6.png" width="500" className="m-auto" />
</p>

対応する Python コード：

```python theme={null}
import requests

url = "https://api.acedata.cloud/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "generate",
    "model": "chirp-v4-5",
    "lyric": "Hello Hello Hello ",
    "custom": True,
    "weirdness": 0.4,
    "style_influence": 0.4,
    "audio_weight": 0.4
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

実行をクリックすると、以下のような結果が得られることが確認できます：

```json theme={null}
{
  "success": true,
  "task_id": "2f3aa682-e1a7-43a9-9fbb-ed0ce8668a4b",
  "trace_id": "07408194-7deb-4a52-a36d-9a9a13143b5f",
  "data": [
    {
      "id": "c66e2077-7580-43f2-9937-c67a8afcd8bd",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-039",
      "lyric": "Hello Hello Hello ",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-07-10T12:54:35.199Z",
      "model": "chirp-auk",
      "state": "succeeded",
      "style": "",
      "duration": 187.92
    },
    {
      "id": "a922f97b-307c-4c4d-aae3-a47ba8202a10",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-040",
      "lyric": "Hello Hello Hello ",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-07-10T12:54:35.199Z",
      "model": "chirp-auk",
      "state": "succeeded",
      "style": "",
      "duration": 229.64
    }
  ]
}
```

これにより、高度なパラメータを使用してカスタム楽曲を生成でき、結果は上記と類似しています。

## 楽曲の長さの制御

デフォルトでは、生成される楽曲の長さはモデルが自動的に決定し、通常は 30 秒から 4 分の間です。より長いまたは短い完成品が必要な場合は、`duration` パラメータで希望する長さを指定できます。単位は秒で、値は 10 から 360 までの整数です。

このパラメータは、カスタムモード（`custom` が `true`）での楽曲生成に使用されます。特に説明が必要なのは、`duration` は**傾向を示すヒントであり、厳密な制約ではない**ということです：モデルは作曲時にこの値を参照しますが、達成されることは保証されず、実測では実際の長さは通常、希望値より明らかに短くなります。同一のリクエストで返される 2 曲の長さにも数倍の差が生じる可能性があります。完全に同じリクエストであっても、複数回送信した場合に得られる長さには大きな差が生じる可能性があります。したがって、これを正確な長さの制御として使用しないでください。業務上、固定の長さが必要な場合は、完成品を取得した後に自分でトリミングするか、再試行してください。

対応する Python コード：

```python theme={null}
import requests

url = "https://api.acedata.cloud/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "generate",
    "model": "chirp-v5-5",
    "custom": True,
    "title": "Under the City Lights",
    "style": "lo-fi piano",
    "lyric": "[Verse]\nSunrise creepin\nGold on the floor\n[Chorus]\nUnder the city lights\n",
    "duration": 330
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

注意すべき点として、リクエスト内の `duration` は**希望する長さ**であり、レスポンスの `data` にある各楽曲の `duration` フィールドはその楽曲の**実際の長さ**です。両者は同じ名前ですが意味は異なり、実際の長さが希望値と等しいことは保証されません。歌詞の長さは完成品の長さに影響する主な要因の一つであり、より長い完成品が必要な場合は、より完全な歌詞も同時に提供することを推奨します。

インターフェースは `duration` が 10 から 360 までの整数であることを検証します。これはあくまで生成目標であり、完成品の長さを保証するものではありません。

## Add Insterumental 機能

2025 年 8 月に suno は Add Insterumental 機能を新たに公開しました。まず、ボーカルのみで伴奏のない楽曲をアップロードし、suno に伴奏を付けてもらう必要があります。最初に [Suno Upload API](https://platform.acedata.cloud/documents/suno-upload) へボーカルのみで伴奏のない楽曲をアップロードできます。対応する操作は以下の図のとおりです。

<p>
  <img src="https://cdn.acedata.cloud/fxl914.png" width="500" className="m-auto" />
</p>

次に、アップロード後の `audio_id` を記録する必要があります。具体的な結果は以下の図のとおりです。

<p>
  <img src="https://cdn.acedata.cloud/47t6wj.png" width="500" className="m-auto" />
</p>

最後に `audio_id`：92254cab-3372-4d9e-bce9-cdcfdbc39070 を取得しました。続いて、以下のパラメーターを入力する必要があります。

* action：値は `underpainting` です。
* underpainting\_start：アップロードした楽曲に伴奏を追加する開始時刻です。デフォルト値は 0 です。
* underpainting\_end：アップロードした楽曲に伴奏を追加する終了時刻です。楽曲の総再生時間より小さくなければなりません。
* audio\_id：アップロードしたボーカルのみで伴奏のない楽曲の ID です。
* style：伴奏のスタイルです。伴奏なので、歌詞は使用しないほうがよいでしょう。

入力が完了すると、以下のコードが自動生成されます。

<p>
  <img src="https://cdn.acedata.cloud/8x1ic6.png" width="500" className="m-auto" />
</p>

対応する Python コード：

```python theme={null}
import requests

url = "https://api.acedata.cloud/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "underpainting",
    "model": "chirp-v4-5",
    "style": "Pop rap, uplifting, magnetic male vocals, piano, synth, electric guitar, driving bass, clear structure",
    "audio_id": "92254cab-3372-4d9e-bce9-cdcfdbc39070",
    "underpainting_end": 120
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

実行をクリックすると、以下のような結果が得られます。

```json theme={null}
{
  "success": true,
  "task_id": "822d2e14-c535-4d48-a4e5-1b6ab00b04a7",
  "trace_id": "257eac2c-8e4f-44d0-8454-5e215111eefa",
  "data": [
    {
      "id": "2788cd21-bd84-422d-beb5-859c60fbf5b6",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-041",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-08-27T15:25:42.548Z",
      "model": "chirp-v4",
      "state": "succeeded",
      "style": "Pop rap, uplifting, magnetic male vocals, piano, synth, electric guitar, driving bass, clear structure",
      "duration": 10.16
    },
    {
      "id": "a4bb7220-e971-4cbf-a626-b86c648bcf55",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-042",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-08-27T15:25:42.548Z",
      "model": "chirp-v4",
      "state": "succeeded",
      "style": "Pop rap, uplifting, magnetic male vocals, piano, synth, electric guitar, driving bass, clear structure",
      "duration": 2.52
    }
  ]
}
```

これで、アップロードしたボーカルのみで伴奏のない楽曲に伴奏を付ける操作が完了します。結果は上記と類似しています。

## Add Vocals 機能

2025 年 8 月に suno は Add Vocals 機能を新たに公開しました。まず純音楽をアップロードし、suno に作詞とボーカル歌唱を行わせる必要があります。最初に [Suno Upload API](https://platform.acedata.cloud/documents/suno-upload) へボーカルのみで伴奏のない楽曲をアップロードできます。対応する操作は以下の図のとおりです。

<p>
  <img src="https://cdn.acedata.cloud/fxl914.png" width="500" className="m-auto" />
</p>

次に、アップロード後の `audio_id` を記録する必要があります。具体的な結果は以下の図のとおりです。

<p>
  <img src="https://cdn.acedata.cloud/47t6wj.png" width="500" className="m-auto" />
</p>

最後に `audio_id`：92254cab-3372-4d9e-bce9-cdcfdbc39070 を取得しました。続いて、以下のパラメーターを入力する必要があります。

* action：値は `overpainting` です。
* overpainting\_start：アップロードした楽曲にボーカルを追加する開始時刻です。デフォルト値は 0 です。
* overpainting\_end：アップロードした楽曲にボーカルを追加する終了時刻です。楽曲の総再生時間より小さくなければなりません。
* audio\_id：アップロードしたボーカルのみで伴奏のない楽曲の ID です。
* custom：このモードでは、カスタムモードを使用して歌詞を入力する必要があります。
* lyric：カスタムモードで入力する歌詞です。
* style：伴奏のスタイルです。

入力が完了すると、以下のコードが自動生成されます。

<p>
  <img src="https://cdn.acedata.cloud/a4pbes.png" width="500" className="m-auto" />
</p>

対応する Python コード：

```python theme={null}
import requests

url = "https://api.acedata.cloud/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "overpainting",
    "model": "chirp-v4-5",
    "lyric": "Yea your were the best I could get \\nBut I knew that it couldn’t last \\nStayed down since we were friends \\nHad to leave those thoughts in the past \\nMade like 40k just last week \\nOn top of the 20 with my babe\\ndon’t care for what niggas say",
    "custom": True,
    "audio_id": "92254cab-3372-4d9e-bce9-cdcfdbc39070",
    "overpainting_end": 120
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

実行をクリックすると、以下のような結果が得られることがわかります：

```json theme={null}
{
  "success": true,
  "task_id": "31bb250e-6614-49ec-ac85-631f224daeba",
  "trace_id": "efe8e7f3-9a65-4f13-a9f8-51e8478899df",
  "data": [
    {
      "id": "a597f945-64df-4722-a631-d436450832bd",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-043",
      "lyric": "Yea your were the best I could get \\nBut I knew that it couldn’t last \\nStayed down since we were friends \\nHad to leave those thoughts in the past \\nMade like 40k just last week \\nOn top of the 20 with my babe\\ndon’t care for what niggas say",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-08-27T15:33:51.550Z",
      "model": "chirp-v4",
      "state": "succeeded",
      "style": "",
      "duration": 105.32
    },
    {
      "id": "b41a8b91-3d88-4ebd-a6cf-732764b24954",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-044",
      "lyric": "Yea your were the best I could get \\nBut I knew that it couldn’t last \\nStayed down since we were friends \\nHad to leave those thoughts in the past \\nMade like 40k just last week \\nOn top of the 20 with my babe\\ndon’t care for what niggas say",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-08-27T15:33:51.550Z",
      "model": "chirp-v4",
      "state": "succeeded",
      "style": "",
      "duration": 148.16
    }
  ]
}
```

これで、アップロードしたアカペラで伴奏のない楽曲にボーカルを追加する操作が完了し、結果は上記と同様です。

## Remaster 機能

2025 年 12 月に suno は新たに Remaster 機能をリリースしました。この機能では楽曲を再生成できますが、アカウントをまたぐことはできません。続いて、以下のパラメータを入力する必要があります：

* action：内容は `remaster`。
* audio\_id：再生成する楽曲の ID。
* model：v4.5+、v5 のみ対応。
* variation\_category：v5 以降のバージョンでのみ対応しており、値は high、normal、subtle の 3 つのみです。

入力が完了すると、以下のコードが自動生成されます：

<p>
  <img src="https://cdn.acedata.cloud/7h4zmw.png" width="500" className="m-auto" />
</p>

対応する Python コード：

```python theme={null}
import requests

url = "https://api.acedata.cloud/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "remaster",
    "variation_category": "high",
    "audio_id": "21fd46d4-45c3-4826-bec9-3f3df667902e"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

実行をクリックすると、以下のような結果が得られることがわかります：

```json theme={null}
{
  "success": true,
  "task_id": "791ee74c-9363-4352-afe7-babb19b89899",
  "trace_id": "77acda57-c3d4-4e11-a506-4f50e0609916",
  "data": [
    {
      "id": "b0515cdf-9cb5-46cd-b0fe-10a239dc9274",
      "title": "Navidad en costura  (Remastered)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-045",
      "image_large_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-046",
      "lyric": "En Teror las clases siguen,\nni en Navidad hay parón;\ncose el grupo entre villancicos\ny un buen trocito de turrón.\nLa Popular abre sus puertas,\ny el taller suena mejor;\nhilo, aguja y canto alegre\nlo pasaremos mejor\nSeguimos en las costuras,\ncon música y diversión;\nlos alumnos comeremos\nGolosinas un montón ",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-12-04T13:09:59.936Z",
      "model": "chirp-v4",
      "state": "succeeded",
      "style": "Villancico",
      "duration": 32.2
    },
    {
      "id": "06edab94-a4f9-4c0c-abac-a2e8a97c76a8",
      "title": "Navidad en costura  (Remastered)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-047",
      "image_large_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-048",
      "lyric": "En Teror las clases siguen,\nni en Navidad hay parón;\ncose el grupo entre villancicos\ny un buen trocito de turrón.\nLa Popular abre sus puertas,\ny el taller suena mejor;\nhilo, aguja y canto alegre\nlo pasaremos mejor\nSeguimos en las costuras,\ncon música y diversión;\nlos alumnos comeremos\nGolosinas un montón ",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-12-04T13:09:59.936Z",
      "model": "chirp-v4",
      "state": "succeeded",
      "style": "Villancico",
      "duration": 32.2
    }
  ]
}
```

これで、生成済み楽曲を再生成する操作が完了し、結果は上記と同様です。

## Mashup ミックス曲生成機能

2025 年 12 月に suno は新たに Mashup 機能をリリースしました。この機能では 2 曲の参照楽曲に基づいて楽曲を生成できます。続いて、以下のパラメータを入力する必要があります：

* action：内容は `mashup`。
* mashup\_audio\_ids：2 曲の参照楽曲の ID。
  入力完了後に自動生成されるコードは以下のとおりです：

<p>
  <img src="https://cdn.acedata.cloud/8mo82l.png" width="500" className="m-auto" />
</p>

対応する Python コード：

```python theme={null}
import requests

url = "https://api.acedata.cloud/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "mashup",
    "lyric": "Sambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\n\\nSambuy come  \\nSambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\n\\nSambuy come  \\nSambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\n\\nSambuy come  \\nSambuy come back  \\nSambuy come, Sambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\n\\nSambuy come  \\nSambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\nSambuy come back",
    "model": "chirp-v4-5",
    "custom": True,
    "instrumental": False,
    "mashup_audio_ids": ["9f102969-0024-479e-b38f-c0c5db21383d","6aebb715-701c-433f-b976-a7ff5cf16255"]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

実行をクリックすると、以下のような結果が得られることがわかります：

```json theme={null}
{
  "success": true,
  "task_id": "3fe070eb-2ab1-4424-909c-acfe3ca761af",
  "trace_id": "2b220382-7a84-4853-ae43-05cdcad233a9",
  "data": [
    {
      "id": "5ff751dc-0e72-4de9-a54b-2cad50984b47",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-049",
      "image_large_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-050",
      "lyric": "Sambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\n\\nSambuy come  \\nSambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\n\\nSambuy come  \\nSambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\n\\nSambuy come  \\nSambuy come back  \\nSambuy come, Sambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\n\\nSambuy come  \\nSambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\nSambuy come back",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2026-01-25T15:13:30.181Z",
      "model": "chirp-v4-5",
      "state": "succeeded",
      "style": "",
      "duration": 219.08
    },
    {
      "id": "19c515c4-d7b3-4a17-8ab0-dd1ebd4861b8",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-051",
      "image_large_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-052",
      "lyric": "Sambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\n\\nSambuy come  \\nSambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\n\\nSambuy come  \\nSambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\n\\nSambuy come  \\nSambuy come back  \\nSambuy come, Sambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\n\\nSambuy come  \\nSambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\nSambuy come back",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2026-01-25T15:13:30.181Z",
      "model": "chirp-v4-5",
      "state": "succeeded",
      "style": "",
      "duration": 163.12
    }
  ]
}
```

これで、参考楽曲のマッシュアップ生成操作が完了しました。結果は上記と同様です。

## Samples サンプリングによる楽曲生成

ここでの `samples` は、単一の音声区間のサンプリングです。既存の音声から開始時間と終了時間を選択し、その断片をサンプル素材として創作を行います。これは、下記で1～4本の完全な参考音声を使用する Inspo インスピレーション創作機能とは異なります。以下のパラメータを入力する必要があります：

* action：内容は `samples`。
* samples\_start：サンプリング開始時間。
* samples\_end：サンプリング終了時間。
* audio\_id：サンプリングする参考楽曲の ID。

入力完了後に自動生成されるコードは以下のとおりです：

<p>
  <img src="https://cdn.acedata.cloud/vkzumz.png" width="500" className="m-auto" />
</p>

対応する Python コード：

```python theme={null}
import requests

url = "https://api.acedata.cloud/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "samples",
    "model": "chirp-v5",
    "lyric": "[Verse 1]\\nPhone lit up\\nHeadline in my hand\\nFeels made up\\nStill says “you won’t understand”\\nYour name\\nMy name\\nSide by side in the scroll\\nCold black text\\nOn a story I used to hold\\n\\n[Chorus]\\nYou’re breaking news\\nAnd I’m just breaking\\nFront-page truth\\nHeart still shaking\\nEverybody reads\\nWhat we already knew\\nYou’re a story now\\nAnd I’m the one you broke it to\\n\\n[Verse 2]\\nNeighbors talk\\nThrough a half-closed door\\nCoffee cools\\nOn a cracked old floor\\nYour suitcase snaps\\nLike a camera flash\\nOne last quote\\nThen you cut to black\\n\\n[Chorus]\\nYou’re breaking news\\nAnd I’m just breaking\\nFront-page truth\\nHeart still shaking\\nEverybody reads\\nWhat we already knew\\nYou’re a story now\\nAnd I’m the one you broke it to\\n\\n[Bridge]\\nIs there a line\\nWhere we rewind\\nOr just a feed\\nThat leaves us behind\\nTell me\\nWho gets\\nThe final view\\nWhen I stop trending\\nWith you\\n\\n[Chorus]\\nYou’re breaking news\\nAnd I’m just breaking\\nFront-page truth\\nHeart still shaking\\nEverybody reads\\nWhat we already knew\\nYou’re a story now\\nAnd I’m the one you broke it to (yeah)",
    "custom": True,
    "instrumental": False,
    "audio_id": "0fa07665-6b8e-4a8b-8bd3-7e0cfcdada88",
    "samples_end": 102.16,
    "samples_start": 59.88
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

実行をクリックすると、以下のような結果が得られることがわかります：

```json theme={null}
{
  "success": true,
  "task_id": "12135a45-6384-4683-9bb1-64f19933915a",
  "trace_id": "683e559d-340e-4c72-8fae-e683442ac7e9",
  "data": [
    {
      "id": "9a0b680f-a9ea-4a36-8695-8ea777ab6ee7",
      "title": "Whistle in the Wind",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-053",
      "image_large_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-054",
      "lyric": "[Verse 1]\nPhone lit up\nHeadline in my hand\nFeels made up\nStill says “you won’t understand”\nYour name\nMy name\nSide by side in the scroll\nCold black text\nOn a story I used to hold\n[Chorus]\nYou’re breaking news\nAnd I’m just breaking\nFront-page truth\nHeart still shaking\nEverybody reads\nWhat we already knew\nYou’re a story now\nAnd I’m the one you broke it to\n[Verse 2]\nNeighbors talk\nThrough a half-closed door\nCoffee cools\nOn a cracked old floor\nYour suitcase snaps\nLike a camera flash\nOne last quote\nThen you cut to black\n[Chorus]\nYou’re breaking news\nAnd I’m just breaking\nFront-page truth\nHeart still shaking\nEverybody reads\nWhat we already knew\nYou’re a story now\nAnd I’m the one you broke it to\n[Bridge]\nIs there a line\nWhere we rewind\nOr just a feed\nThat leaves us behind\nTell me\nWho gets\nThe final view\nWhen I stop trending\nWith you\n[Chorus]\nYou’re breaking news\nAnd I’m just breaking\nFront-page truth\nHeart still shaking\nEverybody reads\nWhat we already knew\nYou’re a story now\nAnd I’m the one you broke it to (yeah)",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2026-01-31T14:34:45.043Z",
      "model": "chirp-v5",
      "state": "succeeded",
      "style": "acoustic with a hint of optimism,folk-pop,female vocals",
      "duration": 176.92
    },
    {
      "id": "66473dee-3aaf-43b2-80fd-76568b3abbb1",
      "title": "Whistle in the Wind",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-055",
      "image_large_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-056",
      "lyric": "[Verse 1]\nPhone lit up\nHeadline in my hand\nFeels made up\nStill says “you won’t understand”\nYour name\nMy name\nSide by side in the scroll\nCold black text\nOn a story I used to hold\n[Chorus]\nYou’re breaking news\nAnd I’m just breaking\nFront-page truth\nHeart still shaking\nEverybody reads\nWhat we already knew\nYou’re a story now\nAnd I’m the one you broke it to\n[Verse 2]\nNeighbors talk\nThrough a half-closed door\nCoffee cools\nOn a cracked old floor\nYour suitcase snaps\nLike a camera flash\nOne last quote\nThen you cut to black\n[Chorus]\nYou’re breaking news\nAnd I’m just breaking\nFront-page truth\nHeart still shaking\nEverybody reads\nWhat we already knew\nYou’re a story now\nAnd I’m the one you broke it to\n[Bridge]\nIs there a line\nWhere we rewind\nOr just a feed\nThat leaves us behind\nTell me\nWho gets\nThe final view\nWhen I stop trending\nWith you\n[Chorus]\nYou’re breaking news\nAnd I’m just breaking\nFront-page truth\nHeart still shaking\nEverybody reads\nWhat we already knew\nYou’re a story now\nAnd I’m the one you broke it to (yeah)",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2026-01-31T14:34:45.043Z",
      "model": "chirp-v5",
      "state": "succeeded",
      "style": "acoustic with a hint of optimism,folk-pop,female vocals",
      "duration": 177.48
    }
  ]
}
```

これで、サンプリングによる楽曲生成の操作は完了です。結果は上記と同様です。

## Inspo インスピレーション作曲機能

Inspo インスピレーション作曲機能では、1〜4本の完全な参照オーディオに基づいて新しい音楽を生成できます。オーディオをドラッグ＆ドロップするかアップロードして、インスピレーション源として使用できます。API は既存の `inspo` action を使用します。クライアントは公開アクセス可能なオーディオ URL を提供し、サービスが参照オーディオの準備と作曲を自動的に完了するため、クライアント側で歌詞、スタイル、長さを個別に読み取ってリクエストを組み立てる必要はありません。これは上記の区間サンプリングとも、原曲のスタイルを再現する Cover とも異なります。使用時には、以下のパラメータを入力する必要があります。

* action：内容は `inspo`。
* audio\_urls：参照オーディオの URL リスト。公開アクセス可能なオーディオアドレスを1〜4件指定する必要があります。
* model：使用するモデル。`chirp-v6` を推奨します。
* prompt：歌詞または作曲用プロンプト（任意）。

> 注意：参照オーディオは公開アクセス可能なオーディオファイルである必要があります。参照オーディオがプラットフォームの楽曲ライブラリ内の既知の録音と完全に一致する場合、Suno は著作権チェックにより生成を拒否することがあります。インスピレーション源として、自身が所有するオーディオまたは Suno が生成したオーディオを使用することを推奨します。

対応する Python コード：

```python theme={null}
import requests

url = "https://api.acedata.cloud/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "inspo",
    "model": "chirp-v6",
    "audio_urls": [
        "https://cdn.acedata.cloud/uploads/a0bc051f-42c2-4a46-aeb4-582dcc884ad2"
    ],
    "prompt": "Rework these references as warm acoustic folk with soft vocals"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

以下に、検証済みの過去のレスポンススナップショットを残します。スナップショットでは当時の `chirp-v5` を使用していますが、現在のリクエスト例では `chirp-v6` を推奨しています。返却構造は同一です：

```json theme={null}
{
  "success": true,
  "task_id": "725e6b41-78d0-4adf-856c-05e81098c029",
  "trace_id": "8c2f0b3e-2f6a-4738-8b1d-c58068ca3dab",
  "data": [
    {
      "id": "20ca5628-86e0-4c32-8ae4-9f0c481e45f3",
      "title": "Inspo Demo",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-057",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2026-06-18T13:01:53.910Z",
      "model": "chirp-v5",
      "state": "succeeded",
      "style": "acoustic, folk, warm",
      "duration": 36.92
    },
    {
      "id": "8744a796-9961-45af-868d-4f3bc1c44257",
      "title": "Inspo Demo",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-058",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2026-06-18T13:01:53.910Z",
      "model": "chirp-v5",
      "state": "succeeded",
      "style": "acoustic, folk, warm",
      "duration": 84.16
    }
  ]
}
```

これでインスピレーション作成の操作は完了です。返される結果は通常の楽曲生成と一致します。

## 非同期コールバック

Suno による音楽生成には比較的長い時間がかかり、約 1～2 分を要します。API が長時間応答しない場合、HTTP リクエストは接続を維持し続けるため、追加のシステムリソースが消費されます。そのため、本 API では非同期コールバックもサポートしています。

全体のフローは次のとおりです。クライアントがリクエストを開始する際に、追加で `callback_url` フィールドを指定します。クライアントが API リクエストを開始した後、API は直ちに結果を返し、その中には現在のタスク ID を表す `task_id` フィールド情報が含まれます。タスク完了後、生成された音楽の結果は POST JSON の形式でクライアントが指定した `callback_url` に送信され、その中にも `task_id` フィールドが含まれるため、タスク結果を ID によって関連付けることができます。

以下では、具体的な操作方法を例を通して見ていきます。

まず、Webhook コールバックは HTTP リクエストを受信できるサービスです。開発者は自身で構築した HTTP サーバーの URL に置き換える必要があります。ここではデモを容易にするため、公開 Webhook サンプルサイト [https://webhook.site/](https://webhook.site/) を使用します。このサイトを開くと、図のように Webhook URL を取得できます。

![](https://cdn.acedata.cloud/fwfqin.png)

この URL をコピーすれば、Webhook として使用できます。ここでのサンプルは [https://webhook.site/03e60575-3d96-4132-b681-b713d78116e2](https://webhook.site/03e60575-3d96-4132-b681-b713d78116e2) です。

次に、フィールド `callback_url` を上記の Webhook URL に設定し、同時に `prompt` を入力します。図のようになります。

![](https://cdn.acedata.cloud/x8xql1.png)

実行をクリックすると、以下のように直ちに結果が得られることがわかります。

```
{
  "task_id": "44472ab8-783b-4054-b861-5bf14e462f60"
}
```

少し待つと、[https://webhook.site/03e60575-3d96-4132-b681-b713d78116e2](https://webhook.site/03e60575-3d96-4132-b681-b713d78116e2) 上で、図のように生成された楽曲の結果を確認できます。

![](https://cdn.acedata.cloud/f9kosb.png)

内容は以下のとおりです。

```json theme={null}
{
  "success": true,
  "task_id": "44472ab8-783b-4054-b861-5bf14e462f60",
  "data": [
    {
      "id": "da4324e5-84b2-484b-b0e9-dd261381c594",
      "title": "Winter Whispers",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-059",
      "lyric": "[Verse]\nSnow falling gently from the sky\nChildren giggling as they pass by\nFire crackling\nCozy and warm\nChristmas spirit begins to swarm\n[Verse 2]\nTwinkling lights\nA sight to behold\nStockings hung\nWaiting to be filled with gold\nGifts wrapped with love\nPiled high\nExcitement in the air\nYou can't deny\n[Chorus]\nWinter whispers in the wind\nJoy and love it brings\nLet's celebrate this season\nWith the ones we're missing",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "https://cdn.acedata.cloud/assets/examples/gemini/04a043bd-6b23-4b4e-945c-ce48158c3eee-3a89912507c7.mp4?example=video-003",
      "created_at": "2024-05-11T07:33:05.430Z",
      "model": "chirp-v3",
      "prompt": "A song for Christmas",
      "style": "pop"
    },
    {
      "id": "b878a87b-a0db-4046-8ccd-ecd2fb3d4372",
      "title": "Winter Whispers",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-060",
      "lyric": "[Verse]\nSnow falling gently from the sky\nChildren giggling as they pass by\nFire crackling\nCozy and warm\nChristmas spirit begins to swarm\n[Verse 2]\nTwinkling lights\nA sight to behold\nStockings hung\nWaiting to be filled with gold\nGifts wrapped with love\nPiled high\nExcitement in the air\nYou can't deny\n[Chorus]\nWinter whispers in the wind\nJoy and love it brings\nLet's celebrate this season\nWith the ones we're missing",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "https://cdn.acedata.cloud/assets/examples/gemini/04a043bd-6b23-4b4e-945c-ce48158c3eee-3a89912507c7.mp4?example=video-004",
      "created_at": "2024-05-11T07:33:05.430Z",
      "model": "chirp-v3",
      "prompt": "A song for Christmas",
      "style": "pop"
    }
  ]
}
```

結果には `task_id` フィールドがあることが確認でき、その他のフィールドはすべて上記と類似しています。このフィールドにより、タスクの関連付けを実現できます。

もちろん、ストリーミング呼び出しによって結果を取得することもできます。リクエストヘッダー内の `accept` の値を `application/x-ndjson` に設定するだけです。以下では、サンプル入力を例として示します。

<p>
  <img src="https://cdn.acedata.cloud/vgffvk.png" width="500" className="m-auto" />
</p>

待機中に、以下の出力を取得できます。

```json theme={null}
{"success":true,"task_id":"1af4b454-ce84-4512-a0a2-de3f8574ecd8","data":[{"id":"1f610752-f426-4fd5-89a8-ba2ad0370881","title":"雪片とヤドリギ","lyric":"[Verse]\nまたツリーにライトが絡まってる\n猫がリースを倒しちゃった\nオーブンのクッキーも焦げてる\nでも私は歯を見せて笑ってる\n[Prechorus]\n空からきらめきのように雪が降っている\n今年はあっという間に過ぎそうな予感がする\n[Chorus]\n雪片とヤドリギ\nどこへ行っても\nわかってる\n愛が贈り物\nその輝き\n雪片とヤドリギ\n[Verse 2]\nおばあちゃんは少し音を外して歌ってる\n子どもたちは大きな声で笑ってる\n犬が七面鳥の脚を盗んだ\nカオスはクリスマスの人だかり\n[Prechorus]\nでも暖炉はパチパチと音を立ててる\n暖かくて明るい\nそして今夜、私の心はろうそく\n[Chorus]\n雪片とヤドリギ\nどこへ行っても\nわかってる\n愛が贈り物\nその輝き\n雪片とヤドリギ","audio_url":"","video_url":"","created_at":"2025-12-13T11:29:25.101Z","model":"chirp-v5","state":"pending","prompt":"クリスマスのための歌","style":"高揚感のある、ベルとアコースティックギターを使ったオーケストラ風"},{"id":"d1a3109d-799b-401e-b032-4b501bcf26f3","title":"雪片とヤドリギ","lyric":"[Verse]\nまたツリーにライトが絡まってる\n猫がリースを倒しちゃった\nオーブンのクッキーも焦げてる\nでも私は歯を見せて笑ってる\n[Prechorus]\n空からきらめきのように雪が降っている\n今年はあっという間に過ぎそうな予感がする\n[Chorus]\n雪片とヤドリギ\nどこへ行っても\nわかってる\n愛が贈り物\nその輝き\n雪片とヤドリギ\n[Verse 2]\nおばあちゃんは少し音を外して歌ってる\n子どもたちは大きな声で笑ってる\n犬が七面鳥の脚を盗んだ\nカオスはクリスマスの人だかり\n[Prechorus]\nでも暖炉はパチパチと音を立ててる\n暖かくて明るい\nそして今夜、私の心はろうそく\n[Chorus]\n雪片とヤドリギ\nどこへ行っても\nわかってる\n愛が贈り物\nその輝き\n雪片とヤドリギ","audio_url":"","video_url":"","created_at":"2025-12-13T11:29:25.101Z","model":"chirp-v5","state":"pending","prompt":"クリスマスのための歌","style":"高揚感のある、ベルとアコースティックギターを使ったオーケストラ風"}]}
{"success":true,"task_id":"1af4b454-ce84-4512-a0a2-de3f8574ecd8","trace_id":"4440342a-41c4-4140-8bb1-3537a598ca2e","data":[{"id":"1f610752-f426-4fd5-89a8-ba2ad0370881","title":"雪片とヤドリギ","image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-073","image_large_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-074","lyric":"[Verse]\nまたツリーにライトが絡まってる\n猫がリースを倒しちゃった\nオーブンのクッキーも焦げてる\nでも私は歯を見せて笑ってる\n[Prechorus]\n空からきらめきのように雪が降っている\n今年はあっという間に過ぎそうな予感がする\n[Chorus]\n雪片とヤドリギ\nどこへ行っても\nわかってる\n愛が贈り物\nその輝き\n雪片とヤドリギ\n[Verse 2]\nおばあちゃんは少し音を外して歌ってる\n子どもたちは大きな声で笑ってる\n犬が七面鳥の脚を盗んだ\nカオスはクリスマスの人だかり\n[Prechorus]\nでも暖炉はパチパチと音を立ててる\n暖かくて明るい\nそして今夜、私の心はろうそく\n[Chorus]\n雪片とヤドリギ\nどこへ行っても\nわかってる\n愛が贈り物\nその輝き\n雪片とヤドリギ","audio_url":"https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3","video_url":"","created_at":"2025-12-13T11:29:25.101Z","model":"chirp-v5","state":"succeeded","prompt":"クリスマスのための歌","style":"高揚感のある、ベルとアコースティックギターを使ったオーケストラ風","duration":129.92},{"id":"d1a3109d-799b-401e-b032-4b501bcf26f3","title":"雪片とヤドリギ","image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-075","image_large_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-076","lyric":"[Verse]\nまたツリーにライトが絡まってる\n猫がリースを倒しちゃった\nオーブンのクッキーも焦げてる\nでも私は歯を見せて笑ってる\n[Prechorus]\n空からきらめきのように雪が降っている\n今年はあっという間に過ぎそうな予感がする\n[Chorus]\n雪片とヤドリギ\nどこへ行っても\nわかってる\n愛が贈り物\nその輝き\n雪片とヤドリギ\n[Verse 2]\nおばあちゃんは少し音を外して歌ってる\n子どもたちは大きな声で笑ってる\n犬が七面鳥の脚を盗んだ\nカオスはクリスマスの人だかり\n[Prechorus]\nでも暖炉はパチパチと音を立ててる\n暖かくて明るい\nそして今夜、私の心はろうそく\n[Chorus]\n雪片とヤドリギ\nどこへ行っても\nわかってる\n愛が贈り物\nその輝き\n雪片とヤドリギ","audio_url":"https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3","video_url":"","created_at":"2025-12-13T11:29:25.101Z","model":"chirp-v5","state":"succeeded","prompt":"クリスマスのための歌","style":"高揚感のある、ベルとアコースティックギターを使ったオーケストラ風","duration":127.16}]}
```

ストリーミングレスポンスでは、同じ `task_id` に対して処理中のステータスと最終結果が順次プッシュされます。上記では、最初と最終状態の2つの実際のレスポンスのみを保持し、繰り返される中間更新は省略しています。

## エラー処理

エラーが発生した場合、以下のようなエラー情報が返されます。

```json theme={null}
{
  "success": false,
  "error": {
    "code": "forbidden",
    "message": "曲の説明にアーティスト名が含まれていました: eminem"
  },
  "trace_id": "9bb7c2f4-3b7b-4965-b50a-f663874b1b6f",
  "task_id": "9bb3a2a6-c438-436d-a9f3-fa466abc077c"
}
```

以下は HTTP Status Code、`error.code`、`error.message` の一覧です。

> 注：上流アカウントによって、制限値やエラーメッセージが異なる場合があります。通常、`chirp-v3-5`/`chirp-v4` の `style` 制限は低め（200）であり、`chirp-v4-5` 以降では通常1000まで対応しています。旧上流に該当した場合、`Tags too long.` または `style must be less than or equal 120` などの互換メッセージが表示されることがあります。
> \| ステータスコード | `error.code`  | `error.message`                                                 |
> \| ----------- | ------------- | --------------------------------------------------------------- |
> \| 400         | `bad_request` | `曲IDが存在しないか、オフラインになっています。`                 |
> \| 400         | `bad_request` | `プロンプトが長すぎます。`                                      |
> \| 400         | `bad_request` | `タグが長すぎます。`                                            |
> \| 400         | `bad_request` | `アップロードされた音声が既存の作品と一致します。`                |
> \| 400         | `bad_request` | `instrumentalはブール値である必要があります`                    |
> \| 400         | `bad_request` | `タイトルが長すぎます。`                                        |
> \| 400         | `bad_request` | `トピックが長すぎます。`                                        |
> \| 400         | `bad_request` | `styleは120以下である必要があります`                            |
> \| 400         | `bad_request` | `customはブール値である必要があります`                          |
> \| 400         | `bad_request` | `音声を延長する場合はaudio_idが必要です`                        |
> \| 400         | `bad_request` | `音声を延長する場合はcontinue_atが必要です`                     |
> \| 400         | `bad_request` | `continue_atは0より大きい数値である必要があります`              |
> \| 400         | `bad_request` | `音声を延長しinstrumentalがfalseの場合はlyricが必要です`        |
> \| 400         | `bad_request` | `音声を生成する場合はpromptが必要です`                          |
> \| 400         | `bad_request` | `カスタム音声を生成する場合はlyricが必要です`                   |
> \| 403         | `forbidden`   | `プロンプトの形式が不正である可能性があります`                  |
> \| 403         | `forbidden`   | `プロンプトは著作権で保護されている可能性があります`            |
> \| 403         | `forbidden`   | `プロンプトに不適切な内容が含まれていました`                    |
> \| 403         | `forbidden`   | `曲の説明がモデレーションの対象としてフラグ付けされました`      |
> \| 403         | `forbidden`   | `曲の説明にアーティスト名が含まれていました`                    |
> \| 403         | `forbidden`   | `タグにアーティスト名が含まれていました`                        |
> \| 403         | `forbidden`   | `歌詞に著作権で保護された素材が含まれていました`                |
> \| 403         | `forbidden`   | `曲の説明にプロデューサータグが含まれていました`                |
> \| 403         | `forbidden`   | `一般的なopenAIエラー`                                          |
> \| 403         | `forbidden`   | `プロンプトがモデレーションの対象としてフラグ付けされました`    |
> \| 500         | `api_error`   | `曲の説明から歌詞を生成できません`                              |
> \| 500         | `api_error`   | `不明なエラーによりジョブが失敗しました`                        |
> \| 500         | `api_error`   | `システム内に利用可能なワーカーがありません`                    |
> \| 500         | `api_error`   | `サービスはメンテナンス中のため、生成は一時停止されています`    |
> \| 504         | `timeout`     | `音声生成の待機中にタイムアウトしました`                        |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.