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

# Suno API: Persona Generate

> Generate a Suno music persona based on an existing Suno music track.

## API Endpoint

```
POST https://api.crun.ai/api/v1/client/job/suno-persona-generate
```

<Info>
  This endpoint returns the persona ID synchronously after validation.
  Use the returned `persona_id` with Suno music generation, extension, upload extension, and cover endpoints.
</Info>

## Request Example

<CodeGroup>
  ```json persona generate theme={null} theme={null}
  {
      "task_id": "task_12345678",
      "suno_id": "suno_abc123",
      "name": "Neon Siren",
      "description": "A smoky, late-night R&B vocalist with airy highs and a warm, intimate tone.",
      "vocal_start": 12.5,
      "vocal_end": 64.0,
      "style": "Western R&B, moody, intimate"
  }
  ```
</CodeGroup>

## Response Example

```json success theme={null}
{
    "code": 200,
    "message": "success",
    "data": {
        "persona_id": "persona_123456"
    }
}
```

```json error theme={null}
{
    "code": 422,
    "message": "task_id not found",
    "data": null
}
```

## Related Resources

<CardGroup cols={2}>
  <Card title="Generate Music" icon="music" href="/suno-api/generate-music">
    Create songs from text prompts with diverse styles.
  </Card>

  <Card title="Extend Music" icon="forward" href="/suno-api/extend-music">
    Continue and expand existing music seamlessly.
  </Card>

  <Card title="Extend Upload" icon="upload" href="/suno-api/extend-music-upload">
    Upload audio to extend and refine compositions.
  </Card>

  <Card title="Music Cover" icon="retweet" href="/suno-api/cover-music">
    Recreate songs in new styles or voices.
  </Card>
</CardGroup>


## OpenAPI

````yaml suno-api/suno-persona-generate.json post /api/v1/client/job/suno-persona-generate
openapi: 3.0.0
info:
  title: Suno Persona Generate API
  description: Generate a Suno persona based on an existing Suno music task.
  version: 1.0.0
  contact:
    name: Technical Support
    email: support@crun.ai
servers:
  - url: https://api.crun.ai
    description: API Server
security:
  - ApiKeyAuth: []
paths:
  /api/v1/client/job/suno-persona-generate:
    post:
      summary: Generate a Suno persona
      operationId: suno-persona-generate
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - task_id
                - suno_id
                - name
                - description
              properties:
                task_id:
                  type: string
                  description: Task ID of the music generation task.
                  example: task_12345678
                suno_id:
                  type: string
                  description: Suno song ID.
                  example: suno_abc123
                name:
                  type: string
                  maxLength: 100
                  description: Persona name.
                  example: Neon Siren
                description:
                  type: string
                  maxLength: 1000
                  description: Persona description.
                  example: >-
                    A smoky, late-night R&B vocalist with airy highs and a warm,
                    intimate tone.
                vocal_start:
                  type: number
                  minimum: 0
                  description: Vocal start time in seconds.
                  example: 12.5
                vocal_end:
                  type: number
                  minimum: 0
                  description: Vocal end time in seconds.
                  example: 64
                style:
                  type: string
                  maxLength: 1000
                  description: Style.
                  example: Western R&B, moody, intimate
            example:
              task_id: task_12345678
              suno_id: suno_abc123
              name: Neon Siren
              description: >-
                A smoky, late-night R&B vocalist with airy highs and a warm,
                intimate tone.
              vocal_start: 12.5
              vocal_end: 64
              style: Western R&B, moody, intimate
      responses:
        '200':
          description: Request successful
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiResponse'
                  - type: object
                    properties:
                      data:
                        type: object
                        properties:
                          persona_id:
                            type: string
                            description: Generated persona ID
                            example: persona_123456
              example:
                code: 200
                message: success
                data:
                  persona_id: persona_123456
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiResponse'
              example:
                code: 422
                message: task_id not found
                data: null
        '500':
          $ref: '#/components/responses/Error'
components:
  schemas:
    ApiResponse:
      type: object
      properties:
        code:
          type: integer
          enum:
            - 200
            - 401
            - 402
            - 404
            - 422
            - 429
            - 455
            - 500
            - 501
            - 505
          description: >-
            Response status code


            - **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

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

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

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

            - **500**: Server Error - An unexpected error occurred while
            processing the request

            - **501**: Generation Failed - Content generation task failed

            - **505**: Feature Disabled - The requested feature is currently
            disabled
        message:
          type: string
          description: Response message
          example: success
        data:
          nullable: true
      required:
        - code
        - message
  responses:
    Error:
      description: Server Error
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        All APIs require authentication via API Key.


        Get API Key:

        1. Visit [API Key Management Page](https://crun.ai/user-api-key) to get
        your API Key


        Usage:

        Add to request header:


        x-api-key: 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

````