Proces składania wniosku
Aby korzystać z Producer Audios Generation API, najpierw przejdź do konsoli Ace Data Cloud, aby uzyskać swój API Token i zachować go na później.
Jeśli nie jesteś jeszcze zalogowany ani zarejestrowany, zostaniesz automatycznie przekierowany na stronę logowania, która zaprosi Cię do rejestracji i logowania; po zakończeniu automatycznie powrócisz na bieżącą stronę.
Jeden API Token umożliwia wywoływanie wszystkich usług platformy, bez konieczności składania osobnego wniosku dla każdej usługi. Przy pierwszym wniosku otrzymasz bezpłatny limit, aby móc korzystać z bezpłatnego okresu próbnego; gdy limit będzie niewystarczający, możesz doładować wspólne saldo w konsoli.
📘 Pełna dokumentacja: Producer Audios Generation API →
Podstawowe użycie
O jakich piosenkach myślisz, możesz dowolnie wpisać fragment tekstu, na przykład jeśli chcę wygenerować piosenkę o Bożym Narodzeniu, mogę wpisaća song for Christmas, jak pokazano na rysunku:

accept: format odpowiedzi, który chcesz otrzymać, tutaj wpiszapplication/json, czyli format JSON.authorization: klucz do wywoływania API, po złożeniu wniosku można go bezpośrednio wybrać z listy rozwijanej.
action: działanie tego zadania generowania muzyki, generowanie piosenki togenerate.model: model używany do tworzenia piosenki, obecnie 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 jest generowana w trybie niestandardowym.prompt: podpowiedź w trybie inspiracji.title: informacje o tytule piosenki.audio_id: ID piosenki referencyjnej, używane do operacji takich jak kontynuacja/tworzenie coveru.continue_at: kontynuowanie piosenki od określonej liczby sekund.replace_section_start/replace_section_end: czas rozpoczęcia i zakończenia zastępowanego fragmentu, w sekundach.lyrics_strength: siła tekstu piosenki, określa stopień wpływu tekstu na generowanie audio, opcjonalnie od 0 do 1, domyślnie 0.7.sound_strength: siła podpowiedzi 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ń nietypowości stylu, opcjonalnie od 0 do 1, domyślnie 0.5callback_url: URL, pod który należy zwrócić wynik wywołania zwrotnego.async: opcjonalnie, gdy ustawione natrue, interfejs natychmiast zwracatask_id, bez potrzeby podawaniacallback_url, a następnie wynik jest uzyskiwany przez odpytywanie odpowiedniego interfejsu zapytań o zadania.instrumental: czy jest to tryb bez tekstu piosenki.

success, status zadania generowania muzyki w tym momencie.data, wynik tego zadania muzycznegoid, ID zadania generowania muzyki w tym momencie.sound, podpowiedź zadania generowania muzyki w tym momencie.seed, wartość ziarna zadania generowania muzyki w tym momencie.audio_url, link audio zadania generowania muzyki w tym momencie.image_url, link do okładki zadania generowania muzyki w tym momencie.image_id, ID okładki zadania generowania muzyki w tym momencie.state, status zadania generowania muzyki w tym momencie.duration, informacje o długości tej muzyki.progress, wartość postępu tego zadania muzycznego.model, informacje o modelu użytym w zadaniu generowania muzyki w tym momencie.lyric, informacje o tekście piosenki w zadaniu generowania muzyki w tym momencie.
data w wyniku.
Ponadto, jeśli chcesz wygenerować odpowiedni kod 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 piosenki, możesz wprowadzić tekst: W tym momencie do polalyric można przekazać treść podobną do poniższej:
- lyric:tekst słów piosenki
- custom:ustaw na
true, oznacza niestandardowe generowanie; domyślna wartość tego parametru to false, co oznacza generowanie przy użyciuprompt. - title:tytuł piosenki.


Cover piosenki
Jeśli chcesz wykonać operację coveru na już wygenerowanej piosence, możesz wprowadzić wygenerowaną powyżej piosenkę do wykonania coveru; następnie będziemy niestandardowo generować piosenkę na podstawie słów i tytułu. Jeśli chcesz kontynuować wykonywanie coveru piosenki przesłanej przez siebie, możesz ustawić parametraction na upload_cover oraz wprowadzić ID piosenki przesłanej niestandardowo, dla której chcesz kontynuować wykonywanie coveru. ID piosenki można uzyskać za pomocą Producer Upload API, jak pokazano na poniższym obrazku:

- action:działanie dla tego zadania piosenki, obecnie obsługiwane są: generate、cover、extend、upload_cover、upload_extend、replace_section、swap_vocals、swap_instrumentals、variation; dla tego coveru używany jest parametr
cover. - lyric:tekst słów piosenki
- title:tytuł piosenki.
- custom:czy generować w trybie niestandardowym, domyślnie jest false.
- audio_id:ID piosenki, dla której ma zostać wykonany cover.


Kontynuacja utworu
Jeśli chcesz kontynuować utwór, musimy przekazać wartość parametruaction jako: extend, następnie możemy niestandardowo wygenerować utwór na podstawie tekstu piosenki, tytułu i stylu.
Jeśli chcesz dalej kontynuować własnoręcznie przesłany utwór, możesz ustawić parametr action na upload_extend oraz wprowadzić ID własnoręcznie przesłanego utworu, który chcesz dalej kontynuować. ID utworu można uzyskać za pomocą Producer Upload API, jak pokazano poniżej:



Wariacja muzyczna
Jeśli chcesz wygenerować nową muzykę o podobnym efekcie na podstawie wartości seed poprzedniego utworu, musimy przekazać wartość parametruaction jako: variation, następnie możemy niestandardowo wygenerować nową muzykę o podobnym efekcie.
Przykład wypełnienia jest następujący:


Zastępowanie fragmentu
Jeśli chcesz zastąpić fragment utworu, musimy przekazać wartość parametruaction jako: replace_section, następnie musimy niestandardowo wygenerować utwór na podstawie tekstu, tytułu.
Jeśli chcesz dalej zastępować fragmenty w samodzielnie przesłanym utworze, możesz ustawić parametr action na upload_replace_section oraz wprowadzić ID samodzielnie przesłanego utworu, który wymaga dalszej kontynuacji; ID utworu uzyskuje się za pomocą Producer Upload API, jak pokazano poniżej:



Wersja z zamianą akompaniamentu
Jeśli chcesz użyć oficjalnej operacji wersji z zamianą akompaniamentu, możesz ustawić wartość parametruaction na: swap_instrumentals, następnie możemy niestandardowo wygenerować utwór na podstawie tekstu i tytułu.
Przykład wypełnienia jest następujący:


Wersja z zamianą wokali
Jeśli chcesz użyć oficjalnej operacji wersji z zamianą wokali, możesz ustawić wartość parametruaction na: swap_vocals, następnie możemy niestandardowo wygenerować utwór na podstawie tekstu, tytułu i stylu.
Przykład wypełnienia jest następujący:


Separacja tekstu i muzyki
Jeśli chcesz użyć oficjalnej operacji separacji tekstu i muzyki, możesz ustawić wartość parametruaction na: stems, następnie wykonamy separację tekstu i muzyki na podstawie ID utworu.
Przykład wypełnienia jest następujący:


Asynchroniczne wywołanie zwrotne
Ponieważ czas generowania przez Producer Audios Generation API może czasami być stosunkowo długi, jeśli API nie odpowiada przez długi czas, żądanie HTTP będzie stale utrzymywać połączenie, co prowadzi do dodatkowego zużycia zasobów systemowych, dlatego to API zapewnia również obsługę asynchronicznego wywołania zwrotnego. Ogólny proces jest następujący: gdy klient inicjuje żądanie, dodatkowo określa polecallback_url, po zainicjowaniu przez klienta żądania API, API natychmiast zwróci wynik zawierający informację o polu task_id, które reprezentuje bieżące ID zadania. Po ukończeniu zadania wynik zadania generowania zostanie wysłany w formie POST JSON na callback_url określony przez klienta, który również zawiera pole task_id, dzięki czemu wyniki zadań mogą zostać powiązane za pomocą ID.
Poniżej na przykładzie poznamy szczegółowo, jak to zrobić.
Najpierw wywołanie zwrotne Webhook jest usługą, która może odbierać żądania HTTP, a programista powinien zastąpić ją adresem URL własnego serwera HTTP. Aby ułatwić demonstrację, użyto tutaj publicznej przykładowej strony Webhook https://webhook.site/, po otwarciu tej strony można uzyskać URL Webhook, jak pokazano na rysunku:
Skopiuj ten URL, aby użyć go jako Webhooka, przykładem tutaj jest https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1。
Następnie możemy ustawić pole callback_url na powyższy URL Webhook, jednocześnie wypełniając odpowiednie parametry, konkretna zawartość jest pokazana na rysunku:

Treść jest następująca:
task_id, a pozostałe pola są podobne do tych opisanych powyżej; za pomocą tego pola można realizować powiązanie zadań.
Obsługa błędów
Podczas wywoływania API, jeśli wystąpi błąd, API zwróci odpowiedni kod błędu i informację. Na przykład:400 token_mismatched:Nieprawidłowe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.400 api_not_implemented:Nieprawidłowe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.401 invalid_token:Brak autoryzacji, nieprawidłowy lub brakujący token autoryzacyjny.429 too_many_requests:Zbyt wiele żądań, przekroczono limit częstotliwości.500 api_error:Wewnętrzny błąd serwera, coś poszło nie tak na serwerze.

