> ## Documentation Index
> Fetch the complete documentation index at: https://docs.acedata.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Instruktioner för API-integrering av Suno-låtgenerering

> Suno Music Generation API guide - Ace Data Cloud

I takt med att AI används allt bredare har olika AI-program gradvis blivit vanliga. AI har gradvis trängt in i alla delar av människors arbete och liv. Branscherna som AI berör blir också allt fler, från det ursprungliga skrivandet, till medicin och utbildning, och vidare till dagens musik.

Suno är en professionell AI-plattform för låt- och musikskapande av hög kvalitet. Användare behöver bara ange enkla textpromptar för att, baserat på genre, stil och sångtext, generera låtar med sång. Denna AI-musikgenerator utvecklas av teammedlemmar från välkända teknikföretag som Meta, TikTok och Kensho, med målet att inte behöva några instrumentverktyg och att alla ska kunna skapa vacker musik.

Följande är framstegen för modelluppdateringar:

| Version | model | Lanseringsdatum | lyric-gräns | style-gräns | Låtens maximala längd |
| - | - | - | - | - | - |
| v6 | chirp-v6 | 2026.09.09 | — | — | — |
| v6 Wild | chirp-v6-wild | 2026.09.09 | — | — | — |
| v6 Mini | chirp-v6-mini | 2026.09.09 | — | — | — |
| v5.5 | chirp-v5-5 | 2026.03.27 | 5000 | 1000 | 8 minuter |
| v5 | chirp-v5 | 2025.09.23 | 5000 | 1000 | 8 minuter |
| v4.5+ | chirp-v4-5-plus | 2025.07.17 | 5000 | 1000 | 8 minuter |
| v4.5 | chirp-v4-5 | 2025.05.03 | 5000 | 1000 | 4 minuter |
| v4 | chirp-v4 | 2024.12.17 | 3000 | 200 | 150 sekunder |
| v3.5 | chirp-v3-5 | --- | 3000 | 200 | 120 sekunder |

> Begränsningarna för `lyric` och `style` i tabellen ovan är de övre gränserna i anpassat läge (där `custom` är `true`). I det icke-anpassade inspirationsläget (där `custom` är `false`) fyller man bara i `prompt`, vars längdgräns är 500 tecken (samma för alla modeller).

Suno stöder nu `chirp-v6`, `chirp-v6-wild` och `chirp-v6-mini`. Vi rekommenderar att använda `chirp-v6`; gamla modellnamn förblir kompatibla.

Suno tillhandahåller dock officiellt inget API. AceDataCloud erbjuder en uppsättning API:er för Suno, som simulerar integrering med Suno officiellt och kan snabbt och smidigt generera den musik som önskas.

## Ansökan och användning

För att använda Suno Audios Generation API går du först till [Ace Data Cloud-konsolen](https://platform.acedata.cloud/console/applications) för att hämta din API-token och spara den som reserv.

![](https://cdn.acedata.cloud/dvc3cg.jpg)

Om du ännu inte har loggat in eller registrerat dig kommer du automatiskt att omdirigeras till inloggningssidan, där du uppmanas att registrera dig och logga in. När detta är klart återgår du automatiskt till den aktuella sidan.

**En API-token kan anropa alla plattformens tjänster, och du behöver inte ansöka separat för varje tjänst.** Vid första ansökan får du en kostnadsfri kvot, så att du kan prova gratis; när kvoten inte räcker till kan du fylla på ett gemensamt saldo i [konsolen](https://platform.acedata.cloud/console/coin).

> 📘 Fullständig dokumentation: [Suno Audios Generation API →](https://platform.acedata.cloud/documents/suno-audios)

## Grundläggande användning

Vilken typ av låtar du vill ha kan anges med valfri text. Om jag till exempel vill generera en låt om jul kan jag ange `a song for Christmas`, som visas i bilden:

![](https://cdn.acedata.cloud/2kuuup.png)

Här kan vi se att vi har ställt in Request Headers, inklusive:

* `accept`: vilket format på svarsresultatet som ska tas emot; här anges `application/json`, alltså JSON-format.
* `authorization`: nyckeln för att anropa API:et, som kan väljas direkt i rullgardinsmenyn efter ansökan.

Dessutom har vi ställt in Request Body, inklusive:

* `action`: Typ av ljuduppgift, standardvärdet är `generate`. Stöder åtgärder som generering, fortsättning, coverversioner, sammanfogning, separering av spår, tillägg av ljudspår, extrahering av angivet ljudspår, generering av ljudeffekter och justering av hastighet, som alla anropas via `POST /suno/audios`.
* `prompt`: Sunos officiella prompt för inspirationsläge (gäller när `custom` är `false`), högst 500 tecken.
* `model`: Modellen för denna musikgenereringsuppgift. v6-serien omfattar `chirp-v6`, `chirp-v6-wild` och `chirp-v6-mini`; äldre modellnamn är fortsatt kompatibla.
* `max_mode`: Förbättrat genereringsläge. `generate` aktiveras endast när både `custom` och `max_mode` är `true`, till en kostnad på 1.12 Credits; `add_stem` kan aktiveras direkt, till en kostnad på 1.344 Credits. När det är avstängt eller utelämnat är kostnaden respektive 0.56 och 0.672 Credits.
* `variety`: Intensiteten för variation i genereringsresultaten, med alternativen `off`, `normal`, `high`, `extra`, `max`. Används endast för `generate` och `add_stem`; om det skickas för andra action returneras 400.
* `lyric`: Textinnehållet för Sunos officiella anpassade läge. `chirp-v3-5` och `chirp-v4` har högst 3000 tecken; `chirp-v4-5` och senare (inklusive `chirp-v5`, `chirp-v5-5`) har högst 5000 tecken.
* `custom`: Om anpassat läge ska användas, standardvärdet är: `false`.
* `instrumental`: Alternativet för instrumental musik i Sunos officiella inspirationsläge.
* `title`: Musiktiteln för Sunos officiella anpassade läge. `chirp-v3-5`, `chirp-v4` har högst 80 tecken; `chirp-v4-5` och senare har högst 100 tecken.
* `style`: Musikstil för Sunos officiella anpassade läge. `chirp-v3-5` och `chirp-v4` har högst 200 tecken; `chirp-v4-5` och senare (inklusive `chirp-v5`, `chirp-v5-5`) har högst 1000 tecken.
* `negative_tags`: Musikstilar eller genrer som man vill utesluta från genereringsresultaten i anpassat läge (när `custom` är `true`).
* `audio_weight`: Påverkningsvikten för ljud- eller röstattribut, intervall 0–1, där även `0` är ett giltigt värde. Kan användas för åtgärder som generering, fortsättning, coverversioner, tillägg av ljudspår och röstkonsekvens; när det inte finns något referensljud eller några röstattribut kan modellen försvaga eller ignorera detta värde.
* `audio_id`: ID för referensmusiken.
* `overpainting_start`/`overpainting_end`: Start- och sluttid för att lägga till sång i befintlig instrumental musik, i sekunder.
* `underpainting_start`/`underpainting_end`: Start- och sluttid för att lägga till ackompanjemang till a cappella, i sekunder.
* `persona_id`: Artistens låt-ID.
* `continue_at`: Gränsen för fortsättning, i sekunder. Till exempel innebär 213.5 att efterföljande segment genereras från 3 minuter och 33.5 sekunder. `lyric` och `style` styr endast det nya innehållet efter gränsen och ersätter inte texten eller sången före gränsen i källjudet.
* `style_influence`: Stilpåverkan i anpassat läge, intervall 0–1; ju högre värde, desto närmare följer resultatet vanligtvis den valda stilen; `0` skickas som ett giltigt värde.
* `replace_section_end`: Sluttiden för ersättningssegmentet.
* `replace_section_start`: Starttiden för ersättningssegmentet.
* `vocal_gender`: Styr preferensen för kvinnlig eller manlig röst, kvinnlig röst `f`, manlig röst `m`, giltigt för modeller 4.5 och senare; är en preferens och garanteras inte att följas strikt.
* `weirdness`: Grad av konstighet i anpassat läge, intervall 0–1; ju högre värde, desto mer kreativt och experimentellt är resultatet vanligtvis; `0` skickas som ett giltigt värde.
* `duration`: Önskad låtlängd, i sekunder, måste vara ett heltal med värde mellan 10 och 360. Denna parameter används för låtgenerering i anpassat läge (när `custom` är `true`). Den är en vägledande prompt snarare än en hård begränsning: modellen tar hänsyn till den men garanterar inte att den uppnås. Den faktiska längden på den färdiga produkten avgörs av fältet `duration` i svaret och är vanligtvis kortare än det önskade värdet.

### Tillämpningsområde för avancerade parametrar

| Parameter | Värden | Åtgärder som stöds | Beskrivning |
| - | - | - | - |
| `weirdness` | 0-1 | Valfritt | Justerar experimentell karaktär, `0` är ett giltigt värde; effekten beror på åtgärd, läge och modell |
| `style_influence` | 0-1 | Valfritt | Justerar tendensen att följa stil, `0` är ett giltigt värde; effekten beror på åtgärd, läge och modell |
| `audio_weight` | 0-1 | Valfritt | Justerar påverkan från ljud- eller röstattribut; kan ignoreras av modellen utan referensinformation |
| `variety` | `off` / `normal` / `high` / `extra` / `max` | `generate`、`add_stem` | Justerar stilvariation mellan resultaten |
| `max_mode` | boolean | `generate`（kräver `custom=true`）、`add_stem` | Förbättrar konsekvensen och debiteras enligt förbättrat läge |
| `vocal_gender` | `f` / `m` | Genereringsåtgärder som stöder röststyrning | Preferens, garanteras inte att följas strikt |
| `duration` | Heltal 10-360 | Valfritt | Önskad längd; specifika åtgärder, lägen eller modeller kan ignorera den |

Plattformen validerar parametertyper och värdeintervall, men avvisar inte dessa valfria justeringsalternativ enbart på grund av olika action; den konkreta effekten avgörs av åtgärd, läge och modell.

* `lyric_prompt`: Prompt för att generera låttext, gäller om och endast om `custom` är `true` och `lyric` inte har skickats.
* `callback_url`: URL som ska ta emot återkopplingsresultat.
* `async`: Valfritt, när det anges som `true` returnerar gränssnittet omedelbart `task_id`, utan att `callback_url` behöver anges, och resultatet hämtas sedan genom polling via motsvarande gränssnitt för uppgiftsfrågor.

Den genererade koden är följande:

![](https://cdn.acedata.cloud/1xehwl.png)

Du kan klicka på knappen ”Try” för att testa API:t direkt, vänta 1–2 minuter, resultatet är följande:

```json theme={null}
{
  "success": true,
  "task_id": "e72fb249-bd5b-4e2a-b20c-8a06fea5ac14",
  "trace_id": "7dbc5b6a-b2c0-4d85-9d39-fa8a8a785ccf",
  "data": [
    {
      "id": "b481b17a-bf50-4e10-8adc-4d5635050893",
      "title": "Under the Mistletoe",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-001",
      "lyric": "[Verse]\nSnowflakes falling on the ground\nTwinkling lights all around\nThe scent of pine fills the air\nChristmas magic everywhere\n[Chorus]\nUnder the mistletoe tonight\nHearts aglow in the soft moonlight\nLaughter echoes\nSpirits bright\nIt’s Christmas time\nIt feels so right\n[Verse 2]\nStockings hung by the fire’s glow\nWarmth inside while the cold winds blow\nCookies baking\nSweet delight\nA season of joy shining bright\n[Chorus]\nUnder the mistletoe tonight\nHearts aglow in the soft moonlight\nLaughter echoes\nSpirits bright\nIt’s Christmas time\nIt feels so right\n[Bridge]\nCarols sung by candlelight\nStars above make the world feel tight\nPeace and love\nA season’s creed\nFilling hearts with all we need\n[Chorus]\nUnder the mistletoe tonight\nHearts aglow in the soft moonlight\nLaughter echoes\nSpirits bright\nIt’s Christmas time\nIt feels so right",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-17T15:59:32.468Z",
      "model": "chirp-auk",
      "state": "succeeded",
      "prompt": "A song for Christmas",
      "style": "holiday, cheerful, male vocals",
      "duration": 154.92
    },
    {
      "id": "fbf22dab-5e2b-4e02-84c0-6d7605f14c3d",
      "title": "Under the Mistletoe",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-002",
      "lyric": "[Verse]\nSnowflakes falling on the ground\nTwinkling lights all around\nThe scent of pine fills the air\nChristmas magic everywhere\n[Chorus]\nUnder the mistletoe tonight\nHearts aglow in the soft moonlight\nLaughter echoes\nSpirits bright\nIt’s Christmas time\nIt feels so right\n[Verse 2]\nStockings hung by the fire’s glow\nWarmth inside while the cold winds blow\nCookies baking\nSweet delight\nA season of joy shining bright\n[Chorus]\nUnder the mistletoe tonight\nHearts aglow in the soft moonlight\nLaughter echoes\nSpirits bright\nIt’s Christmas time\nIt feels so right\n[Bridge]\nCarols sung by candlelight\nStars above make the world feel tight\nPeace and love\nA season’s creed\nFilling hearts with all we need\n[Chorus]\nUnder the mistletoe tonight\nHearts aglow in the soft moonlight\nLaughter echoes\nSpirits bright\nIt’s Christmas time\nIt feels so right",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-17T15:59:32.468Z",
      "model": "chirp-auk",
      "state": "succeeded",
      "prompt": "A song for Christmas",
      "style": "holiday, cheerful, male vocals",
      "duration": 158.48
    }
  ]
}
```

Man kan se att vi vid denna tidpunkt har fått innehållet för två låtar, inklusive titel, förhandsvisningsbild, låttext, ljud, video och annat innehåll.

Fältbeskrivningen är följande:

* success: Om genereringen lyckades. Om den lyckades är värdet `true`, annars `false`.
* data: Är en lista som innehåller detaljerad information om de genererade låtarna.
  * state: Låtens genereringsstatus, som huvudsakligen omfattar fyra typer, enligt följande:
    * succeeded: Generering lyckades
    * pending: I kön
    * running: Körs
    * error: Misslyckades
  * id: Låt-ID
  * title: Låtens titel
  * image\_url: Låtens omslagsbild
  * lyric: Låtens text
  * audio\_url: Låtens slutliga ljudadress. Plattformen returnerar i första hand en Ace Data Cloud CDN-adress; om beständig lagring misslyckas kan den ursprungliga medieadressen returneras, så ladda ner den i tid.
  * video\_url: Låtens videofil, som är en mp4-video när den öppnas.
  * created\_at: Tidpunkten för skapandet
  * model: Modellen som används, vanligtvis den senaste v3-modellen
  * style: Stil

## Anpassad generering

Om du vill anpassa genereringen av låttext kan du ange låttexten:

Vid denna tidpunkt kan fältet `lyric` ta emot innehåll som följande:

```
[Verse]\nSnowflakes falling all around\nGlistening white\nCovering the ground\nChildren laughing\nFull of delight\nIn this winter wonderland tonight\nSanta's sleigh\nUp in the sky\nRudolph's nose shining bright\nOh my\nHear the jingle bells\nRinging so clear\nBringing joy and holiday cheer\n[Verse 2]\nRoasting chestnuts by the fire's glow\nChristmas lights\nThey twinkle and show\nFamilies gathering with love and cheer\nSpreading warmth to everyone near
```

> Observera att `\n` i låttexten här är en radbrytning. Om du inte vet hur du genererar låttext kan du använda API:et för låttextgenerering som tillhandahålls av AceDataCloud för att generera låttext via prompt. API:et är [Suno Lyrics Generation API](https://platform.acedata.cloud/documents/suno-lyrics).

Därefter behöver vi, för att anpassat generera en låt baserat på låttext, titel och stil, ange följande innehåll:

* lyric: Låttext
* custom: Ange `true`, vilket innebär anpassad generering. Denna parameter är som standard false, vilket innebär att `prompt` används för generering.
* title: Låtens titel.
* style: Låtens stil, valfritt.

Ett exempel på ifyllning är följande:

![](https://cdn.acedata.cloud/qp3iba.png)

Efter ifyllning genereras följande kod automatiskt:

![](https://cdn.acedata.cloud/o5haei.png)

Motsvarande kod:

```shell theme={null}
curl -X POST 'https://api.acedata.cloud/suno/audios' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "generate",
  "prompt": "A song for Christmas",
  "model": "chirp-v4-5",
  "lyric": "[Verse]\\nSnowflakes falling all around\\nGlistening white\\nCovering the ground\\nChildren laughing\\nFull of delight\\nIn this winter wonderland tonight\\nSanta's sleigh\\nUp in the sky\\nRudolph's nose shining bright\\nOh my\\nHear the jingle bells\\nRinging so clear\\nBringing joy and holiday cheer\\n[Verse 2]\\nRoasting chestnuts by the fire's glow\\nChristmas lights\\nThey twinkle and show\\nFamilies gathering with love and cheer\\nSpreading warmth to everyone near",
  "custom": true
}'
```

Testning är tillåten, och den genererade effekten är liknande.

## Funktion för anpassad generering av sångarstil

Om du vill använda en sångarstil för att generera en låt, generera först en låt genom den grundläggande användningen ovan,
och slutligen behöver du ställa in denna låt som sångarstil. Därefter behöver du gå till [Suno Persona API](https://platform.acedata.cloud/documents/suno-persona) för att generera en sångarstils-ID-parameter `persona_id` baserat på musik-ID:t `audio_id` som genererats officiellt. De specifika parametrarna visas i bilden nedan:

![](https://cdn.acedata.cloud/pmzo3l.png)

Efter ifyllning genereras koden automatiskt enligt följande:

![](https://cdn.acedata.cloud/a5g0nj.png)

Motsvarande Python-kod:

```python theme={null}
import requests

url = "https://api.acedata.cloud/suno/persona"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "audio_id": "97efc9f4-0e8d-4b3e-88df-14568fa1b11f",
    "name": "test"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

Klicka på kör, så kan du se att du får ett resultat enligt följande:

```json theme={null}
{
  "success": true,
  "task_id": "7628b754-4fe7-4e79-bda4-806d0dd8bf6e",
  "data": {
    "persona_id": "e0d7319e-aa2a-44cb-b00a-916218d7cb0b"
  }
}
```

Vi använder ovanstående `audio_id` och `persona_id`, nämligen `97efc9f4-0e8d-4b3e-88df-14568fa1b11f` respektive `e0d7319e-aa2a-44cb-b00a-916218d7cb0b`, som exempeldata denna gång. Sedan kan du ställa in parametern `action` till `artist_consistency` (om det är den nya sångarstilen Persona-v2-vox måste `action` ställas in till `artist_consistency_vox`), och ange ID:t för låten som behöver fortsätta genereras samt sångarstils-ID:t. Ett ifyllningsexempel visas nedan:

![](https://cdn.acedata.cloud/fukijq.png)

Efter ifyllning genereras koden automatiskt enligt följande:

![](https://cdn.acedata.cloud/5uzk9d.png)

Motsvarande Python-kod:

```python theme={null}
import requests

url = "https://api.acedata.cloud/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "artist_consistency",
    "prompt": "A song for Christmas",
    "model": "chirp-v4-5",
    "persona_id": "e0d7319e-aa2a-44cb-b00a-916218d7cb0b",
    "audio_id": "97efc9f4-0e8d-4b3e-88df-14568fa1b11f"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

Klicka på kör, så kan du se att du får ett resultat enligt följande:

```json theme={null}
{
  "success": true,
  "task_id": "9b732b1a-bd67-48bc-95e4-90140e06836f",
  "trace_id": "30fcd88e-7687-4137-92d7-913b58115204",
  "data": [
    {
      "id": "727a36e2-8dce-4df7-99e5-14e44635c80f",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-003",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-17T16:27:33.979Z",
      "model": "chirp-auk",
      "state": "succeeded",
      "style": "",
      "duration": 244.4
    },
    {
      "id": "3b33301a-b17e-4b25-8842-09b46dab1a36",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-004",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-17T16:27:33.979Z",
      "model": "chirp-auk",
      "state": "succeeded",
      "style": "",
      "duration": 229.88
    }
  ]
}
```

Det kan ses att resultatets innehåll överensstämmer med det ovanstående, vilket också implementerar funktionen att använda sångarstil för att generera låtar.

## Funktionen för fortsatt generering

Om du vill fortsätta generera en redan genererad Suno-låt kan du ställa in parametern `action` till `extend` och ange ID:t för låten som behöver fortsätta genereras. Låt-ID:t hämtas enligt den grundläggande användningen. Av ovanstående framgår att låtens ID vid denna tidpunkt är:

```
"id": "97efc9f4-0e8d-4b3e-88df-14568fa1b11f"
```

> Observera att `id` i texten här är ID:t för den genererade låten. Om du inte vet hur man genererar en låt kan du hänvisa till den grundläggande användningen ovan för att generera en låt.

Om du vill fortsätta generera en låt som du själv har laddat upp kan du ställa in parametern `action` till `upload_extend` och ange ID:t för den anpassat uppladdade låten som behöver fortsätta genereras. Låt-ID:t hämtas med [Suno Upload Generation API](https://platform.acedata.cloud/documents/suno-upload), som visas i bilden nedan:

![](https://cdn.acedata.cloud/a0mn5e.png)

Därefter måste du fylla i texten för fortsättningsavsnittet och kan ange stilen:

* lyric: Används endast för att vägleda texten i det nyligen genererade avsnittet efter `continue_at` och ersätter inte texten före denna tidpunkt i källjudet.
* custom: Ange `true`, vilket innebär anpassad generering. Standardvärdet för denna parameter är false, vilket innebär att `prompt` används för generering.
* style: Låtstil för fortsättningsavsnittet, valfritt.
* continue\_at: Gräns för fortsättning, i sekunder. Till exempel innebär 213.5 att efterföljande avsnitt genereras från 3 minuter och 33,5 sekunder.

> `extend` används för att fortsätta skapa vidare efter en befintlig låt och är inte till för att byta text för hela låten. Om du vill använda ny text för hela låten från början ska du använda `generate` för att generera på nytt; om du vill omtolka med hänvisning till en befintlig låt kan du använda `cover`. När en helt ny låttext skickas in kommer den ursprungliga texten före `continue_at` fortfarande inte att ersättas.

Ett ifyllningsexempel visas nedan:

![](https://cdn.acedata.cloud/zp9s42.png)

Efter ifyllning genereras koden automatiskt enligt följande:

![](https://cdn.acedata.cloud/wwpw78.png)

Nedan sparas en ögonblicksbild från ett verkligt historiskt anrop, där `continue_at` är 2 sekunder, så endast de första 2 sekunderna tillhör det ursprungliga innehållet före fortsättningsgränsen. Vid fortsatt generering nära slutet av en låt bör detta värde ställas in på den sekund där fortsatt generering förväntas börja, och endast det nya stycket som ska sjungas efter gränsen ska anges i `lyric`.

Motsvarande Python-kod:

```python theme={null}
import requests

url = "https://api.acedata.cloud/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "extend",
    "prompt": "A song for Christmas",
    "model": "chirp-v4-5",
    "audio_id": "97efc9f4-0e8d-4b3e-88df-14568fa1b11f",
    "continue_at": 2,
    "lyric": "[Verse]\\nSnowflakes falling all around\\nGlistening white\\nCovering the ground\\nChildren laughing\\nFull of delight\\nIn this winter wonderland tonight\\nSanta's sleigh\\nUp in the sky\\nRudolph's nose shining bright\\nOh my\\nHear the jingle bells\\nRinging so clear\\nBringing joy and holiday cheer\\n[Verse 2]\\nRoasting chestnuts by the fire's glow\\nChristmas lights\\nThey twinkle and show\\nFamilies gathering with love and cheer\\nSpreading warmth to everyone near",
    "custom": True,
    "instrumental": False
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

Klicka på kör, så kan du se att ett resultat erhålls, enligt följande:

```json theme={null}
{
  "success": true,
  "task_id": "75b835d9-30d1-4641-8524-0aeedbdc9e1a",
  "trace_id": "44c41045-a2e1-4d19-aafc-7abd239d0d5c",
  "data": [
    {
      "id": "0a1e1b10-c36a-41c9-9bfb-b26d9d25db98",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-005",
      "lyric": "[Verse]\\nSnowflakes falling all around\\nGlistening white\\nCovering the ground\\nChildren laughing\\nFull of delight\\nIn this winter wonderland tonight\\nSanta's sleigh\\nUp in the sky\\nRudolph's nose shining bright\\nOh my\\nHear the jingle bells\\nRinging so clear\\nBringing joy and holiday cheer\\n[Verse 2]\\nRoasting chestnuts by the fire's glow\\nChristmas lights\\nThey twinkle and show\\nFamilies gathering with love and cheer\\nSpreading warmth to everyone near",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-17T16:38:35.509Z",
      "model": "chirp-auk",
      "state": "succeeded",
      "style": "",
      "duration": 165.92
    },
    {
      "id": "4334c5b4-0a44-4b26-a8f6-66cc4dbb8fc3",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-006",
      "lyric": "[Verse]\\nSnowflakes falling all around\\nGlistening white\\nCovering the ground\\nChildren laughing\\nFull of delight\\nIn this winter wonderland tonight\\nSanta's sleigh\\nUp in the sky\\nRudolph's nose shining bright\\nOh my\\nHear the jingle bells\\nRinging so clear\\nBringing joy and holiday cheer\\n[Verse 2]\\nRoasting chestnuts by the fire's glow\\nChristmas lights\\nThey twinkle and show\\nFamilies gathering with love and cheer\\nSpreading warmth to everyone near",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-17T16:38:35.509Z",
      "model": "chirp-auk",
      "state": "succeeded",
      "style": "",
      "duration": 158.84
    }
  ]
}
```

Det går att se att `lyric` i resultatet returnerar den text som används av denna fortsättningsuppgift. Detta fält är inte en ordagrann transkribering av den färdiga ljudfilen; för `extend` använder källjudet före `continue_at` fortfarande den ursprungliga texten, och den nya texten används endast för att styra fortsättningssegmentet.

## Hämta hela låten

Det aktuella modellens `extend`-resultat innehåller vanligtvis redan källjudet före `continue_at` och det nya innehållet efter gränsen. Bedöm först, utifrån den returnerade ljudfilens faktiska längd och innehåll, om den redan är en komplett låt. Om det som returneras är ett fristående fortsättningssegment, eller om historiken från flera fortsättningar behöver slås samman explicit till en låt, använd sedan sammanfogningsfunktionen:

* action: innehållet är `concat`.
* audio\_id: ID:t för det sista fortsättningssegmentet.

Om ID:t för den utökade låten till exempel är: 0a1e1b10-c36a-41c9-9bfb-b26d9d25db98, kan parametrarna ställas in enligt följande:

```json theme={null}
{
  "action": "concat",
  "audio_id": "0a1e1b10-c36a-41c9-9bfb-b26d9d25db98"
}
```

Övriga parametrar förblir oförändrade, och det som returneras är en komplett låt, alltså resultatet av att alla låtsegment har sammanfogats, men resultatet innehåller endast en låt, enligt exemplet nedan:

```json theme={null}
{
  "success": true,
  "task_id": "0f794915-8418-4124-93f5-b7eb3a417167",
  "trace_id": "62afcce0-e7e5-44b8-8c2e-4bba12a4f414",
  "data": [
    {
      "id": "0efec7e0-11bf-4313-9981-2c0e7218d7dd",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-007",
      "lyric": "[Verse]\\nSnowflakes falling all around\\nGlistening white\\nCovering the ground\\nChildren laughing\\nFull of delight\\nIn this winter wonderland tonight\\nSanta's sleigh\\nUp in the sky\\nRudolph's nose shining bright\\nOh my\\nHear the jingle bells\\nRinging so clear\\nBringing joy and holiday cheer\\n[Verse 2]\\nRoasting chestnuts by the fire's glow\\nChristmas lights\\nThey twinkle and show\\nFamilies gathering with love and cheer\\nSpreading warmth to everyone near\n[Verse]\\nSnowflakes falling all around\\nGlistening white\\nCovering the ground\\nChildren laughing\\nFull of delight\\nIn this winter wonderland tonight\\nSanta's sleigh\\nUp in the sky\\nRudolph's nose shining bright\\nOh my\\nHear the jingle bells\\nRinging so clear\\nBringing joy and holiday cheer\\n[Verse 2]\\nRoasting chestnuts by the fire's glow\\nChristmas lights\\nThey twinkle and show\\nFamilies gathering with love and cheer\\nSpreading warmth to everyone near",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-17T16:43:06.718Z",
      "model": "chirp-auk",
      "state": "succeeded",
      "style": "",
      "duration": 167.91997916666668,
      "concat_history": [
        {
          "continue_at": 2,
          "id": "97efc9f4-0e8d-4b3e-88df-14568fa1b11f",
          "infill": false,
          "source": "web",
          "type": "gen"
        },
        {
          "id": "0a1e1b10-c36a-41c9-9bfb-b26d9d25db98"
        }
      ]
    }
  ]
}
```

## Musikcover

Efter att en låt har fortsatt att genereras baserat på en befintlig låt kan stilen på den returnerade låten vara mindre lämplig. Om du vill göra ett cover på den tidigare genererade låten (det stöds även för anpassat uppladdad musik), behöver du använda metoden för musikcover, där du kan ange följande innehåll:

* action: Innehållet är `cover`; när du utför en coveråtgärd på anpassat uppladdad musik måste innehållet anges som: `upload_cover`.
* audio\_id: ID:t för den tidigare genererade låten.

Om ID:t för den ursprungligen genererade låten till exempel är: 0a1e1b10-c36a-41c9-9bfb-b26d9d25db98, kan du ange parametrarna enligt följande:

```json theme={null}
{
  "action": "cover",
  "audio_id": "0a1e1b10-c36a-41c9-9bfb-b26d9d25db98",
  "prompt": "A song for Christmas",
  "model": "chirp-v4-5"
}
```

Övriga parametrar förblir oförändrade, och det som returneras är en coverversion av låten, det vill säga resultatet efter att den ursprungligen genererade låten har gjorts om till en coverversion, enligt följande exempel:

```json theme={null}
{
  "success": true,
  "task_id": "b9d43d06-2e0a-4b5e-9e0d-7dfab32e00ab",
  "trace_id": "6c5e567d-0fdc-4c44-9b36-4090d9a75ff5",
  "data": [
    {
      "id": "6988fa57-f810-41cf-afab-7838db2c77dc",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-008",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-17T16:44:13.007Z",
      "model": "chirp-auk",
      "state": "succeeded",
      "style": "",
      "duration": 182.4
    },
    {
      "id": "ce98b991-0258-4f05-8245-e43d4efa8fb8",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-009",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-17T16:44:13.007Z",
      "model": "chirp-auk",
      "state": "succeeded",
      "style": "",
      "duration": 179.72
    }
  ]
}
```

Det genererade resultatet liknar det ovanstående, vilket slutför processen för att generera en coverversion av den ursprungligen genererade låten.

## Ersätt segment

När en separat sekundär bearbetning behöver utföras för att ersätta ett låtsegment efter att låten har genererats, kan ett visst segment av låten ersättas.

> ⚠️ **Observera**: `replace_section_result_mode` är som standard `full_song`: systemet sammanfogar 2 nygenererade kandidater var för sig och returnerar 2 fullständiga låtar. Om endast kandidater för ersättningssegment som ännu inte har sammanfogats behövs, ange uttryckligen `candidates` och välj sedan en kandidat för att anropa [musiksammanfogning](#音乐拼接).

Parametrarna beskrivs enligt följande:

* action: Innehållet är `replace_section`.
* audio\_id: ID:t för den ursprungliga låten (källåten som ersätts).
* model: Modell för låtgenerering.
* lyric: Den fullständiga ersatta låttexten (inklusive det ersatta segmentet och dess kontext, i överensstämmelse med innehållet i `prompt`).
* prompt: Den nya låttexten för segmentet som behöver ersättas.
* style: Låtens stil, valfritt.
* replace\_section\_start: Starttiden (sekunder) för det ersatta segmentet i originallåten.
* replace\_section\_end: Sluttiden (sekunder) för det ersatta segmentet i originallåten.
* replace\_section\_result\_mode: Returläge, standardvärdet är `full_song`. `full_song` sammanfogar 2 kandidater var för sig och returnerar 2 fullständiga låtar; `candidates` returnerar 2 kandidatssegment som ännu inte har sammanfogats.

### Steg ett: Starta en uppgift för att ersätta segment

Om ID:t för den ursprungligen genererade låten till exempel är: 18db7ed0-2b8a-41db-91c1-b0781dcca0d4 (med en längd på 94,12 sekunder), och du vill ersätta refrängen från sekund 30 till sekund 60 med ny låttext, kan du ange parametrarna enligt följande:

```json theme={null}
{
  "action": "replace_section",
  "audio_id": "18db7ed0-2b8a-41db-91c1-b0781dcca0d4",
  "model": "chirp-v5-5",
  "custom": false,
  "instrumental": false,
  "lyric": "[Intro]\nGonggong dånar, röda lyktor hänger högt\n[Verse 1]\nSmällare ljuder och tar farväl av det gamla året\nVårvinden är varm och når in i tusentals hem\nRöda kuvert för nyårspengar får leendena att blomma\nDen gyllene ormen dansar och firar det nya året\n[Chorus]\nPlommonblommor slår ut, vårkänslan fyller marken\nPlommonblommor slår ut, vårkänslan fyller marken\nPlommonblommor slår ut, vårkänslan fyller marken\nPlommonblommor slår ut, vårkänslan fyller marken\n[Verse 2]\nDumplings doftar från nyårsaftonsmiddagen\nLyktor svajar och lyser över återföreningen",
  "prompt": "Plommonblommor slår ut, vårkänslan fyller marken\nPlommonblommor slår ut, vårkänslan fyller marken\nPlommonblommor slår ut, vårkänslan fyller marken\nPlommonblommor slår ut, vårkänslan fyller marken",
  "replace_section_start": 30.0,
  "replace_section_end": 60.0,
  "replace_section_result_mode": "full_song"
}
```

Som standard returneras 2 kompletta låtar som var och en har satts ihop av två kandidater. Om `replace_section_result_mode` sätts till `candidates` returneras 2 ännu ej sammanfogade ersättningssegment, med samma struktur som i exemplet nedan:

```json theme={null}
{
  "success": true,
  "task_id": "dd067075-a295-4160-8375-d5504327d55b",
  "trace_id": "c34f589b-9195-4d0b-af78-9c890e77609c",
  "data": [
    {
      "id": "364f9d8b-ca25-463b-9a5e-d0b7139e2d6a",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-010",
      "image_large_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-011",
      "lyric": "[Intro]\nGonggong dånar, röda lyktor hänger högt\n[Verse 1]\nSmällare ljuder och tar farväl av det gamla året\nVårvinden är varm och når in i tusentals hem\nRöda kuvert för nyårspengar får leendena att blomma\nDen gyllene ormen dansar och firar det nya året\n[Chorus]\nPlommonblommor slår ut, vårkänslan fyller marken\nPlommonblommor slår ut, vårkänslan fyller marken\nPlommonblommor slår ut, vårkänslan fyller marken\nPlommonblommor slår ut, vårkänslan fyller marken\n[Verse 2]\nDumplings doftar från nyårsaftonsmiddagen\nLyktor svajar och lyser över återföreningen",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2026-05-06T06:55:00.000Z",
      "model": "chirp-v5-5",
      "state": "succeeded",
      "style": "",
      "duration": 45.16
    },
    {
      "id": "fae966ea-5f7f-4e80-9962-1c57963c7f8a",
      "title": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "model": "chirp-v5-5",
      "state": "succeeded",
      "duration": 33.8
    }
  ]
}
```

I läget `candidates` är längden på de två returnerade ljudspåren (45,16 sekunder, 33,8 sekunder) mycket kortare än originallåten (94,12 sekunder). De är ersättningssegment som innehåller lite kontext och är **inte** hela låtar. Du kan välja en kandidat du är nöjd med och fortsätta att sammanfoga den manuellt. Standardläget `full_song` slutför däremot två sammanfogningar och returnerar direkt 2 kompletta låtar.

### Returnera kompletta låtar direkt

Om du vill få kompletta låtar direkt kan du i steg ett ange `replace_section_result_mode` som `full_song`. Gränssnittet sammanfogar de två kandidaterna var för sig och returnerar 2 kompletta låtar; då behöver du inte längre anropa `concat`.

### Steg två: sammanfoga ersättningssegmentet tillbaka till originallåten

För det valda segmentet ovan (till exempel `364f9d8b-ca25-463b-9a5e-d0b7139e2d6a`), starta en `concat`-uppgift enligt metoden i avsnittet [Musiksammanfogning](#音乐拼接):

```json theme={null}
{
  "action": "concat",
  "audio_id": "364f9d8b-ca25-463b-9a5e-d0b7139e2d6a",
  "model": "chirp-v5-5"
}
```

Det som returneras är den sammanfogade kompletta låten, med följande exempel:

```json theme={null}
{
  "success": true,
  "task_id": "5dbd4a78-0197-4ef3-9c16-8bddaf4f0c94",
  "trace_id": "580bd1da-2ad3-4d75-be1f-6c14bd4b489d",
  "data": [
    {
      "id": "365a9640-0452-4567-80f0-4f5a2a17ddd5",
      "title": "Gott nytt år",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-012",
      "lyric": "[Intro]\nGonggong dånar, röda lyktor hänger högt\n[Verse 1]\nSmällare ljuder och tar farväl av det gamla året\nVårvinden är varm och når in i tusentals hem\nRöda kuvert för nyårspengar får leendena att blomma\nDen gyllene ormen dansar och firar det nya året\n[Chorus]\nPlommonblommor slår ut, vårkänslan fyller marken\nPlommonblommor slår ut, vårkänslan fyller marken\nPlommonblommor slår ut, vårkänslan fyller marken\nPlommonblommor slår ut, vårkänslan fyller marken\n[Verse 2]\nDumplings doftar från nyårsaftonsmiddagen\nLyktor svajar och lyser över återföreningen",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2026-05-06T06:56:46.057Z",
      "model": "chirp-v5-5",
      "state": "succeeded",
      "style": "traditionellt kinesiskt nyår, festligt, kvinnlig sång, uppåt",
      "duration": 105.28
    }
  ]
}
```

Vid denna tidpunkt har `duration` återställts till hela låtens längd (105,28 sekunder, ungefär lika med originallåtens längd), och `audio_url` pekar på den färdiga hela låten efter ersättningen. Detta slutför processen för sekundär skapande: "generera → ersätt segment → sammanfoga hela låten".

## Separation av sång och musik

När sekundär skapande kräver separata åtgärder för komp och sång efter att en låt har genererats, kan rent musikaliskt komp och a cappella-sång separeras. Då kan följande innehåll anges:

* action: innehållet är `stems`.
* audio\_id: ID:t för den tidigare genererade låten.

Om ID:t för den ursprungligen genererade låten till exempel är: ec13e502-d043-4eb2-92ee-e900c6da69d1, kan parametrarna ställas in enligt följande:

```json theme={null}
{
  "action": "stems",
  "audio_id": "ec13e502-d043-4eb2-92ee-e900c6da69d1"
}
```

Genom ovanstående parametrar kan resultatet av separationen av sång och musik erhållas, enligt följande:

```json theme={null}
{
  "success": true,
  "task_id": "4050affc-f8a6-4cba-a86c-bf201eed053d",
  "trace_id": "5107ee58-687d-422f-9195-fa0e82e1fcc8",
  "data": [
    {
      "id": "e3de0928-085a-42c4-b982-3b24738d1989",
      "title": "Deck the Sky - Vocals",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-013",
      "lyric": "[Verse]\nSnowflakes dance on rooftops high\nChildren's laughter fills the sky\nCarols ring from church bells loud\nHolidays a joyful crowd\n[Verse 2]\nCandy canes and cocoa warm\nWrapped up tight in our own storm\nStockings hung with dreams and cheer\nMagic growing every year\n[Chorus]\nDeck the sky with twinkling stars\nHoliday joy feels ours and ours\nSing the songs of love and light\nChristmas glows so pure and bright\n[Verse 3]\nFireside tales of long ago\nReindeer prance in icy glow\nEvergreen and tinsel’s gleam\nChristmas time a lovely dream\n[Bridge]\nHearts are full with friends and kin\nMistletoe for love to win\nGifts of love and hope we share\nChristmas spirit everywhere\n[Chorus]\nDeck the sky with twinkling stars\nHoliday joy feels ours and ours\nSing the songs of love and light\nChristmas glows so pure and bright",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "https://cdn.acedata.cloud/assets/examples/gemini/04a043bd-6b23-4b4e-945c-ce48158c3eee-3a89912507c7.mp4?example=video-001",
      "created_at": "2025-01-05T07:49:16.881Z",
      "model": "",
      "state": "succeeded",
      "style": "holiday, jolly",
      "duration": 174.16
    },
    {
      "id": "ad5d7c89-709c-4eb4-a5a6-72f9f5e57fdb",
      "title": "Deck the Sky - Instrumental",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-014",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "https://cdn.acedata.cloud/assets/examples/gemini/04a043bd-6b23-4b4e-945c-ce48158c3eee-3a89912507c7.mp4?example=video-002",
      "created_at": "2025-01-05T07:49:16.892Z",
      "model": "",
      "state": "succeeded",
      "style": "holiday, jolly",
      "duration": 174.16
    }
  ]
}
```

Det genererade resultatet liknar det ovan, vilket slutför processen med att separera sång och musik i den tidigare genererade låten.

## Separation av sång och musik för alla spår

När det efter att en låt har genererats krävs en separation av sång och musik för alla spår, kan följande innehåll anges:

* action: innehållet är `all_stems`.
* audio\_id: ID:t för den tidigare genererade låten.

Om ID:t för den ursprungligen genererade låten till exempel är: bdf23a5a-59f5-4103-b452-054a824a7f9f, kan parametrarna ställas in enligt följande:

```json theme={null}
{
  "action": "all_stems",
  "audio_id": "bdf23a5a-59f5-4103-b452-054a824a7f9f"
}
```

Genom ovanstående parametrar kan resultatet av separationen av sång och musik för alla spår erhållas, enligt följande:

```json { theme={null}
  "success": true,
  "task_id": "f4b16fb9-8478-4857-88c7-b9a1f0bb9518",
  "trace_id": "9c560ebd-4fc6-4bdb-988a-8890160a92fb",
  "data": [
    {
      "id": "f86ca64a-9519-4ea7-a592-52438e001412",
      "title": "安全之弦 (Vocals)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-015",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    }, {
      "id": "99e649a7-a394-47b9-a915-d7f847285a36",
      "title": "安全之弦 (Backing Vocals)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-016",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    }, {
      "id": "6d710bf7-809f-4fdc-bb63-b8cb3a456d42",
      "title": "安全之弦 (Drums)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-017",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    },
{
      "id": "e05f07e3-7d80-4713-8e51-7f176c733543",
      "title": "Säkerhetens sträng (Bas)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-018",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "lyckades",
      "duration": 154.92
    }, {
      "id": "93fe7cd8-62fd-4739-b78e-142c7e0b8562",
      "title": "Säkerhetens sträng (Gitarr)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-019",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "lyckades",
      "duration": 154.92
    }, {
      "id": "8367d71c-fdd3-441c-8ebe-70c33cca821b",
      "title": "Säkerhetens sträng (Klaviatur)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-020",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "lyckades",
      "duration": 154.92
    }, {
      "id": "28c03590-731c-416e-8fd3-95cdb3d75043",
      "title": "Säkerhetens sträng (Slagverk)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-021",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "lyckades",
      "duration": 154.92
    }, {
      "id": "3d4c1a28-4e1c-485a-8201-d21bb93aca2f",
      "title": "Säkerhetens sträng (Stråkar)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-022",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "lyckades",
      "duration": 154.92
    }, {
      "id": "b9db8ded-01ec-4e37-b8a5-64aab3a814c2",
      "title": "Säkerhetens sträng (Synth)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-023",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "lyckades",
      "duration": 154.92
    }, {
      "id": "10a5248e-32e6-42b9-8da1-678a8a392aef",
      "title": "Säkerhetens sträng (FX)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-024",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "lyckades",
      "duration": 154.92
    }, {
      "id": "2d272128-111f-4901-8f62-5ae1eb43095a",
      "title": "Säkerhetens sträng (Bleckblås)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-025",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "lyckades",
      "duration": 154.92
    }, {
      "id": "4a7c19a5-f8d4-4e4a-add9-aa0bad9307cc",
      "title": "Säkerhetens sträng (Träblås)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-026",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "lyckades",
      "duration": 154.92
    }, {
      "id": "1ca774f9-3e75-48a6-941b-808875eadcd2",
      "title": "Säkerhetens sträng (Sång)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-027",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.770Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "lyckades",
      "duration": 154.92
    },
{
      "id": "14c5ffc7-addf-4fee-afd2-4b8b3e7ee470",
      "title": "Säkerhetens strängar (Bakgrundssång)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-028",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.771Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "lyckades",
      "duration": 154.92
    }, {
      "id": "9d044557-450d-48ab-90dc-8eaf6f1cdb6c",
      "title": "Säkerhetens strängar (Trummor)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-029",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.771Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "lyckades",
      "duration": 154.92
    }, {
      "id": "efd052d0-c12f-47b3-8282-1f3ef7610e1f",
      "title": "Säkerhetens strängar (Bas)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-030",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.771Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "lyckades",
      "duration": 154.92
    }, {
      "id": "5775372b-292e-4420-96ef-60e57a60cc1f",
      "title": "Säkerhetens strängar (Gitarr)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-031",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.771Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "lyckades",
      "duration": 154.92
    }, {
      "id": "dab3f220-19cd-408e-9b96-30ec18f5b049",
      "title": "Säkerhetens strängar (Klaviatur)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-032",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.771Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "lyckades",
      "duration": 154.92
    }, {
      "id": "2d0cd6d4-af82-4bb5-86fe-d92bdb367157",
      "title": "Säkerhetens strängar (Slagverk)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-033",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.771Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "lyckades",
      "duration": 154.92
    }, {
      "id": "f3191a1a-5e8d-4afe-b638-3add222d52cd",
      "title": "Säkerhetens strängar (Stråkar)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-034",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.771Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "lyckades",
      "duration": 154.92
    }, {
      "id": "a8834ea5-200b-4206-a812-9780ef336660",
      "title": "Säkerhetens strängar (Synth)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-035",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.771Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "lyckades",
      "duration": 154.92
    }, {
      "id": "f50d1a31-ef72-400a-b8ae-0367849d007d",
      "title": "Säkerhetens strängar (Effekter)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-036",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.771Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "lyckades",
      "duration": 154.92
    }, {
      "id": "cb581673-23cc-40d6-9f9b-0f76720f0d18",
      "title": "Säkerhetens strängar (Bleckblås)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-037",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.771Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "lyckades",
      "duration": 154.92
    },
{
      "id": "d91cfb52-f0a3-4546-bf8a-2ad14c3775a5",
      "title": "Säkerhetens strängar (träblåsinstrument)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-038",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-06-11T02:40:30.771Z",
      "model": "chirp-ahi-stem-12-t1",
      "state": "succeeded",
      "duration": 154.92
    }
  ]
}
```

Det genererade resultatet liknar ovanstående, vilket slutför processen för att separera ljud och musik från den tidigare genererade låten.

## Lägg till ljudspår

`add_stem` genererar ett mål-instrument- eller röstspår för det angivna ljudet och anropas via `POST /suno/audios`.

* Obligatoriskt: `action`, `audio_id`, `stem_type`.
* Valfritt: `model`, `prompt`, `title`, `style`, `negative_tags`, `weirdness`, `style_influence`, `audio_weight`, `max_mode`, `variety`.
* Debitering: normalt läge 0.672 Credits; när `max_mode` är `true` är det 1.344 Credits.

```json theme={null}
{
  "action": "add_stem",
  "audio_id": "dead4ee5-df4d-417b-8f7e-717722fae51a",
  "stem_type": "bass",
  "model": "chirp-v6",
  "prompt": "Add warm bass guitar",
  "style": "minimal piano pulse with warm bass guitar",
  "negative_tags": "vocals",
  "variety": "normal",
  "max_mode": false,
  "async": true
}
```

Svar i slutligt tillstånd:

```json theme={null}
{
  "success": true,
  "task_id": "82851953-9590-4334-8bb8-ae30ccadc815",
  "trace_id": "862bbcce-1678-44ff-982d-8b439c126a5e",
  "data": [
    {
      "id": "0adc26ca-2720-4c69-b237-457a986d70e3",
          "audio_url": "https://cdn.acedata2.cloud/suno/0adc26ca-2720-4c69-b237-457a986d70e3.mp3",
      "model": "chirp-v6",
      "state": "succeeded",
      "duration": 12.8
    },
    {
      "id": "e2d39a6c-1d20-4a40-adaf-b2551815d869",
          "audio_url": "https://cdn.acedata2.cloud/suno/e2d39a6c-1d20-4a40-adaf-b2551815d869.mp3",
      "model": "chirp-v6",
      "state": "succeeded",
      "duration": 12.36
    }
  ],
  "cost": {"amount": 0.6048, "currency": "credit", "list_amount": 0.672}
}
```

## Extrahera ljudspår

`extract_stem` extraherar målljudspåret från det angivna ljudet och returnerar samtidigt en kompletterande version där detta ljudspår har tagits bort, genom anrop via `POST /suno/audios`.

* Obligatoriskt: `action`, `audio_id`, `stem_type`.
* Valfritt: `audio_format`, det nuvarande offentliga tvåkanalskontraktet stöder endast `mp3`.
* Debitering: 1.12 Credits.

```json theme={null}
{
  "action": "extract_stem",
  "audio_id": "dead4ee5-df4d-417b-8f7e-717722fae51a",
  "stem_type": "bass",
  "audio_format": "mp3",
  "async": true
}
```

`data` i svaret i slutligt tillstånd behåller en platt ljudlista, och `stem_sets` anger relationen mellan målljudspåret och det kompletterande ljudspåret:

```json theme={null}
{
  "success": true,
  "task_id": "ae9557d0-4ff7-4a35-bcde-d881e78fbfe5",
  "trace_id": "82c51a55-7627-41a5-b72b-1b9775ca25f2",
  "data": [
    {"id":"3084d7e1-4278-4733-8b56-56f7ecf3f859","title":"(Bass)","audio_url":"https://cdn.acedata2.cloud/suno/3084d7e1-4278-4733-8b56-56f7ecf3f859.mp3","model":"chirp-v6","state":"succeeded","duration":12.8,"stem_set":1},
    {"id":"19b83ca9-a51d-494f-a41d-5b0957f3295e","title":"(Without Bass)","audio_url":"https://cdn.acedata2.cloud/suno/19b83ca9-a51d-494f-a41d-5b0957f3295e.mp3","model":"chirp-v6","state":"succeeded","duration":12.8,"stem_set":1},
    {"id":"7eb431e8-f4db-4915-902e-0e89d2b3185a","title":"(Bass)","audio_url":"https://cdn.acedata2.cloud/suno/7eb431e8-f4db-4915-902e-0e89d2b3185a.mp3","model":"chirp-v6","state":"succeeded","duration":12.8,"stem_set":2},
    {"id":"495d29cc-5790-4d0a-8b95-9551a6127b61","title":"(Without Bass)","audio_url":"https://cdn.acedata2.cloud/suno/495d29cc-5790-4d0a-8b95-9551a6127b61.mp3","model":"chirp-v6","state":"succeeded","duration":12.8,"stem_set":2}
  ],
  "stem_sets": [
    {"stem_type":"bass","isolated":{"id":"3084d7e1-4278-4733-8b56-56f7ecf3f859","state":"succeeded","stem_set":1},"remainder":{"id":"19b83ca9-a51d-494f-a41d-5b0957f3295e","state":"succeeded","stem_set":1}},
    {"stem_type":"bass","isolated":{"id":"7eb431e8-f4db-4915-902e-0e89d2b3185a","state":"succeeded","stem_set":2},"remainder":{"id":"495d29cc-5790-4d0a-8b95-9551a6127b61","state":"succeeded","stem_set":2}}
  ],
  "cost": {"amount": 1.008, "currency": "credit", "list_amount": 1.12}
}
```

## Generera ljudeffekter

`sounds` genererar engångs- eller loopbara ljudeffekter baserat på textbeskrivningar och anropas via `POST /suno/audios`.

* Obligatoriskt: `action`, `sound`, `sound_type`.
* Valfritt: `model`, `bpm`, `key`, `audio_format`; `audio_format` stöder för närvarande endast `mp3`.
* `sound_type`: `one-shot` eller `loop`.
* Debitering: 0.112 Credits.

```json theme={null}
{
  "action": "sounds",
  "sound": "single soft analog synth pluck, no reverb",
  "sound_type": "one-shot",
  "model": "chirp-v6",
  "bpm": 120,
  "key": "C",
  "audio_format": "mp3",
  "async": true
}
```

```json theme={null}
{
  "success": true,
  "task_id": "f6716546-d118-40a0-ad15-09999f9f22ba",
  "trace_id": "da4c7895-e494-4bd8-83bd-132e006c94e3",
  "data": [
    {"id":"b3cd3e7d-96e4-48ef-abde-73c7ddee8b4a","title":"single soft analog synth pluck, no reverb","audio_url":"https://cdn.acedata2.cloud/suno/b3cd3e7d-96e4-48ef-abde-73c7ddee8b4a.mp3","model":"chirp-v6","state":"succeeded","duration":10},
    {"id":"f1517867-b76a-4cdf-b006-9ce6e653e0a5","title":"single soft analog synth pluck, no reverb","audio_url":"https://cdn.acedata2.cloud/suno/f1517867-b76a-4cdf-b006-9ce6e653e0a5.mp3","model":"chirp-v6","state":"succeeded","duration":10}
  ],
  "cost": {"amount": 0.1008, "currency": "credit", "list_amount": 0.112}
}
```

## Justera ljudhastighet

`adjust_speed` justerar uppspelningshastigheten för det angivna ljudet och anropas via `POST /suno/audios`.

* Obligatoriskt: `action`, `audio_id`, `speed_multiplier`, `title`.
* Valfritt: `keep_pitch`.
* `speed_multiplier`: intervall 0.25–4.
* Debitering: 0.28 Credits.

```json theme={null}
{
  "action": "adjust_speed",
  "audio_id": "dead4ee5-df4d-417b-8f7e-717722fae51a",
  "speed_multiplier": 1.1,
  "keep_pitch": true,
  "title": "Suno contract verification speed 1.1x",
  "async": true
}
```

Källjudets längd är 9.8 sekunder, och resultatet vid 1.1 gånger hastighet är 8.909090909 sekunder:

```json theme={null}
{
  "success": true,
  "task_id": "c5860fdd-76b1-40a1-b5b5-ec047e471c8a",
  "trace_id": "292ed097-3631-441c-ac80-52f326b62726",
  "data": [
    {
      "id": "02534b52-45a7-4961-834a-f473a407e62c",
      "title": "Suno contract verification speed 1.1x",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3?example=audio-001",
      "model": "chirp-v6",
      "state": "succeeded",
      "duration": 8.909090909090908
    }
  ],
  "cost": {
    "amount": 0.252,
    "currency": "credit",
    "list_amount": 0.28
  }
}
```

Genereringsmodellen har slumpmässighet. API:et garanterar att parametersemantik, uppgiftsstatus och svarsstruktur är konsekventa, men garanterar inte att olika förfrågningar genererar exakt samma vågform.

## Avancerade parametrar för anpassad generering

Officiellt tillåts användning av de avancerade parametrarna `weirdness`==>`Weirdness`, `style_influence`==>`Style Influence`, `audio_weight`==>`Audio Influence` för generering i anpassat läge, vilket motsvarar följande officiella exempel:

![](https://cdn.acedata.cloud/1xonxy.png)

De avancerade parametrarnas intervall ligger alla mellan 0 och 1, och de specifika parametrarna visas i bilden nedan:

![](https://cdn.acedata.cloud/7i94ih.png)

Efter att ifyllningen har slutförts genereras följande kod automatiskt:

![](https://cdn.acedata.cloud/2dlbo6.png)

Motsvarande Python-kod:

```python theme={null}
import requests

url = "https://api.acedata.cloud/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "generate",
    "model": "chirp-v4-5",
    "lyric": "Hello Hello Hello ",
    "custom": True,
    "weirdness": 0.4,
    "style_influence": 0.4,
    "audio_weight": 0.4
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

Klicka på kör, så kan man se att ett resultat erhålls, enligt följande:

```json theme={null}
{
  "success": true,
  "task_id": "2f3aa682-e1a7-43a9-9fbb-ed0ce8668a4b",
  "trace_id": "07408194-7deb-4a52-a36d-9a9a13143b5f",
  "data": [
    {
      "id": "c66e2077-7580-43f2-9937-c67a8afcd8bd",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-039",
      "lyric": "Hello Hello Hello ",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-07-10T12:54:35.199Z",
      "model": "chirp-auk",
      "state": "succeeded",
      "style": "",
      "duration": 187.92
    },
    {
      "id": "a922f97b-307c-4c4d-aae3-a47ba8202a10",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-040",
      "lyric": "Hello Hello Hello ",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-07-10T12:54:35.199Z",
      "model": "chirp-auk",
      "state": "succeeded",
      "style": "",
      "duration": 229.64
    }
  ]
}
```

På detta sätt användes avancerade parametrar för att generera en anpassad låt, och resultatet liknar det ovan.

## Kontrollera låtlängd

Som standard bestäms längden på den genererade låten av modellen själv, vanligtvis mellan 30 sekunder och 4 minuter. Om en längre eller kortare slutprodukt behövs kan den önskade längden anges via parametern `duration`, enheten är sekunder och värdet är ett heltal mellan 10 och 360.

Denna parameter används för låtgenerering i anpassat läge (`custom` är `true`). Det bör särskilt förklaras att `duration` är en **riktgivande antydan, inte en hård begränsning**: modellen kommer att hänvisa till detta värde när den skapar, men garanterar inte att uppnå det. I praktiska tester är den faktiska längden vanligtvis tydligt kortare än det förväntade värdet, och längden på de två låtar som returneras av samma förfrågan kan också skilja sig flera gånger om. Även för helt identiska förfrågningar kan längden som erhålls vid flera inskick skilja sig mycket. Använd därför inte detta som exakt längdkontroll; om verksamheten kräver en fast längd, beskär eller försök igen själv efter att slutprodukten har erhållits.

Motsvarande Python-kod:

```python theme={null}
import requests

url = "https://api.acedata.cloud/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "generate",
    "model": "chirp-v5-5",
    "custom": True,
    "title": "Under the City Lights",
    "style": "lo-fi piano",
    "lyric": "[Verse]\nSunrise creepin\nGold on the floor\n[Chorus]\nUnder the city lights\n",
    "duration": 330
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

Det bör noteras att `duration` i begäran är den **förväntade längden**, medan fältet `duration` för varje låt i svarets `data` är den låtens **faktiska längd**. De har samma namn men olika betydelser, och den faktiska längden garanteras inte vara lika med det förväntade värdet. Textlängden är en av de främsta faktorerna som påverkar den färdiga produktens längd; om du behöver en längre färdig produkt rekommenderas det att du samtidigt tillhandahåller mer fullständiga låttexter.

Gränssnittet validerar att `duration` måste vara ett heltal mellan 10 och 360; det är fortfarande bara ett genereringsmål, inte en garanti för den färdiga produktens längd.

## Add Insterumental-funktion

I augusti 2025 lanserade suno den nya Add Insterumental-funktionen. Först behöver du ladda upp en a cappella-låt utan ackompanjemang, så att suno kan hjälpa dig att lägga till musik. Du kan först gå till [Suno Upload API](https://platform.acedata.cloud/documents/suno-upload) för att ladda upp en a cappella-låt utan ackompanjemang. Motsvarande åtgärd visas i bilden nedan:

![](https://cdn.acedata.cloud/fxl914.png)

Därefter behöver du registrera `audio_id` efter uppladdningen. Det specifika resultatet visas i bilden nedan:

![](https://cdn.acedata.cloud/47t6wj.png)

Till sist erhålls en `audio_id`: 92254cab-3372-4d9e-bce9-cdcfdbc39070, och sedan behöver vi även fylla i följande parametrar:

* action: innehållet är `underpainting`.
* underpainting\_start: starttiden för att lägga till ackompanjemang till den uppladdade låten, standardvärdet är 0.
* underpainting\_end: sluttiden för att lägga till ackompanjemang till den uppladdade låten, måste vara mindre än låtens totala längd.
* audio\_id: ID för den uppladdade a cappella-låten utan ackompanjemang.
* style: stilen på ackompanjemanget, det är bäst att inte använda låttext eftersom det är ackompanjemang.

Efter att ha fyllt i allt genereras följande kod automatiskt:

![](https://cdn.acedata.cloud/8x1ic6.png)

Motsvarande Python-kod:

```python theme={null}
import requests

url = "https://api.acedata.cloud/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "underpainting",
    "model": "chirp-v4-5",
    "style": "Pop rap, uplifting, magnetic male vocals, piano, synth, electric guitar, driving bass, clear structure",
    "audio_id": "92254cab-3372-4d9e-bce9-cdcfdbc39070",
    "underpainting_end": 120
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

Klicka på kör, så kan du se att ett resultat erhålls, enligt följande:

```json theme={null}
{
  "success": true,
  "task_id": "822d2e14-c535-4d48-a4e5-1b6ab00b04a7",
  "trace_id": "257eac2c-8e4f-44d0-8454-5e215111eefa",
  "data": [
    {
      "id": "2788cd21-bd84-422d-beb5-859c60fbf5b6",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-041",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-08-27T15:25:42.548Z",
      "model": "chirp-v4",
      "state": "succeeded",
      "style": "Pop rap, uplifting, magnetic male vocals, piano, synth, electric guitar, driving bass, clear structure",
      "duration": 10.16
    },
    {
      "id": "a4bb7220-e971-4cbf-a626-b86c648bcf55",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-042",
      "lyric": "",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-08-27T15:25:42.548Z",
      "model": "chirp-v4",
      "state": "succeeded",
      "style": "Pop rap, uplifting, magnetic male vocals, piano, synth, electric guitar, driving bass, clear structure",
      "duration": 2.52
    }
  ]
}
```

På så sätt slutförs åtgärden att lägga till musik till den uppladdade a cappella-låten utan ackompanjemang, och resultatet liknar det ovan.

## Add Vocals-funktion

I augusti 2025 lanserade suno den nya Add Vocals-funktionen. Först behöver du ladda upp ett rent instrumentalt stycke, så att suno kan skriva text och skapa sång med mänsklig röst. Du kan först gå till [Suno Upload API](https://platform.acedata.cloud/documents/suno-upload) för att ladda upp en a cappella-låt utan ackompanjemang. Motsvarande åtgärd visas i bilden nedan:

![](https://cdn.acedata.cloud/fxl914.png)

Därefter behöver du registrera `audio_id` efter uppladdningen. Det specifika resultatet visas i bilden nedan:

![](https://cdn.acedata.cloud/47t6wj.png)

Till sist erhålls en `audio_id`: 92254cab-3372-4d9e-bce9-cdcfdbc39070, och sedan behöver vi även fylla i följande parametrar:

* action: innehållet är `overpainting`.
* overpainting\_start: starttiden för att lägga till sång till den uppladdade låten, standardvärdet är 0.
* overpainting\_end: sluttiden för att lägga till sång till den uppladdade låten, måste vara mindre än låtens totala längd.
* audio\_id: ID för den uppladdade a cappella-låten utan ackompanjemang.
* custom: i detta läge måste anpassat läge användas för att fylla i låttexten.
* lyric: låttexten som fylls i under anpassat läge.
* style: stilen på ackompanjemanget.

Efter att ha fyllt i allt genereras följande kod automatiskt:

![](https://cdn.acedata.cloud/a4pbes.png)

Motsvarande Python-kod:

```python theme={null}
import requests

url = "https://api.acedata.cloud/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "overpainting",
    "model": "chirp-v4-5",
    "lyric": "Yea your were the best I could get \\nBut I knew that it couldn’t last \\nStayed down since we were friends \\nHad to leave those thoughts in the past \\nMade like 40k just last week \\nOn top of the 20 with my babe\\ndon’t care for what niggas say",
    "custom": True,
    "audio_id": "92254cab-3372-4d9e-bce9-cdcfdbc39070",
    "overpainting_end": 120
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

Klicka på kör, så ser du att du får ett resultat, enligt följande:

```json theme={null}
{
  "success": true,
  "task_id": "31bb250e-6614-49ec-ac85-631f224daeba",
  "trace_id": "efe8e7f3-9a65-4f13-a9f8-51e8478899df",
  "data": [
    {
      "id": "a597f945-64df-4722-a631-d436450832bd",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-043",
      "lyric": "Yea your were the best I could get \\nBut I knew that it couldn’t last \\nStayed down since we were friends \\nHad to leave those thoughts in the past \\nMade like 40k just last week \\nOn top of the 20 with my babe\\ndon’t care for what niggas say",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-08-27T15:33:51.550Z",
      "model": "chirp-v4",
      "state": "succeeded",
      "style": "",
      "duration": 105.32
    },
    {
      "id": "b41a8b91-3d88-4ebd-a6cf-732764b24954",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-044",
      "lyric": "Yea your were the best I could get \\nBut I knew that it couldn’t last \\nStayed down since we were friends \\nHad to leave those thoughts in the past \\nMade like 40k just last week \\nOn top of the 20 with my babe\\ndon’t care for what niggas say",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-08-27T15:33:51.550Z",
      "model": "chirp-v4",
      "state": "succeeded",
      "style": "",
      "duration": 148.16
    }
  ]
}
```

På så sätt är åtgärden att lägga till sång till den uppladdade a cappella-låten utan sång slutförd, och resultatet liknar det ovan.

## Remaster-funktion

I december 2025 lanserade suno den nya Remaster-funktionen. Denna funktion kan generera låtar på nytt och kan inte användas mellan konton. Därefter behöver vi fylla i följande parametrar:

* action：innehållet är `remaster`。
* audio\_id：ID:t för låten som behöver genereras på nytt。
* model：stöder endast v4.5+、v5。
* variation\_category：stöds endast i versioner över v5, och har endast 3 värden: high normal subtle。

Efter ifyllnad genereras koden automatiskt enligt följande:

![](https://cdn.acedata.cloud/7h4zmw.png)

Motsvarande Python-kod:

```python theme={null}
import requests

url = "https://api.acedata.cloud/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "remaster",
    "variation_category": "high",
    "audio_id": "21fd46d4-45c3-4826-bec9-3f3df667902e"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

Klicka på kör, så ser du att du får ett resultat, enligt följande:

```json theme={null}
{
  "success": true,
  "task_id": "791ee74c-9363-4352-afe7-babb19b89899",
  "trace_id": "77acda57-c3d4-4e11-a506-4f50e0609916",
  "data": [
    {
      "id": "b0515cdf-9cb5-46cd-b0fe-10a239dc9274",
      "title": "Navidad en costura  (Remastered)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-045",
      "image_large_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-046",
      "lyric": "En Teror las clases siguen,\nni en Navidad hay parón;\ncose el grupo entre villancicos\ny un buen trocito de turrón.\nLa Popular abre sus puertas,\ny el taller suena mejor;\nhilo, aguja y canto alegre\nlo pasaremos mejor\nSeguimos en las costuras,\ncon música y diversión;\nlos alumnos comeremos\nGolosinas un montón ",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-12-04T13:09:59.936Z",
      "model": "chirp-v4",
      "state": "succeeded",
      "style": "Villancico",
      "duration": 32.2
    },
    {
      "id": "06edab94-a4f9-4c0c-abac-a2e8a97c76a8",
      "title": "Navidad en costura  (Remastered)",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-047",
      "image_large_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-048",
      "lyric": "En Teror las clases siguen,\nni en Navidad hay parón;\ncose el grupo entre villancicos\ny un buen trocito de turrón.\nLa Popular abre sus puertas,\ny el taller suena mejor;\nhilo, aguja y canto alegre\nlo pasaremos mejor\nSeguimos en las costuras,\ncon música y diversión;\nlos alumnos comeremos\nGolosinas un montón ",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2025-12-04T13:09:59.936Z",
      "model": "chirp-v4",
      "state": "succeeded",
      "style": "Villancico",
      "duration": 32.2
    }
  ]
}
```

På så sätt är åtgärden att generera om redan genererade låtar slutförd, och resultatet liknar det ovan.

## Mashup-funktion för generering av mixad musik

I december 2025 lanserade suno den nya Mashup-funktionen. Denna funktion kan generera låtar utifrån två referenslåtar. Därefter behöver vi fylla i följande parametrar:

* action：innehållet är `mashup`。
* mashup\_audio\_ids：ID:n för de två referenslåtarna。
  Efter ifyllning genereras följande kod automatiskt:

![](https://cdn.acedata.cloud/8mo82l.png)

Motsvarande Python-kod:

```python theme={null}
import requests

url = "https://api.acedata.cloud/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "mashup",
    "lyric": "Sambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\n\\nSambuy come  \\nSambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\n\\nSambuy come  \\nSambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\n\\nSambuy come  \\nSambuy come back  \\nSambuy come, Sambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\n\\nSambuy come  \\nSambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\nSambuy come back",
    "model": "chirp-v4-5",
    "custom": True,
    "instrumental": False,
    "mashup_audio_ids": ["9f102969-0024-479e-b38f-c0c5db21383d","6aebb715-701c-433f-b976-a7ff5cf16255"]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

Klicka på kör, så kan du se att du får ett resultat enligt följande:

```json theme={null}
{
  "success": true,
  "task_id": "3fe070eb-2ab1-4424-909c-acfe3ca761af",
  "trace_id": "2b220382-7a84-4853-ae43-05cdcad233a9",
  "data": [
    {
      "id": "5ff751dc-0e72-4de9-a54b-2cad50984b47",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-049",
      "image_large_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-050",
      "lyric": "Sambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\n\\nSambuy come  \\nSambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\n\\nSambuy come  \\nSambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\n\\nSambuy come  \\nSambuy come back  \\nSambuy come, Sambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\n\\nSambuy come  \\nSambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\nSambuy come back",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2026-01-25T15:13:30.181Z",
      "model": "chirp-v4-5",
      "state": "succeeded",
      "style": "",
      "duration": 219.08
    },
    {
      "id": "19c515c4-d7b3-4a17-8ab0-dd1ebd4861b8",
      "title": "",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-051",
      "image_large_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-052",
      "lyric": "Sambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\n\\nSambuy come  \\nSambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\n\\nSambuy come  \\nSambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\n\\nSambuy come  \\nSambuy come back  \\nSambuy come, Sambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\n\\nSambuy come  \\nSambuy come back  \\nBluespawn, greenspawn are making you a spawn  \\nSambuy come back",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2026-01-25T15:13:30.181Z",
      "model": "chirp-v4-5",
      "state": "succeeded",
      "style": "",
      "duration": 163.12
    }
  ]
}
```

På så sätt slutförs åtgärden för att generera en remix av referenslåtar, och resultatet liknar det ovan.

## Samples provtagning för att generera låtar

`samples` här avser provtagning av ett enskilt ljudintervall: välj start- och sluttid från ett befintligt ljud och använd detta segment som samplingsmaterial för skapande. Det skiljer sig från Inspo-funktionen för inspirationsskapande som använder 1 till 4 kompletta referensljudsegment längre ned. Följande parametrar behöver fyllas i:

* action: innehållet är `samples`.
* samples\_start: provtagningens starttid.
* samples\_end: provtagningens sluttid.
* audio\_id: ID:t för referenslåten som ska provtas.

Efter ifyllning genereras följande kod automatiskt:

![](https://cdn.acedata.cloud/vkzumz.png)

Motsvarande Python-kod:

```python theme={null}
import requests

url = "https://api.acedata.cloud/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "samples",
    "model": "chirp-v5",
    "lyric": "[Verse 1]\\nPhone lit up\\nHeadline in my hand\\nFeels made up\\nStill says “you won’t understand”\\nYour name\\nMy name\\nSide by side in the scroll\\nCold black text\\nOn a story I used to hold\\n\\n[Chorus]\\nYou’re breaking news\\nAnd I’m just breaking\\nFront-page truth\\nHeart still shaking\\nEverybody reads\\nWhat we already knew\\nYou’re a story now\\nAnd I’m the one you broke it to\\n\\n[Verse 2]\\nNeighbors talk\\nThrough a half-closed door\\nCoffee cools\\nOn a cracked old floor\\nYour suitcase snaps\\nLike a camera flash\\nOne last quote\\nThen you cut to black\\n\\n[Chorus]\\nYou’re breaking news\\nAnd I’m just breaking\\nFront-page truth\\nHeart still shaking\\nEverybody reads\\nWhat we already knew\\nYou’re a story now\\nAnd I’m the one you broke it to\\n\\n[Bridge]\\nIs there a line\\nWhere we rewind\\nOr just a feed\\nThat leaves us behind\\nTell me\\nWho gets\\nThe final view\\nWhen I stop trending\\nWith you\\n\\n[Chorus]\\nYou’re breaking news\\nAnd I’m just breaking\\nFront-page truth\\nHeart still shaking\\nEverybody reads\\nWhat we already knew\\nYou’re a story now\\nAnd I’m the one you broke it to (yeah)",
    "custom": True,
    "instrumental": False,
    "audio_id": "0fa07665-6b8e-4a8b-8bd3-7e0cfcdada88",
    "samples_end": 102.16,
    "samples_start": 59.88
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

Klicka på kör, så kan du se att du får ett resultat enligt följande:

```json theme={null}
{
  "success": true,
  "task_id": "12135a45-6384-4683-9bb1-64f19933915a",
  "trace_id": "683e559d-340e-4c72-8fae-e683442ac7e9",
  "data": [
    {
      "id": "9a0b680f-a9ea-4a36-8695-8ea777ab6ee7",
      "title": "Whistle in the Wind",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-053",
      "image_large_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-054",
      "lyric": "[Verse 1]\nPhone lit up\nHeadline in my hand\nFeels made up\nStill says “you won’t understand”\nYour name\nMy name\nSide by side in the scroll\nCold black text\nOn a story I used to hold\n[Chorus]\nYou’re breaking news\nAnd I’m just breaking\nFront-page truth\nHeart still shaking\nEverybody reads\nWhat we already knew\nYou’re a story now\nAnd I’m the one you broke it to\n[Verse 2]\nNeighbors talk\nThrough a half-closed door\nCoffee cools\nOn a cracked old floor\nYour suitcase snaps\nLike a camera flash\nOne last quote\nThen you cut to black\n[Chorus]\nYou’re breaking news\nAnd I’m just breaking\nFront-page truth\nHeart still shaking\nEverybody reads\nWhat we already knew\nYou’re a story now\nAnd I’m the one you broke it to\n[Bridge]\nIs there a line\nWhere we rewind\nOr just a feed\nThat leaves us behind\nTell me\nWho gets\nThe final view\nWhen I stop trending\nWith you\n[Chorus]\nYou’re breaking news\nAnd I’m just breaking\nFront-page truth\nHeart still shaking\nEverybody reads\nWhat we already knew\nYou’re a story now\nAnd I’m the one you broke it to (yeah)",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2026-01-31T14:34:45.043Z",
      "model": "chirp-v5",
      "state": "succeeded",
      "style": "acoustic with a hint of optimism,folk-pop,female vocals",
      "duration": 176.92
    },
    {
      "id": "66473dee-3aaf-43b2-80fd-76568b3abbb1",
      "title": "Whistle in the Wind",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-055",
      "image_large_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-056",
      "lyric": "[Verse 1]\nPhone lit up\nHeadline in my hand\nFeels made up\nStill says “you won’t understand”\nYour name\nMy name\nSide by side in the scroll\nCold black text\nOn a story I used to hold\n[Chorus]\nYou’re breaking news\nAnd I’m just breaking\nFront-page truth\nHeart still shaking\nEverybody reads\nWhat we already knew\nYou’re a story now\nAnd I’m the one you broke it to\n[Verse 2]\nNeighbors talk\nThrough a half-closed door\nCoffee cools\nOn a cracked old floor\nYour suitcase snaps\nLike a camera flash\nOne last quote\nThen you cut to black\n[Chorus]\nYou’re breaking news\nAnd I’m just breaking\nFront-page truth\nHeart still shaking\nEverybody reads\nWhat we already knew\nYou’re a story now\nAnd I’m the one you broke it to\n[Bridge]\nIs there a line\nWhere we rewind\nOr just a feed\nThat leaves us behind\nTell me\nWho gets\nThe final view\nWhen I stop trending\nWith you\n[Chorus]\nYou’re breaking news\nAnd I’m just breaking\nFront-page truth\nHeart still shaking\nEverybody reads\nWhat we already knew\nYou’re a story now\nAnd I’m the one you broke it to (yeah)",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "",
      "created_at": "2026-01-31T14:34:45.043Z",
      "model": "chirp-v5",
      "state": "succeeded",
      "style": "acoustic with a hint of optimism,folk-pop,female vocals",
      "duration": 177.48
    }
  ]
}
```

På så sätt slutförs åtgärden att generera en låt genom sampling, och resultatet liknar det ovan.

## Inspo-funktionen för inspirationsskapande

Inspo-funktionen för inspirationsskapande kan generera ny musik baserat på 1 till 4 kompletta referensljudfiler och stöder att dra och släppa eller ladda upp ljud som inspirationskälla. API:t använder den befintliga `inspo`-åtgärden: klienten tillhandahåller en offentligt tillgänglig ljud-URL, och tjänsten slutför automatiskt förberedelsen av referensljud och skapandet, utan att klienten separat behöver läsa in låttext, stil eller längd och sedan sätta ihop begäran. Den skiljer sig från intervallsampling ovan och även från Cover, som återskapar originalets stil. Vid användning behöver följande parametrar fyllas i:

* action: Innehållet är `inspo`.
* audio\_urls: En lista med URL:er för referensljud; 1 till 4 offentligt tillgängliga ljudadresser måste tillhandahållas.
* model: Modellen som används; `chirp-v6` rekommenderas.
* prompt: Låttext eller kreativ ledtext (valfritt).

> Obs: Referensljudet måste vara en offentligt tillgänglig ljudfil. Om referensljudet exakt matchar en känd inspelning i plattformens musikbibliotek kan Suno neka generering på grund av upphovsrättskontroll. Det rekommenderas att använda eget ljud eller ljud genererat av Suno som inspirationskälla.

Motsvarande Python-kod:

```python theme={null}
import requests

url = "https://api.acedata.cloud/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "inspo",
    "model": "chirp-v6",
    "audio_urls": [
        "https://cdn.acedata.cloud/uploads/a0bc051f-42c2-4a46-aeb4-582dcc884ad2"
    ],
    "prompt": "Rework these references as warm acoustic folk with soft vocals"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

Nedan behålls en verifierad historisk svarsögonblicksbild; ögonblicksbilden använder dåtidens `chirp-v5`, medan `chirp-v6` rekommenderas för det aktuella begäransexemplet, och svarsstrukturen är densamma:

```json theme={null}
{
    "success": true,
    "task_id": "725e6b41-78d0-4adf-856c-05e81098c029",
    "trace_id": "8c2f0b3e-2f6a-4738-8b1d-c58068ca3dab",
    "data": [
        {
            "id": "20ca5628-86e0-4c32-8ae4-9f0c481e45f3",
            "title": "Inspo Demo",
            "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-057",
            "lyric": "",
            "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
            "video_url": "",
            "created_at": "2026-06-18T13:01:53.910Z",
            "model": "chirp-v5",
            "state": "succeeded",
            "style": "acoustic, folk, warm",
            "duration": 36.92
        },
        {
            "id": "8744a796-9961-45af-868d-4f3bc1c44257",
            "title": "Inspo Demo",
            "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-058",
            "lyric": "",
            "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
            "video_url": "",
            "created_at": "2026-06-18T13:01:53.910Z",
            "model": "chirp-v5",
            "state": "succeeded",
            "style": "acoustic, folk, warm",
            "duration": 84.16
        }
    ]
}
```

På så sätt slutförs processen för inspirationsskapande, och det returnerade resultatet är detsamma som vid vanlig låtgenerering.

## Asynkron återuppringning

Eftersom det tar relativt lång tid för Suno att generera musik, ungefär 1–2 minuter, kommer HTTP-begäran att fortsätta hålla anslutningen om API:t inte svarar under en längre tid, vilket leder till ytterligare förbrukning av systemresurser. Därför erbjuder detta API även stöd för asynkrona återuppringningar.

Det övergripande flödet är: när klienten initierar en begäran anges dessutom ett fält `callback_url`. Efter att klienten har initierat API-begäran returnerar API:t omedelbart ett resultat som innehåller fältet `task_id`, vilket representerar ID:t för den aktuella uppgiften. När uppgiften är slutförd skickas resultatet av den genererade musiken i form av POST JSON till den `callback_url` som klienten har angett, vilket också inkluderar fältet `task_id`, så att uppgiftsresultaten kan kopplas samman via ID:t.

Nedan använder vi ett exempel för att förstå hur den konkreta processen fungerar.

Först är Webhook-återuppringningen en tjänst som kan ta emot HTTP-begäranden, och utvecklaren bör ersätta den med URL:en till sin egen uppsatta HTTP-server. För att underlätta demonstrationen används här en offentlig Webhook-exempelwebbplats [https://webhook.site/](https://webhook.site/). Öppna webbplatsen för att få en Webhook-URL, som visas i figuren:

![](https://cdn.acedata.cloud/fwfqin.png)

Kopiera denna URL så kan den användas som Webhook. Exemplet här är [https://webhook.site/03e60575-3d96-4132-b681-b713d78116e2](https://webhook.site/03e60575-3d96-4132-b681-b713d78116e2).

Därefter kan vi ange fältet `callback_url` som ovanstående Webhook-URL och samtidigt fylla i `prompt`, som visas i figuren:

![](https://cdn.acedata.cloud/x8xql1.png)

Klicka på kör, så kan du se att ett resultat erhålls omedelbart, enligt följande:

```
{
  "task_id": "44472ab8-783b-4054-b861-5bf14e462f60"
}
```

Efter en kort stund kan vi på [https://webhook.site/03e60575-3d96-4132-b681-b713d78116e2](https://webhook.site/03e60575-3d96-4132-b681-b713d78116e2) observera resultatet av den genererade låten, som visas i figuren:

![](https://cdn.acedata.cloud/f9kosb.png)

Innehållet är följande:

```json theme={null}
{
  "success": true,
  "task_id": "44472ab8-783b-4054-b861-5bf14e462f60",
  "data": [
    {
      "id": "da4324e5-84b2-484b-b0e9-dd261381c594",
      "title": "Winter Whispers",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-059",
      "lyric": "[Verse]\nSnow falling gently from the sky\nChildren giggling as they pass by\nFire crackling\nCozy and warm\nChristmas spirit begins to swarm\n[Verse 2]\nTwinkling lights\nA sight to behold\nStockings hung\nWaiting to be filled with gold\nGifts wrapped with love\nPiled high\nExcitement in the air\nYou can't deny\n[Chorus]\nWinter whispers in the wind\nJoy and love it brings\nLet's celebrate this season\nWith the ones we're missing",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "https://cdn.acedata.cloud/assets/examples/gemini/04a043bd-6b23-4b4e-945c-ce48158c3eee-3a89912507c7.mp4?example=video-003",
      "created_at": "2024-05-11T07:33:05.430Z",
      "model": "chirp-v3",
      "prompt": "A song for Christmas",
      "style": "pop"
    },
    {
      "id": "b878a87b-a0db-4046-8ccd-ecd2fb3d4372",
      "title": "Winter Whispers",
      "image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-060",
      "lyric": "[Verse]\nSnow falling gently from the sky\nChildren giggling as they pass by\nFire crackling\nCozy and warm\nChristmas spirit begins to swarm\n[Verse 2]\nTwinkling lights\nA sight to behold\nStockings hung\nWaiting to be filled with gold\nGifts wrapped with love\nPiled high\nExcitement in the air\nYou can't deny\n[Chorus]\nWinter whispers in the wind\nJoy and love it brings\nLet's celebrate this season\nWith the ones we're missing",
      "audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
      "video_url": "https://cdn.acedata.cloud/assets/examples/gemini/04a043bd-6b23-4b4e-945c-ce48158c3eee-3a89912507c7.mp4?example=video-004",
      "created_at": "2024-05-11T07:33:05.430Z",
      "model": "chirp-v3",
      "prompt": "A song for Christmas",
      "style": "pop"
    }
  ]
}
```

Det går att se att resultatet innehåller ett fält `task_id`, och de övriga fälten liknar de ovan. Uppgiftskoppling kan uppnås genom detta fält.

Vi kan naturligtvis även hämta resultatet genom strömmande anrop. Vi behöver bara ställa in värdet för `accept` i begärandehuvudet till `application/x-ndjson`. Nedan används en exempelindata som demonstration:

![](https://cdn.acedata.cloud/vgffvk.png)

Under väntetiden kan vi få följande utdata:

```json theme={null}
{"success":true,"task_id":"1af4b454-ce84-4512-a0a2-de3f8574ecd8","data":[{"id":"1f610752-f426-4fd5-89a8-ba2ad0370881","title":"Snöflingor och mistel","lyric":"[Vers]\nLjusslingor har trasslat sig på granen igen\nKatten har vält kransen\nKakor bränns i ugnen också\nMen jag flinar fortfarande genom sammanbitna tänder\n[Förrefräng]\nSnö faller som glitter från himlen\nJag har en känsla av att det här året kommer att flyga förbi\n[Refräng]\nSnöflingor och mistel\nÖverallt jag går\nJag vet\nKärlek är gåvan\nGlöden\nSnöflingor och mistel\n[Vers 2]\nMormor sjunger lite falskt\nBarnen skrattar för högt\nHunden har stulit ett kalkonben\nKaos är en julfolkmassa\n[Förrefräng]\nMen elden sprakar\nVarm och ljus\nOch mitt hjärta är ett ljus i kväll\n[Refräng]\nSnöflingor och mistel\nÖverallt jag går\nJag vet\nKärlek är gåvan\nGlöden\nSnöflingor och mistel","audio_url":"","video_url":"","created_at":"2025-12-13T11:29:25.101Z","model":"chirp-v5","state":"pending","prompt":"En sång till jul","style":"upplyftande, orkestral med klockor och akustisk gitarr"},{"id":"d1a3109d-799b-401e-b032-4b501bcf26f3","title":"Snöflingor och mistel","lyric":"[Vers]\nLjusslingor har trasslat sig på granen igen\nKatten har vält kransen\nKakor bränns i ugnen också\nMen jag flinar fortfarande genom sammanbitna tänder\n[Förrefräng]\nSnö faller som glitter från himlen\nJag har en känsla av att det här året kommer att flyga förbi\n[Refräng]\nSnöflingor och mistel\nÖverallt jag går\nJag vet\nKärlek är gåvan\nGlöden\nSnöflingor och mistel\n[Vers 2]\nMormor sjunger lite falskt\nBarnen skrattar för högt\nHunden har stulit ett kalkonben\nKaos är en julfolkmassa\n[Förrefräng]\nMen elden sprakar\nVarm och ljus\nOch mitt hjärta är ett ljus i kväll\n[Refräng]\nSnöflingor och mistel\nÖverallt jag går\nJag vet\nKärlek är gåvan\nGlöden\nSnöflingor och mistel","audio_url":"","video_url":"","created_at":"2025-12-13T11:29:25.101Z","model":"chirp-v5","state":"pending","prompt":"En sång till jul","style":"upplyftande, orkestral med klockor och akustisk gitarr"}]}
{"success":true,"task_id":"1af4b454-ce84-4512-a0a2-de3f8574ecd8","trace_id":"4440342a-41c4-4140-8bb1-3537a598ca2e","data":[{"id":"1f610752-f426-4fd5-89a8-ba2ad0370881","title":"Snöflingor och mistel","image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-073","image_large_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-074","lyric":"[Vers]\nLjusslingor har trasslat sig på granen igen\nKatten har vält kransen\nKakor bränns i ugnen också\nMen jag flinar fortfarande genom sammanbitna tänder\n[Förrefräng]\nSnö faller som glitter från himlen\nJag har en känsla av att det här året kommer att flyga förbi\n[Refräng]\nSnöflingor och mistel\nÖverallt jag går\nJag vet\nKärlek är gåvan\nGlöden\nSnöflingor och mistel\n[Vers 2]\nMormor sjunger lite falskt\nBarnen skrattar för högt\nHunden har stulit ett kalkonben\nKaos är en julfolkmassa\n[Förrefräng]\nMen elden sprakar\nVarm och ljus\nOch mitt hjärta är ett ljus i kväll\n[Refräng]\nSnöflingor och mistel\nÖverallt jag går\nJag vet\nKärlek är gåvan\nGlöden\nSnöflingor och mistel","audio_url":"https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3","video_url":"","created_at":"2025-12-13T11:29:25.101Z","model":"chirp-v5","state":"succeeded","prompt":"En sång till jul","style":"upplyftande, orkestral med klockor och akustisk gitarr","duration":129.92},{"id":"d1a3109d-799b-401e-b032-4b501bcf26f3","title":"Snöflingor och mistel","image_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-075","image_large_url": "https://cdn.acedata.cloud/e724d7f13d.png?example=image-076","lyric":"[Vers]\nLjusslingor har trasslat sig på granen igen\nKatten har vält kransen\nKakor bränns i ugnen också\nMen jag flinar fortfarande genom sammanbitna tänder\n[Förrefräng]\nSnö faller som glitter från himlen\nJag har en känsla av att det här året kommer att flyga förbi\n[Refräng]\nSnöflingor och mistel\nÖverallt jag går\nJag vet\nKärlek är gåvan\nGlöden\nSnöflingor och mistel\n[Vers 2]\nMormor sjunger lite falskt\nBarnen skrattar för högt\nHunden har stulit ett kalkonben\nKaos är en julfolkmassa\n[Förrefräng]\nMen elden sprakar\nVarm och ljus\nOch mitt hjärta är ett ljus i kväll\n[Refräng]\nSnöflingor och mistel\nÖverallt jag går\nJag vet\nKärlek är gåvan\nGlöden\nSnöflingor och mistel","audio_url":"https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3","video_url":"","created_at":"2025-12-13T11:29:25.101Z","model":"chirp-v5","state":"succeeded","prompt":"En sång till jul","style":"upplyftande, orkestral med klockor och akustisk gitarr","duration":127.16}]}
```

Strömmande svar kommer att skicka bearbetningsstatus och slutresultat i tur och ordning för samma `task_id`; ovan har endast de första och sista två verkliga svaren behållits, medan upprepade mellanliggande uppdateringar har utelämnats.

## Felhantering

Om ett fel uppstår får du ett felmeddelande som liknar följande:

```json theme={null}
{
  "success": false,
  "error": {
    "code": "forbidden",
    "message": "Sångbeskrivningen innehöll artistnamnet: eminem"
  },
  "trace_id": "9bb7c2f4-3b7b-4965-b50a-f663874b1b6f",
  "task_id": "9bb3a2a6-c438-436d-a9f3-fa466abc077c"
}
```

Nedan följer en lista över HTTP-statuskoder, `error.code`, `error.message`:

> Obs: Olika uppströmskontons gränser och felmeddelanden kan skilja sig åt. Vanligtvis har `chirp-v3-5`/`chirp-v4` lägre begränsningar för `style` (200), medan `chirp-v4-5` och senare vanligtvis stöder upp till 1000; när en äldre uppströmskälla används kan kompatibilitetsmeddelanden som `Tags too long.` eller `style must be less than or equal 120` förekomma.
> \| Statuskod | `error.code`  | `error.message`                                                 |
> \| --------- | ------------- | --------------------------------------------------------------- |
> \| 400       | `bad_request` | `Sång-id:t finns inte eller har tagits offline.`                |
> \| 400       | `bad_request` | `Prompten är för lång.`                                        |
> \| 400       | `bad_request` | `Taggarna är för långa.`                                       |
> \| 400       | `bad_request` | `Uppladdat ljud matchar ett befintligt konstverk.`              |
> \| 400       | `bad_request` | `instrumental måste vara ett booleskt värde`                    |
> \| 400       | `bad_request` | `Titeln är för lång.`                                          |
> \| 400       | `bad_request` | `Ämnet är för långt.`                                          |
> \| 400       | `bad_request` | `style måste vara mindre än eller lika med 120`                 |
> \| 400       | `bad_request` | `custom måste vara ett booleskt värde`                          |
> \| 400       | `bad_request` | `audio_id krävs vid utökning av ljud`                           |
> \| 400       | `bad_request` | `continue_at krävs vid utökning av ljud`                        |
> \| 400       | `bad_request` | `continue_at måste vara ett tal större än 0`                    |
> \| 400       | `bad_request` | `lyric krävs vid utökning av ljud och när instrumental är falskt` |
> \| 400       | `bad_request` | `prompt krävs vid generering av ljud`                           |
> \| 400       | `bad_request` | `lyric krävs vid generering av anpassat ljud`                   |
> \| 403       | `forbidden`   | `Prompten är troligen felaktigt formulerad`                     |
> \| 403       | `forbidden`   | `Prompten är troligen upphovsrättsskyddad`                      |
> \| 403       | `forbidden`   | `Prompten innehöll olämpligt material`                          |
> \| 403       | `forbidden`   | `Sångbeskrivningen flaggades för moderering`                    |
> \| 403       | `forbidden`   | `Sångbeskrivningen innehöll artistnamn`                         |
> \| 403       | `forbidden`   | `Taggarna innehöll artistnamn`                                  |
> \| 403       | `forbidden`   | `Låttexten innehöll upphovsrättsskyddat material`               |
> \| 403       | `forbidden`   | `Sångbeskrivningen innehöll producenttagg`                      |
> \| 403       | `forbidden`   | `Generiskt openAI-fel`                                          |
> \| 403       | `forbidden`   | `Prompten flaggades för moderering`                             |
> \| 500       | `api_error`   | `Det går inte att generera låttext från sångbeskrivningen`      |
> \| 500       | `api_error`   | `jobbet misslyckades med okänt fel`                             |
> \| 500       | `api_error`   | `ingen tillgänglig arbetare i systemet`                         |
> \| 500       | `api_error`   | `tjänsten underhålls, generering pausad`                        |
> \| 504       | `timeout`     | `tidsgränsen överskreds medan ljudgenerering väntade`           |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.