Procedura di richiesta
Per utilizzare l’API Producer Audios Generation, per prima cosa vai alla console di Ace Data Cloud per ottenere il tuo API Token e conservarlo come riserva.
Se non hai ancora effettuato l’accesso o la registrazione, verrai automaticamente reindirizzato alla pagina di accesso per invitarti a registrarti e ad accedere; una volta completato, tornerai automaticamente alla pagina corrente.
Un solo API Token può richiamare tutti i servizi della piattaforma, senza necessità di richiederne uno separatamente per ciascun servizio. Alla prima richiesta verrà assegnato un credito gratuito, che consente di provare il servizio gratuitamente; quando il credito è insufficiente, puoi ricaricare il saldo generale nella console.
📘 Documentazione completa: Producer Audios Generation API →
Utilizzo di base
Per qualsiasi canzone tu voglia, puoi inserire liberamente un testo, ad esempio se voglio generare una canzone sul Natale, posso inserirea song for Christmas, come mostrato nell’immagine:

accept: il formato del risultato della risposta che si desidera ricevere; qui è compilato comeapplication/json, ovvero il formato JSON.authorization: la chiave per richiamare l’API, che può essere selezionata direttamente dal menu a discesa dopo la richiesta.
action: l’azione di questa attività di generazione musicale; per generare una canzone ègenerate.model: il modello utilizzato per creare la canzone; attualmente comprende 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 utilizzare un metodo personalizzato per generare la canzone.prompt: il prompt in modalità ispirazione.title: le informazioni sul titolo della canzone.audio_id: l’ID della canzone di riferimento, utilizzato per operazioni quali continuazione/versione cover.continue_at: continua la canzone a partire dal numero di secondi specificato.replace_section_start/replace_section_end: orario di inizio e fine del segmento da sostituire, in secondi.lyrics_strength: intensità del testo, indica il grado di influenza del testo nella generazione audio; opzionale tra 0 e 1, il valore predefinito è 0.7.sound_strength: intensità del prompt audio, opzionale tra 0.2 e 1, il valore predefinito è 0.7.cover_strength: intensità della cover, tra 0.2 e 1, il valore predefinito è 1.weirdness: grado di eccentricità dello stile, opzionale tra 0 e 1, il valore predefinito è 0.5callback_url: l’URL per il risultato della callback.async: opzionale; quando è impostato sutrue, l’interfaccia restituisce immediatamentetask_id, senza necessità di fornirecallback_url, quindi ottiene il risultato eseguendo il polling tramite la relativa interfaccia di query delle attività.instrumental: se è in modalità senza testo.

success, lo stato dell’attività di generazione musicale in questo momento.data, il risultato di questa attività musicale.id, l’ID dell’attività di generazione musicale in questo momento.sound, il prompt dell’attività di generazione musicale in questo momento.seed, il valore seed dell’attività di generazione musicale in questo momento.audio_url, il link audio dell’attività di generazione musicale in questo momento.image_url, il link della copertina dell’attività di generazione musicale in questo momento.image_id, l’ID della copertina dell’attività di generazione musicale in questo momento.state, lo stato dell’attività di generazione musicale in questo momento.duration, le informazioni sulla durata della musica in questo momento.progress, il valore di avanzamento dell’attività musicale in questo momento.model, le informazioni sul modello utilizzato dall’attività di generazione musicale in questo momento.lyric, le informazioni sul testo dell’attività di generazione musicale in questo momento.
data nel risultato.
Inoltre, se desideri generare il codice di integrazione corrispondente, puoi copiarlo direttamente; ad esempio, il codice CURL è il seguente:
Generazione personalizzata
Se desideri generare un testo personalizzato, puoi inserire il testo: A questo punto, il campolyric può ricevere contenuti simili ai seguenti:
- lyric:testo della canzone
- custom:impostare su
true, indica la generazione personalizzata; questo parametro è false per impostazione predefinita, indicando la generazione tramiteprompt. - title:il titolo della canzone.


Cover di canzoni
Se si desidera eseguire un’operazione di cover su una canzone già generata, è possibile inserire la canzone generata sopra per eseguire la cover; successivamente, genereremo una canzone personalizzata in base al testo e al titolo. Se si desidera continuare a eseguire la cover di una canzone caricata personalmente, è possibile impostare il parametroaction su upload_cover e inserire l’ID della canzone caricata personalizzata per cui continuare la cover. L’ID della canzone si ottiene utilizzando la Producer Upload API, come mostrato nell’immagine seguente:

- action:l’azione di questa attività 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:il titolo della canzone.
- custom:se generare utilizzando la modalità personalizzata; il valore predefinito è false.
- audio_id:l’ID della canzone di cui eseguire la cover.


Continua la canzone
Se si desidera continuare la canzone, dobbiamo passare il valore del parametroaction come: extend, quindi possiamo generare una canzone personalizzata in base al testo, al titolo e allo stile.
Se si desidera continuare una canzone caricata personalmente, è possibile impostare il parametro action su upload_extend e inserire l’ID della canzone personalizzata caricata che deve essere continuata. L’ID della canzone si ottiene utilizzando la Producer Upload API, come mostrato nell’immagine seguente:



Variazione musicale
Se si desidera generare una nuova musica con un effetto simile in base al valore seed della musica precedente, dobbiamo passare il valore del parametroaction come: variation, quindi è possibile generare una nuova musica personalizzata con un effetto simile.
L’esempio di compilazione è il seguente:


Sostituzione di sezioni
Se si desidera sostituire sezioni della canzone, è necessario passare il parametroaction con valore: replace_section, successivamente possiamo generare una canzone personalizzata in base al testo e al titolo.
Se si desidera continuare a sostituire sezioni di una canzone caricata personalmente, è possibile impostare il parametro action su upload_replace_section, e inserire l’ID della canzone caricata personalizzata di cui si desidera continuare la scrittura. L’ID della canzone si ottiene utilizzando la Producer Upload API, come mostrato nell’immagine seguente:



Rifacimento dell’accompagnamento
Se si desidera utilizzare l’operazione ufficiale di rifacimento dell’accompagnamento, è possibile impostare il valore del parametroaction su: swap_instrumentals, quindi possiamo generare canzoni personalizzate in base al testo e al titolo.
L’esempio di compilazione è il seguente:


Rifacimento della voce
Se si desidera utilizzare l’operazione ufficiale di rifacimento della voce, è possibile impostare il valore del parametroaction su: swap_vocals, quindi possiamo generare canzoni personalizzate in base al testo, al titolo e allo stile.
L’esempio di compilazione è il seguente:


Separazione di voce e musica
Se si desidera utilizzare l’operazione ufficiale di separazione di voce e musica, è possibile impostare il valore del parametroaction su: stems; successivamente, eseguiremo la separazione di voce e musica in base all’ID del brano.
L’esempio di compilazione è il seguente:


Callback asincrono
Poiché il tempo di generazione di Producer Audios Generation API a volte può essere relativamente lungo, se l’API non risponde per molto tempo, la richiesta HTTP manterrà continuamente la connessione, causando un consumo aggiuntivo di risorse di sistema; pertanto, questa API fornisce anche supporto per callback asincroni. Il flusso complessivo è: quando il client avvia una richiesta, specifica inoltre un campocallback_url; dopo che il client avvia la richiesta API, l’API restituirà immediatamente un risultato, contenente le informazioni di un campo task_id, che rappresenta l’ID dell’attività corrente. Una volta completata l’attività, il risultato dell’attività di generazione verrà inviato tramite POST JSON al callback_url specificato dal client, includendo anch’esso il campo task_id, in modo che il risultato dell’attività possa essere associato tramite ID.
Di seguito capiremo come operare nello specifico attraverso un esempio.
Innanzitutto, il callback Webhook è un servizio in grado di ricevere richieste HTTP; gli sviluppatori dovrebbero sostituirlo con l’URL del server HTTP che hanno configurato. Qui, per comodità di dimostrazione, viene utilizzato un sito web di esempio Webhook pubblico https://webhook.site/; aprendo questo sito web è possibile ottenere un Webhook URL, come mostrato nell’immagine:
Copiare questo URL per utilizzarlo come Webhook; l’esempio qui è https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1.
Successivamente, possiamo impostare il campo callback_url sull’URL Webhook sopra indicato, compilando contemporaneamente i parametri corrispondenti; il contenuto specifico è mostrato nell’immagine:

Il contenuto è il seguente:
task_id; gli altri campi sono simili a quelli sopra e, tramite questo campo, è possibile realizzare l’associazione dell’attività.
Gestione degli errori
Durante la chiamata all’API, se si verifica un errore, l’API restituirà il codice e il messaggio di errore 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.

