Skip to main content
POST
Create Persona from a song
Operations are enabled individually by server configuration. Disabled operations return 503 without a task. Music credit deduction is currently disabled.

Using this operation

A style Persona uses an audio ID directly. A Voice Persona uses prepared material and a selected segment.
    1. Prepare the fields shown in the example below. Replace sample URLs and IDs with resources you can access.
    1. Set model to suno_persona_create and place the parameters inside input. Submit once and save the returned task_id.
    1. Query the saved task or receive its callback. A processing result is not a reason to submit the operation again.
  • Keep result.persona_id together with persona_model. Pass both to a generation operation that supports that Persona type.

Create task

Send model and input to the common task endpoint. callback_url is an optional top-level public HTTPS address. All resource IDs are APIstable IDs owned by your account. Music credit deduction is currently disabled.

Acceptance response

HTTP 200 confirms acceptance, not completion. Query GET /api/v1/tasks/{task_id} until data.status is succeeded or failed. Read data.result only after success; a failed task has its error in data.message.

Fields: persona_model = style_persona

Fields: persona_model = voice_persona

Inputs and limits

The schema lists supported fields, types and basic limits. Also follow Important conditions: cross-field and source-resource checks are not fully represented in JSON Schema. Unknown parameters are rejected. URL fields accept public HTTPS URLs, never file objects.

Important conditions

  • Style Persona requires audio_id; optional source_audio_ids must contain generated songs. Uploaded audio and its derivatives are rejected. A supplied source_audio_ids list replaces the default single source rather than appending to it. Optional cover: JPEG/PNG/WebP/BMP, at most 10 MiB.
  • Voice Persona requires an unexpired prepared_audio_id. Select 10–30 seconds inside the prepared vocal timeline, with start/end at most two decimal places. Use only fields from the selected persona_model branch.
  • Uploaded files last 24 hours, generated files 14 days and task details 30 days. Reused files keep their original expiry. Valid Voice/Persona identity mappings are separate from task-log cleanup. Download files you need to retain.

Result schema

The creation response is {code:200,msg:“success”,data:{task_id}}. Poll GET /api/v1/tasks/{task_id}. On success, data.result is an object matching the schema below; it is otherwise null. input remains a JSON string.
Voice: all four steps File uploads Callbacks

Authorizations

Authorization
string
header
required

Every valid key can submit and query its own account. Revoked keys are rejected.

Body

application/json
model
enum<string>
required
Available options:
suno_persona_create
Example:

"suno_persona_create"

input
object
required
callback_url
string<uri>

Optional public HTTPS endpoint for signed completion callbacks; no redirects or private IPs.

Response

Accepted task. Poll the common task endpoint or use callback_url.

code
any
required
msg
any
required
data
object
required