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

# Suno 文生音乐全功能接口

> Suno 歌曲生成、灵感模式、歌词生成、伴奏/人声分离与音频续写

## 账户积分余额

`GET /suno/account/integral`

查询 Suno 渠道账户剩余积分。

### 请求示例 (cURL)

```bash theme={null}
curl "https://socialvision.tisyk.xyz/suno/account/integral" \
  -H "Authorization: Bearer sk-YOUR_API_KEY"
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": "success",
  "data": {}
}
```

***

## 生成 MIDI

`GET /suno/act/midi`

根据 clipId 与 stemClipId 生成 MIDI 数据。

### 请求参数 (Query / Path)

<ParamField query="clipId" type="string" required>
  音频 / 视频 clip ID
</ParamField>

<ParamField query="stemClipId" type="string" required>
  分轨 stem 的 clip ID
</ParamField>

### 请求示例 (cURL)

```bash theme={null}
curl "https://socialvision.tisyk.xyz/suno/act/midi" \
  -H "Authorization: Bearer sk-YOUR_API_KEY"
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": 200,
  "data": [],
  "msg": "操作成功"
}
```

***

## MP4 生成状态

`GET /suno/act/mp4-state`

按 taskBatchId 查询 MP4 视频生成进度与状态。

### 请求参数 (Query / Path)

<ParamField query="taskBatchId" type="string" required>
  任务批次 ID
</ParamField>

### 请求示例 (cURL)

```bash theme={null}
curl "https://socialvision.tisyk.xyz/suno/act/mp4-state" \
  -H "Authorization: Bearer sk-YOUR_API_KEY"
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": 200,
  "data": [],
  "msg": "操作成功"
}
```

***

## 获取音乐风格

`GET /suno/act/music-style`

查询账号下的音乐风格/作品列表（Open 渠道）。

### 请求示例 (cURL)

```bash theme={null}
curl "https://socialvision.tisyk.xyz/suno/act/music-style" \
  -H "Authorization: Bearer sk-YOUR_API_KEY"
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": 200,
  "data": [
    {
      "cld2AudioUrl": "https://cdn1.suno.ai/9fbef640-3a1e-49a0-8240-1e4491392c77.mp3",
      "cld2ImageUrl": "https://cdn2.suno.ai/image_9fbef640-3a1e-49a0-8240-1e4491392c77.jpeg",
      "clipId": "9fbef640-3a1e-49a0-8240-1e4491392c77",
      "duration": 114.8,
      "id": "2065324014708158466",
      "status": 30,
      "title": "午后咖啡杯"
    }
  ],
  "msg": "操作成功",
  "total": 1
}
```

***

## 我的音乐列表

`GET /suno/act/my-musics`

分页查询当前账号下的音乐作品列表。

### 请求参数 (Query / Path)

<ParamField query="pageNum" type="string">
  页码（从 1 开始）
</ParamField>

<ParamField query="pageSize" type="string">
  每页条数
</ParamField>

### 请求示例 (cURL)

```bash theme={null}
curl "https://socialvision.tisyk.xyz/suno/act/my-musics" \
  -H "Authorization: Bearer sk-YOUR_API_KEY"
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": 200,
  "data": [],
  "msg": "操作成功"
}
```

***

## Timing:歌词、音频时间线

`GET /suno/act/timing/{id}`

查询 clip 的歌词与音频时间线对齐数据。

### 请求参数 (Query / Path)

<ParamField path="id" type="string" required>
  clipId
</ParamField>

### 请求示例 (cURL)

```bash theme={null}
curl "https://socialvision.tisyk.xyz/suno/act/timing/{id}" \
  -H "Authorization: Bearer sk-YOUR_API_KEY"
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": 200,
  "data": [],
  "msg": "操作成功"
}
```

***

## 获取wav

`GET /suno/act/wav/{clip_id}`

获取指定 clip 的 WAV 音频资源。

### 请求参数 (Query / Path)

<ParamField path="clip_id" type="string" required>
  clipId
</ParamField>

### 请求示例 (cURL)

```bash theme={null}
curl "https://socialvision.tisyk.xyz/suno/act/wav/{clip_id}" \
  -H "Authorization: Bearer sk-YOUR_API_KEY"
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": 200,
  "data": [],
  "msg": "操作成功"
}
```

***

## 波形图数据

`GET /suno/act/waveform`

获取指定 clip 的波形图数据。

### 请求参数 (Query / Path)

<ParamField query="clipId" type="string" required>
  音频 / 视频 clip ID
</ParamField>

### 请求示例 (cURL)

```bash theme={null}
curl "https://socialvision.tisyk.xyz/suno/act/waveform" \
  -H "Authorization: Bearer sk-YOUR_API_KEY"
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": 200,
  "data": [],
  "msg": "操作成功"
}
```

***

## 查询单个任务

`GET /suno/fetch/{id}`

GET 轮询入口；`id` 为提交任务返回的 task\_id。

查询单个任务或片段的详细状态，包括音频 URL、歌词等。

### 请求参数 (Query / Path)

<ParamField path="id" type="string" required>
  task\_id 或上游要求的查询 ID
</ParamField>

### 请求示例 (cURL)

```bash theme={null}
curl "https://socialvision.tisyk.xyz/suno/fetch/{id}" \
  -H "Authorization: Bearer sk-YOUR_API_KEY"
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": "success",
  "data": {
    "action": "string",
    "data": {},
    "fail_reason": "string",
    "status": "string",
    "task_id": "string"
  },
  "message": "string"
}
```

***

## 查询任务状态

`POST /suno/fetch`

轮询入口之一。请求体为 task\_id / clip id 列表（`ids`）。

**注意**：`task_id` 用于轮询任务；`clip_id` 用于续写/补段等，二者勿混用（API-Doc-Standards §2.4）。

根据任务 ID 列表批量查询任务或作品状态。

### 请求体参数 (Body)

<ParamField body="action" type="string">
  可选；多数场景仅传 ids 即可
</ParamField>

<ParamField body="ids" type="array" required>
  task\_id 或 clip\_id 列表
</ParamField>

### 请求示例 (JSON)

```json theme={null}
{
  "ids": [
    "task_abc123"
  ]
}
```

### 请求示例 (cURL)

```bash theme={null}
curl -X POST "https://socialvision.tisyk.xyz/suno/fetch" \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "ids": [
    "task_abc123"
  ]
}'
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": "string",
  "data": [
    {
      "action": "string",
      "data": {},
      "fail_reason": "string",
      "status": "string",
      "task_id": "string"
    }
  ],
  "message": "string"
}
```

***

## 调整播放速度

`POST /suno/submit/adjust-speed`

同步调整播放速度，0 积分。

### 请求体参数 (Body)

<ParamField body="clip_id" type="string" required>
  歌曲 clipId
</ParamField>

<ParamField body="keep_pitch" type="boolean">
  是否保持音调
</ParamField>

<ParamField body="speed" type="number" required>
  播放速度 0.25\~4.0
</ParamField>

### 请求示例 (JSON)

```json theme={null}
{
  "clip_id": "a3911719-eded-4585-a4bb-90ea52d786b5",
  "keep_pitch": true,
  "speed": 1.5
}
```

### 请求示例 (cURL)

```bash theme={null}
curl -X POST "https://socialvision.tisyk.xyz/suno/submit/adjust-speed" \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "clip_id": "a3911719-eded-4585-a4bb-90ea52d786b5",
  "keep_pitch": true,
  "speed": 1.5
}'
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": "success",
  "data": "1268154180129529857",
  "message": ""
}
```

***

## 生成歌曲(拼接歌曲)

`POST /suno/submit/concat`

续写歌曲后再拼接成完整曲目。

### 请求体参数 (Body)

<ParamField body="clip_id" type="string" required>
  续写返回的 clipId
</ParamField>

### 请求示例 (JSON)

```json theme={null}
{
  "clip_id": "4b2300c2-f200-4011-8f80-e3401da28c4f"
}
```

### 请求示例 (cURL)

```bash theme={null}
curl -X POST "https://socialvision.tisyk.xyz/suno/submit/concat" \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "clip_id": "4b2300c2-f200-4011-8f80-e3401da28c4f"
}'
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": "success",
  "data": "1268154180129529857",
  "message": ""
}
```

***

## Fade 淡入淡出

`POST /suno/submit/fade`

同步 fade 处理，0 积分。

### 请求体参数 (Body)

<ParamField body="clip_id" type="string" required>
  歌曲 clipId
</ParamField>

<ParamField body="fade_in_s" type="number">
  淡入秒数
</ParamField>

<ParamField body="fade_out_s" type="number">
  淡出秒数
</ParamField>

### 请求示例 (JSON)

```json theme={null}
{
  "clip_id": "9846ddf3-f154-4198-aad9-2652c22aa879",
  "fade_in_s": 2,
  "fade_out_s": 3
}
```

### 请求示例 (cURL)

```bash theme={null}
curl -X POST "https://socialvision.tisyk.xyz/suno/submit/fade" \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "clip_id": "9846ddf3-f154-4198-aad9-2652c22aa879",
  "fade_in_s": 2,
  "fade_out_s": 3
}'
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": "success",
  "data": "1268154180129529857",
  "message": ""
}
```

***

## 生成歌词

`POST /suno/submit/lyrics`

根据主题或关键词生成歌词文本。

### 请求体参数 (Body)

<ParamField body="prompt" type="string" required>
  歌词主题/关键词
</ParamField>

### 请求示例 (JSON)

```json theme={null}
{
  "prompt": "my love"
}
```

### 请求示例 (cURL)

```bash theme={null}
curl -X POST "https://socialvision.tisyk.xyz/suno/submit/lyrics" \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "prompt": "my love"
}'
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": "success",
  "data": "1268154180129529857",
  "message": ""
}
```

***

## 生成 MP4 视频

`POST /suno/submit/mp4`

生成 MP4 视频，0 积分，异步。

### 请求体参数 (Body)

<ParamField body="clip_id" type="string" required>
  歌曲 clipId
</ParamField>

### 请求示例 (JSON)

```json theme={null}
{
  "clip_id": "9846ddf3-f154-4198-aad9-2652c22aa879"
}
```

### 请求示例 (cURL)

```bash theme={null}
curl -X POST "https://socialvision.tisyk.xyz/suno/submit/mp4" \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "clip_id": "9846ddf3-f154-4198-aad9-2652c22aa879"
}'
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": "success",
  "data": "1268154180129529857",
  "message": ""
}
```

***

## 创建音乐

`POST /suno/submit/music`

等价于 `POST /suno/submit/`{`action`}\`\` 且 `action=music`（路由参数见 manifest）。

**支持模型（`mv`）**：用户侧可复制 ID（与下方 examples 对齐；`chirp-auk` / `chirp-fenix` 仅为别名）：

* chirp-v3-0（对应版本 v3.0）
* chirp-v3-5（对应版本 v3.5）
* chirp-v4（对应版本 v4.0）
* chirp-v4-5（对应版本 v4.5；别名 chirp-auk）
* chirp-v5（对应版本 v5.0）
* chirp-v5-5（对应版本 v5.5；别名 chirp-fenix）
* chirp-v6（对应版本 v6.0）
* chirp-v6-wild（对应版本 v6-wild）
* chirp-v6-mini（对应版本 v6-mini）

**字段优先级**：若同时提供 `gpt_description_prompt` 与 `prompt`，以网关/上游实际分支为准（勿当作简单二选一可同时填）。详见 API-Doc-Standards §2.3。

**clip 续写**：`continue_clip_id` 须来自先前 `fetch` 返回的 clip/song，不可自造。

# 接入步骤

## A. 生成音乐

可以通过场生成歌曲接口生成后，获取其中的一首歌的 `clip_id` 值为： 54834687-5e79-4f08-8e14-cf188f15b598

## B. 新建 Persona

* `clip_id` 需要系统内存在的，非 uploader
* 不能跨账号，所以可能账号下线用不了

## C. 使用 persona\_id 创作

注意事项：

* mv 为 `chirp-v3-5-tau` 或者 `chirp-v4-tau`
* task 为 `artist_consistency`
* persona\_id 为 B 步骤得到的
* artist\_clip\_id 就是 A 步骤中的 `clip_id`
* 可跨账号

提交 AI 音乐创作任务，支持三种模式：

* **描述模式**：填写 `gpt_description_prompt`，AI 自动生成音乐风格与歌词
* **自定义模式**：填写 `prompt`（歌词）+ `tags`（风格标签），精确控制创作方向
* **纯音乐模式**：设置 `make_instrumental: true`，生成无歌词背景音乐
* **续写模式**：填写 `continue_clip_id` + `continue_at`，延续已有片段

### 请求体参数 (Body)

<ParamField body="artist_clip_id" type="string">
  源曲 clip\_id（步骤 A 生成音乐后从 fetch 结果取得）。task=artist\_consistency 时必填，且应与创建 Persona 时使用的 root\_clip\_id 为同一首源曲。须为系统内已生成 clip，非 uploader 临时 ID。
</ParamField>

<ParamField body="continue_at" type="number">
  从源音频第几秒开始续写（配合 continue\_clip\_id）
</ParamField>

<ParamField body="continue_clip_id" type="string">
  续写/补段用的源 clip ID。须为已生成歌曲的 clip\_id（从 GET /suno/fetch/:id 结果获取），非 task\_id
</ParamField>

<ParamField body="gpt_description_prompt" type="string">
  灵感模式：用自然语言描述想要的音乐风格/主题（与 prompt 二选一，优先灵感）
</ParamField>

<ParamField body="make_instrumental" type="boolean">
  是否生成纯音乐（无人声）
</ParamField>

<ParamField body="metadata" type="object">
  扩展字段；可通过 metadata.task 或 metadata.metadata\_params 传参（与顶层二选一即可）
</ParamField>

<ParamField body="metadata_params" type="object">
  Open 渠道扩展参数，按 task 传不同子字段；未列出的键可能透传上游
</ParamField>

<ParamField body="mv" type="string">
  模型版本；不传默认 chirp-v5。另支持 chirp-v6 / chirp-v6-wild / chirp-v6-mini。task=artist\_consistency 时仅建议 chirp-v3-5-tau 或 chirp-v4-tau
</ParamField>

<ParamField body="persona_id" type="string">
  Persona ID。仅 task=artist\_consistency 时必填。须先 POST /suno/submit/persona 创建成功后从 fetch 结果获取；无固定枚举，不可手写假 UUID。Persona 与创建账号绑定，不可跨账号复用创建步骤。
</ParamField>

<ParamField body="prompt" type="string">
  自定义模式：新歌歌词；续写/补段/重制/混搭等也常用。task=remaster 时上游必填
</ParamField>

<ParamField body="tags" type="string">
  风格标签，逗号分隔，如 "pop, piano, emotional"。可空
</ParamField>

<ParamField body="task" type="string">
  特殊任务类型；不传则为普通生成（灵感/自定义/纯音乐）
</ParamField>

<ParamField body="task_id" type="string">
  关联原任务 ID，用于渠道路由（可选）
</ParamField>

<ParamField body="title" type="string">
  歌曲标题
</ParamField>

### 请求示例 (cURL)

```bash theme={null}
curl -X POST "https://socialvision.tisyk.xyz/suno/submit/music" \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": "success",
  "data": "1268154180129529857",
  "message": ""
}
```

***

## 创建歌手风格(Persona)

`POST /suno/submit/persona`

基于已生成 clip 创建 Persona，供 task=artist\_consistency 等场景复用歌手音色。

### 请求体参数 (Body)

<ParamField body="root_clip_id" type="string" required>
  源歌曲 clipId；也可用 clip\_id
</ParamField>

<ParamField body="user_input_styles" type="string" required>
  风格描述；可改用 tags
</ParamField>

<ParamField body="vocal_end_s" type="integer" required>
  人声片段结束秒，须大于 start
</ParamField>

<ParamField body="vocal_start_s" type="integer" required>
  人声片段起始秒
</ParamField>

### 请求示例 (JSON)

```json theme={null}
{
  "root_clip_id": "518d910f-a6b7-43fc-9f65-c9f116f3f8a3",
  "user_input_styles": "pop,female voice",
  "vocal_end_s": 30,
  "vocal_start_s": 10
}
```

### 请求示例 (cURL)

```bash theme={null}
curl -X POST "https://socialvision.tisyk.xyz/suno/submit/persona" \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "root_clip_id": "518d910f-a6b7-43fc-9f65-c9f116f3f8a3",
  "user_input_styles": "pop,female voice",
  "vocal_end_s": 30,
  "vocal_start_s": 10
}'
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": "success",
  "data": "1268154180129529857",
  "message": ""
}
```

***

## 重新生成封面图

`POST /suno/submit/regen-img`

重新生成封面，0 积分，异步。

### 请求体参数 (Body)

<ParamField body="task_batch_id" type="string" required>
  任务 taskBatchId
</ParamField>

### 请求示例 (JSON)

```json theme={null}
{
  "task_batch_id": "1265431382265176065"
}
```

### 请求示例 (cURL)

```bash theme={null}
curl -X POST "https://socialvision.tisyk.xyz/suno/submit/regen-img" \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "task_batch_id": "1265431382265176065"
}'
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": "success",
  "data": "1268154180129529857",
  "message": ""
}
```

***

## 修改标题/封面

`POST /suno/submit/set-metadata`

同步修改标题与封面

### 请求体参数 (Body)

<ParamField body="clip_id" type="string" required>
  音频 / 视频 clip ID
</ParamField>

<ParamField body="image_url" type="string" required>
  新封面 URL
</ParamField>

<ParamField body="title" type="string" required>
  新标题
</ParamField>

### 请求示例 (JSON)

```json theme={null}
{
  "clip_id": "e42808c7-e08a-4eb1-a288-1cd3ba952871",
  "image_url": "https://cdn2.suno.ai/image_e42808c7-e08a-4eb1-a288-1cd3ba952871.jpeg",
  "title": "新歌名"
}
```

### 请求示例 (cURL)

```bash theme={null}
curl -X POST "https://socialvision.tisyk.xyz/suno/submit/set-metadata" \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "clip_id": "e42808c7-e08a-4eb1-a288-1cd3ba952871",
  "image_url": "https://cdn2.suno.ai/image_e42808c7-e08a-4eb1-a288-1cd3ba952871.jpeg",
  "title": "新歌名"
}'
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": "success",
  "data": "1268154180129529857",
  "message": ""
}
```

***

## 全轨12路分离（URL）

`POST /suno/submit/stems-all-by-url`

按 URL 全轨分离，0 积分，异步。

### 请求体参数 (Body)

<ParamField body="url" type="string" required>
  音频文件 URL
</ParamField>

### 请求示例 (JSON)

```json theme={null}
{
  "url": "https://example.com/audio.mp3"
}
```

### 请求示例 (cURL)

```bash theme={null}
curl -X POST "https://socialvision.tisyk.xyz/suno/submit/stems-all-by-url" \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "https://example.com/audio.mp3"
}'
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": "success",
  "data": "1268154180129529857",
  "message": ""
}
```

***

## 全轨12路分离（clipId）

`POST /suno/submit/stems-all`

全轨 12 路分离，异步。返回 taskBatchId。

### 请求体参数 (Body)

<ParamField body="clip_id" type="string" required>
  歌曲 clipId
</ParamField>

### 请求示例 (JSON)

```json theme={null}
{
  "clip_id": "9846ddf3-f154-4198-aad9-2652c22aa879"
}
```

### 请求示例 (cURL)

```bash theme={null}
curl -X POST "https://socialvision.tisyk.xyz/suno/submit/stems-all" \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "clip_id": "9846ddf3-f154-4198-aad9-2652c22aa879"
}'
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": "success",
  "data": "1268154180129529857",
  "message": ""
}
```

***

## 人声/伴奏分离（URL）

`POST /suno/submit/stems-by-url`

按 URL 分离人声与伴奏，0 积分，异步。

### 请求体参数 (Body)

<ParamField body="url" type="string" required>
  音频文件 URL
</ParamField>

### 请求示例 (JSON)

```json theme={null}
{
  "url": "https://example.com/audio.mp3"
}
```

### 请求示例 (cURL)

```bash theme={null}
curl -X POST "https://socialvision.tisyk.xyz/suno/submit/stems-by-url" \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "https://example.com/audio.mp3"
}'
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": "success",
  "data": "1268154180129529857",
  "message": ""
}
```

***

## 人声/伴奏分离（clipId）

`POST /suno/submit/stems`

按 clipId 分离人声与伴奏，0 积分，异步。返回 taskBatchId，用查询接口轮询。

### 请求体参数 (Body)

<ParamField body="callback_url " type="string">
  任务完成回调地址，留空表示不回调
</ParamField>

<ParamField body="clip_id" type="string" required>
  歌曲 clipId
</ParamField>

### 请求示例 (JSON)

```json theme={null}
{
  "clip_id": "227c8897-2216-45eb-83bd-70e52375027d"
}
```

### 请求示例 (cURL)

```bash theme={null}
curl -X POST "https://socialvision.tisyk.xyz/suno/submit/stems" \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "clip_id": "227c8897-2216-45eb-83bd-70e52375027d"
}'
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": "success",
  "data": "1268154180129529857",
  "message": ""
}
```

***

## 提升音乐风格

`POST /suno/submit/upsample-tags`

将简短风格描述扩展为更丰富的 tags 提示词。

### 请求体参数 (Body)

<ParamField body="original_tags" type="string" required>
  原始风格描述
</ParamField>

### 请求示例 (JSON)

```json theme={null}
{
  "original_tags": "深度浩室，情感，旋律"
}
```

### 请求示例 (cURL)

```bash theme={null}
curl -X POST "https://socialvision.tisyk.xyz/suno/submit/upsample-tags" \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "original_tags": "深度浩室，情感，旋律"
}'
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": "success",
  "data": "1268154180129529857",
  "message": ""
}
```

***

## 资源转临时地址

`POST /suno/submit/url-transfer`

将资源 URL 转为临时可访问地址，0 积分，同步。

### 请求体参数 (Body)

<ParamField body="url" type="string" required>
  原始资源 URL
</ParamField>

### 请求示例 (JSON)

```json theme={null}
{
  "url": "https://example.com/track.mp3"
}
```

### 请求示例 (cURL)

```bash theme={null}
curl -X POST "https://socialvision.tisyk.xyz/suno/submit/url-transfer" \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "https://example.com/track.mp3"
}'
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": "success",
  "data": "1268154180129529857",
  "message": ""
}
```

***

## 上传版权歌曲

`POST /suno/uploads/audio`

上传版权音频到 Suno，用于后续续写或 Persona 等操作。

### 请求体参数 (Body)

<ParamField body="name" type="string" required>
  歌曲名称
</ParamField>

<ParamField body="speed_multiplier" type="number" required>
  上传前调整速度，取值范围 \[0.25, 2.0]
</ParamField>

<ParamField body="speed_multiplier_fix" type="boolean" required>
  是否修复速度。true=修复回原速；false=保留调速后的速度
</ParamField>

<ParamField body="upload_type" type="string" required>
  上传类型。NORMAL=普通上传（免费）；MUSIC\_COPYRIGHT=版权上传（消耗 30 积分）。本接口填 MUSIC\_COPYRIGHT
</ParamField>

<ParamField body="url" type="string" required>
  参考音频文件的源 URL，如 [https://cdn1.suno.ai/xxx.mp3](https://cdn1.suno.ai/xxx.mp3)
</ParamField>

### 请求示例 (JSON)

```json theme={null}
{
  "name": "江海",
  "speed_multiplier": 1,
  "speed_multiplier_fix": true,
  "upload_type": "MUSIC_COPYRIGHT",
  "url": "https://cdn1.suno.ai/ad94e107-37a2-4ee1-acbe-9138a47b07b7.mp3?v=1.6"
}
```

### 请求示例 (cURL)

```bash theme={null}
curl -X POST "https://socialvision.tisyk.xyz/suno/uploads/audio" \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "江海",
  "speed_multiplier": 1,
  "speed_multiplier_fix": true,
  "upload_type": "MUSIC_COPYRIGHT",
  "url": "https://cdn1.suno.ai/ad94e107-37a2-4ee1-acbe-9138a47b07b7.mp3?v=1.6"
}'
```

### 响应示例 (200 OK)

```json theme={null}
{
  "code": "success",
  "data": {}
}
```

***


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