Hoppa till huvudinnehåll
Den här artikeln kommer att introducera en instruktion för integrering av Producer Audios Generation API, som kan generera officiell musik från Producer genom att mata in anpassade parametrar.

Ansökningsprocess

För att använda Producer Audios Generation API, gå först till Ace Data Cloud-konsolen för att hämta din API Token och spara den för senare användning. Om du ännu inte har loggat in eller registrerat dig, omdirigeras du automatiskt till inloggningssidan där du uppmanas att registrera dig och logga in. När detta är klart återvänder du automatiskt till den aktuella sidan. En API Token kan anropa alla tjänster på plattformen, utan att du behöver ansöka separat för varje tjänst. Vid första ansökan får du gratis krediter för att testa kostnadsfritt; när krediterna inte räcker till kan du fylla på det allmänna saldot i konsolen.
📘 Fullständig dokumentation: Producer Audios Generation API →

Grundläggande användning

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

Här kan vi se att vi har ställt in Request Headers, inklusive:
  • accept: vilket format du vill ta emot svaret i, här anges application/json, det vill säga JSON-format.
  • authorization: nyckeln för att anropa API:t, som kan väljas direkt i rullgardinsmenyn efter ansökan.
Dessutom innehåller parametrarna i Request Body:
  • action: beteendet för denna musikgenereringsuppgift, för att generera en låt är det generate.
  • model: modellen som används för att skapa låten, för närvarande främst: 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 låttextinnehåll.
  • custom: om låten ska genereras med anpassat sätt.
  • prompt: prompten i inspirationsläget.
  • title: låttitelinformation.
  • audio_id: referenslåtens ID, används för åtgärder som fortsättning/remake.
  • continue_at: fortsätt låten från angivet antal sekunder.
  • replace_section_start/replace_section_end: start- och sluttid för det ersatta segmentet, i sekunder.
  • lyrics_strength: låttextstyrka, anger graden av låttextens påverkan vid ljudgenerering, valbart mellan 0 och 1, standardvärdet är 0,7.
  • sound_strength: styrka för ljudprompten, valbart mellan 0,2 och 1, standardvärdet är 0,7.
  • cover_strength: coverstyrka mellan 0,2 och 1, standardvärdet är 1.
  • weirdness: stilens egenart, valbart mellan 0 och 1, standardvärdet är 0,5
  • callback_url: URL:en som behöver få återkopplingsresultatet.
  • async: valfritt, när det sätts till true returnerar gränssnittet omedelbart task_id, utan att callback_url behöver anges. Därefter hämtas resultatet genom polling via motsvarande gränssnitt för uppgiftsfrågor.
  • instrumental: om det är läge utan låttext.
Efter valet kan du se att motsvarande kod också genereras på höger sida, som visas i bilden:

Klicka på knappen 「Try」 för att testa. Som visas ovan får vi följande resultat:
Det returnerade resultatet har flera fält, som beskrivs nedan:
  • success, statusen för musikgenereringsuppgiften vid denna tidpunkt.
    • data, resultatet av denna musikuppgift
      • id, ID:t för musikgenereringsuppgiften vid denna tidpunkt.
      • sound, prompten för musikgenereringsuppgiften vid denna tidpunkt.
      • seed, seed-värdet för musikgenereringsuppgiften vid denna tidpunkt.
      • audio_url, ljudlänken för musikgenereringsuppgiften vid denna tidpunkt.
      • image_url, omslagslänken för musikgenereringsuppgiften vid denna tidpunkt.
      • image_id, omslags-ID:t för musikgenereringsuppgiften vid denna tidpunkt.
      • state, statusen för musikgenereringsuppgiften vid denna tidpunkt.
      • duration, varaktighetsinformationen för musiken vid denna tidpunkt.
      • progress, förloppsvärdet för musikuppgiften vid denna tidpunkt.
      • model, modellinformationen som används av musikgenereringsuppgiften vid denna tidpunkt.
      • lyric, låttextinformationen för musikgenereringsuppgiften vid denna tidpunkt.
Vi kan se att vi har fått den musik vi vill generera. Vi behöver bara hämta den genererade Producer-musiken enligt musiklänkadressen i resultatets data. Om du dessutom vill generera motsvarande integrationskod kan du kopiera den direkt. Till exempel är CURL-koden följande:

Anpassad generering

Om du vill generera anpassade låttexter kan du ange låttext: Vid denna tidpunkt kan fältet lyric skicka innehåll som liknar följande:
Därefter, om vi vill generera en låt anpassat utifrån låttext, titel och stil, kan vi ange följande innehåll:
  • lyric:sångtext
  • custom:fyll i true, vilket representerar anpassad generering. Denna parameter är som standard false, vilket representerar generering med prompt.
  • title:sångens titel.
Exempel på ifyllnad är följande:

Efter att ifyllnaden är klar genereras följande kod automatiskt:

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

Coverversion av sång

Om du vill utföra en coverversion av en redan genererad sång kan du ange den ovan genererade sången för att skapa en coverversion. Därefter kommer vi att skapa sången anpassat utifrån sångtext och titel. Om du vill fortsätta skapa en coverversion av en sång som du själv har laddat upp kan du ange parametern action som upload_cover och ange ID:t för den anpassat uppladdade sång som ska fortsätta få en coverversion. Sång-ID:t hämtas med Producer Upload API, som visas i bilden nedan:

Då kan följande innehåll anges:
  • action:åtgärden för denna sånguppgift, stöder för närvarande: generate、cover、extend、upload_cover、upload_extend、replace_section、swap_vocals、swap_instrumentals、variation. Denna coverversion använder parametern cover.
  • lyric:sångtext
  • title:sångens titel.
  • custom:om generering ska ske i anpassat läge, standardvärdet är false.
  • audio_id:sång-ID:t för sången som ska få en coverversion.
Exempel på ifyllnad är följande:

Efter att ifyllnaden är klar genereras följande kod automatiskt:

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

Fortsätt skriva låten

Om du vill fortsätta skriva låten behöver vi ange parametervärdet för action som: extend. Därefter kan vi anpassa genereringen av låten baserat på låttext, titel och stil. Om du vill fortsätta skriva vidare på en låt som du själv har laddat upp kan du ställa in parametern action på upload_extend och ange ID:t för den anpassat uppladdade låten som ska fortsätta skrivas. Låt-ID:t hämtas med Producer Upload API, som visas i bilden nedan:

Exempel på ifyllning:

Efter ifyllning genereras följande kod automatiskt:

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

Musikvariation

Om du vill generera en ny musik med en liknande effekt baserat på seed-värdet för föregående musik behöver vi ange parametervärdet för action som: variation. Därefter kan du anpassa genereringen av en ny musik med en liknande effekt. Exempel på ifyllning:

Efter ifyllning genereras följande kod automatiskt:

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

Ersätt avsnitt

Om du vill ersätta avsnitt i låten behöver vi ange parametern action med värdet: replace_section, därefter ska vi anpassa genereringen av låten baserat på låttexten och titeln. Om du vill fortsätta ersätta avsnitt i en låt som du själv har laddat upp kan du ställa in parametern action på upload_replace_section och ange ID:t för den anpassat uppladdade låt som du vill fortsätta skriva på. Låt-ID:t hämtas med Producer Upload API, som visas i bilden nedan:

Exempel på ifyllnad är följande:

När ifyllnaden är klar genereras följande kod automatiskt:

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

Instrumentalversion

Om du vill använda den officiella åtgärden för instrumentalversionen kan du ange parametervärdet för action till: swap_instrumentals, därefter ska vi anpassa och generera låten baserat på sångtexten och titeln. Exempel på ifyllnad:

Efter ifyllnad genereras följande kod automatiskt:

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

Sångversion

Om du vill använda den officiella åtgärden för sångversionen kan du ange parametervärdet för action till: swap_vocals, därefter ska vi anpassa och generera låten baserat på sångtexten, titeln och stilen. Exempel på ifyllnad:

Efter ifyllnad genereras följande kod automatiskt:

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

Separation av text och musik

Om du vill använda den officiella separationen av text och musik kan du ange värdet för parametern action till: stems, därefter ska vi separera text och musik baserat på låt-ID:t. Exemplet på ifyllning är följande:

Efter att ifyllningen är klar genereras följande kod automatiskt:

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

Asynkron återuppringning

Eftersom genereringstiden för Producer Audios Generation API ibland kan vara relativt lång, kommer HTTP-begäran att hålla anslutningen öppen om API:t inte svarar under en längre tid, vilket leder till extra förbrukning av systemresurser, därför erbjuder detta API också stöd för asynkron återuppringning. Det övergripande flödet är: när klienten initierar en begäran anges dessutom ett callback_url-fält. Efter att klienten har initierat API-begäran returnerar API:t omedelbart ett resultat som innehåller ett task_id-fält, vilket representerar ID:t för den aktuella uppgiften. När uppgiften är klar skickas resultatet av genereringsuppgiften till den callback_url som klienten angett i form av POST JSON, där även fältet task_id ingår, så att uppgiftsresultatet kan kopplas samman via ID:t. Nedan ska vi förstå den specifika användningen genom ett exempel. Först och främst är Webhook-återuppringning en tjänst som kan ta emot HTTP-begäranden, och utvecklare bör ersätta den med URL:en till sin egen HTTP-server. För att underlätta demonstrationen används här en offentlig exempelwebbplats för Webhook, https://webhook.site/. Öppna denna webbplats för att få en Webhook-URL, som visas på bilden: Kopiera denna URL så kan den användas som Webhook. Exemplet här ä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 och samtidigt fylla i motsvarande parametrar. Det specifika innehållet visas på bilden:

Klicka på kör, så kan du se att ett resultat erhålls omedelbart, enligt följande:
Vänta en stund, så kan vi på https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1 observera resultatet av genereringsuppgiften, som visas på bilden: Innehållet är följande:
Det kan ses att det finns ett fält task_id i resultatet, och de andra fälten liknar de ovan, uppgiftsassociation kan implementeras genom detta fält.

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öjligen på grund av saknade eller ogiltiga parametrar.
  • 400 api_not_implemented:Felaktig begäran, möjligen på grund av saknade eller ogiltiga parametrar.
  • 401 invalid_token:Obehörig, ogiltig eller saknad auktoriseringstoken.
  • 429 too_many_requests:För många begäranden, du har överskridit hastighetsgränsen.
  • 500 api_error:Internt serverfel, något gick fel på servern.

Exempel på felsvar

Slutsats

Genom detta dokument har du redan lärt dig hur du använder Producer Audios Generation API för att generera musik genom att ange promptord. 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, vänligen kontakta vårt tekniska supportteam när som helst.