Skip to main content
POST
/
api
/
v1
/
generate
/
generate-persona
Generate Persona
curl --request POST \
  --url https://api.api.box/api/v1/generate/generate-persona \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "taskId": "5c79****be8e",
  "musicIndex": 0,
  "name": "Electronic Pop Singer",
  "description": "A modern electronic music style pop singer, skilled in dynamic rhythms and synthesizer tones"
}'
{
  "code": 200,
  "msg": "success",
  "data": {
    "personaId": "a1b2****c3d4",
    "name": "Electronic Pop Singer",
    "description": "A modern electronic music style pop singer, skilled in dynamic rhythms and synthesizer tones"
  }
}

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) and music index
  • 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:
  • musicIndex: Required parameter, specifies the music index to create Persona for (starting from 0)
  • 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:
  • Each music index can only generate a Persona once

Parameter Example

{
  "taskId": "5c79****be8e",
  "musicIndex": 0,
  "name": "Electronic Pop Singer",
  "description": "A modern electronic music style pop singer, skilled in dynamic rhythms and synthesizer tones"
}
Ensure that the music generation task corresponding to the taskId is complete and the musicIndex is within the valid range.
Providing detailed and specific descriptions for Personas helps the system more accurately capture musical style characteristics.

Authorizations

Authorization
string
header
required

🔑 API Authentication

All endpoints require authentication using Bearer Token.

Get API Key

  1. Visit the API Key Management Page to obtain your API Key

Usage

Add to request headers:

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 from the management page

Body

application/json
taskId
string
required

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)
Example:

"5c79****be8e"

musicIndex
integer
required

Index of the music track to create Persona for. Zero-based index, typically 0 or 1 for the generated variations.

Example:

0

name
string
required

Name for the Persona. A descriptive name that captures the essence of the musical style or character.

Example:

"Electronic Pop Singer"

description
string
required

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"

Response

Request successful

code
enum<integer>

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
Available options:
200,
401,
402,
404,
409,
422,
429,
451,
455,
500
msg
string

Error message when code != 200

Example:

"success"

data
object