Skip to main content
W tym dokumencie przedstawimy instrukcję integracji z Producent Audios Generation API, która umożliwia generowanie oficjalnej muzyki Producenta za pomocą wprowadzonych parametrów.

Proces aplikacji

Aby skorzystać z Producent Audios Generation API, najpierw przejdź do Ace Data Cloud Console, aby uzyskać swój token API, który należy zachować na przyszłość. Jeśli nie jesteś zalogowany lub zarejestrowany, automatycznie zostaniesz przekierowany na stronę logowania, aby zarejestrować się i zalogować, a po zakończeniu zostaniesz automatycznie przekierowany z powrotem na bieżącą stronę. Jeden token API wystarczy do korzystania ze wszystkich usług platformy, nie ma potrzeby składania osobnych wniosków dla każdej usługi. Przy pierwszym wniosku otrzymasz darmowy limit, aby móc go przetestować; w przypadku niewystarczającego limitu możesz doładować saldo ogólne w konsoli.
📘 Pełna dokumentacja: Producent Audios Generation API →

Podstawowe użycie

Chcąc stworzyć piosenkę, możesz wprowadzić dowolny tekst, na przykład, jeśli chcesz wygenerować piosenkę o tematyce świątecznej, możesz wpisać a song for Christmas, jak pokazano na obrazku:

Można zauważyć, że ustawiliśmy nagłówki żądania, w tym:
  • accept: w jakim formacie chcesz otrzymać odpowiedź, tutaj wpisujemy application/json, czyli format JSON.
  • authorization: klucz do wywołania API, po złożeniu wniosku można go bezpośrednio wybrać z rozwijanej listy.
Dodatkowo parametry ciała żądania obejmują:
  • action: działanie związane z generowaniem muzyki, w przypadku generowania piosenki to generate.
  • model: model używany do tworzenia piosenki, obecnie dostępne są głównie: 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: treść tekstu piosenki.
  • custom: czy piosenka ma być generowana w sposób niestandardowy.
  • prompt: słowo kluczowe w trybie inspiracji.
  • title: informacja o tytule piosenki.
  • audio_id: ID referencyjnej piosenki, używane do kontynuacji/odtworzenia itp.
  • continue_at: kontynuacja od określonej sekundy.
  • replace_section_start/replace_section_end: czas rozpoczęcia i zakończenia wymiany fragmentu, w sekundach.
  • lyrics_strength: siła tekstu, wskazująca na wpływ tekstu na generowanie audio, opcjonalnie od 0 do 1, domyślnie 0.7.
  • sound_strength: siła słowa kluczowego audio, opcjonalnie od 0.2 do 1, domyślnie 0.7.
  • cover_strength: siła coveru od 0.2 do 1, domyślnie 1.
  • weirdness: stopień dziwności stylu, opcjonalnie od 0 do 1, domyślnie 0.5.
  • callback_url: URL, na który mają być zwracane wyniki.
  • async: opcjonalnie, ustawione na true, interfejs natychmiast zwraca task_id, nie ma potrzeby podawania callback_url, a następnie można uzyskać wyniki, wykonując zapytania do odpowiedniego interfejsu zadań.
  • instrumental: czy ma to być tryb bez tekstu.
Po dokonaniu wyboru, można zauważyć, że po prawej stronie wygenerowano odpowiedni kod, jak pokazano na obrazku:

Kliknij przycisk „Try”, aby przeprowadzić test, jak pokazano na powyższym obrazku, a otrzymasz następujący wynik:
W zwróconym wyniku znajduje się wiele pól, które są opisane poniżej:
  • success, stan zadania generowania muzyki w danym momencie.
    • data, wynik zadania muzycznego
      • id, ID zadania generowania muzyki w danym momencie.
      • sound, słowo kluczowe zadania generowania muzyki w danym momencie.
      • seed, wartość nasionka zadania generowania muzyki w danym momencie.
      • audio_url, link do audio zadania generowania muzyki w danym momencie.
      • image_url, link do okładki zadania generowania muzyki w danym momencie.
      • image_id, ID okładki zadania generowania muzyki w danym momencie.
      • state, stan zadania generowania muzyki w danym momencie.
      • duration, informacja o czasie trwania muzyki w danym momencie.
      • progress, wartość postępu zadania muzycznego w danym momencie.
      • model, informacja o modelu używanym w zadaniu generowania muzyki w danym momencie.
      • lyric, informacja o tekście zadania generowania muzyki w danym momencie.
Można zauważyć, że otrzymaliśmy informacje o muzyce, którą chcieliśmy wygenerować, wystarczy, że na podstawie adresu linku audio w data uzyskamy wygenerowaną muzykę Producenta. Jeśli chcesz wygenerować odpowiedni kod do integracji, możesz go bezpośrednio skopiować, na przykład kod CURL wygląda następująco:

Niestandardowe generowanie

Jeśli chcesz niestandardowo wygenerować tekst, możesz wprowadzić tekst piosenki: W tym momencie pole lyric może przyjąć podobną treść jak poniżej:
Następnie, aby dostosować generowanie piosenki na podstawie tekstu, tytułu i stylu, można określić następujące treści:
  • lyric:tekst piosenki
  • custom:wypełnij jako true, co oznacza generację niestandardową, ten parametr domyślnie ma wartość false, co oznacza użycie prompt do generacji.
  • title:tytuł piosenki.
Wypełniony przykład wygląda następująco:

Po wypełnieniu automatycznie wygenerowano kod jak poniżej:

Odpowiedni kod:
Testowanie dozwolone, generowany efekt jest podobny.

Przykład coveru piosenki

Jeśli chcesz wykonać cover już wygenerowanej piosenki, możesz wprowadzić wcześniej wygenerowaną piosenkę do wykonania coveru, następnie musimy dostosować generację piosenki na podstawie tekstu, tytułu. Jeśli chcesz kontynuować wykonywanie coveru swojej przesłanej piosenki, możesz ustawić parametr action na upload_cover i wprowadzić ID piosenki, którą chcesz kontynuować, ID piosenki można uzyskać za pomocą Producer Upload API, jak pokazano na poniższym obrazku:

Możesz określić następujące treści:
  • action:działanie zadania piosenki, obecnie wspiera: generate, cover, extend, upload_cover, upload_extend, replace_section, swap_vocals, swap_instrumentals, variation, w tym przypadku używamy parametru cover.
  • lyric:tekst piosenki
  • title:tytuł piosenki.
  • custom:czy używać trybu niestandardowego do generacji, domyślnie jest false.
  • audio_id:ID piosenki, którą chcesz wykonać cover.
Wypełniony przykład wygląda następująco:

Po wypełnieniu automatycznie wygenerowano kod jak poniżej:

Odpowiedni kod:
Testowanie dozwolone, generowany efekt jest podobny.

Kontynuacja piosenki

Jeśli chcesz kontynuować piosenkę, musimy przekazać parametr action z wartością: extend, następnie musimy dostosować generowanie piosenki na podstawie tekstu, tytułu i stylu. Jeśli chcesz kontynuować piosenkę, którą sam przesłałeś, możesz ustawić parametr action na upload_extend i wprowadzić ID piosenki, którą chcesz kontynuować. ID piosenki można uzyskać za pomocą Producer Upload API, jak pokazano na poniższym obrazku:

Przykład wypełnienia wygląda następująco:

Po wypełnieniu automatycznie wygenerowano kod jak poniżej:

Odpowiedni kod:
Testowanie dozwolone, wygenerowany efekt jest podobny.

Muzyczna transformacja

Jeśli chcesz wygenerować nową muzykę o podobnym efekcie na podstawie wartości seed poprzedniej piosenki, musimy przekazać parametr action z wartością: variation, następnie możemy dostosować generowanie nowej muzyki o podobnym efekcie. Przykład wypełnienia wygląda następująco:

Po wypełnieniu automatycznie wygenerowano kod jak poniżej:

Odpowiedni kod:

Zastąpienie fragmentu

Jeśli chcesz zastąpić fragment piosenki, musimy przekazać wartość parametru action jako: replace_section, następnie musimy dostosować tekst piosenki na podstawie tekstu, tytułu. Jeśli chcesz kontynuować zastępowanie fragmentu w przesłanej przez siebie piosence, możesz ustawić parametr action na upload_replace_section i wprowadzić ID przesłanej piosenki, które można uzyskać za pomocą Producer Upload API, jak pokazano na poniższym obrazku:

Przykład wypełnienia wygląda następująco:

Po wypełnieniu automatycznie wygenerowano kod jak poniżej:

Odpowiedni kod:
Testy są dozwolone, generowany efekt jest podobny.

Przeróbka podkładu

Jeśli chcesz użyć oficjalnej przeróbki podkładu, możesz ustawić wartość parametru action na: swap_instrumentals, następnie musimy dostosować generowanie piosenki na podstawie tekstu, tytułu. Przykład wypełnienia wygląda następująco:

Po wypełnieniu automatycznie wygenerowano kod jak poniżej:

Odpowiedni kod:
Testowanie dozwolone, wygenerowany efekt jest podobny.

Przeróbka wokalu

Jeśli chcesz użyć oficjalnej przeróbki wokalu, możesz ustawić wartość parametru action na: swap_vocals, następnie musimy dostosować generowanie piosenki na podstawie tekstu, tytułu, stylu. Przykład wypełnienia wygląda następująco:

Po wypełnieniu automatycznie wygenerowano kod jak poniżej:

Odpowiedni kod:
Testowanie dozwolone, wygenerowany efekt jest podobny.

Oddzielanie tekstu od muzyki

Jeśli chcesz użyć oficjalnej operacji oddzielania tekstu od muzyki, możesz ustawić wartość parametru action na: stems, następnie musimy przeprowadzić oddzielanie tekstu od muzyki na podstawie ID utworu. Przykład wypełnienia wygląda następująco:

Po wypełnieniu automatycznie wygenerowano kod jak poniżej:

Odpowiedni kod:
Testowanie dozwolone, wygenerowany efekt jest podobny.

Asynchroniczne wywołanie zwrotne

Ponieważ czas generacji API Producer Audios może być czasami stosunkowo długi, jeśli API nie odpowiada przez dłuższy czas, żądanie HTTP będzie utrzymywać połączenie, co prowadzi do dodatkowego zużycia zasobów systemowych, dlatego to API oferuje również wsparcie dla asynchronicznych wywołań zwrotnych. Cały proces polega na tym, że klient inicjuje żądanie, dodatkowo określając pole callback_url, po zainicjowaniu żądania API, API natychmiast zwraca wynik, zawierający pole task_id, które reprezentuje aktualne ID zadania. Gdy zadanie zostanie zakończone, wynik generacji zadania zostanie wysłany do określonego przez klienta callback_url w formie POST JSON, w tym również zawierając pole task_id, dzięki czemu wynik zadania można powiązać za pomocą ID. Poniżej przyjrzymy się, jak dokładnie to działa na przykładzie. Po pierwsze, wywołanie zwrotne Webhook to usługa, która może odbierać żądania HTTP, deweloperzy powinni zastąpić to URL swojego własnego serwera HTTP. W tym celu, dla wygody demonstracji, użyjemy publicznej strony przykładowej Webhook https://webhook.site/, otwierając tę stronę, można uzyskać URL Webhook, jak pokazano na obrazku: Skopiuj ten URL, aby użyć go jako Webhook, przykładowy URL to https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1. Następnie możemy ustawić pole callback_url na powyższy URL Webhook, a także wypełnić odpowiednie parametry, szczegóły jak na obrazku:

Klikając uruchom, można zauważyć, że natychmiast otrzymujemy wynik, jak poniżej:
Po chwili możemy na https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1 zobaczyć wynik generacji zadania, jak pokazano na obrazku: Treść wygląda następująco:
Można zobaczyć, że w wyniku znajduje się pole task_id, a inne pola są podobne do powyższych, dzięki czemu można powiązać zadania.

Obsługa błędów

Podczas wywoływania API, jeśli wystąpi błąd, API zwróci odpowiedni kod błędu i informacje. Na przykład:
  • 400 token_mismatched: Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.
  • 400 api_not_implemented: Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.
  • 401 invalid_token: Nieautoryzowany, nieprawidłowy lub brakujący token autoryzacyjny.
  • 429 too_many_requests: Zbyt wiele żądań, przekroczyłeś limit szybkości.
  • 500 api_error: Błąd wewnętrzny serwera, coś poszło nie tak na serwerze.

Przykład odpowiedzi błędu

Wnioski

Dzięki temu dokumentowi zrozumiałeś, jak korzystać z API Generacji Dźwięków Producenta, aby generować muzykę na podstawie wprowadzonych słów kluczowych. Mamy nadzieję, że ten dokument pomoże Ci lepiej zintegrować i korzystać z tego API. W razie jakichkolwiek pytań, skontaktuj się z naszym zespołem wsparcia technicznego.