Skip to main content
Questo documento presenterà un’istruzione per l’integrazione dell’API di generazione degli audio del produttore, che consente di generare musica ufficiale del produttore inserendo parametri personalizzati.

Procedura di richiesta

Per utilizzare l’API di generazione degli audio del produttore, prima di tutto vai al Pannello di controllo di Ace Data Cloud per ottenere il tuo API Token, da conservare per uso futuro. Se non hai ancora effettuato il login o la registrazione, verrai automaticamente reindirizzato alla pagina di login che ti invita a registrarti e accedere; una volta completato, verrai riportato automaticamente alla pagina corrente. Un API Token è sufficiente per accedere a tutti i servizi della piattaforma, senza necessità di richiederne uno per ogni servizio. La prima richiesta riceverà un credito gratuito, per un’esperienza senza costi; se il credito è insufficiente, puoi ricaricare il saldo generale nel pannello di controllo.
📘 Documentazione completa: Producer Audios Generation API →

Utilizzo di base

Se hai in mente delle canzoni, puoi inserire liberamente un testo, ad esempio se voglio generare una canzone sul Natale, posso inserire a song for Christmas, come mostrato nell’immagine:

Possiamo vedere che qui abbiamo impostato le intestazioni della richiesta, tra cui:
  • accept: il formato della risposta desiderata, qui è impostato su application/json, ovvero formato JSON.
  • authorization: la chiave per chiamare l’API, che può essere selezionata direttamente dopo la richiesta.
Inoltre, i parametri del corpo della richiesta includono:
  • action: l’azione per questo compito di generazione musicale, generare una canzone è generate.
  • model: il modello utilizzato per creare la canzone, attualmente ci sono principalmente: 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: il contenuto del testo della canzone.
  • custom: se generare la canzone in modo personalizzato.
  • prompt: parole chiave in modalità ispirazione.
  • title: informazioni sul titolo della canzone.
  • audio_id: ID della canzone di riferimento, utilizzato per continuare/scrivere una versione.
  • continue_at: inizia a continuare la canzone da un numero di secondi specificato.
  • replace_section_start/replace_section_end: tempo di inizio e fine del segmento da sostituire, in secondi.
  • lyrics_strength: intensità del testo, che indica il grado di influenza del testo nella generazione audio, selezionabile tra 0-1, predefinito 0.7.
  • sound_strength: intensità delle parole chiave audio, selezionabile tra 0.2-1, predefinito 0.7.
  • cover_strength: intensità della cover tra 0.2-1, predefinito 1.
  • weirdness: grado di eccentricità dello stile, selezionabile tra 0-1, predefinito 0.5.
  • callback_url: URL per il quale è necessario il risultato del callback.
  • async: opzionale, impostato su true l’interfaccia restituisce immediatamente task_id, senza necessità di fornire callback_url, successivamente puoi ottenere i risultati tramite l’interfaccia di query del compito corrispondente.
  • instrumental: se è in modalità senza testo.
Dopo aver selezionato, puoi notare che a destra è stato generato il codice corrispondente, come mostrato nell’immagine:

Cliccando sul pulsante “Try” puoi effettuare un test, come mostrato nell’immagine sopra, qui abbiamo ottenuto il seguente risultato:
Il risultato restituito ha diversi campi, descritti come segue:
  • success, lo stato attuale del compito di generazione musicale.
    • data, il risultato di questo compito musicale
      • id, l’ID del compito di generazione musicale attuale.
      • sound, le parole chiave del compito di generazione musicale attuale.
      • seed, il valore seme del compito di generazione musicale attuale.
      • audio_url, il link audio del compito di generazione musicale attuale.
      • image_url, il link della copertina del compito di generazione musicale attuale.
      • image_id, l’ID della copertina del compito di generazione musicale attuale.
      • state, lo stato del compito di generazione musicale attuale.
      • duration, le informazioni sulla durata della musica attuale.
      • progress, il valore di progresso del compito musicale attuale.
      • model, le informazioni sul modello utilizzato per il compito di generazione musicale attuale.
      • lyric, le informazioni sul testo del compito di generazione musicale attuale.
Possiamo vedere che abbiamo ottenuto le informazioni sulla musica che volevamo generare, dobbiamo solo ottenere la musica del produttore dal link audio presente in data. Inoltre, se desideri generare il codice di integrazione corrispondente, puoi semplicemente copiarlo, ad esempio il codice CURL è il seguente:

Generazione personalizzata

Se desideri generare testi personalizzati, puoi inserire il testo: In questo caso, il campo lyric può contenere contenuti simili al seguente:
Successivamente, dobbiamo personalizzare la generazione della canzone in base al testo, al titolo e allo stile, specificando i seguenti contenuti:
  • lyric:testo della canzone
  • custom:compilare con true, rappresenta la generazione personalizzata, questo parametro è impostato su false per impostazione predefinita, rappresenta l’uso della generazione prompt.
  • title:titolo della canzone.
Esempio di compilazione:

Dopo aver completato la compilazione, il codice generato è il seguente:

Codice corrispondente:
Test consentito, l’effetto generato è simile.

Cover della canzone

Se desideri eseguire un’operazione di cover su una canzone già generata, puoi inserire la canzone generata in precedenza per la cover, successivamente dobbiamo personalizzare la generazione della canzone in base al testo, al titolo. Se desideri continuare a fare una cover della canzone che hai caricato, puoi impostare il parametro action su upload_cover e inserire l’ID della canzone che desideri continuare a cantare, l’ID della canzone può essere ottenuto utilizzando Producer Upload API come mostrato nell’immagine seguente:

Puoi specificare il seguente contenuto:
  • action:l’azione di questo compito musicale, attualmente supporta: generate, cover, extend, upload_cover, upload_extend, replace_section, swap_vocals, swap_instrumentals, variation, questa cover utilizza il parametro cover.
  • lyric:testo della canzone
  • title:titolo della canzone.
  • custom:se utilizzare la modalità personalizzata per la generazione, predefinita è false.
  • audio_id:ID della canzone da coprire.
Esempio di compilazione:

Dopo aver completato la compilazione, il codice generato è il seguente:

Codice corrispondente:
Test consentito, l’effetto generato è simile.

Continuare a scrivere la canzone

Se vuoi continuare a scrivere la canzone, dobbiamo passare il valore del parametro action come: extend, poi dobbiamo generare la canzone in base al testo, al titolo e allo stile. Se vuoi continuare a scrivere una canzone che hai caricato, puoi impostare il parametro action su upload_extend e inserire l’ID della canzone che desideri continuare a scrivere. L’ID della canzone può essere ottenuto utilizzando Producer Upload API come mostrato nell’immagine qui sotto:

Esempio di compilazione:

Dopo aver completato la compilazione, il codice generato automaticamente è il seguente:

Il codice corrispondente:
Test consentito, l’effetto generato è simile.

Variazione musicale

Se vuoi generare una nuova musica con un effetto simile basata sul valore seed della musica precedente, dobbiamo passare il valore del parametro action come: variation, poi possiamo generare una nuova musica con un effetto simile. Esempio di compilazione:

Dopo aver completato la compilazione, il codice generato automaticamente è il seguente:

Il codice corrispondente:

Sostituzione di sezioni

Se si desidera sostituire una sezione della canzone, è necessario passare il valore del parametro action come: replace_section, quindi dobbiamo personalizzare la canzone in base al testo, al titolo. Se si desidera continuare a sostituire una sezione della canzone caricata, è possibile impostare il parametro action su upload_replace_section e inserire l’ID della canzone caricata che si desidera continuare a scrivere. L’ID della canzone può essere ottenuto utilizzando Producer Upload API come mostrato nell’immagine sottostante:

Esempio di compilazione:

Dopo aver completato la compilazione, il codice generato sarà simile al seguente:

Codice corrispondente:
Test consentito, l’effetto generato sarà simile.

Versione strumentale

Se desideri utilizzare l’operazione di versione strumentale ufficiale, puoi impostare il valore del parametro action su: swap_instrumentals, successivamente dobbiamo generare una canzone personalizzata in base al testo, al titolo. Esempio di compilazione:

Dopo aver completato, il codice generato automaticamente è il seguente:

Codice corrispondente:
Test consentito, l’effetto generato è simile.

Versione vocale

Se desideri utilizzare l’operazione di versione vocale ufficiale, puoi impostare il valore del parametro action su: swap_vocals, successivamente dobbiamo generare una canzone personalizzata in base al testo, al titolo, allo stile. Esempio di compilazione:

Dopo aver completato, il codice generato automaticamente è il seguente:

Codice corrispondente:
Test consentito, l’effetto generato è simile.

Separazione di testo e musica

Se desideri utilizzare l’operazione ufficiale di separazione di testo e musica, puoi impostare il valore del parametro action su: stems, successivamente dobbiamo procedere alla separazione di testo e musica in base all’ID della canzone. Esempio di compilazione:

Una volta completato, il codice generato sarà il seguente:

Il codice corrispondente:
Il test è consentito, l’effetto generato è simile.

Callback asincrona

Poiché il tempo di generazione dell’API Producer Audios può essere relativamente lungo, se l’API non risponde per un lungo periodo, la richiesta HTTP manterrà la connessione, causando un consumo aggiuntivo di risorse di sistema. Pertanto, questa API offre anche supporto per callback asincroni. Il flusso complessivo è: quando il client invia la richiesta, specifica un campo callback_url aggiuntivo. Dopo che il client ha inviato la richiesta API, l’API restituirà immediatamente un risultato, contenente un campo task_id, che rappresenta l’ID del compito corrente. Quando il compito è completato, il risultato del compito generato verrà inviato al callback_url specificato dal client in formato JSON POST, che include anche il campo task_id, in modo che il risultato del compito possa essere associato tramite l’ID. Di seguito, vediamo un esempio per capire come procedere. Innanzitutto, il callback Webhook è un servizio in grado di ricevere richieste HTTP, gli sviluppatori dovrebbero sostituirlo con l’URL del proprio server HTTP. Qui, per comodità di dimostrazione, utilizziamo un sito Web pubblico di esempio per Webhook https://webhook.site/, aprendo questo sito si ottiene un URL Webhook, come mostrato nell’immagine: Copia questo URL e puoi usarlo come Webhook, l’esempio qui è https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1. Successivamente, possiamo impostare il campo callback_url su questo URL Webhook, insieme ai parametri corrispondenti, il contenuto specifico è mostrato nell’immagine:

Cliccando su Esegui, possiamo notare che riceviamo immediatamente un risultato, come segue:
Dopo un momento, possiamo osservare il risultato del compito generato su https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1, come mostrato nell’immagine: Il contenuto è il seguente:
Si può vedere che nel risultato c’è un campo task_id, gli altri campi sono simili a quelli sopra, attraverso questo campo è possibile realizzare l’associazione del compito.

Gestione degli errori

Quando si chiama l’API, se si verifica un errore, l’API restituirà il codice di errore e le informazioni corrispondenti. Ad esempio:
  • 400 token_mismatched: Richiesta non valida, probabilmente a causa di parametri mancanti o non validi.
  • 400 api_not_implemented: Richiesta non valida, probabilmente a causa di parametri mancanti o non validi.
  • 401 invalid_token: Non autorizzato, token di autorizzazione non valido o mancante.
  • 429 too_many_requests: Troppe richieste, hai superato il limite di frequenza.
  • 500 api_error: Errore interno del server, qualcosa è andato storto sul server.

Esempio di risposta di errore

Conclusione

Attraverso questo documento, hai compreso come utilizzare l’API di generazione di audio del produttore per generare musica tramite l’inserimento di parole chiave. Speriamo che questo documento possa aiutarti a integrare e utilizzare meglio questa API. Se hai domande, non esitare a contattare il nostro team di supporto tecnico.