Skip to content

Suno overview

Overview

Suno endpoints provide music generation, managed audio-to-song workflows, lyrics, stems, and reusable Voice workflows. Authenticate with x-api-key. Song and derive writes create both an execution Task and a customer-facing Suno Generation. Use the Generation to follow songs and candidate clips; use the Task for execution, billing, webhooks, cancellation, and diagnostics.

A successful song remains successful if its later Remix-permission update fails. That update does not fail or refund the completed creation Task.

Start with one song · Storage and downloads

New integrations can select one of the three current models below. When the model is omitted, execution uses chirp-hawk through the existing default alias.

model valueSuno generation familyCredits per generationPublic Voice mode
chirp-hawkv6 Pro; default28Yes, with the required account permission
chirp-hawk-wildv6-wild Pro28Yes, with the required account permission
chirp-goosev6-mini25Yes, with the required account permission

The mini model’s free-account availability does not make OmnAPI requests free. Existing customer discounts continue to apply. Previous generation names remain accepted: chirp-auk-turbo runs on chirp-goose (25 credits), while chirp-v4, chirp-auk, chirp-bluejay, chirp-crow, and chirp-fenix run on chirp-hawk (28 credits). Underscore spellings are also accepted. Your requested model name retains its customer-specific pricing rules and task identity; the generated clip reports the actual V6 model. Existing feature restrictions still apply. When model is omitted, the existing chirp-fenix pricing identity is retained and execution uses chirp-hawk. New clients can explicitly select the V6 names.

Use the bare value above in /api/v1/suno/songs and /api/v1/suno/clips/{clipId}/derive. The generic Task API uses a full path such as suno/chirp-hawk/text-to-music-simple; do not send that full path in the direct Suno model field. chirp-v3-5 is retired, and remaster-only models are not selectable through these public operations.


The modern Suno surface is a production, task-backed API for:

  • new songs from prompts, custom lyrics, a reusable public Voice, or caller-owned audio;
  • existing-clip Extend and Cover, with Concat included automatically in Extend;
  • lyrics, native or managed WAV, full or named stems, aligned lyrics, audio analysis, and style recommendations;
  • Voice creation from an owned completed clip or verified recordings, and public Voice reuse.

OmnAPI owns request validation, idempotent task creation, provider polling, required post-processing, retained output delivery, webhooks, and credit settlement. Model output quality and wall-clock time still depend on Suno and the validity of caller-supplied media.

Technical failures that end a paid Task as FAILED or CANCELLED follow the shared refund rules. Subjective music quality is not an automatic refund condition. Callers are responsible for having the rights to prompts, lyrics, recordings, and uploaded audio.

Unlike MV, Suno operations use catalog operation prices and do not expose quote, preflight, or maxCredits. Read GET /api/v1/pricing/catalog before presenting a purchase and treat the create receipt’s creditsRequired as authoritative.

The public API supports these workflows and boundaries:

CapabilityPublic statusReason
CoverPublic through action: "cover"Stable source-bound contract and billing
Extend + ConcatPublic as one action: "extend" taskThe complete song is one product; a separate Concat would permit duplicate work and charging
Remaster / Infill / Editor actionsUnsupportedUse the documented Cover or Extend workflows when they fit the intended change
Video / Opus exportsUnsupportedAudio export accepts M4A, MP3, WAV, or stems; create music videos through the MV API
Standalone uploadNot publicUpload is exposed only inside atomic Upload + Extend/Cover workflows

Every endpoint below requires x-api-key. Send Content-Type: application/json on JSON requests. Idempotency-Key is optional on POST requests and strongly recommended when a client may retry a write.

MethodPathFunctionDescription
GET/api/v1/suno/availabilityAvailabilityRead advisory delivery health and advanced-operation availability
POST/api/v1/suno/songsSong creationCreate from a prompt, custom lyrics, public Voice, or managed upload workflow
POST/api/v1/suno/lyricsLyricsGenerate one or two lyrics candidates without creating a song
GET/api/v1/suno/generationsGeneration trackingList the caller’s song-product history with cursor pagination
GET/api/v1/suno/generations/{generationId}Generation trackingRead candidate states, early playable URLs, finalization, and billing
GET/api/v1/suno/clipsClip readsBatch-read external clip IDs with ordered partial-result reporting
GET/api/v1/suno/clips/{clipId}Clip readsRead one external clip directly without creating a Task
POST/api/v1/suno/clips/{clipId}/deriveClip derivationExtend with automatic Concat or Cover an existing clip
POST/api/v1/suno/clips/{clipId}/exportAudio exportExport retained M4A/MP3, managed WAV, or stems
GET/api/v1/suno/clips/{clipId}/timelineMusic metadataRead aligned lyric words, lines, and waveform timing
GET/api/v1/suno/clips/{clipId}/audio-analysisMusic metadataRead typed beat, key, downbeat, and waveform analysis
GET/api/v1/suno/styles/recommendMusic metadataGet style recommendations with an optional exclusion list
GET/api/v1/suno/voices/verification-phraseVoice workflowObtain a phrase task for recording verification
POST/api/v1/suno/voicesVoice workflowCreate a reusable public Voice from verified recordings
POST/api/v1/suno/voices/from-clipVoice workflowCreate a reusable public Voice from a completed clip owned by the caller
GET/api/v1/suno/voicesVoice workflowList completed public Voices created by the caller
GET/api/v1/suno/voices/{voiceId}Voice workflowInspect a known public Voice that can be reused for generation

The shared Task API completes the asynchronous workflow:

MethodPathDescription
GET/api/v1/tasks/{taskId}Read execution, billing, terminal error, and retained resources
POST/api/v1/tasks/{taskId}/cancelRequest safe cancellation; refund eligibility depends on provider submission state
MethodEndpointPurpose
GET/api/v1/suno/assetsList retained assets independently of Task history
GET/api/v1/suno/assets/{id}/downloadRefresh a private download URL
GET/api/v1/suno/storageCheck availability, rate and subscription
PUT/api/v1/suno/storageExplicitly enable or cancel paid ordinary-audio storage
GET/api/v1/suno/storage/chargesReconcile storage charges

Read storage and download expiry before relying on a retention policy. Long-term enrollment depends on the live available value.

Suno uses a small set of consistent response shapes:

Endpoint familySuccess responseHow to continue
Song and derive writesGeneration receipt with taskId, generationId, clipIds, pollUrl, and viewUrlPoll viewUrl for candidates; poll pollUrl for execution and billing
Lyrics, export, and Voice creationTask create receipt with taskId, links, pricing, and productPoll links.task; consume retained resources after completion
Generation readsSunoGeneration or { items, nextCursor, hasMore }Continue with the opaque cursor; never derive cursor values
Clip detail and batch readsDirect SunoClip or { items, missingClipIds, errors }No Task is created and no credits are charged
Timeline, analysis, styles, verification phrase, and Voice detailRead-style Task response200 is ready; 202 means poll the returned pollUrl
AvailabilityAdvisory health objectRespect retryAfterSec; the actual task receipt remains authoritative

Write responses are business objects directly. Errors use the shared envelope:

{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Human-readable message",
"details": {}
}
}

Use the Interactive API Reference for the generated schema of every request and response.


IDMeaningUse it with
taskIdOmnAPI execution and billing ID/api/v1/tasks/{taskId}, cancellation, webhooks
generationIdSuno product ID; currently equal to taskId/api/v1/suno/generations/{generationId}
clipIdExternal Suno clip ID; the legacy midClip reads, Extend, Cover, WAV, Stems, MV

Internal database row IDs are never part of the modern Suno contract.

POST /songs and POST /clips/{clipId}/derive normally wait up to 15 seconds for Suno’s acknowledgement. The usual response arrives in about 2–4 seconds and already contains clipIds, so clients can buffer a candidate as soon as its audioUrl becomes available. Send Prefer: respond-async to skip this acknowledgement wait. If the wait expires, the request still returns the same Generation receipt rather than a gateway timeout; keep polling its viewUrl.

There is no Suno /stream endpoint. Poll the Generation, use its webhook-backed Task, or poll the Task when execution diagnostics are needed.

Direct clip detail and batch clip reads are free 200 responses and do not create Tasks. Timeline, analysis, style, and Voice detail reads may require a short provider lookup; they return 200 when ready or 202 with taskId and pollUrl when that lookup continues.

The service pricing catalog is the source of truth. Fetch GET /api/v1/pricing/catalog and cache it according to its Cache-Control header; the create receipt’s creditsRequired is authoritative for that task. Suno uses operation prices and does not accept maxCredits. The create receipt is authoritative if pricing changes after a catalog response was cached.

OperationCredits
Song generation with chirp-goose, including Upload + Extend/Cover25
Song generation with chirp-hawk-wild or chirp-hawk28
Song generation with a public Voice25 with chirp-goose; 28 with either Pro model
Existing-clip Extend (automatic Concat included)25 with chirp-goose; 28 with either Pro model
Existing-clip Cover25 with chirp-goose; 28 with either Pro model
WAV managed delivery3
Lyrics generation, including paired candidates0
Clip detail, batch clip query, audio analysis, style recommendation, Voice reads0
Aligned lyrics timeline1; 0 for the legacy Suno 55,000 plan
Owned completed clip → reusable public Voice5
Verified recordings → reusable public Voice66
Stems twelve / full140
Named stem extract (one of 98 native Suno names)56

suno/chirp-v3-5 is retired and cannot be selected for new requests. All three v6 models support Voice generation with the required account permission.

These are standard catalog prices. Customer pricing applies to every paid Suno operation—not only song generation—and the returned creditsRequired already contains the caller’s rate. For variable delivery such as WAV, authorization, actual settlement, and refunds all reuse the same frozen customer-pricing rule.

When you send an Idempotency-Key, reuse it only when retrying the same logical request after a transport timeout; use a new key for a new attempt. Omitting the header creates a new task on every accepted write.


Read Suno Audio Exports and Lyrics for inputs, examples, and recovery.

Newly delivered M4A, MP3, and WAV files omit the made with suno comment while preserving customer titles, artists, artwork, and the audio encoding during comment removal. Historical cached downloads may retain that comment until separately updated; refreshing their URLs does not rewrite the files.

Task recovery · Webhooks · Credits