Skip to main content

Get Vocal Separation Details

Retrieve detailed information about a vocal separation task.

Usage Guide

  • Use this endpoint to check the status of a vocal separation task
  • Access the URLs for vocal, instrumental, and individual instrument tracks once processing is complete
  • Track processing progress and any errors that may have occurred

Status Descriptions

  • PENDING: Task is waiting to be processed
  • SUCCESS: Vocal separation completed successfully
  • CREATE_TASK_FAILED: Failed to create the separation task
  • GENERATE_AUDIO_FAILED: Failed during audio processing
  • CALLBACK_EXCEPTION: Error occurred during callback

Developer Notes

  • URLs for all audio files (original, vocal, instrumental, drums, bass, guitar, piano) are only available when status is SUCCESS
  • Error codes and messages are provided for failed tasks
  • Separated audio files are retained for 14 days after successful processing
Rate limits and quotas are enforced by Apikley and may differ from upstream providers.

OpenAPI

suno-api/suno-api.json get /api/v1/vocal-removal/record-info
openapi: 3.0.0
info:
  title: Suno API
  description: Apikley Suno API Documentation
  version: 1.0.0
  contact:
    name: Technical Support
    email: [email protected]
servers:
  - url: https://api.apikley.ru
    description: API Server
security:
  - BearerAuth: []
paths:
  /api/v1/vocal-removal/record-info:
    get:
      summary: Get Vocal Separation Details
      description: >-
        Retrieve detailed information about a vocal separation task.


        ### Usage Guide

        - Use this endpoint to check the status of a vocal separation task

        - Access the URLs for vocal, instrumental, and individual instrument
        tracks once processing is complete

        - Track processing progress and any errors that may have occurred

        - Supports querying results for both `separate_vocal` and `split_stem`
        separation types


        ### Status Descriptions

        - `PENDING`: Task is waiting to be processed

        - `SUCCESS`: Vocal separation completed successfully

        - `CREATE_TASK_FAILED`: Failed to create the separation task

        - `GENERATE_AUDIO_FAILED`: Failed during audio processing

        - `CALLBACK_EXCEPTION`: Error occurred during callback


        ### Response Data Structure Description

        - `separate_vocal` type: Returns `instrumentalUrl` and `vocalUrl`
        fields, other instrument fields are null

        - `split_stem` type: Returns detailed instrument separation fields,
        `instrumentalUrl` is null


        ### Developer Notes

        - Separated audio file URLs are only available when status is `SUCCESS`

        - Error codes and messages are provided for failed tasks

        - Separated audio files are retained for 14 days after successful
        processing

        - Field structure varies based on the `type` parameter from the original
        request
      operationId: get-vocal-separation-details
      parameters:
        - in: query
          name: taskId
          description: >-
            Unique identifier of the vocal separation task to retrieve. This is
            the taskId returned when creating the vocal separation task.
          required: true
          example: 5e72****97c7
          schema:
            type: string
      responses:
        '200':
          description: Request successful
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      code:
                        type: integer
                        enum:
                          - 200
                          - 401
                          - 404
                          - 422
                          - 451
                          - 455
                          - 500
                        description: >-
                          Response status code


                          - **200**: Success - Request has been processed
                          successfully

                          - **401**: Unauthorized - Authentication credentials
                          are missing or invalid

                          - **404**: Not Found - The requested resource or
                          endpoint does not exist

                          - **422**: Validation Error - The request parameters
                          failed validation checks

                          - **451**: Failed to fetch the image. Kindly verify
                          any access limits set by you or your service provider.

                          - **455**: Service Unavailable - System is currently
                          undergoing maintenance

                          - **500**: Server Error - An unexpected error occurred
                          while processing the request
                      msg:
                        type: string
                        description: Error message when code != 200
                        example: success
                  - type: object
                    properties:
                      data:
                        type: object
                        properties:
                          taskId:
                            type: string
                            description: Task ID
                          musicId:
                            type: string
                            description: Music ID
                          callbackUrl:
                            type: string
                            description: Callback address
                          audioId:
                            type: integer
                            description: Audio ID
                          completeTime:
                            type: string
                            description: Complete callback time
                            format: date-time
                          response:
                            type: object
                            description: >-
                              Vocal separation response result, fields vary
                              based on the type parameter from the original
                              request
                            properties:
                              originUrl:
                                type: string
                                description: Original audio URL
                              instrumentalUrl:
                                type: string
                                description: >-
                                  Instrumental part audio URL (separate_vocal
                                  type only)
                              vocalUrl:
                                type: string
                                description: Vocal part audio URL
                              backingVocalsUrl:
                                type: string
                                description: >-
                                  Backing vocals audio URL (split_stem type
                                  only)
                              drumsUrl:
                                type: string
                                description: Drums part audio URL (split_stem type only)
                              bassUrl:
                                type: string
                                description: Bass part audio URL (split_stem type only)
                              guitarUrl:
                                type: string
                                description: Guitar part audio URL (split_stem type only)
                              pianoUrl:
                                type: string
                                description: Piano part audio URL (split_stem type only)
                              keyboardUrl:
                                type: string
                                description: Keyboard part audio URL (split_stem type only)
                              percussionUrl:
                                type: string
                                description: >-
                                  Percussion part audio URL (split_stem type
                                  only)
                              stringsUrl:
                                type: string
                                description: Strings part audio URL (split_stem type only)
                              synthUrl:
                                type: string
                                description: >-
                                  Synthesizer part audio URL (split_stem type
                                  only)
                              fxUrl:
                                type: string
                                description: Effects part audio URL (split_stem type only)
                              brassUrl:
                                type: string
                                description: Brass part audio URL (split_stem type only)
                              woodwindsUrl:
                                type: string
                                description: >-
                                  Woodwinds part audio URL (split_stem type
                                  only)
                          successFlag:
                            type: string
                            description: Task status
                            enum:
                              - PENDING
                              - SUCCESS
                              - CREATE_TASK_FAILED
                              - GENERATE_AUDIO_FAILED
                              - CALLBACK_EXCEPTION
                          createTime:
                            type: string
                            description: Creation time
                            format: date-time
                          errorCode:
                            type: number
                            description: >-
                              Error code, valid when task fails


                              - **200**: Success - Request has been processed
                              successfully

                              - **500**: Internal Error - Please try again
                              later.
                            enum:
                              - 200
                              - 500
                          errorMessage:
                            type: string
                            description: Error message, valid when task fails
              examples:
                separate_vocal:
                  summary: separate_vocal Type Query Result
                  description: Response example for vocal separation type query details
                  value:
                    code: 200
                    msg: success
                    data:
                      taskId: 3e63b4cc88d52611159371f6af5571e7
                      musicId: 376c687e-d439-42c1-b1e4-bcb43b095ec2
                      callbackUrl: >-
                        https://57312fc2e366.ngrok-free.app/api/v1/vocal-removal/test
                      audioId: e231****-****-****-****-****8cadc7dc
                      completeTime: 1753782937000
                      response:
                        originUrl: null
                        instrumentalUrl: >-
                          https://file.aiquickdraw.com/s/d92a13bf-c6f4-4ade-bb47-f69738435528_Instrumental.mp3
                        vocalUrl: >-
                          https://file.aiquickdraw.com/s/3d7021c9-fa8b-4eda-91d1-3b9297ddb172_Vocals.mp3
                        backingVocalsUrl: null
                        drumsUrl: null
                        bassUrl: null
                        guitarUrl: null
                        pianoUrl: null
                        keyboardUrl: null
                        percussionUrl: null
                        stringsUrl: null
                        synthUrl: null
                        fxUrl: null
                        brassUrl: null
                        woodwindsUrl: null
                      successFlag: SUCCESS
                      createTime: 1753782854000
                      errorCode: null
                      errorMessage: null
                split_stem:
                  summary: split_stem Type Query Result
                  description: >-
                    Response example for instrument separation type query
                    details
                  value:
                    code: 200
                    msg: success
                    data:
                      taskId: e649edb7abfd759285bd41a47a634b10
                      musicId: 376c687e-d439-42c1-b1e4-bcb43b095ec2
                      callbackUrl: >-
                        https://57312fc2e366.ngrok-free.app/api/v1/vocal-removal/test
                      audioId: e231****-****-****-****-****8cadc7dc
                      completeTime: 1753782459000
                      response:
                        originUrl: null
                        instrumentalUrl: null
                        vocalUrl: >-
                          https://file.aiquickdraw.com/s/07420749-29a2-4054-9b62-e6a6f8b90ccb_Vocals.mp3
                        backingVocalsUrl: >-
                          https://file.aiquickdraw.com/s/aadc51a3-4c88-4c8e-a4c8-e867c539673d_Backing_Vocals.mp3
                        drumsUrl: >-
                          https://file.aiquickdraw.com/s/ac75c5ea-ac77-4ad2-b7d9-66e140b78e44_Drums.mp3
                        bassUrl: >-
                          https://file.aiquickdraw.com/s/a3c2da5a-b364-4422-adb5-2692b9c26d33_Bass.mp3
                        guitarUrl: >-
                          https://file.aiquickdraw.com/s/064dd08e-d5d2-4201-9058-c5c40fb695b4_Guitar.mp3
                        pianoUrl: null
                        keyboardUrl: >-
                          https://file.aiquickdraw.com/s/adc934e0-df7d-45da-8220-1dba160d74e0_Keyboard.mp3
                        percussionUrl: >-
                          https://file.aiquickdraw.com/s/0f70884d-047c-41f1-a6d0-7044618b7dc6_Percussion.mp3
                        stringsUrl: >-
                          https://file.aiquickdraw.com/s/49829425-a5b0-424e-857a-75d4c63a426b_Strings.mp3
                        synthUrl: >-
                          https://file.aiquickdraw.com/s/56b2d94a-eb92-4d21-bc43-3460de0c8348_Synth.mp3
                        fxUrl: >-
                          https://file.aiquickdraw.com/s/a8822c73-6629-4089-8f2a-d19f41f0007d_FX.mp3
                        brassUrl: >-
                          https://file.aiquickdraw.com/s/334b2d23-0c65-4a04-92c7-22f828afdd44_Brass.mp3
                        woodwindsUrl: >-
                          https://file.aiquickdraw.com/s/d81545b1-6f94-4388-9785-1aaa6ecabb02_Woodwinds.mp3
                      successFlag: SUCCESS
                      createTime: 1753782327000
                      errorCode: null
                      errorMessage: null
        '500':
          $ref: '#/components/responses/Error'
components:
  responses:
    Error:
      description: Server Error
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        All APIs require authentication via Bearer Token.


        Get API Key:

        1. Visit [API Key Management Page](https://app.apikley.ru/keys) to get your
        API Key


        Usage:

        Add to request header:

        Authorization: Bearer APIKLEY_API_KEY


        Note:

        - Keep your API Key secure and do not share it with others

        - If you suspect your API Key has been compromised, reset it immediately
        in the management page


To find navigation and other pages in this documentation, fetch the llms.txt file at: https://docs.apikley.ru/llms.txt