No output yet. Submit the form to generate content.
Transparent pricing with no hidden fees. Pay as you go.
| Rule & Modality | Channel | Credits | Price (USD) | Official / Reference Price | Daily Savings |
|---|---|---|---|---|---|
Suno voice-generate musicSuno | Starter | 1per run | $0.005 | - | - |
Complete guide to using Suno
Use ApiPass to create reusable Suno custom voices from validated user recordings. The workflow starts with suno/voice-validate, asks the user to record the returned validation phrase, and then uses suno/voice-generate to create a voiceId for later Suno music generation workflows.

suno/voice-generate creates a reusable custom voice after a validation phrase workflow has been completed. It is not a direct arbitrary voice upload endpoint: input.taskId must be the validation task ID returned by suno/voice-validate, and verifyUrl must point to the user's recording of the complete validateInfo phrase. ApiPass exposes this capability through POST /api/v1/jobs/createTask and returns an ApiPass task ID that can be queried with GET /api/v1/jobs/recordInfo.
Create a custom voice only after the source voice has completed the suno/voice-validate workflow. The taskId and verifyUrl must belong to the same validation phrase flow, which helps ensure that the generated custom voice is based on the verified recording.
When the task succeeds, the resultJson payload contains a voiceId. Use this final custom voice ID in later Suno requests that support custom voices or Persona fields. Do not confuse voiceId with the validation task ID or the ApiPass task ID.
Create a task with /api/v1/jobs/createTask, then poll /api/v1/jobs/recordInfo with the returned ApiPass data.taskId. ApiPass states include waiting, queuing, generating, success, and fail. Optional callbacks can notify your service when a task reaches a terminal state.
The API is designed for a structured custom voice workflow. First obtain validateInfo from suno/voice-validate, then have the user read or sing the full phrase, upload that recording to a public URL, and submit it with the validation task ID.
Add optional voiceName, description, style, and singerSkillLevel fields to describe the custom voice. singerSkillLevel supports beginner, intermediate, advanced, and professional, and defaults to beginner when omitted or empty.
ApiPass stores task records and exposes a unified query endpoint. Poll /api/v1/jobs/recordInfo until the task reaches success or fail, or provide a root-level callBackUrl to receive completion notifications.
Let users create verified custom voices and reuse the resulting voiceId in later Suno generation workflows that support custom voice or Persona fields.
Build voice libraries for artists, creators, and production teams. Store the final voiceId after successful generation and attach metadata such as voiceName, style, and singerSkillLevel for easier reuse.
Create an onboarding flow that walks users from source audio validation to phrase recording, validation audio upload, custom voice creation, and optional voice availability checks.
The Generate Voice endpoint depends on the validation workflow and has strict task ID and audio URL requirements.
Call suno/voice-validate first, poll until validateInfo is available, and ask the user to record that exact phrase. The input.taskId used for suno/voice-generate is the validation task ID, not the Generate Voice task ID created by this request.
verifyUrl must be one public URL string for the user's validation recording. Do not submit the original voiceUrl, an array, Base64 data, a local path, or a file object. Production usage should use a stable https:// CDN URL that can be downloaded directly.
waiting, queuing, and generating are not final success states. Continue polling until success or fail. The custom voice can be used only after resultJson contains data.voiceId.
suno/voice-generate and suno/voice-validate are separate ApiPass models with separately maintained billing rules. Do not combine the validation phrase task cost with the custom voice creation cost.
Actual charges depend on model_credit_rules, selected channel, and account status. The channel parameter supports auto, starter, regular, and official routing options.
Failed tasks may release or refund pre-deducted credits according to the task settlement flow. Use task records and account balance history as the source of truth for final billing.
Run suno/voice-validate with the required source voice workflow and poll until validateInfo is returned. Ask the user to record the complete validation phrase without changing or omitting content.
Send POST /api/v1/jobs/createTask with model set to suno/voice-generate. Include input.taskId from the validation workflow and input.verifyUrl pointing to the public validation recording URL. Optionally provide voiceName, description, style, singerSkillLevel, channel, and a root-level callBackUrl.
Query GET /api/v1/jobs/recordInfo with the ApiPass task ID returned by the create task response. When state is success, parse resultJson and read data.voiceId. Optionally call suno/voice-check to confirm the voice is available for later Suno generation workflows.
The API page shows the parameter schema, but Suno also has several business-specific mode combinations and callback rules that are easy to miss.
All APIs require authentication via Bearer Token.
Authorization: Bearer
Create a reusable Suno custom voice from a validation recording after the suno/voice-validate workflow has produced a validation phrase.
The API accepts a JSON payload with the following structure:
1{
2 "model": "suno/voice-generate",
3 "callBackUrl": "string (optional)",
4 "channel": "auto",
5 "input": {
6 "taskId": "string",
7 "verifyUrl": "string",
8 "voiceName": "string (optional)",
9 "description": "string (optional)",
10 "style": "string (optional)",
11 "singerSkillLevel": "beginner"
12 }
13}modelRequiredstringFixed public model name for creating a Suno custom voice.
"suno/voice-generate"
callBackUrlOptionalstringCallback URL for task completion notifications. If omitted, no client callback will be sent.
"https://your-domain.com/api/callback"
channelOptionalstringOptional APIPASS provider routing channel. The default channel is auto; APIPASS automatically allocates tasks across available providers based on real-time pricing and stability metrics. starter is ultra-low-cost with limited quotas and weaker stability; regular is standard and much cheaper than official APIs with moderate stability; official uses the model native API with high stability, fast task execution, and official pricing.
The default value for the channel parameter is auto. When enabled, APIPASS automatically allocates tasks across available providers based on real-time pricing and stability metrics to balance minimal cost and reliable performance. starter is ultra-low-cost with limited quotas and weaker stability; regular is standard and much cheaper than official APIs with moderate stability; official uses the model native API with high stability, fast task execution, and official pricing.
Available options:
auto
The input object contains the following parameters:
input.taskIdRequiredstringThe validation task ID returned by suno/voice-validate. The validation task must have already returned validateInfo.
Use the ApiPass task ID (task_xxx) returned by createTask for the completed suno/voice-validate task; ApiPass maps it to the provider task ID automatically. Do not use the Generate Voice task ID, original audio ID, or final voiceId here.
"task_yyyyyyyyyyyyyyyy"
input.verifyUrlRequiredstringPublic URL of the validation recording made by the user according to validateInfo. It must be a non-empty string and must not be an array, local path, Base64 payload, or file object.
The URL must point to the user's recording of the complete validateInfo phrase. Use a stable public http:// or https:// URL that KIE can download directly; production usage should prefer a stable https:// CDN URL.
"https://cdn.example.com/audio/verify-voice-001.mp3"
input.voiceNameOptionalstringCustom voice name. If omitted, the upstream default is used.
"ApiPass Test Voice"
input.descriptionOptionalstringDescription of the voice characteristics or intended use. If omitted, the upstream default is used.
"A clear female singing voice for pop music"
input.styleOptionalstringVoice style description, such as Pop, Female Vocal. If omitted, the upstream default is used.
"Pop, Female Vocal"
input.singerSkillLevelOptionalstringSinger skill level used for the custom voice creation request. Default: beginner.
When omitted or passed as an empty value, the KIE adapter sends beginner.
Available options:
"intermediate"
1curl --request POST \
2 --url "https://api.apipass.dev/api/v1/jobs/createTask" \
3 --header "Authorization: Bearer ${APIPASS_API_KEY}" \
4 --header "Content-Type: application/json" \
5 --data '{
6 "model": "suno/voice-generate",
7 "callBackUrl": "https://your-domain.com/api/callback",
8 "channel": "auto",
9 "input": {
10 "taskId": "task_yyyyyyyyyyyyyyyy",
11 "verifyUrl": "https://cdn.example.com/audio/verify-voice-001.mp3",
12 "voiceName": "ApiPass Test Voice",
13 "description": "A clear female singing voice for pop music",
14 "style": "Pop, Female Vocal",
15 "singerSkillLevel": "intermediate"
16 }
17 }'1{
2 "code": 200,
3 "message": "success",
4 "data": {
5 "taskId": "task_xxxxxxxxxxxxxxxx"
6 }
7}codeStatus code. 200 indicates success; other values indicate failure.
messageResponse message. Contains an error description when the request fails.
data.taskIdApiPass task ID for querying the Generate Voice task status and result. Do not confuse this ID with the input.taskId validation task ID.

MiniMax
MiniMax
MiniMax Music 1.5 AI music generation model, supports lyrics and style prompt to generate music
Starting from
0 credits
Starting from
0 credits