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

# Generate Persona

> Create a personalized music Persona based on generated music, giving the music a unique identity and characteristics.

### Usage Guide

* Use this endpoint to create Personas (music characters) for generated music
* Requires the taskId from music generation related endpoints (generate, extend, cover, upload-extend, mashup) and audio ID
* Customize the Persona name and description to give music unique personality
* Generated Personas can be used for subsequent music creation and style transfer

### Parameter Details

* `taskId`: Required parameter, can be obtained from the following endpoints:
  * [Generate Music](./generate-music) (`/api/v1/generate`)
  * [Extend Music](./extend-music) (`/api/v1/generate/extend`)
  * [Upload And Cover Audio](./upload-and-cover-audio) (`/api/v1/generate/upload-cover`)
  * [Upload And Extend Audio](./upload-and-extend-audio) (`/api/v1/generate/upload-extend`)
* `audioId`: Required parameter, specifies the audio ID to create Persona for
* `name`: Required parameter, assigns an easily recognizable name to the Persona
* `description`: Required parameter, describes the Persona's musical characteristics, style, and personality

### Developer Notes

* **Important**: Ensure the music generation task is fully completed before calling this endpoint. If the music is still generating, this endpoint will return a failure
* **Model Requirement**: Persona generation only supports taskId from music generated with models above v3\_5 (v3\_5 itself is not supported)
* It is recommended to provide detailed descriptions for Personas to better capture musical characteristics
* The returned `personaId` can be used in subsequent music generation requests to create music with similar style characteristics
* You can apply the `personaId` to the following endpoints:
  * [Generate Music](./generate-music)
  * [Extend Music](./extend-music)
  * [Upload And Cover Audio](./upload-and-cover-audio)
  * [Upload And Extend Audio](./upload-and-extend-audio)
* Each audio ID can only generate a Persona once

### Parameter Example

```json theme={null}
{
  "taskId": "5c79****be8e",
  "audioId": "e231****-****-****-****-****8cadc7dc",
  "name": "Electronic Pop Singer",
  "description": "A modern electronic music style pop singer, skilled in dynamic rhythms and synthesizer tones"
}
```

<Note>
  Ensure that the music generation task corresponding to the taskId is complete and the audioId is within the valid range.
</Note>

<Tip>
  Providing detailed and specific descriptions for Personas helps the system more accurately capture musical style characteristics.
</Tip>


## OpenAPI

````yaml suno-api/suno-api.json post /api/v1/generate/generate-persona
openapi: 3.0.0
info:
  title: Suno API
  description: kie.ai Suno API Documentation
  version: 1.0.0
  contact:
    name: Technical Support
    email: support@kie.ai
servers:
  - url: https://api.kie.ai
    description: API Server
security:
  - BearerAuth: []
paths:
  /api/v1/generate/generate-persona:
    post:
      summary: Generate Persona
      description: >-
        Create a personalized music Persona based on generated music, giving the
        music a unique identity and characteristics.


        ### Usage Guide

        - Use this endpoint to create Personas (music characters) for generated
        music

        - Requires the taskId from music generation related endpoints (generate,
        extend, cover, upload-extend, mashup) and audio ID

        - Customize the Persona name and description to give music unique
        personality

        - Generated Personas can be used for subsequent music creation and style
        transfer


        ### Parameter Details

        - `taskId`: Required parameter, can be obtained from the following
        endpoints:
          - Generate Music (/api/v1/generate)
          - Extend Music (/api/v1/generate/extend)
          - Upload And Cover Audio (/api/v1/generate/upload-cover)
          - Upload And Extend Audio (/api/v1/generate/upload-extend)
          - Generate Mashup Music (/api/v1/generate/mashup)
        - `audioId`: Required parameter, specifies the audio ID to create
        Persona for

        - `name`: Required parameter, assigns an easily recognizable name to the
        Persona

        - `description`: Required parameter, describes the musical
        characteristics, style, and personality of the Persona

        - `vocalStart`: Required parameter, specifies the start time (in
        seconds) for Persona analysis segment extraction. Must be less than
        `vocalEnd`, and `vocalEnd - vocalStart` must be between 10–30 seconds.

        - `vocalEnd`: Required parameter, specifies the end time (in seconds)
        for Persona analysis segment extraction. Together with `vocalStart`,
        defines the time range for analysis. `vocalEnd - vocalStart` must be
        between 10–30 seconds.

        - `style`: Optional parameter, used to supplement the description of the
        music style tag corresponding to the Persona, such as "Electronic Pop",
        "Jazz Trio", etc.


        ### Developer Notes

        - **Important**: Ensure the music generation task is fully completed
        before calling this endpoint. If the music is still generating, this
        endpoint will return a failure

        - **Model Requirement**: Persona generation only supports taskId from
        music generated with models above v3_5 (v3_5 itself is not supported)

        - Recommend providing detailed descriptions for Personas to better
        capture musical characteristics

        - The returned `personaId` can be used in subsequent music generation
        requests to create music with similar style characteristics

        - You can apply the `personaId` to the following endpoints: Generate
        Music, Extend Music, Upload And Cover Audio, Upload And Extend Audio,
        Generate Mashup Music

        - Each audio ID can only generate one Persona
      operationId: generate-persona
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - taskId
                - audioId
                - name
                - description
              properties:
                taskId:
                  type: string
                  description: >-
                    Unique identifier of the original music generation task.
                    This can be a taskId returned from any of the following
                    endpoints:

                    - Generate Music (/api/v1/generate)

                    - Extend Music (/api/v1/generate/extend)

                    - Upload And Cover Audio (/api/v1/generate/upload-cover)

                    - Upload And Extend Audio (/api/v1/generate/upload-extend)

                    - Generate Mashup Music (/api/v1/generate/mashup)
                  example: 5c79****be8e
                audioId:
                  type: string
                  description: >-
                    Unique identifier of the audio track to create Persona for.
                    This ID is returned in the callback data after music
                    generation completes.
                  example: e231****-****-****-****-****8cadc7dc
                name:
                  type: string
                  description: >-
                    Name for the Persona. A descriptive name that captures the
                    essence of the musical style or character.
                  example: Electronic Pop Singer
                description:
                  type: string
                  description: >-
                    Detailed description of the Persona's musical
                    characteristics, style, and personality. Be specific about
                    genre, mood, instrumentation, and vocal qualities.
                  example: >-
                    A modern electronic music style pop singer, skilled in
                    dynamic rhythms and synthesizer tones
                vocalStart:
                  type: number
                  description: >-
                    Start time (in seconds) for Persona analysis segment
                    extraction. Used to specify the time point in the audio from
                    which to extract the segment for Persona analysis. Must be
                    less than `vocalEnd`, and `vocalEnd - vocalStart` must be
                    between 10–30 seconds. Defaults to 0.0.
                  minimum: 0
                  default: 0
                  multipleOf: 0.01
                  example: 12.5
                vocalEnd:
                  type: number
                  description: >-
                    End time (in seconds) for Persona analysis segment
                    extraction. Together with `vocalStart`, used to specify the
                    time range for analysis. `vocalEnd - vocalStart` must be
                    between 10–30 seconds. Defaults to 30.0.
                  minimum: 0
                  default: 30
                  multipleOf: 0.01
                  example: 25.8
                style:
                  type: string
                  description: >-
                    Optional. Used to supplement the description of the music
                    style tag corresponding to the Persona, such as "Electronic
                    Pop", "Jazz Trio", etc.
                  example: Electronic Pop
      responses:
        '200':
          description: Request successful
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      code:
                        type: integer
                        enum:
                          - 200
                          - 401
                          - 402
                          - 404
                          - 409
                          - 422
                          - 429
                          - 451
                          - 455
                          - 500
                        description: >-
                          Response Status Codes


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

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

                          - **402**: Insufficient Credits - Account does not
                          have enough credits to perform the operation  

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

                          - **409**: Conflict - Persona already exists for this
                          music

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

                          - **429**: Rate Limited - Request limit has been
                          exceeded for this resource  

                          - **451**: Unauthorized - Failed to fetch the music
                          data. 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:
                          personaId:
                            type: string
                            description: >-
                              Unique identifier for the generated Persona. This
                              personaId can be used in subsequent music
                              generation requests (Generate Music, Extend Music,
                              Upload And Cover Audio, Upload And Extend Audio,
                              Generate Mashup Music) to create music with
                              similar style characteristics.
                            example: a1b2****c3d4
                          name:
                            type: string
                            description: Name of the Persona as provided in the request.
                            example: Electronic Pop Singer
                          description:
                            type: string
                            description: >-
                              Description of the Persona's musical
                              characteristics, style, and personality as
                              provided in the request.
                            example: >-
                              A modern electronic music style pop singer,
                              skilled in dynamic rhythms and synthesizer tones
        '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://kie.ai/api-key) to get your
        API Key


        Usage:

        Add to request header:

        Authorization: Bearer YOUR_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

````