Översikt över Suno API-dokumentationen

Uppdaterad 2026-09-18 · Suno-API-teamet

Det räcker att registrera sig med e-post för att skapa en API-nyckel. En generering kostar 0,6 ¥ och returnerar 2 låtar, med MP3/WAV-nedladdning, covers, Extend, stems-separation och röstkloning. Bas-URL: https://www.suno-api.io.

Den här sidan beskriver tillgängliga modeller, alla genererings- och redigeringsändpunkter, fakturering och rekommenderad läsordning. Vid en första integration: läs uppifrån och ned; ingångarna för 401/403/429 finns också här.

Snabba svar

Hur får jag en API-nyckel? Registrera dig med e-post, öppna konsolen, gå till tokenhantering och skapa en token. Telefonnummer och kort behövs inte.

Vad kostar ett anrop? En generering kostar 0,6 ¥ och returnerar 2 låtar. Statusfrågor, WAV, tidsstämplade texter och promptförslag kostar inget extra.

Vilka modeller stöds? suno-v6 (standard), suno-v6-wild och suno-v6-mini. Standardmodellerna v5.5 och äldre är avvecklade; befintliga verk påverkas inte.

Vad är bas-URL:en? https://www.suno-api.io, med headern Authorization: Bearer YOUR_API_KEY.

Modeller som finns nu

Vid vanlig låtgenerering kan kunden bara ange suno-v6, suno-v6-wild och suno-v6-mini. Om model utelämnas används suno-v6.

Standardmodellerna suno-v2, suno-v3, suno-v3-5, suno-v4, suno-v4-5, suno-v4-5-all, suno-v4-5-plus, suno-v5 och suno-v5-5 är avvecklade. I historiska uppgifter kan namnen fortfarande synas, men det är historik och betyder inte att modellen går att använda för nya anrop. Undantaget är stems-separation — se Stems-API (separera sång och komp).

Autentisering

Alla publika API-nyckeländpunkter använder samma headers:

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Bas-URL:

https://www.suno-api.io

Allmänna parameterregler

Gränser för textfält

Om gränsen överskrids returneras HTTP 400 direkt: inget genereras, inget fördebiteras och ingen uppgift skapas. Räkningen sker i Unicode-tecken (ett ideogram räknas som 1) och blanksteg i början och slutet räknas med.

Fält (inklusive kompatibla skrivsätt per ändpunkt) Gräns
prompt / lyrics / description / theme / gpt_description_prompt 3000 tecken
style_tags / tags / style / original_tags 1000 tecken
negative_tags 1000 tecken
song_title / title 100 tecken

Felmeddelandet (message) anger fältet och den uppmätta längden; de två talen räcker för att korta texten:

{
  "error": {
    "message": "style_tags must not exceed 1000 characters; received 2772",
    "type": "invalid_request_error"
  }
}

Gäller: /api/music/create, /api/music/create/custom, /api/music/extend, /api/music/upload-cover, /api/music/generate-from-source, /api/music/add-instrumental, /api/music/add-vocal, /api/music/add-stem, /api/music/mashup, /api/music/sample, /api/music/inspo, /api/music/crop, /api/music/remove-section, /api/music/fade, /api/music/reverse, /api/music/speed, /api/music/replace-section, /api/music/generate-with-voice.

Ett undantag: description i POST /api/music/sounds är begränsat till 100 tecken, eftersom ljudeffektvägen använder plattformens kortare gräns.

Asynkron generering och ljudadresser

Genereringsändpunkterna arbetar asynkront som standard. När det första svaret har status lika med pending, submitted eller processing är tomma audio_url, video_url och cover_url normalt och betyder inte att uppgiften misslyckats. Spara det riktiga song_id (eller det returnerade client_request_id) och polla rätt ändpunkt; läs och ladda ned en ljudadress först när status är klar.

⚠️ Ljudadresser går ut efter 7 dagar — flytta filerna i tid

audio_url, wav_url, video_url och adresserna från nedladdningsändpunkterna levereras från plattformens objektlagring och går ut efter 7 dagar som standard (filerna återvinns; en gammal adress ger 404 / går inte att ladda ned).

  • Inom de 7 dagarna: flytta filerna till din egen lagring (egen objektlagring, CDN eller serverdisk). Behandla inte våra adresser som långsiktiga länkar.
  • En utgången adress kräver ingen ny generering och kostar inget extra: anropa låtsöknings-API:t (eller medienedladdnings-API:t) igen för att få en ny giltig adress.

Väntetider och tidsgränser

Genereringsändpunkterna är synkrona: beställningen accepteras och skickas till plattformen först när svaret kommer. Dessförinnan måste tjänsten schemalägga ett konto och passera nödvändig säkerhetskontroll, och det finns inget mellansvar — ingen annan ändpunkt ser beställningen. Det enda tillförlitliga beviset på att "något genererades" är därför själva svaret, inte det man observerar medan man väntar.

Uppmätta väntetider (produktion, /api/music/create-familjen, 18–20 september 2026)

Percentil Väntan
p50 cirka 1,2–1,6 s
p75 cirka 2–6 s
p90 cirka 42–49 s
p95 cirka 48–76 s
p99 cirka 109–160 s
längst cirka 230 s

Krav för integration

  1. Sätt klientens tidsgräns till 300 sekunder eller mer. Klienter med 30, 60 eller 120 sekunder kopplar ned under väntan.
  2. Inget svar betyder inte att inget genererades. Vid tidsgräns eller bruten anslutning kan beställningen redan vara accepterad och genereras.
  3. Försök inte igen direkt efter en tidsgräns: en dubbel inskickning skapar en andra beställning och debiterar igen.
  4. Om anslutningen bröts: lista dina låtar med GET /api/music/songs (nyaste först) en stund senare — accepterade beställningar visas normalt. Skicka igen först efter att du bekräftat att beställningen verkligen saknas.
  5. Vid felanmälan: bifoga svarshuvudet X-Oneapi-Request-Id så att just den förfrågan kan hittas.

Vill du inte hålla en lång anslutning? Använd kvittoläge. POST /api/music/create och POST /api/music/create/custom stödjer ett valfritt kvitto: lägg till "accept_mode": "async" i kroppen (eller headern X-Accept-Mode: async) och ändpunkten svarar direkt 202 med ett kvittonummer medan genereringen fortsätter i bakgrunden; följ förloppet med GET /api/music/requests/{request_id}. En klient med bara några tiotals sekunders tidsgräns kan då inte missta "inget svar" för "inget genererat", och inte heller debiteras två gånger via omförsök. Se "Kvittoläge" i API för generering i enkelt läge.

Som referens: python requests använder timeout=300, urllib använder urlopen(..., timeout=300), Node använder req.setTimeout(300000), curl använder --max-time 300.

Rekommenderade ändpunkter

Funktion Metod Sökväg Fakturering Dokumentation
Kontosaldo GET /api/user/balance Gratis Visa
Generering i enkelt läge POST /api/music/create Betald, för närvarande 0,6 ¥ per anrop Visa
Generering i anpassat läge POST /api/music/create/custom Betald; stödjer sångkön, stilpåverkan och slumpgrad Visa
Talgenerering (Speech) POST /api/music/speech Betald, för närvarande 0,6 ¥ per anrop; bakgrundsmusik valfritt Visa
Förlopp för kvittot GET /api/music/requests/{request_id} Gratis; används med accept_mode=async Visa
Ljudeffekter POST /api/music/sounds Betald, för närvarande 0,6 ¥ per anrop Visa
Textgenerering POST /api/lyrics/generate Gratis inom kvoten (10/min, 300/dag), därefter 0,1 ¥ per anrop Visa
Skapa röstprofil (rekommenderas) POST /api/music/voice-profile/create Gratis (enhanced=true debiteras som förstärkt klon) Visa
Cover med din egen röst (rekommenderas) POST /api/music/voice-profile/cover 1,2 ¥ per anrop; 2,4 ¥ med Max Mode Visa
Lista / detaljer / ta bort röster (rekommenderas) GET/POST /api/music/voice-profile/list, /{voice_id}, /delete Gratis Visa
Röstkloning (äldre kedja, rekommenderas inte) POST /api/voice/clone/validate Gratis Visa
Fråga en röstkloningsuppgift GET /api/voice/clone/tasks/:voice_task_id Gratis Visa
Återskapa verifieringstexten POST /api/voice/clone/tasks/:voice_task_id/regenerate Gratis Visa
Skicka verifieringsljudet och skapa rösten POST /api/voice/clone/tasks/:voice_task_id/generate Enligt röstkloningsreglerna Visa
Kontrollera att den klonade rösten fungerar POST /api/voice/clone/tasks/:voice_task_id/check Gratis Visa
Ta bort en klonad röst DELETE /api/voice/clone/voices/:voice_task_id Gratis Visa
Generera med en vald röst POST /api/music/generate-with-voice Betald, 1,2 ¥ per anrop; 2,4 ¥ med Max Mode Visa
Fråga resultat för en vald röst GET /api/music/generate-with-voice/results Gratis Visa
Stilförstärkning POST /api/music/boost-style Gratis inom kvoten (10/min, 300/dag), därefter 0,1 ¥ per anrop Visa
Promptförslag POST /api/prompts/suggestions Gratis inom kvoten (10/min, 300/dag), därefter 0,1 ¥ per anrop Visa
Ladda upp källjud POST /api/music/upload-source Gratis Visa
Skicka förstärkt uppladdning POST /api/music/enhanced-upload Betald, 10 ¥ per anrop Visa
Lista förstärkta uppladdningar GET /api/music/enhanced-upload Gratis Visa
Fråga en förstärkt uppladdning GET /api/music/enhanced-upload/:id Gratis Visa
Avbryt en förstärkt uppladdning POST /api/music/enhanced-upload/:id/cancel Gratis; endast avbrytbara faser återbetalas Visa
Ladda upp och gör cover POST /api/music/upload-cover Betald, för närvarande 0,6 ¥ per anrop; för stort ljud, använd upload-source + generate-from-source i två steg Visa
Cover från ett källklipp POST /api/music/generate-from-source Betald, för närvarande 0,6 ¥ per anrop Visa
Extend POST /api/music/extend Betald, för närvarande 0,6 ¥ per anrop Visa
Byt ut avsnitt POST /api/music/replace-section Betald, för närvarande 0,6 ¥ per anrop Visa
Get Full Song POST /api/music/concat Betald, fast 0,05 ¥ per anrop Visa
Remaster POST /api/music/remaster Betald, för närvarande 0,6 ¥ per anrop Visa
Lägg till instrumental POST /api/music/add-instrumental Betald, enligt begärd modell Visa
Lägg till sång POST /api/music/add-vocal Betald, enligt begärd modell Visa
Lägg till spår POST /api/music/add-stem Betald, enligt begärd modell Visa
Mashup POST /api/music/mashup Betald, enligt begärd modell Visa
Sample POST /api/music/sample Betald, enligt begärd modell Visa
Inspo POST /api/music/inspo Betald, enligt begärd modell Visa
Beskärning POST /api/music/crop Betald, enligt begärd modell Visa
Ta bort avsnitt POST /api/music/remove-section Betald, enligt begärd modell Visa
Tona in/ut POST /api/music/fade Betald, enligt begärd modell Visa
Baklänges POST /api/music/reverse Betald, enligt begärd modell Visa
Hastighet POST /api/music/speed Betald, enligt begärd modell Visa
Stems (separera sång och komp) POST /api/music/separate Betald; two 0,6 ¥ per anrop, twelve 3,0 ¥ Visa
Ta bort sång POST /api/music/vocal-removal Gratis Visa
Ta bort stems POST /api/music/stem-delete Gratis Visa
Skapa/hämta WAV POST /api/music/wav Gratis Visa
Hämta MIDI POST /api/music/download-file (kind=midi) Gratis Visa
Mediaadress / förhandsströmm POST /api/music/download-url, /api/music/generation-stream-url Gratis Visa
Ladda ned låtfilen POST /api/music/download-file Gratis Visa
Ladda ned låtpaketet POST /api/music/download-all Gratis Visa
Stabil nedladdningsadress GET /api/music/download Gratis Visa
Free2-nedladdning POST /api/music/free2 Betald, 0,2 ¥ per lyckad låt Visa
Status för en viss låt POST /api/music/query Gratis Visa
Kontots låthistorik GET /api/music/songs Gratis Visa
Genereringsparametrar för en låt GET /api/music/songs/:song_id Gratis Visa
Tidsstämplade texter POST /api/lyrics/timeline Gratis Visa
Licensberättigande och identitet GET /api/music/authorization/context Gratis Visa
Knyt licensidentitet POST /api/music/authorization/identity Gratis; kan inte ändras efter bekräftelse Visa
Lista licensierbara låtar GET /api/music/authorization/songs Gratis; kräver knyten identitet Visa
Utfärda kommersiell licens POST /api/music/authorization/certificates Gratis; kräver behörighet Visa
Licenshistorik GET /api/music/authorization/certificates Gratis Visa
Licensdetaljer GET /api/music/authorization/certificates/:id Gratis Visa
Ladda ned licensens PDF GET /api/music/authorization/certificates/:id/download Gratis Visa

Ändpunkterna /api/voice/clone/* och /api/music/generate-with-voice tillhör den tidiga röstkloningskedjan och rekommenderas inte för nya integrationer; använd i stället 【Rekommenderas】 röstprofil-API:t.

Avancerade parametrar: Max Mode och Variety

Genereringsändpunkterna stödjer dessa två valfria parametrar (utelämnas de behålls beteende och pris):

Parameter Typ Intervall Kommentar
max_mode boolean true / false Mer beräkningskraft för jämnare helhet i låten; denna förfrågan debiteras till dubbelt pris
variety integer 0-4 Grad av stilvariation: 0=Off, 1=Normal, 2=High, 3=Extra, 4=Max. Utelämnad används modellens standardnivå (v6-familjen: 1); ingen extra kostnad

Stöds av: POST /api/music/create, POST /api/music/create/custom, POST /api/music/extend, POST /api/music/upload-cover, POST /api/music/generate-from-source, POST /api/music/add-instrumental, POST /api/music/add-vocal, POST /api/music/add-stem, POST /api/music/mashup, POST /api/music/sample, POST /api/music/inspo, POST /api/music/replace-section, POST /api/music/voice-profile/cover, POST /api/music/speech.

Gemensamma svarsfält för låtar

Genererings-, cover-, extend-, separerings- och frågeändpunkter returnerar oftast en array av låtar med dessa fält:

Fält Typ Kommentar
song_id string Låt- eller uppgifts-ID
song_title string Låttitel
status string Status som pending, completed, failed
audio_url string Ljudadress, returneras när genereringen är klar
video_url string Videoadress, kan vara tom
cover_url string Adress till omslagsbilden
lyrics string Låttext
style_tags string Stiltaggar
duration number Ljudlängd i sekunder
created_at string Skapad
model_version string Modellversion
generation_type string Genereringstyp
error_message string Orsak till fel

Fyra steg för integration (minimalt exempel)

Med dessa fyra steg får du din första låt; alla fält per steg finns på respektive sida i listan över rekommenderade ändpunkter.

# 1) Skicka en generering: 0,6 ¥, returnerar 2 låtar
curl -X POST https://www.suno-api.io/api/music/create \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"description": "bright Swedish pop, piano intro, warm female vocal", "model": "suno-v6"}'

# 2) Polla tills status är completed (3–5 sekunder är ett bra intervall)
curl -X POST https://www.suno-api.io/api/music/query \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"song_id": "song_id från steg 1"}'

# 3) Hämta en mediaadress: läsändpunkter är gratis; song / wav / video / cover / midi
curl -X POST https://www.suno-api.io/api/music/download-url \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"song_id": "samma song_id", "kind": "song"}'

Om något går fel: 401 / 402 / 403 / 429 i fellistan; tidsgränser och dubbeldebiteringar i avsnittet ovan; varje ändpunkts detaljer i listan nedan.

Rekommendationer

Om dokumentationen

Sidan har strukturerats om efter de funktioner Create UI faktiskt erbjuder; nya integrationer bör börja här. Den äldre API-dokumentationen finns kvar under "Äldre API-dokumentation (kompatibel)" för den som vill behålla sitt tidigare arbetssätt.

NästaAPI för att fråga efter kontosaldot

Skaffa en API-nyckel

Skapa en API-nyckel i konsolen efter registreringen. Varje generering kostar 0,6 ¥ och returnerar 2 spår, nedladdningar är obegränsade och inget telefonnummer krävs.

Hämta API-nyckel Tillbaka till översikten