Operations are enabled individually by server configuration. Disabled operations return 503 without a task. Music credit deduction is currently disabled.
Current availability
This guide describes the Suno task contract. Availability depends on the deployment: check GET /api/v1/models?modality=music and the model detail live_available flag before submitting. Documentation updates do not enable an operation. A disabled operation returns HTTP 503 without creating a task or charging credits.1. Create an API key
- Create a key in Console → API Keys and keep it on your server.
2. Submit a music task
Set the top-level model to suno_generate. input.model selects the Suno version. This custom-mode example supplies its own lyrics and style. One submission creates one execution item and normally returns two songs; do not add output_count or submit twice to obtain the pair.3. Save the task ID
An accepted request returns HTTP 200 with data.task_id. Acceptance is not completion. Save this APIstable ID and query the existing task. If submission times out and acceptance is unknown, do not automatically submit again.4. Query until completion
Replace YOUR_TASK_ID with the accepted task ID. While data.status is processing, keep querying with a delay between requests. Stop when it is succeeded or failed; on failure, inspect data.message. result is null before success.5. Read and save the songs
- Parse the HTTP response once. response.data.result is already an object; do not JSON.parse it again. Only the task input field remains a JSON string.
- For song-producing operations, read response.data.result.data.data. Each entry has id, audio_url, title, lyrics and other song metadata. Optional artwork and stream URLs may be null.
- Use a song id as audio_id for cover, extend and other song operations. These are APIstable IDs; the server resolves provider IDs. Cover and extend accept an existing audio_id, not an external URL or a source task_id.
- Generated files are retained for 14 days, temporary uploads for 24 hours and logs for 30 days. Download outputs before expiry. Music credit deduction is currently disabled and charged_credits is 0.