Documentation Index
Fetch the complete documentation index at: https://apixo.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Suno generates complete music tracks from a text description or structured lyrics. Use this page when you are ready to call the API after trying Suno in the APIXO playground.| Capability | Value |
|---|---|
| Model ID | suno |
| Output | Audio tracks with cover images |
| Delivery | Async polling or webhook callback |
| Supported modes | V4, V4_5, V4_5ALL, V4_5PLUS, V5, V5_5 |
| Non-custom prompt length | 1-500 characters |
| Custom prompt length | V4: 1-3000 characters; V4_5, V4_5ALL, V4_5PLUS, V5, V5_5: 1-5000 characters |
| Custom style length | V4: up to 200 characters; V4_5, V4_5ALL, V4_5PLUS, V5, V5_5: up to 1000 characters |
Endpoint and authentication
Base URL:| Method | Endpoint | Purpose |
|---|---|---|
POST | /generateTask/suno | Submit a music generation task |
GET | /statusTask/suno?taskId={taskId} | Poll task status and retrieve results |
Copy-paste async quickstart
This minimal request submits a simple text-to-music task and returns ataskId.
taskId; you need it to poll for the final result.
Poll for result
resultJson after state becomes success:
Request body
Simple mode
UsecustomMode: false when you want Suno to create the song from a short description.
Custom lyrics mode
UsecustomMode: true when you want to provide lyrics, style, and title.
Instrumental mode
Setinstrumental: true when you want music without vocals.
Parameters
Result delivery mode. Use
async for polling with statusTask, or callback for webhook delivery.Required when
request_type is callback. Must be a public HTTPS URL that can receive task payloads. See Webhooks.Suno input parameters.
Response format
Submit task response
POST /generateTask/suno returns a task ID when the task is accepted:
API status code.
200 means the task was accepted.Human-readable status message.
Unique task identifier used with the status endpoint.
Status response fields
Unique task identifier.
Current task state:
pending, processing, success, or failed.JSON string containing generated track objects. Present when
state is success.Lyrics or prompt text returned by the upstream result. Present only when available.
Machine-readable failure code. Present when
state is failed.Human-readable failure message. Present when
state is failed.Task creation timestamp in Unix milliseconds.
Task completion timestamp in Unix milliseconds. Present after completion.
Processing duration in milliseconds. Present after completion when available.
resultJson structure:
| Field in each item | Type | Description |
|---|---|---|
audio_url | string | Generated MP3 audio file URL |
image_url | string | Generated cover image URL |
Webhook callback mode
Use callback mode when your backend should receive task payloads automatically instead of polling.resultJson when the callback payload has state: "success". See Webhooks for delivery requirements and retry behavior.
Billing
Suno is billed per generation request. The current public APIXO catalog lists Suno at$0.12 / use.
| Model | Route | APIXO price | Unit |
|---|---|---|---|
| Suno V5 | Exclusive | $0.12 | per use |
| Suno V5_5 | Exclusive | $0.12 | per use |
Latency and polling
Actual latency may vary by prompt complexity, selected mode, provider queue, and current load.| Workflow | Typical generation time | Recommended first poll | Poll interval |
|---|---|---|---|
| Suno music generation | 60s-90s | 45s after task creation | 5s-10s |
429, slow down requests and retry with backoff. For account-level details, see System APIs.
Errors and troubleshooting
HTTP errors
| Code | Meaning | What to do |
|---|---|---|
400 | Missing required parameter, invalid parameter type, invalid value, or length exceeded | Fix the request before retrying |
401 | Missing or invalid API key | Check the Authorization header |
402 | Insufficient balance | Add balance before retrying |
422 | Billing calculation failed | Contact support if the model should be available on your account |
429 | Rate limit or concurrency limit reached | Retry with exponential backoff |
500 | Server error or unknown task failure | Retry with backoff |
502 | Upstream provider or network error | Retry with backoff |
504 | Upstream timeout | Retry or use callback mode for long-running jobs |
Task failure fields
When a task reachesstate: "failed", inspect failCode and failMsg in the status response.
| Fail code example | Meaning | What to do |
|---|---|---|
PromptInvalid | Prompt was rejected or malformed | Rewrite the prompt or lyrics |
SensitiveContent / SensitiveContentDetected | Prompt or output was flagged by safety checks | Change the prompt, lyrics, or style |
MissingParameter | The upstream provider reported missing required data | Check mode, prompt, customMode, instrumental, and custom-mode fields |
RateLimited / RateLimitExceeded | Provider-side rate limit | Retry with backoff |
Timeout | Provider timeout | Retry later or use callback mode |
Unknown error | The failure did not match a known provider error rule | Retry with backoff; contact support if it repeats |