# Suno 任务状态

> 音频生成

查询异步任务状态。任务完成后，响应中会包含结果 URL、用量信息或错误信息。

## 请求地址

`GET https://api.modelverse.cn/v1/tasks/status`

## 请求参数

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| task_id | query | string | Yes | 由 `/v1/tasks/submit` 返回的异步任务的唯一标识符。 |

## 响应

- **200** — 任务状态响应。
- **400** — 任务标识或请求参数无效。
- **default** — 错误响应。

## OpenAPI 定义

```json
{
  "openapi": "3.1.0",
  "x-language": "zh-CN",
  "info": {
    "title": "suno接口文档",
    "version": "1.0.0",
    "description": "这是 ModelVerse 上 `suno` 的音频生成接口文档，说明如何提交音乐或音效生成请求、读取结果以及处理错误。\n接口路径包括 `POST /v1/tasks/submit`、`GET /v1/tasks/status`。\n"
  },
  "servers": [
    {
      "url": "https://api.modelverse.cn",
      "description": "ModelVerse Suno API 端点。"
    }
  ],
  "tags": [
    {
      "name": "Suno",
      "description": "Suno 异步音乐生成任务操作。"
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "paths": {
    "/v1/tasks/submit": {
      "post": {
        "tags": [
          "Suno"
        ],
        "operationId": "submitSunoMusicTask",
        "summary": "Suno 音乐生成",
        "description": "提交异步任务。请求体中的模型和参数按本模型文档填写，响应会返回任务 ID。\n\n**cURL 示例：**\n\n**1. 灵感模式**\n```bash\ncurl -k -s --location --globoff 'https://api.modelverse.cn/v1/tasks/submit' \\\n--header 'Authorization: YOUR_API_KEY' \\\n--header 'Content-Type: application/json' \\\n--data '{\n        \"model\": \"suno-v4.5\",\n        \"input\": {\n            \"gpt_description_prompt\": \"一首关于乡愁的歌\"\n        },\n        \"parameters\": {\n            \"tags\":\"乡愁 舒缓\",\n            \"title\":\"归乡\"\n        }\n    }' \n```\n\n**2. 纯音乐灵感模式**\n```bash\ncurl -k -s --location --globoff 'https://api.modelverse.cn/v1/tasks/submit' \\\n--header 'Authorization: YOUR_API_KEY' \\\n--header 'Content-Type: application/json' \\\n--data '{\n        \"model\": \"suno-v4.5\",\n        \"input\": {\n            \"gpt_description_prompt\": \"一首关于乡愁的歌\"\n        },\n        \"parameters\": {\n            \"make_instrumental\": true,\n            \"tags\":\"乡愁 舒缓\",\n            \"title\":\"归乡\"\n        }\n    }' \n```\n\n**3. 自定义歌词歌名**\n```bash\ncurl -k -s --location --globoff 'https://api.modelverse.cn/v1/tasks/submit' \\\n--header 'Authorization: YOUR_API_KEY' \\\n--header 'Content-Type: application/json' \\\n--data '{\n  \"model\": \"suno-v4.5\",\n  \"input\": {\n    \"prompt\": \"[Verse]\\n连续的日子一直忙碌\\n文件成堆无尽头\\n把梦想藏在抽屉深处\\n咖啡杯已经冷透\\n\\n[Verse 2]\\n早上八点打卡上班\\n疲惫的眼睛没神采\\n同事间的闲聊都没意思\\n只盼着时间快快跑起来\\n\\n[Chorus]\\n工作工作老板的呼喊\\n做完做完这才算平安\\n加班加班才有些钱赚\\n梦想梦想何时能实现\\n\\n[Verse 3]\\n午餐时间吃个便当\\n看窗外阳光正灿烂\\n生活离梦想好远\\n眼前只有办公桌和椅子\\n\\n[Bridge]\\n老板的脚步声像雷鸣\\n心跳随着节奏加速\\n桌上的文件一大堆\\n抱怨的声音渐渐消失\\n\\n[Chorus]\\n工作工作老板的呼喊\\n做完做完这才算平安\\n加班加班才有些钱赚\\n梦想梦想何时能实现\"\n  },\n  \"parameters\": {\n    \"tags\": \"pop, ballad\",\n    \"title\": \"归乡\"\n  }\n}' \n```\n\n**4. 纯音乐自定义**\n```bash\ncurl -k -s --location --globoff 'https://api.modelverse.cn/v1/tasks/submit' \\\n--header 'Authorization: YOUR_API_KEY' \\\n--header 'Content-Type: application/json' \\\n--data '{\n  \"model\": \"suno-v4.5\",\n  \"input\": {\n    \"prompt\": \"\"\n  },\n  \"parameters\": {\n    \"tags\": \"pop, ballad\",\n    \"title\": \"归乡\"\n  }\n}' \n```\n\n**5. 查询任务状态**\n```bash\ncurl -k -s --location --globoff 'https://api.modelverse.cn/v1/tasks/status?task_id=YOUR_TASK_ID' \\\n--header 'Authorization: YOUR_API_KEY' \n```\n",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SunoSubmitRequest"
              },
              "examples": {
                "inspirationMode": {
                  "summary": "Inspiration mode",
                  "value": {
                    "model": "suno-v4.5",
                    "input": {
                      "gpt_description_prompt": "一首关于乡愁的歌"
                    }
                  }
                },
                "instrumentalInspirationMode": {
                  "summary": "Instrumental inspiration mode",
                  "value": {
                    "model": "suno-v4.5",
                    "input": {
                      "gpt_description_prompt": "一首关于乡愁的歌"
                    },
                    "parameters": {
                      "make_instrumental": true
                    }
                  }
                },
                "customLyricsAndTitle": {
                  "summary": "Custom lyrics and title",
                  "value": {
                    "model": "suno-v4.5",
                    "input": {
                      "prompt": "[Verse]\n连续的日子一直忙碌\n文件成堆无尽头\n把梦想藏在抽屉深处\n咖啡杯已经冷透\n\n[Verse 2]\n早上八点打卡上班\n疲惫的眼睛没神采\n同事间的闲聊都没意思\n只盼着时间快快跑起来\n\n[Chorus]\n工作工作老板的呼喊\n做完做完这才算平安\n加班加班才有些钱赚\n梦想梦想何时能实现"
                    },
                    "parameters": {
                      "tags": "pop, ballad",
                      "title": "归乡"
                    }
                  }
                },
                "customInstrumentalMode": {
                  "summary": "Custom instrumental mode",
                  "value": {
                    "model": "suno-v4.5",
                    "input": {
                      "prompt": ""
                    },
                    "parameters": {
                      "tags": "pop, ballad",
                      "title": "归乡"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "任务提交成功。",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SunoSubmitResponse"
                },
                "examples": {
                  "submitted": {
                    "summary": "已提交任务",
                    "value": {
                      "output": {
                        "task_id": "task_id"
                      },
                      "request_id": "request_id"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "请求参数无效或任务提交错误。",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SunoHttpErrorResponse"
                },
                "examples": {
                  "invalidRequest": {
                    "$ref": "#/components/examples/SunoHttpError"
                  }
                }
              }
            }
          },
          "default": {
            "description": "错误响应。",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SunoHttpErrorResponse"
                },
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/SunoHttpError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/tasks/status": {
      "get": {
        "tags": [
          "Suno"
        ],
        "operationId": "getSunoMusicTaskStatus",
        "summary": "Suno 任务状态",
        "description": "查询异步任务状态。任务完成后，响应中会包含结果 URL、用量信息或错误信息。\n",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "task_id",
            "in": "query",
            "required": true,
            "description": "由 `/v1/tasks/submit` 返回的异步任务的唯一标识符。",
            "schema": {
              "type": "string"
            },
            "example": "task_id"
          }
        ],
        "responses": {
          "200": {
            "description": "任务状态响应。",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SunoStatusResponse"
                },
                "examples": {
                  "success": {
                    "summary": "成功任务",
                    "value": {
                      "output": {
                        "task_id": "task_id",
                        "task_status": "Success",
                        "urls": [
                          "https://xxxxx/xxxx.mp3"
                        ],
                        "submit_time": 1756959000,
                        "finish_time": 1756959050
                      },
                      "usage": {},
                      "request_id": ""
                    }
                  },
                  "failure": {
                    "summary": "失败任务",
                    "value": {
                      "output": {
                        "task_id": "task_id",
                        "task_status": "Failure",
                        "submit_time": 1756959000,
                        "finish_time": 1756959019,
                        "error_message": "error_message"
                      },
                      "request_id": ""
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "任务标识或请求参数无效。",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SunoHttpErrorResponse"
                },
                "examples": {
                  "invalidRequest": {
                    "$ref": "#/components/examples/SunoHttpError"
                  }
                }
              }
            }
          },
          "default": {
            "description": "错误响应。",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SunoHttpErrorResponse"
                },
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/SunoHttpError"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "API key",
        "description": "查询异步任务状态。任务完成后，响应中会包含结果 URL、用量信息或错误信息。\n"
      }
    },
    "schemas": {
      "SunoSubmitRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "model"
        ],
        "properties": {
          "model": {
            "$ref": "#/components/schemas/SunoModel"
          },
          "input": {
            "$ref": "#/components/schemas/SunoInput"
          },
          "parameters": {
            "$ref": "#/components/schemas/SunoParameters"
          }
        }
      },
      "SunoModel": {
        "type": "string",
        "description": "查询异步任务状态。任务完成后，响应中会包含结果 URL、用量信息或错误信息。\n",
        "enum": [
          "suno-v4",
          "suno-v4.5",
          "suno-v4.5+",
          "suno-v4.5-all",
          "suno-v5",
          "suno-v5.5"
        ]
      },
      "SunoInput": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "prompt": {
            "type": "string",
            "description": "自定义模式的歌词。"
          },
          "gpt_description_prompt": {
            "type": "string",
            "description": "灵感模式的提示词。"
          }
        }
      },
      "SunoParameters": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "tags": {
            "type": "string",
            "description": "风格标签。在自定义模式下为必填，在灵感模式下为可选，但填写有助于生成更符合预期的内容。\n"
          },
          "title": {
            "type": "string",
            "description": "歌曲标题。在自定义模式下为必填，在灵感模式下为可选，但填写有助于生成更符合预期的内容。\n"
          },
          "make_instrumental": {
            "type": "boolean",
            "description": "是否生成纯音乐。`true` 表示生成纯音乐。"
          }
        }
      },
      "SunoSubmitResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "output",
          "request_id"
        ],
        "properties": {
          "output": {
            "$ref": "#/components/schemas/SunoSubmitOutput"
          },
          "request_id": {
            "type": "string",
            "description": "唯一请求标识。"
          }
        }
      },
      "SunoSubmitOutput": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "task_id"
        ],
        "properties": {
          "task_id": {
            "type": "string",
            "description": "异步任务唯一标识。"
          }
        }
      },
      "SunoStatusResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "output",
          "request_id"
        ],
        "properties": {
          "output": {
            "$ref": "#/components/schemas/SunoStatusOutput"
          },
          "usage": {
            "type": "object",
            "additionalProperties": true,
            "description": "成功状态响应示例中显示的用量对象。"
          },
          "request_id": {
            "type": "string",
            "description": "唯一请求标识。"
          }
        }
      },
      "SunoStatusOutput": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "task_id",
          "task_status"
        ],
        "properties": {
          "task_id": {
            "type": "string",
            "description": "异步任务唯一标识。"
          },
          "task_status": {
            "$ref": "#/components/schemas/SunoTaskStatus"
          },
          "urls": {
            "type": "array",
            "description": "结果 URL 列表。源示例显示 MP3 URL。",
            "items": {
              "type": "string",
              "format": "uri"
            }
          },
          "submit_time": {
            "type": "integer",
            "format": "int64",
            "description": "任务提交时间戳。"
          },
          "finish_time": {
            "type": "integer",
            "format": "int64",
            "description": "任务完成时间戳。"
          },
          "error_message": {
            "type": "string",
            "description": "任务失败时返回的错误信息。"
          }
        }
      },
      "SunoTaskStatus": {
        "type": "string",
        "enum": [
          "Pending",
          "Running",
          "Success",
          "Failure"
        ],
        "description": "查询异步任务状态。任务完成后，响应中会包含结果 URL、用量信息或错误信息。\n"
      },
      "SunoHttpErrorResponse": {
        "type": "object",
        "additionalProperties": true,
        "description": "查询异步任务状态。任务完成后，响应中会包含结果 URL、用量信息或错误信息。\n",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/SunoHttpErrorObject"
          },
          "request_id": {
            "type": "string"
          }
        }
      },
      "SunoHttpErrorObject": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "message": {
            "type": "string",
            "description": "错误信息。"
          },
          "type": {
            "type": "string",
            "description": "错误类型。"
          },
          "code": {
            "type": [
              "string",
              "null"
            ],
            "description": "错误码。"
          },
          "param": {
            "type": [
              "string",
              "null"
            ],
            "description": "相关请求参数，如有。"
          }
        }
      }
    },
    "examples": {
      "SunoHttpError": {
        "summary": "HTTP 错误响应",
        "value": {
          "error": {
            "message": "Invalid param",
            "type": "invalid_request_error",
            "code": "param_error",
            "param": "model"
          }
        }
      }
    }
  }
}
```
