Skip to main content
POST
/
suno
/
v2
/
voicePersona
/
complete
complete voice persona
curl --request POST \
  --url https://api.mountsea.ai/suno/v2/voicePersona/complete \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "taskId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "verification_audio_url": "https://example.com/verification.wav",
  "name": "My Voice",
  "description": "<string>",
  "is_public": false,
  "image_s3_id": "<string>"
}
'
{
  "taskId": "15c257ff-43f7-4678-bd41-202ad6b8488b"
}
This is Phase 2 of the Voice Persona creation workflow. You must complete Phase 1: Init first and wait for the task status to reach awaiting. See the full workflow guide.
Uses the same taskId returned by init. After calling complete, continue polling the same taskId until status becomes success.
You must call this endpoint within 30 seconds of the task reaching awaiting status. Exceeding this timeout causes the task to fail with VP_USER_TIMEOUT.
No intermediate data (vox_audio_id, phrase_id, etc.) is needed — the system reads them automatically from the init phase. Just pass taskId, verification_audio_url, name, and optional fields.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
taskId
string<uuid>
required

init 返回的 taskId(同一个任务)

Example:

"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

verification_audio_url
string<uri>
required

用户朗读验证短语后的录音 URL(WAV/MP3)

Example:

"https://example.com/verification.wav"

name
string
required

Persona 名称

Example:

"My Voice"

description
string

Persona 描述

is_public
boolean

是否公开,默认 false

Example:

false

image_s3_id
string

封面图片(base64 或 null 自动生成)

Response

201 - application/json
taskId
string
required

task id. Use this id to query task status.

Example:

"15c257ff-43f7-4678-bd41-202ad6b8488b"