Skip to main content
POST
/
api
/
v1
/
generate
/
generate-persona
Generate Persona
curl --request POST \
  --url https://apibox.erweima.ai/api/v1/generate/generate-persona \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "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",
  "vocalStart": 0,
  "vocalEnd": 30,
  "style": "Electronic Pop"
}
'
{
  "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, 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
  • Can specify the time range (vocalStart and vocalEnd) for analysis segment to extract musical characteristics. If not specified, default values (0.0-30.0 seconds) will be used

Parameter Details

  • taskId: Required parameter, can be obtained from the following endpoints:
  • 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
  • vocalStart: Optional parameter, specifies the start time (seconds) of the analysis segment. Default: 0.0
  • vocalEnd: Optional parameter, specifies the end time (seconds) of the analysis segment. Default: 30.0. Must be greater than vocalStart
  • style: Optional parameter, music style label

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 V4 and above models
  • It is recommended to provide detailed descriptions for Personas to better capture musical characteristics
  • vocalStart and vocalEnd are used to specify the time range of the analysis segment. If not provided, default values (0.0-30.0 seconds) will be used. It is recommended to select a segment that best represents the 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 audio can only generate a Persona once

Parameter Example

{
  "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",
  "vocalStart": 0.0,
  "vocalEnd": 30.0,
  "style": "Electronic Pop"
}
Ensure that the music generation task corresponding to the taskId is complete and the audioId is valid.
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)
  • Generate Mashup (/api/v1/generate/mashup)
Example:

"5c79****be8e"

audioId
string
required

Audio ID of the music track to create Persona for. This ID can be obtained from the music generation response.

Example:

"e231****-****-****-****-****8cadc7dc"

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"

vocalStart
number
default:0

Specifies the start time (seconds) of the analysis segment. Used to extract musical characteristics. Optional. Default: 0.0.

Required range: x >= 0
Example:

0

vocalEnd
number
default:30

Specifies the end time (seconds) of the analysis segment. Used to extract musical characteristics. Optional. Default: 30.0. Must be greater than vocalStart.

Required range: x >= 0
Example:

30

style
string

Music style label. Optional. Used to identify the Persona's music style type.

Example:

"Electronic Pop"

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