# Suno Cover 任务状态

> 音频生成

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

## 请求地址

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

## 请求参数

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| task_id | query | string | Yes | Unique identifier of the asynchronous task returned by `/v1/tasks/submit`. |

## 响应

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

## OpenAPI 定义

```json
{
  "openapi": "3.1.0",
  "x-language": "zh-CN",
  "info": {
    "title": "suno-cover接口文档",
    "version": "1.0.0",
    "description": "这是 ModelVerse 上 `suno-cover` 的音频生成接口文档，说明如何提交音乐或音效生成请求、读取结果以及处理错误。\n接口路径包括 `POST /v1/tasks/submit`、`GET /v1/tasks/status`。\n"
  },
  "servers": [
    {
      "url": "https://api.modelverse.cn",
      "description": "ModelVerse API endpoint documented for Suno cover."
    }
  ],
  "tags": [
    {
      "name": "Suno Cover",
      "description": "Suno cover asynchronous music task operations."
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "paths": {
    "/v1/tasks/submit": {
      "post": {
        "tags": [
          "Suno Cover"
        ],
        "operationId": "submitSunoCoverTask",
        "summary": "Suno Cover 翻唱生成",
        "description": "提交异步任务。请求体中的模型和参数按本模型文档填写，响应会返回任务 ID。\n",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SunoCoverSubmitRequest"
              },
              "examples": {
                "cover": {
                  "$ref": "#/components/examples/SunoCoverSubmitRequestExample"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "任务提交成功。",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SunoCoverSubmitResponse"
                },
                "examples": {
                  "submitted": {
                    "$ref": "#/components/examples/SunoCoverSubmitResponseExample"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters or task submission error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SunoCoverHttpErrorResponse"
                },
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/SunoCoverHttpErrorResponseExample"
                  }
                }
              }
            }
          },
          "default": {
            "description": "错误响应。",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SunoCoverHttpErrorResponse"
                },
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/SunoCoverHttpErrorResponseExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/tasks/status": {
      "get": {
        "tags": [
          "Suno Cover"
        ],
        "operationId": "getSunoCoverTaskStatus",
        "summary": "Suno Cover 任务状态",
        "description": "查询异步任务状态。任务完成后，响应中会包含结果 URL、用量信息或错误信息。\n",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "task_id",
            "in": "query",
            "required": true,
            "description": "Unique identifier of the asynchronous task returned by `/v1/tasks/submit`.",
            "schema": {
              "type": "string"
            },
            "example": "task_id"
          }
        ],
        "responses": {
          "200": {
            "description": "任务状态响应。",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SunoCoverStatusResponse"
                },
                "examples": {
                  "success": {
                    "$ref": "#/components/examples/SunoCoverStatusSuccessResponseExample"
                  },
                  "failure": {
                    "$ref": "#/components/examples/SunoCoverStatusFailureResponseExample"
                  }
                }
              }
            }
          },
          "400": {
            "description": "任务标识或请求参数无效。",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SunoCoverHttpErrorResponse"
                },
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/SunoCoverHttpErrorResponseExample"
                  }
                }
              }
            }
          },
          "default": {
            "description": "错误响应。",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SunoCoverHttpErrorResponse"
                },
                "examples": {
                  "error": {
                    "$ref": "#/components/examples/SunoCoverHttpErrorResponseExample"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "API key",
        "description": "查询异步任务状态。任务完成后，响应中会包含结果 URL、用量信息或错误信息。\n"
      }
    },
    "schemas": {
      "SunoCoverSubmitRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "model",
          "parameters"
        ],
        "properties": {
          "model": {
            "$ref": "#/components/schemas/SunoCoverModel"
          },
          "input": {
            "$ref": "#/components/schemas/SunoCoverInput"
          },
          "parameters": {
            "$ref": "#/components/schemas/SunoCoverParameters"
          }
        }
      },
      "SunoCoverModel": {
        "type": "string",
        "description": "查询异步任务状态。任务完成后，响应中会包含结果 URL、用量信息或错误信息。\n",
        "enum": [
          "suno-v4",
          "suno-v4.5",
          "suno-v4.5+",
          "suno-v4.5-all",
          "suno-v5",
          "suno-v5.5"
        ]
      },
      "SunoCoverInput": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "prompt": {
            "type": "string",
            "description": "Lyrics. If empty, the task generates instrumental music."
          }
        }
      },
      "SunoCoverParameters": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "upload_url",
          "task"
        ],
        "properties": {
          "upload_url": {
            "type": "string",
            "format": "uri",
            "description": "Accessible music URL to upload."
          },
          "tags": {
            "type": "string",
            "description": "Music style tags. Required by the source when lyrics are supplied."
          },
          "negative_tags": {
            "type": "string",
            "description": "Tags to avoid."
          },
          "title": {
            "type": "string",
            "description": "Music submission title. Required by the source when lyrics are supplied."
          },
          "task": {
            "type": "string",
            "const": "cover",
            "description": "Task type. For this source, use `cover`."
          }
        }
      },
      "SunoCoverSubmitResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "output",
          "request_id"
        ],
        "properties": {
          "output": {
            "$ref": "#/components/schemas/SunoCoverSubmitOutput"
          },
          "request_id": {
            "type": "string",
            "description": "唯一请求标识。"
          }
        }
      },
      "SunoCoverSubmitOutput": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "task_id"
        ],
        "properties": {
          "task_id": {
            "type": "string",
            "description": "异步任务唯一标识。"
          }
        }
      },
      "SunoCoverStatusResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "output",
          "request_id"
        ],
        "properties": {
          "output": {
            "$ref": "#/components/schemas/SunoCoverStatusOutput"
          },
          "usage": {
            "type": "object",
            "additionalProperties": true,
            "description": "Usage object shown in the successful status response example."
          },
          "request_id": {
            "type": "string",
            "description": "唯一请求标识。"
          }
        }
      },
      "SunoCoverStatusOutput": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "task_id",
          "task_status"
        ],
        "properties": {
          "task_id": {
            "type": "string",
            "description": "异步任务唯一标识。"
          },
          "task_status": {
            "$ref": "#/components/schemas/SunoCoverTaskStatus"
          },
          "urls": {
            "type": "array",
            "description": "Result URL list. The source example shows an 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": "任务失败时返回的错误信息。"
          }
        }
      },
      "SunoCoverTaskStatus": {
        "type": "string",
        "description": "查询异步任务状态。任务完成后，响应中会包含结果 URL、用量信息或错误信息。\n",
        "enum": [
          "Pending",
          "Running",
          "Success",
          "Failure"
        ]
      },
      "SunoCoverHttpErrorResponse": {
        "type": "object",
        "additionalProperties": true,
        "description": "查询异步任务状态。任务完成后，响应中会包含结果 URL、用量信息或错误信息。\n"
      }
    },
    "examples": {
      "SunoCoverSubmitRequestExample": {
        "summary": "提交 Suno cover 任务",
        "value": {
          "model": "suno-v4.5+",
          "input": {
            "prompt": "[Verse 1]\n台阶上数着蚂蚁搬家\n凉席上画着歪扭的图画\n电风扇对着西瓜吹了一下午\n外公的摇椅吱呀呀\n\n[Pre-Chorus]\n那时候以为每个问题都有回答\n北斗星下面许的愿会开花\n午睡醒来总有好吃的绿豆沙\n时间慢得像永远长不大\n\n[Chorus]\n那年的蝉 叫了一整个暑假\n我的秘密 藏在枕头底下\n攒了很久的贴纸 贴在铅笔盒上\n以为这样就能留住 那一片晚霞\n\n[Verse 2]\n院子里的石榴树发芽\n水龙头冲走脚丫上的泥巴\n电视剧主题曲学着哼唱\n邻居家小狗叫小花\n\n[Pre-Chorus]\n那时候摔倒了哭一下就好啦\n一颗糖就能换回笑脸啊\n屋顶上看飞机拉出的白线\n猜着它要飞去哪\n\n[Chorus]\n那年的蝉 叫了一整个暑假\n我的愿望 折进星星罐里啦\n攒了很久的硬币 买一根冰棒\n甜了整个夏天 融化了也没怕\n\n[Bridge]\n后来院子拆了 石榴树没啦\n外公不在了 摇椅也搬走啦\n我打开那个星星罐\n纸条上的字 已经看不清啦\n\n[Chorus]\n那年的蝉 后来去了哪\n我的童年 停在那个暑假\n攒了很久的回忆 放在心里最底下\n偶尔拿出来 晒一晒太阳\n\n[Outro]\n蝉声停了\n绿豆沙也凉了"
          },
          "parameters": {
            "upload_url": "https://xxx.xxx.xxx/xxx.mp3",
            "negative_tags": "柔和、静谧",
            "tags": "rock, punk",
            "title": "歌曲名(Cover)",
            "task": "cover"
          }
        }
      },
      "SunoCoverSubmitResponseExample": {
        "summary": "已提交任务",
        "value": {
          "output": {
            "task_id": "task_id"
          },
          "request_id": "request_id"
        }
      },
      "SunoCoverStatusSuccessResponseExample": {
        "summary": "成功任务",
        "value": {
          "output": {
            "task_id": "task_id",
            "task_status": "Success",
            "urls": [
              "https://xxxxx/xxxx.mp3"
            ],
            "submit_time": 1756959000,
            "finish_time": 1756959050
          },
          "usage": {},
          "request_id": ""
        }
      },
      "SunoCoverStatusFailureResponseExample": {
        "summary": "失败任务",
        "value": {
          "output": {
            "task_id": "task_id",
            "task_status": "Failure",
            "submit_time": 1756959000,
            "finish_time": 1756959019,
            "error_message": "error_message"
          },
          "request_id": ""
        }
      },
      "SunoCoverHttpErrorResponseExample": {
        "summary": "错误响应",
        "value": {
          "error_message": "error_message",
          "request_id": "request_id"
        }
      }
    }
  }
}
```
