Skip to main content
Denna artikel kommer att introducera en Producer Audios Generation API integrationsbeskrivning, som kan generera officiell musik från Producer genom att ange anpassade parametrar.

Ansökningsprocess

För att använda Producer Audios Generation API, börja med att gå till Ace Data Cloud-konsolen för att hämta din API-token, som du ska spara. Om du inte har loggat in eller registrerat dig, kommer du automatiskt att omdirigeras till inloggningssidan där du blir inbjuden att registrera dig och logga in, och efter att ha slutfört detta kommer du automatiskt att återvända till den aktuella sidan. En API-token räcker för att anropa alla tjänster på plattformen, du behöver inte ansöka separat för varje tjänst. Första gången du ansöker får du en gratis kvot för att prova; när kvoten är slut kan du ladda på allmän balans i konsolen.
📘 Fullständig dokumentation: Producer Audios Generation API →

Grundläggande användning

Tänk på vilken låt du vill ha, du kan ange en text, till exempel om jag vill generera en låt om julen, kan jag skriva a song for Christmas, som visas i bilden:

Här kan vi se att vi har ställt in Request Headers, inklusive:
  • accept: vilken format av svar du vill ta emot, här anges application/json, det vill säga JSON-format.
  • authorization: nyckeln för att anropa API:et, efter ansökan kan du välja direkt från en rullgardinsmeny.
Dessutom inkluderar Request Body parametrarna:
  • action: beteendet för denna musikgenereringsuppgift, att generera en låt är generate.
  • model: modellen som används för att skapa låten, för närvarande finns det huvudsakligen: FUZZ-2.0 Pro, FUZZ-2.0, FUZZ-2.0 Raw, FUZZ-1.1 Pro, FUZZ-1.0 Pro, FUZZ-1.0, FUZZ-1.1, FUZZ-0.8.
  • lyric: låtens textinnehåll.
  • custom: om låten ska genereras på ett anpassat sätt.
  • prompt: nyckelord under inspirationsläget.
  • title: information om låtens titel.
  • audio_id: referenslåtens ID, används för att fortsätta skriva/återge etc.
  • continue_at: börja fortsätta låten från angiven sekund.
  • replace_section_start/replace_section_end: start- och sluttid för att ersätta segment, enhet sekunder.
  • lyrics_strength: styrkan på texten, som anger hur mycket texten påverkar ljudgenereringen, valbar mellan 0-1, standard 0.7.
  • sound_strength: styrkan på ljudnyckelord, valbar mellan 0.2-1, standard 0.7.
  • cover_strength: styrka för cover, mellan 0.2-1, standard 1.
  • weirdness: stilens udda grad, valbar mellan 0-1, standard 0.5.
  • callback_url: URL för att få tillbaka resultatet.
  • async: valfritt, om det sätts till true returnerar gränssnittet omedelbart task_id, utan att behöva ange callback_url, och sedan kan du använda motsvarande uppgiftsfrågegränssnitt för att hämta resultatet.
  • instrumental: om det är en instrumental utan text.
När du har valt kan du se att motsvarande kod också har genererats till höger, som visas i bilden:

Klicka på “Try” knappen för att testa, som visas i bilden ovan, här fick vi följande resultat:
Det returnerade resultatet har flera fält, som beskrivs nedan:
  • success, statusen för musikgenereringsuppgiften.
    • data, resultatet av denna musikuppgift
      • id, ID för musikgenereringsuppgiften.
      • sound, nyckelordet för musikgenereringsuppgiften.
      • seed, frövärdet för musikgenereringsuppgiften.
      • audio_url, ljudlänken för musikgenereringsuppgiften.
      • image_url, omslagslänken för musikgenereringsuppgiften.
      • image_id, omslags-ID för musikgenereringsuppgiften.
      • state, statusen för musikgenereringsuppgiften.
      • duration, information om låtens längd.
      • progress, värdet för musikuppgiftens framsteg.
      • model, information om modellen som används för musikgenereringsuppgiften.
      • lyric, information om texten för musikgenereringsuppgiften.
Vi kan se att vi har fått information om den musik vi ville generera, vi behöver bara hämta den genererade Producer-musiken via musiklänken i data. Om du vill generera motsvarande integrationskod kan du direkt kopiera den som genererats, till exempel CURL-koden nedan:

Anpassad generering

Om du vill anpassa texten kan du ange texten: I det här fallet kan lyric-fältet ta emot innehåll som liknar följande:
Därefter kan vi anpassa låten baserat på texten, titeln och stilen genom att ange följande innehåll:
  • lyric:text för låttext
  • custom:fyll i som true, vilket representerar anpassad generering, denna parameter är som standard false, vilket representerar användning av prompt för att generera.
  • title:låtens titel.
Fyll i exempel enligt nedan:

När du har fyllt i det genereras automatiskt koden enligt följande:

Motsvarande kod:
Testning tillåten, den genererade effekten är liknande.

Coverlåt

Om du vill göra en cover av en redan genererad låt kan du ange den låt som genererades ovan för att göra en cover, nästa steg är att vi ska anpassa genereringen av låten baserat på låttext och titel. Om du vill fortsätta med en cover av en låt som du har laddat upp kan du ställa in parametern action till upload_cover och ange ID för den låt som du vill fortsätta med, låt-ID:t kan hämtas med Producer Upload API som visas i bilden nedan:

Du kan ange följande innehåll:
  • action:åtgärden för denna låtuppgift, för närvarande stöds: generate, cover, extend, upload_cover, upload_extend, replace_section, swap_vocals, swap_instrumentals, variation, denna cover använder cover-parametern.
  • lyric:text för låttext
  • title:låtens titel.
  • custom:om anpassad läge ska användas för att generera, standard är false.
  • audio_id:ID för låten som ska göras en cover av.
Fyll i exempel enligt nedan:

När du har fyllt i det genereras automatiskt koden enligt följande:

Motsvarande kod:
Testning tillåten, den genererade effekten är liknande.

Fortsätta skriva låt

Om du vill fortsätta skriva låten, behöver vi skicka in action parameter med värdet: extend, och sedan ska vi anpassa och generera låten baserat på texten, titeln och stilen. Om du vill fortsätta skriva på en låt som du har laddat upp, kan du ställa in parametern action till upload_extend och ange ID för den låt du vill fortsätta skriva på. För att få låt-ID:t använder du Producer Upload API som visas nedan:

Exempel på ifyllning:

När du har fyllt i det, genereras koden automatiskt som visas nedan:

Motsvarande kod:
Testa gärna, den genererade effekten är liknande.

Musikvariation

Om du vill generera en ny musik med liknande effekt baserat på seed-värdet från den föregående låten, behöver vi skicka in action parameter med värdet: variation, och sedan kan vi anpassa och generera en ny musik med liknande effekt. Exempel på ifyllning:

När du har fyllt i det, genereras koden automatiskt som visas nedan:

Motsvarande kod:

Ersätta avsnitt

Om du vill ersätta avsnittet av låten, behöver vi skicka in action parameter värde som: replace_section, och därefter måste vi anpassa låten baserat på texten och titeln. Om du vill fortsätta ersätta avsnittet av en låt som du har laddat upp, kan du ställa in parametern action till upload_replace_section, och ange ID för den låt du vill fortsätta skriva. Låt-ID:n kan fås genom att använda Producer Upload API som visas nedan:

Exempel på ifyllning:

När du har fyllt i, genereras koden automatiskt som visas nedan:

Motsvarande kod:
Testet tillåts, den genererade effekten är liknande.

Ackompanjemangsversion

Om du vill använda den officiella ackompanjemangsversionen kan du ställa in action-parametervärdet till: swap_instrumentals, nästa steg är att vi ska anpassa och generera låten baserat på texten och titeln. Fyll i exempelvis så här:

När du har fyllt i klart genereras automatiskt koden nedan:

Motsvarande kod:
Testa gärna, den genererade effekten är liknande.

Sångversion

Om du vill använda den officiella sångversionen kan du ställa in action-parametervärdet till: swap_vocals, nästa steg är att vi ska anpassa och generera låten baserat på texten, titeln och stilen. Fyll i exempelvis så här:

När du har fyllt i klart genereras automatiskt koden nedan:

Motsvarande kod:
Testa gärna, den genererade effekten är liknande.

Text och musik separation

Om du vill använda den officiella text och musik separationsoperationen kan du ställa in action parameter värdet till: stems, nästa steg är att vi ska separera text och musik baserat på låtens ID. Fyll i exempelvis nedan:

När du har fyllt i det kommer koden att genereras automatiskt som följer:

Motsvarande kod:
Testa tillåtet, den genererade effekten är liknande.

Asynkron callback

Eftersom Producer Audios Generation API:s genereringstid ibland kan vara relativt lång, om API:n inte svarar under en längre tid, kommer HTTP-förfrågan att hålla anslutningen öppen, vilket leder till extra systemresursförbrukning, så denna API tillhandahåller också stöd för asynkron callback. Den övergripande processen är: när klienten initierar en begäran, specificera ett extra callback_url fält, efter att klienten har initierat API-begäran kommer API:n omedelbart att returnera ett resultat som innehåller ett task_id fält, vilket representerar det aktuella uppdragets ID. När uppdraget är slutfört kommer resultatet av det genererade uppdraget att skickas till klientens angivna callback_url i POST JSON-format, vilket också inkluderar task_id fältet, så att uppdragets resultat kan kopplas ihop med ID. Låt oss förstå hur man gör detta genom ett exempel. Först är Webhook callback en tjänst som kan ta emot HTTP-förfrågningar, utvecklaren bör ersätta med URL:en till sin egen byggda HTTP-server. Här för att underlätta demonstration använder vi en offentlig Webhook-exempelsida https://webhook.site/, öppna denna webbplats för att få en Webhook URL, som visas i bilden: Kopiera denna URL så kan den användas som Webhook, detta exempel är https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1. Därefter kan vi ställa in fältet callback_url till ovanstående Webhook URL, samtidigt som vi fyller i motsvarande parametrar, det specifika innehållet visas i bilden:

Klicka på kör, så kan du se att du omedelbart får ett resultat, som följer:
Vänta en stund, så kan vi observera resultatet av det genererade uppdraget på https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1, som visas i bilden: Innehållet är som följer:
Det kan ses att resultatet innehåller ett task_id fält, de andra fälten är liknande som ovan, genom detta fält kan uppgifterna kopplas samman.

Felhantering

Vid anrop av API:et, om ett fel uppstår, kommer API:et att returnera motsvarande felkod och information. Till exempel:
  • 400 token_mismatched: Felaktig begäran, möjligtvis på grund av saknade eller ogiltiga parametrar.
  • 400 api_not_implemented: Felaktig begäran, möjligtvis på grund av saknade eller ogiltiga parametrar.
  • 401 invalid_token: Obemyndigad, ogiltig eller saknad auktoriseringstoken.
  • 429 too_many_requests: För många begärningar, du har överskridit hastighetsgränsen.
  • 500 api_error: Intern serverfel, något gick fel på servern.

Felrespons exempel

Slutsats

Genom detta dokument har du fått en förståelse för hur du använder Producer Audios Generation API för att generera musik genom att ange ledord. Vi hoppas att detta dokument kan hjälpa dig att bättre integrera och använda detta API. Om du har några frågor, tveka inte att kontakta vårt tekniska supportteam.