# 修改、延续操作

{% hint style="danger" %}
此文档已停止维护，最新文档地址：<https://docs.ttapi.io>
{% endhint %}

### 音乐延伸

<mark style="color:green;">`POST`</mark> `https://api.ttapi.io/suno/v1/extend`

延伸生成音乐返回的两首歌其中的一首

**Headers**

| Name         | Value                  |
| ------------ | ---------------------- |
| Content-Type | `application/json`     |
| TT-API-KEY   | `用于请求授权 TT-API 的API密钥` |

**Body**

<table><thead><tr><th width="229">参数</th><th width="108">类型</th><th width="116">是否必须</th><th>描述</th></tr></thead><tbody><tr><td>music_id</td><td>string</td><td>是</td><td>歌曲ID，需要延长的歌曲</td></tr><tr><td>continue_at</td><td>number</td><td>是</td><td>延长的歌曲从上一首歌曲的多少秒开始延长，单位秒</td></tr><tr><td>prompt</td><td>string</td><td>否</td><td>歌词，自定义模式专用</td></tr><tr><td>title</td><td>string</td><td>否</td><td>标题，自定义模式专用</td></tr><tr><td>tags</td><td>string</td><td>否</td><td>风格标签，自定义模式专用</td></tr><tr><td>negative_tags</td><td>string</td><td>否</td><td>不希望生成的风格标签，自定义模式专用</td></tr><tr><td>style_weight</td><td>number</td><td>否</td><td>音频风格权重 0-1之间，自定义模式专用</td></tr><tr><td>weirdness_constraint</td><td>number</td><td>否</td><td>音频奇妙度权重 0-1之间，自定义模式专用</td></tr><tr><td>audio_weight</td><td>number</td><td>否</td><td>音频权重 0-1之间，自定义模式专用</td></tr><tr><td>auto_lyrics</td><td>boolean</td><td>否</td><td>是否自动生成歌词<br>自定义模式专用。<br><code>false</code> - 使用输入的歌词生成音乐<br><code>true</code> - 根据输入的歌词进行二次创作，与灵感模式提示词效果一致<br>默认<code>false</code></td></tr><tr><td>vocal_gender</td><td>string</td><td>否</td><td>音色性别 <br><code>Male</code> - 男性<br><code>Female</code> - 女性</td></tr><tr><td>persona_id</td><td>string</td><td>否</td><td>歌手风格ID</td></tr><tr><td>isStorage</td><td>boolean</td><td>否</td><td>是否转存，false即返回官方源地址。<br>可选值 <code>true</code>  <code>false</code>，默认<code>true</code></td></tr><tr><td>hookUrl</td><td>string</td><td>否</td><td>回调通知地址，当设置此参数，任务成功或者失败降会向该地址发送一个post请求，携带数据与查询任务结果中返回一致</td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
  "status": "SUCCESS",
  "message": "",
  "data": {
    "jobId": "ed1a1b01-7d64-4c8a-acaa-71185d23a2f3"
  }
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "status": "FAILED",
  "message": "error message",
  "data": {}
}
```

{% endtab %}
{% endtabs %}

### 获取完整音乐【免费】

<mark style="color:green;">`POST`</mark> `https://api.ttapi.io/suno/v1/concat`

获取延长音乐后的完整音乐内容，**此接口免费**

**Headers**

| Name         | Value                  |
| ------------ | ---------------------- |
| Content-Type | `application/json`     |
| TT-API-KEY   | `用于请求授权 TT-API 的API密钥` |

**Body**

<table><thead><tr><th width="229">参数</th><th width="108">类型</th><th width="116">是否必须</th><th>描述</th></tr></thead><tbody><tr><td>music_id</td><td>string</td><td>是</td><td>歌曲ID，上一步返回的music_id</td></tr><tr><td>hookUrl</td><td>string</td><td>否</td><td>回调通知地址，当设置此参数，任务成功或者失败降会向该地址发送一个post请求，携带数据与查询任务结果中返回一致</td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
  "status": "SUCCESS",
  "message": "",
  "data": {
    "jobId": "ed1a1b01-7d64-4c8a-acaa-71185d23a2f3"
  }
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "status": "FAILED",
  "message": "error message",
  "data": {}
}
```

{% endtab %}
{% endtabs %}

### 获取歌词时间线【免费】

<mark style="color:green;">`POST`</mark> `https://api.ttapi.io/suno/v1/alignedLyrics`

**Headers**

| Name         | Value                  |
| ------------ | ---------------------- |
| Content-Type | `application/json`     |
| TT-API-KEY   | `用于请求授权 TT-API 的API密钥` |

**Body**

<table><thead><tr><th width="178">参数</th><th width="108">类型</th><th width="116">是否必须</th><th>描述</th></tr></thead><tbody><tr><td>music_id</td><td>string</td><td>是</td><td>返回在每条歌曲数组中的musicId，注意<strong>非jobId</strong></td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
  "status": "SUCCESS",
  "message": "success",
  "data": {
    "alignment": [
      {
        "end_s": 0.4787234042553192,
        "p_align": 1,
        "start_s": 0.39893617021276595,
        "success": true,
        "word": "[female voice][female vocals][verse]\nЧто"
      },
      {
        "end_s": 0.5585106382978724,
        "p_align": 1,
        "start_s": 0.4787234042553192,
        "success": true,
        "word": "б"
      },
      ...
     ]
   }
}   
```

{% endtab %}

{% tab title="400" %}

```json
{
  "status": "FAILED",
  "message": "error message",
  "data": {}
}
```

{% endtab %}
{% endtabs %}

### 获取音乐视频【免费】

<mark style="color:green;">`POST`</mark> `https://api.ttapi.io/suno/v1/generateVideo`

根据任务结果，生成音乐对应的视频，此接口为**免费接口**

**Headers**

| Name         | Value                  |
| ------------ | ---------------------- |
| Content-Type | `application/json`     |
| TT-API-KEY   | `用于请求授权 TT-API 的API密钥` |

**Body**

<table><thead><tr><th width="178">参数</th><th width="108">类型</th><th width="116">是否必须</th><th>描述</th></tr></thead><tbody><tr><td>music_id</td><td>string</td><td>是</td><td>返回在每条歌曲数组中的musicId，注意<strong>非jobId</strong></td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
    "status": "SUCCESS",
    "message": "success",
    "data": {
        "videoUrl": "https://cdn1.suno.ai/f01dcb24-d479-4f00-9a71-958792e23212.mp4",
        "status": "complete"
    }
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "status": "FAILED",
  "message": "error message",
  "data": {}
}
```

{% endtab %}
{% endtabs %}

### 获取音乐WAV文件【免费】

<mark style="color:green;">`POST`</mark> `https://api.ttapi.io/suno/v1/wav`

根据任务结果，生成音乐对应的wav文件，此接口为**免费接口**

**Headers**

| Name         | Value                  |
| ------------ | ---------------------- |
| Content-Type | `application/json`     |
| TT-API-KEY   | `用于请求授权 TT-API 的API密钥` |

**Body**

<table><thead><tr><th width="178">参数</th><th width="108">类型</th><th width="116">是否必须</th><th>描述</th></tr></thead><tbody><tr><td>music_id</td><td>string</td><td>是</td><td>返回在每条歌曲数组中的musicId，注意<strong>非jobId</strong></td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
    "status": "SUCCESS",
    "message": "success",
    "data": {
        "wavUrl": "https://cdn1.suno.ai/2ecd43e6-7a6a-4eb1-b203-1125493ed887.wav"
    }
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "status": "FAILED",
  "message": "error message",
  "data": {}
}
```

{% endtab %}
{% endtabs %}

### 词曲分离

<mark style="color:green;">`POST`</mark> `https://api.ttapi.io/suno/v1/stems`

根据任务结果，生成4条音频，实现歌词与背景音乐分离[定价详见](https://docs-zh.mjapiapp.com/ttapi-zhong-wen-wen-dang#suno-ding-jia)，

**Headers**

| Name         | Value                  |
| ------------ | ---------------------- |
| Content-Type | `application/json`     |
| TT-API-KEY   | `用于请求授权 TT-API 的API密钥` |

**Body**

<table><thead><tr><th width="178">参数</th><th width="108">类型</th><th width="116">是否必须</th><th>描述</th></tr></thead><tbody><tr><td>music_id</td><td>string</td><td>是</td><td>返回在每条歌曲数组中的musicId，注意<strong>非jobId</strong></td></tr><tr><td>hookUrl</td><td>string</td><td>否</td><td>回调通知地址，当设置此参数，任务成功或者失败降会向该地址发送一个post请求，携带数据与查询任务结果中返回一致</td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
  "status": "SUCCESS",
  "message": "",
  "data": {
    "jobId": "ed1a1b01-7d64-4c8a-acaa-71185d23a2f3"
  }
}
```

{% endtab %}
{% endtabs %}

### 全轨道词曲分离

<mark style="color:green;">`POST`</mark> `https://api.ttapi.io/suno/v1/stems-all`

根据任务结果，生成24条音频，实现歌词与背景音乐分离，把音乐中所有乐器和歌词声音进行分离 [定价详见](https://docs-zh.mjapiapp.com/ttapi-zhong-wen-wen-dang#suno-ding-jia)，

**Headers**

| Name         | Value                  |
| ------------ | ---------------------- |
| Content-Type | `application/json`     |
| TT-API-KEY   | `用于请求授权 TT-API 的API密钥` |

**Body**

<table><thead><tr><th width="178">参数</th><th width="108">类型</th><th width="116">是否必须</th><th>描述</th></tr></thead><tbody><tr><td>music_id</td><td>string</td><td>是</td><td>返回在每条歌曲数组中的musicId，注意<strong>非jobId</strong></td></tr><tr><td>hookUrl</td><td>string</td><td>否</td><td>回调通知地址，当设置此参数，任务成功或者失败降会向该地址发送一个post请求，携带数据与查询任务结果中返回一致</td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
  "status": "SUCCESS",
  "message": "",
  "data": {
    "jobId": "ed1a1b01-7d64-4c8a-acaa-71185d23a2f3"
  }
}
```

{% endtab %}
{% endtabs %}

### 音乐翻版

<mark style="color:green;">`POST`</mark> `https://api.ttapi.io/suno/v1/cover` &#x20;

音乐翻版，修改风格，可使用suno生成或者你自己上传的音&#x4E50;**，**[定价详见](https://docs-zh.mjapiapp.com/ttapi-zhong-wen-wen-dang#suno-ding-jia)

**Headers**

| Name         | Value                  |
| ------------ | ---------------------- |
| Content-Type | `application/json`     |
| TT-API-KEY   | `用于请求授权 TT-API 的API密钥` |

**Body**

<table><thead><tr><th width="229">参数</th><th width="108">类型</th><th width="116">是否必须</th><th>描述</th></tr></thead><tbody><tr><td>music_id</td><td>string</td><td>是</td><td>返回在每条歌曲数组中的<strong>musicId</strong>或者通过上传返回的<strong>music_id</strong>，注意<strong>非jobId</strong></td></tr><tr><td>custom</td><td>boolean</td><td>是</td><td>音频是否自定义<br>true - 音频将从歌词中生成<br>false - 音频将根据提示生成</td></tr><tr><td>mv</td><td>string</td><td>是</td><td><p>使用模型<br>suno使用模型，支持 <code>chirp-v3-0</code> <code>chirp-v3-5</code> <code>chirp-v4</code> <code>chirp-v4-5</code></p><p><code>chirp-v4-5+</code>  <code>chirp-v5</code> <br><br><code>chirp-v4-5-all</code><br></p></td></tr><tr><td>prompt</td><td>string</td><td>否</td><td>歌词</td></tr><tr><td>gpt_description_prompt</td><td>string</td><td>否</td><td>灵感模式提示词</td></tr><tr><td>title</td><td>string</td><td>否</td><td>标题</td></tr><tr><td>tags</td><td>string</td><td>否</td><td>风格标签，自定义模式专用，最大长度200字符</td></tr><tr><td>negative_tags</td><td>string</td><td>否</td><td>不希望生成的风格标签</td></tr><tr><td>style_weight</td><td>number</td><td>否</td><td>音频风格权重 0-1之间</td></tr><tr><td>weirdness_constraint</td><td>number</td><td>否</td><td>音频奇妙度权重 0-1之间</td></tr><tr><td>audio_weight</td><td>number</td><td>否</td><td>音频权重 0-1之间</td></tr><tr><td>isStorage</td><td>boolean</td><td>否</td><td>是否转存，false即返回官方源地址。<br>可选值 <code>true</code>  <code>false</code>，默认<code>true</code></td></tr><tr><td>vocal_gender</td><td>string</td><td>否</td><td>音色性别 <br><code>Male</code> - 男性<br><code>Female</code> - 女性</td></tr><tr><td>persona_id</td><td>string</td><td>否</td><td>歌手风格ID</td></tr><tr><td>hookUrl</td><td>string</td><td>否</td><td>回调通知地址，当设置此参数，任务成功或者失败降会向该地址发送一个post请求，携带数据与查询任务结果中返回一致</td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
  "status": "SUCCESS",
  "message": "",
  "data": {
    "jobId": "ed1a1b01-7d64-4c8a-acaa-71185d23a2f3"
  }
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "status": "FAILED",
  "message": "error message",
  "data": {}
}
```

{% endtab %}
{% endtabs %}

### 添加声线

<mark style="color:green;">`POST`</mark> `https://api.ttapi.io/suno/v1/add-vocals` &#x20;

添加音乐声线，**只能对自己上传的音乐进行此操作，**[定价详见](https://docs-zh.mjapiapp.com/ttapi-zhong-wen-wen-dang#suno-ding-jia)

**Headers**

| Name         | Value                  |
| ------------ | ---------------------- |
| Content-Type | `application/json`     |
| TT-API-KEY   | `用于请求授权 TT-API 的API密钥` |

**Body**

<table><thead><tr><th width="229">参数</th><th width="108">类型</th><th width="116">是否必须</th><th>描述</th></tr></thead><tbody><tr><td>custom</td><td>boolean</td><td>是</td><td>音频是否自定义<br><br>true - 音频将从歌词中生成<br>false - 音频将根据提示生成</td></tr><tr><td>music_id</td><td>string</td><td>是</td><td>通过上传返回的<strong>music_id</strong>，注意<strong>非jobId</strong></td></tr><tr><td>gpt_description_prompt</td><td>string</td><td>是</td><td>灵感模式提示词</td></tr><tr><td>mv</td><td>string</td><td>是</td><td>使用模型<br><code>chirp-v4-5+</code>   <code>chirp-v5</code></td></tr><tr><td>prompt</td><td>string</td><td>是</td><td>歌词</td></tr><tr><td>title</td><td>string</td><td>否</td><td>标题</td></tr><tr><td>tags</td><td>string</td><td>否</td><td>风格标签，自定义模式专用，最大长度200字符</td></tr><tr><td>negative_tags</td><td>string</td><td>否</td><td>不希望生成的风格标签</td></tr><tr><td>style_weight</td><td>number</td><td>否</td><td>音频风格权重 0-1之间</td></tr><tr><td>weirdness_constraint</td><td>number</td><td>否</td><td>音频奇妙度权重 0-1之间</td></tr><tr><td>audio_weight</td><td>number</td><td>否</td><td>音频权重 0-1之间</td></tr><tr><td>isStorage</td><td>boolean</td><td>否</td><td>是否转存，false即返回官方源地址。<br>可选值 <code>true</code>  <code>false</code>，默认<code>true</code></td></tr><tr><td>vocal_gender</td><td>string</td><td>否</td><td>音色性别 <br><code>Male</code> - 男性<br><code>Female</code> - 女性</td></tr><tr><td>overpainting_start_s</td><td>number</td><td>否</td><td>上传音乐添加人声的开始时间,<br>默认为0  单位秒</td></tr><tr><td>overpainting_end_s</td><td>number</td><td>否</td><td>上传的歌曲添加人声的结束时间<br>必须小于歌曲的总时长<br>单位秒</td></tr><tr><td>hookUrl</td><td>string</td><td>否</td><td>回调通知地址，当设置此参数，任务成功或者失败降会向该地址发送一个post请求，携带数据与查询任务结果中返回一致</td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
  "status": "SUCCESS",
  "message": "",
  "data": {
    "jobId": "ed1a1b01-7d64-4c8a-acaa-71185d23a2f3"
  }
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "status": "FAILED",
  "message": "error message",
  "data": {}
}
```

{% endtab %}
{% endtabs %}

### 添加伴奏

<mark style="color:green;">`POST`</mark> `https://api.ttapi.io/suno/v1/add-instrumental` &#x20;

添加音乐伴奏，**只能对自己上传的音乐进行此操作，**[定价详见](https://docs-zh.mjapiapp.com/ttapi-zhong-wen-wen-dang#suno-ding-jia)

**Headers**

| Name         | Value                  |
| ------------ | ---------------------- |
| Content-Type | `application/json`     |
| TT-API-KEY   | `用于请求授权 TT-API 的API密钥` |

**Body**

<table><thead><tr><th width="229">参数</th><th width="108">类型</th><th width="116">是否必须</th><th>描述</th></tr></thead><tbody><tr><td>custom</td><td>boolean</td><td>是</td><td>音频是否自定义<br><br>true - 音频将从歌词中生成<br>false - 音频将根据提示生成</td></tr><tr><td>music_id</td><td>string</td><td>是</td><td>通过上传返回的<strong>music_id</strong>，注意<strong>非jobId</strong></td></tr><tr><td>gpt_description_prompt</td><td>string</td><td>否</td><td>灵感模式提示词</td></tr><tr><td>mv</td><td>string</td><td>是</td><td>使用模型<br><code>chirp-v4-5+</code>  <code>chirp-v5</code>   <br></td></tr><tr><td>prompt</td><td>string</td><td>否</td><td>歌词</td></tr><tr><td>title</td><td>string</td><td>否</td><td>标题</td></tr><tr><td>tags</td><td>string</td><td>否</td><td>风格标签，自定义模式专用，最大长度200字符</td></tr><tr><td>negative_tags</td><td>string</td><td>否</td><td>不希望生成的风格标签</td></tr><tr><td>style_weight</td><td>number</td><td>否</td><td>音频风格权重 0-1之间</td></tr><tr><td>weirdness_constraint</td><td>number</td><td>否</td><td>音频奇妙度权重 0-1之间</td></tr><tr><td>audio_weight</td><td>number</td><td>否</td><td>音频权重 0-1之间</td></tr><tr><td>isStorage</td><td>boolean</td><td>否</td><td>是否转存，false即返回官方源地址。<br>可选值 <code>true</code>  <code>false</code>，默认<code>true</code></td></tr><tr><td>underpainting_start_s</td><td>number</td><td>否</td><td>上传音乐添加人声的开始时间,<br>默认为0  单位秒</td></tr><tr><td>underpainting_end_s</td><td>number</td><td>否</td><td>上传的歌曲添加人声的结束时间<br>必须小于歌曲的总时长<br>单位秒</td></tr><tr><td>hookUrl</td><td>string</td><td>否</td><td>回调通知地址，当设置此参数，任务成功或者失败降会向该地址发送一个post请求，携带数据与查询任务结果中返回一致</td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
  "status": "SUCCESS",
  "message": "",
  "data": {
    "jobId": "ed1a1b01-7d64-4c8a-acaa-71185d23a2f3"
  }
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "status": "FAILED",
  "message": "error message",
  "data": {}
}
```

{% endtab %}
{% endtabs %}

### 替换片段

<mark style="color:green;">`POST`</mark> `https://api.ttapi.io/suno/v1/replace-section` &#x20;

**替换歌词片段生成新的音乐，**[定价详见](https://docs-zh.mjapiapp.com/ttapi-zhong-wen-wen-dang#suno-ding-jia)

{% hint style="info" %}
提示：替换的歌词 要跟原来的歌词有重复的地方，最好相应的时间能对应上

\
infill\_lyrics：表示你要填充或替换进去的“最新歌词片段”。\
prompt：表示上下文，需要把“新歌词”前后的原歌词拼接起来。

\
例子：原歌词是 \[Verse 1]AA \[Chorus]BB \[Verse 2] <mark style="color:red;">**CC**</mark> \[Chorus]DD \[Outro]EE，如果你想把 <mark style="color:red;">**CC**</mark> 替换为 **OO**\
\
infill\_lyrics 就传 OO（要替换的新歌词）。\
prompt 就传 BB \[Verse 2]OO\[Chorus]DD （在新歌词 OO 前后，保留一部分原歌词，拼成上下文）。

这样就能根据 prompt 的上下文和 infill\_lyrics 的新歌词片段，生成最佳的结果。
{% endhint %}

**Headers**

| Name         | Value                  |
| ------------ | ---------------------- |
| Content-Type | `application/json`     |
| TT-API-KEY   | `用于请求授权 TT-API 的API密钥` |

**Body**

<table><thead><tr><th width="229">参数</th><th width="108">类型</th><th width="116">是否必须</th><th>描述</th></tr></thead><tbody><tr><td>music_id</td><td>string</td><td>是</td><td>音乐ID</td></tr><tr><td>mv</td><td>string</td><td>是</td><td>使用模型 <code>chirp-v4-5+</code>  <code>chirp-v4-5</code><br><code>chirp-v4</code>  <code>chirp-v5</code><br>默认<code>chirp-v4-5+</code>  </td></tr><tr><td>prompt</td><td>string</td><td>否</td><td><strong>上下文歌词</strong></td></tr><tr><td>infill_lyrics</td><td>string</td><td>否</td><td>新歌词</td></tr><tr><td>infill_start_s</td><td>number</td><td>是</td><td>开始替换时间，单位：秒</td></tr><tr><td>infill_end_s</td><td>number</td><td>是</td><td>结束替换时间，单位：秒</td></tr><tr><td>title</td><td>string</td><td>否</td><td>标题</td></tr><tr><td>tags</td><td>string</td><td>否</td><td>风格标签</td></tr><tr><td>negative_tags</td><td>string</td><td>否</td><td>不想要的风格</td></tr><tr><td>isStorage</td><td>boolean</td><td>否</td><td>是否转存，false即返回官方源地址。<br>可选值 <code>true</code>  <code>false</code>，默认<code>true</code></td></tr><tr><td>hookUrl</td><td>string</td><td>否</td><td>回调通知地址，当设置此参数，任务成功或者失败降会向该地址发送一个post请求，携带数据与查询任务结果中返回一致</td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
  "status": "SUCCESS",
  "message": "",
  "data": {
    "jobId": "ed1a1b01-7d64-4c8a-acaa-71185d23a2f3"
  }
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "status": "FAILED",
  "message": "error message",
  "data": {}
}
```

{% endtab %}
{% endtabs %}

### 获取音乐MIDI文件

<mark style="color:green;">`POST`</mark> `https://api.ttapi.io/suno/v1/gen-midi`

获取生成音乐对应的MIDI文件，[定价详见](https://docs-zh.mjapiapp.com/ttapi-zhong-wen-wen-dang#suno-ding-jia)

**Headers**

| Name         | Value                  |
| ------------ | ---------------------- |
| Content-Type | `application/json`     |
| TT-API-KEY   | `用于请求授权 TT-API 的API密钥` |

**Body**

<table><thead><tr><th width="178">参数</th><th width="108">类型</th><th width="116">是否必须</th><th>描述</th></tr></thead><tbody><tr><td>music_id</td><td>string</td><td>是</td><td><p>通过 <strong>stems-词曲分离</strong> 或 <strong>all-stems-全轨声曲分离</strong> 获取其中的一首歌的 music_id<br></p><p><strong>注意：</strong></p><ol><li>普通音乐的 music_id 也能执行，官网只支持词曲分离和全轨分离任务的 music_id</li><li>不可跨账号执行，任务存在有效时限</li></ol></td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200（生成中）" %}

```json
{
    "status": "SUCCESS",
    "message": "success",
    "data": {
        "state": "running"
    }
}
```

{% endtab %}

{% tab title="200（成功）" %}

```
{
    "status": "SUCCESS",
    "message": "success",
    "data": {
        "state": "complete",
        "instruments": [
            {
                "name": "Synth Voice",
                "notes": [
                    {
                        "pitch": 60, "start": 11.166666666666666, "end": 11.333333333333334, "velocity": 0.49606299212598426
                    },
                    {
                        "pitch": 60, "start": 11.5, "end": 11.666666666666666, "velocity": 0.49606299212598426
                    },
                    {
                        "pitch": 60, "start": 11.833333333333334, "end": 12, "velocity": 0.49606299212598426
                    },
                    {
                        "pitch": 58, "start": 12.166666666666666, "end": 12.333333333333334, "velocity": 0.49606299212598426
                    },
                    {
                        "pitch": 58, "start": 12.5, "end": 12.666666666666666, "velocity": 0.49606299212598426
                    },
                    {
                        "pitch": 60, "start": 12.833333333333334, "end": 13, "velocity": 0.49606299212598426
                    },
                    ...
                ]
            }
        ]
    }
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "status": "FAILED",
  "message": "error message",
  "data": {}
}
```

{% endtab %}
{% endtabs %}

### 重制音乐

<mark style="color:green;">`POST`</mark> `https://api.ttapi.io/suno/v1/remaster`&#x20;

> 对生成的音乐进行重制，音质提升，对用Suno AI Remaster功能

**Headers**

| Name         | Value                  |
| ------------ | ---------------------- |
| Content-Type | `application/json`     |
| TT-API-KEY   | `用于请求授权 TT-API 的API密钥` |

**Body**

<table><thead><tr><th width="178">参数</th><th width="108">类型</th><th width="116">是否必须</th><th>描述</th></tr></thead><tbody><tr><td>music_id</td><td>string</td><td>是</td><td>生成接口返回的musicId，不可跨账号，账号用光下线后将不可调用，如需要相关操作请尽快执行</td></tr><tr><td>mv</td><td>string</td><td>是</td><td>使用模型 <code>chirp-v4-5+</code>  <code>chirp-v4</code> <code>chirp-v5</code><br>默认<code>chirp-v5</code> </td></tr><tr><td>variation_category</td><td>string</td><td>否</td><td>控制歌曲被转换程度，chirp-v5 模型下支持此参数<br>可选范围：<code>subtle</code>  <code>normal</code>  <code>high</code></td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
    "status": "SUCCESS",
    "message": "success",
    "data": {
       "jobId": "ed1a1b01-7d64-4c8a-acaa-71185d23a2f3"
    }
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "status": "FAILED",
  "message": "error message",
  "data": {}
}
```

{% endtab %}
{% endtabs %}

### 歌手风格自定义【免费】

<mark style="color:green;">`POST`</mark> `https://api.ttapi.io/suno/v1/persona`

> 根据歌曲提取歌手风格ID

**Headers**

| Name         | Value                  |
| ------------ | ---------------------- |
| Content-Type | `application/json`     |
| TT-API-KEY   | `用于请求授权 TT-API 的API密钥` |

**Body**

<table><thead><tr><th width="178">参数</th><th width="108">类型</th><th width="116">是否必须</th><th>描述</th></tr></thead><tbody><tr><td>music_id</td><td>string</td><td>是</td><td>音乐ID</td></tr><tr><td>name</td><td>string</td><td>是</td><td>歌手名称</td></tr><tr><td>describe</td><td>string</td><td><sub>否</sub></td><td>歌手描述</td></tr><tr><td>vox_audio_id</td><td>string</td><td>否</td><td><strong>获取歌手VOX接口</strong>中生成的ID，指定片段的歌曲作为依据生成歌手风格ID</td></tr><tr><td>vocal_start_s</td><td>number</td><td>否</td><td>如果传入 vox_audio_id 此参数为必传，值与 <strong>获取歌手VOX接口</strong> 中入参一致</td></tr><tr><td>vocal_end_s</td><td>number</td><td>否</td><td>如果传入 vox_audio_id 此参数为必传，值与 <strong>获取歌手VOX接口</strong> 中入参一致</td></tr><tr><td>styles</td><td>string</td><td>否</td><td>风格</td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
    "status": "string",
    "message": "string",
    "data": {
        "persona_id": "string" //用在生成音乐接口中指定人声
    }
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "status": "FAILED",
  "message": "error message",
  "data": {}
}
```

{% endtab %}
{% endtabs %}

### 生成BPM【免费】

<mark style="color:green;">`POST`</mark> `https://api.ttapi.io/suno/v1/gen-bpm`

> 根据生成的歌曲生成BPM

**Headers**

| Name         | Value                  |
| ------------ | ---------------------- |
| Content-Type | `application/json`     |
| TT-API-KEY   | `用于请求授权 TT-API 的API密钥` |

**Body**

<table><thead><tr><th width="178">参数</th><th width="108">类型</th><th width="116">是否必须</th><th>描述</th></tr></thead><tbody><tr><td>music_id</td><td>string</td><td>是</td><td>音乐ID</td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
    "status": "SUCCESS",
    "message": "success",
    "data": {
        "avg_bpm": "", //平均bpm
        "max_bpm":"", //最大bpm
        "min_bpm":""  //最小bpm
    }
}    
```

{% endtab %}

{% tab title="400" %}

```json
{
  "status": "FAILED",
  "message": "error message",
  "data": {}
}
```

{% endtab %}
{% endtabs %}

### 获取歌手VOX【免费】

<mark style="color:green;">`POST`</mark> `https://api.ttapi.io/suno/v1/vox`

> 截取音乐片段获取歌手的 vox\_audio\_id

**Headers**

| Name         | Value                  |
| ------------ | ---------------------- |
| Content-Type | `application/json`     |
| TT-API-KEY   | `用于请求授权 TT-API 的API密钥` |

**Body**

<table><thead><tr><th width="178">参数</th><th width="108">类型</th><th width="116">是否必须</th><th>描述</th></tr></thead><tbody><tr><td>music_id</td><td>string</td><td>是</td><td>音乐ID</td></tr><tr><td>vocal_start_s</td><td>number</td><td>否</td><td>人声开始时间，单位秒</td></tr><tr><td>vocal_end_s</td><td>number</td><td>否</td><td>人声结束时间，单位秒<br><strong>注意：结束时间 - 开始时间 应大于0，小于等于30</strong></td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
    "status": "string",
    "message": "string",
    "data": {
        "id": "string", // vox_audio_id 用做“歌手风格自定义”中的入参
        "status": "string", //状态
        "source_clip_id": "string", //原始音乐ID
        "vocal_start_s": 0, //人声开始时间，单位秒
        "vocal_end_s": 0, //人声结束时间，单位秒
        "wave_response": {
            "waveform_aggregates": [
                {
                    "mip_map_level": 0,
                    "data": [
                        [
                            0
                        ]
                    ]
                }
            ]
        }
    }
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "status": "FAILED",
  "message": "error message",
  "data": {}
}
```

{% endtab %}
{% endtabs %}

### TAG风格增强【免费】

<mark style="color:green;">`POST`</mark> `https://api.ttapi.io/suno/v1/upsample-tags`

> 音乐tag风格增强

**Headers**

| Name         | Value                  |
| ------------ | ---------------------- |
| Content-Type | `application/json`     |
| TT-API-KEY   | `用于请求授权 TT-API 的API密钥` |

**Body**

<table><thead><tr><th width="178">参数</th><th width="108">类型</th><th width="116">是否必须</th><th>描述</th></tr></thead><tbody><tr><td>tags</td><td>string</td><td>是</td><td>风格</td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
    "status": "string",
    "message": "string",
    "data": {
        "upsampled_tags": "string" //增强后的风格
    }
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "status": "FAILED",
  "message": "error message",
  "data": {}
}
```

{% endtab %}
{% endtabs %}

### 音乐合成-**Mashup**&#x20;

<mark style="color:green;">`POST`</mark> `https://api.ttapi.io/suno/v1/mashup` &#x20;

**根据两首歌曲混合生成一首新的歌曲，**[定价详见](https://docs-zh.mjapiapp.com/ttapi-zhong-wen-wen-dang#suno-ding-jia)

**Headers**

| Name         | Value                  |
| ------------ | ---------------------- |
| Content-Type | `application/json`     |
| TT-API-KEY   | `用于请求授权 TT-API 的API密钥` |

**Body**

<table><thead><tr><th width="229">参数</th><th width="108">类型</th><th width="116">是否必须</th><th>描述</th></tr></thead><tbody><tr><td>mashup_music_id</td><td>array</td><td>是</td><td>混合音乐ID列表，<strong>必须为两首音乐</strong><br>['xxx','xxx']<br>返回在每条歌曲数组中的<strong>musicId</strong>或者通过上传返回的<strong>music_id</strong>，注意<strong>非jobId</strong></td></tr><tr><td>custom</td><td>boolean</td><td>是</td><td>音频是否自定义<br>true - 音频将从歌词中生成<br>false - 音频将根据提示生成</td></tr><tr><td>mv</td><td>string</td><td>是</td><td><p>使用模型<br>suno使用模型，支持  <code>chirp-v3-5</code> <code>chirp-v4</code> <code>chirp-v4-5</code></p><p><code>chirp-v4-5+</code>  <code>chirp-v5</code> <br><br><code>chirp-v4-5-all</code><br></p></td></tr><tr><td>prompt</td><td>string</td><td>否</td><td>歌词</td></tr><tr><td>gpt_description_prompt</td><td>string</td><td>否</td><td>灵感模式提示词</td></tr><tr><td>instrumental</td><td>boolean</td><td>否</td><td>是否生成纯音乐<br>默认 false</td></tr><tr><td>title</td><td>string</td><td>否</td><td>标题</td></tr><tr><td>tags</td><td>string</td><td>否</td><td>风格标签，自定义模式专用，最大长度200字符</td></tr><tr><td>negative_tags</td><td>string</td><td>否</td><td>不希望生成的风格标签</td></tr><tr><td>style_weight</td><td>number</td><td>否</td><td>音频风格权重 0-1之间</td></tr><tr><td>weirdness_constraint</td><td>number</td><td>否</td><td>音频奇妙度权重 0-1之间</td></tr><tr><td>audio_weight</td><td>number</td><td>否</td><td>音频权重 0-1之间</td></tr><tr><td>isStorage</td><td>boolean</td><td>否</td><td>是否转存，false即返回官方源地址。<br>可选值 <code>true</code>  <code>false</code>，默认<code>true</code></td></tr><tr><td>vocal_gender</td><td>string</td><td>否</td><td>音色性别 <br><code>Male</code> - 男性<br><code>Female</code> - 女性</td></tr><tr><td>auto_lyrics</td><td>boolean</td><td>否</td><td>是否自动生成歌词,自定义模式专用<br><br>false - 使用输入的歌词生成音乐<br>true - 根据输入的歌词进行二次创作，与灵感模式提示词效果一致<br><br>默认 false</td></tr><tr><td>hookUrl</td><td>string</td><td>否</td><td>回调通知地址，当设置此参数，任务成功或者失败降会向该地址发送一个post请求，携带数据与查询任务结果中返回一致</td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
  "status": "SUCCESS",
  "message": "",
  "data": {
    "jobId": "ed1a1b01-7d64-4c8a-acaa-71185d23a2f3"
  }
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "status": "FAILED",
  "message": "error message",
  "data": {}
}
```

{% endtab %}
{% endtabs %}

### 灵感生成-Sample

<mark style="color:green;">`POST`</mark> `https://api.ttapi.io/suno/v1/sample` &#x20;

**根据传入的一小段音频或者哼唱的旋律，生成完整的歌曲，**[定价详见](https://docs-zh.mjapiapp.com/ttapi-zhong-wen-wen-dang#suno-ding-jia)

**Headers**

| Name         | Value                  |
| ------------ | ---------------------- |
| Content-Type | `application/json`     |
| TT-API-KEY   | `用于请求授权 TT-API 的API密钥` |

**Body**

<table><thead><tr><th width="229">参数</th><th width="108">类型</th><th width="116">是否必须</th><th>描述</th></tr></thead><tbody><tr><td>custom</td><td>boolean</td><td>是</td><td>音频是否自定义<br><br>true - 音频将从歌词中生成<br>false - 音频将根据提示生成</td></tr><tr><td>mv</td><td>string</td><td>是</td><td>使用模型 <code>chirp-v3-5</code> <code>chirp-v4</code> <code>chirp-v4-5+</code> <code>chirp-v4-5</code> <code>chirp-v5</code> <code>chirp-v4-5-all</code></td></tr><tr><td>music_id</td><td>string</td><td>是</td><td>样本音乐ID<br>通过上传返回的<strong>music_id</strong>，注意<strong>非jobId</strong></td></tr><tr><td>chop_sample_start_s</td><td>number</td><td>是</td><td>样本音乐开始时间<br>单位：秒<br>默认：0</td></tr><tr><td>chop_sample_end_s</td><td>number</td><td>是</td><td>样本音乐结束时间<br>单位：秒<br>默认：60</td></tr><tr><td>prompt</td><td>string</td><td>否</td><td>歌词</td></tr><tr><td>gpt_description_prompt</td><td>string</td><td>是</td><td>灵感模式提示词</td></tr><tr><td>instrumental</td><td>boolean</td><td>是</td><td>是否生成纯音乐<br>默认值: <code>false</code></td></tr><tr><td>title</td><td>string</td><td>否</td><td>标题</td></tr><tr><td>tags</td><td>string</td><td>否</td><td>风格标签，自定义模式专用，最大长度200字符</td></tr><tr><td>negative_tags</td><td>string</td><td>否</td><td>不希望生成的风格标签</td></tr><tr><td>style_weight</td><td>number</td><td>否</td><td>音频风格权重 0-1之间</td></tr><tr><td>weirdness_constraint</td><td>number</td><td>否</td><td>音频奇妙度权重 0-1之间</td></tr><tr><td>audio_weight</td><td>number</td><td>否</td><td>音频权重 0-1之间</td></tr><tr><td>vocal_gender</td><td>string</td><td>否</td><td>音色性别 <br><code>Male</code> - 男性<br><code>Female</code> - 女性</td></tr><tr><td>auto_lyrics</td><td>boolean</td><td>否</td><td>自定义模式专用<br>false - 使用输入的歌词生成音乐<br>true - 根据输入的歌词进行二次创作，与灵感模式提示词效果一致是否自动生成歌词</td></tr><tr><td>isStorage</td><td>boolean</td><td>否</td><td>是否转存，false即返回官方源地址。<br>可选值 <code>true</code>  <code>false</code>，默认<code>true</code></td></tr><tr><td>hookUrl</td><td>string</td><td>否</td><td>回调通知地址，当设置此参数，任务成功或者失败降会向该地址发送一个post请求，携带数据与查询任务结果中返回一致</td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
  "status": "SUCCESS",
  "message": "",
  "data": {
    "jobId": "ed1a1b01-7d64-4c8a-acaa-71185d23a2f3"
  }
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "status": "FAILED",
  "message": "error message",
  "data": {}
}
```

{% endtab %}
{% endtabs %}

### 创建音效-Sounds

<mark style="color:green;">`POST`</mark> `https://api.ttapi.io/suno/v1/sounds`

**根据描述创建短循环，单拍子和音效，**[定价详见](https://docs-zh.mjapiapp.com/ttapi-zhong-wen-wen-dang#suno-ding-jia)

**Headers**

| Name         | Value                  |
| ------------ | ---------------------- |
| Content-Type | `application/json`     |
| TT-API-KEY   | `用于请求授权 TT-API 的API密钥` |

**Body**

<table><thead><tr><th width="229">参数</th><th width="108">类型</th><th width="116">是否必须</th><th>描述</th></tr></thead><tbody><tr><td>sound</td><td>string</td><td>是</td><td>描述你想要的声音</td></tr><tr><td>mv</td><td>string</td><td>是</td><td>使用模型 目前只支持 <code>chirp-v5</code></td></tr><tr><td>type</td><td>string</td><td>是</td><td>类型，可选值：<br><code>one-shot</code>   <code>loop</code></td></tr><tr><td>bpm</td><td>number</td><td>否</td><td>每分钟节拍数<br>≥ 1  &#x3C;= 300</td></tr><tr><td>key</td><td>string</td><td>否</td><td>音调。可选值：<br>C<br>C#<br>Cm<br>C#m<br>D<br>D#<br>Dm<br>D#m<br>F<br>F#<br>Fm<br>F#m<br>G<br>G#<br>Gm<br>G#m<br>A<br>A#<br>Am<br>A#m<br>B<br>B#<br>Bm<br>B#m</td></tr><tr><td>isStorage</td><td>boolean</td><td>否</td><td>是否转存，false即返回官方源地址。<br>可选值 <code>true</code>  <code>false</code>，默认<code>true</code></td></tr><tr><td>hookUrl</td><td>string</td><td>否</td><td>回调通知地址，当设置此参数，任务成功或者失败降会向该地址发送一个post请求，携带数据与查询任务结果中返回一致</td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
  "status": "SUCCESS",
  "message": "",
  "data": {
    "jobId": "ed1a1b01-7d64-4c8a-acaa-71185d23a2f3"
  }
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "status": "FAILED",
  "message": "error message",
  "data": {}
}
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs-zh.mjapiapp.com/api/suno/xiu-gai-yan-xu-cao-zuo.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
