Processo de solicitação
Para usar a API Producer Audios Generation, primeiro obtenha seu API Token no console Ace Data Cloud e guarde-o para uso posterior.
Se você ainda não fez login ou não se registrou, será redirecionado automaticamente para a página de login para se registrar e fazer login, e retornará automaticamente para a página atual após a conclusão.
Um API Token pode chamar todos os serviços da plataforma, não sendo necessário solicitar separadamente para cada serviço. A primeira solicitação oferecerá créditos gratuitos, permitindo uma experiência gratuita; quando os créditos forem insuficientes, você poderá recarregar o saldo geral no console.
📘 Documentação completa: Producer Audios Generation API →
Uso básico
Para pensar em quais músicas, você pode inserir livremente um trecho de texto; por exemplo, se eu quiser gerar uma música sobre o Natal, posso inserira song for Christmas, como mostrado na imagem:

accept: qual formato de resultado de resposta deseja receber; aqui preencha comoapplication/json, ou seja, formato JSON.authorization: a chave para chamar a API, que pode ser selecionada diretamente no menu suspenso após a solicitação.
action: o comportamento desta tarefa de geração de música; para gerar uma música égenerate.model: o modelo utilizado para criar a música; atualmente os principais são: 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: o conteúdo da letra da música.custom: se será utilizado um método personalizado para gerar a música.prompt: o texto de prompt no modo de inspiração.title: informações do título da música.audio_id: ID da música de referência, usado para operações como continuação/versão cover.continue_at: continuar a música a partir do número de segundos especificado.replace_section_start/replace_section_end: horário inicial e final do trecho substituído, em segundos.lyrics_strength: intensidade da letra, indicando o grau de influência da letra na geração de áudio; opcional entre 0 e 1, padrão 0.7.sound_strength: intensidade do texto de prompt de áudio, opcional entre 0.2 e 1, padrão 0.7.cover_strength: intensidade da versão cover, entre 0.2 e 1, padrão 1.weirdness: grau de peculiaridade do estilo, opcional entre 0 e 1, padrão 0.5callback_url: URL que precisa receber o resultado do callback.async: opcional; quando definido comotrue, a interface retorna imediatamente otask_id, sem necessidade de fornecercallback_url; em seguida, obtenha o resultado consultando-o por polling através da interface de consulta de tarefas correspondente.instrumental: se está no modo sem letra.

success, a situação do status da tarefa de geração de música neste momento.data, o resultado desta tarefa de músicaid, o ID da tarefa de geração de música neste momento.sound, o texto de prompt da tarefa de geração de música neste momento.seed, o valor de seed da tarefa de geração de música neste momento.audio_url, o link de áudio da tarefa de geração de música neste momento.image_url, o link da capa da tarefa de geração de música neste momento.image_id, o ID da capa da tarefa de geração de música neste momento.state, o status da tarefa de geração de música neste momento.duration, as informações de duração da música neste momento.progress, o valor de progresso da tarefa de música neste momento.model, as informações do modelo usado pela tarefa de geração de música neste momento.lyric, as informações da letra da tarefa de geração de música neste momento.
data no resultado.
Além disso, se quiser gerar o código de integração correspondente, você pode copiá-lo diretamente, por exemplo, o código CURL é o seguinte:
Geração personalizada
Se quiser gerar letras personalizadas, você pode inserir a letra: Neste momento, o campolyric pode receber conteúdo semelhante ao seguinte:
- lyric:texto da letra
- custom:preencha como
true, representa a geração personalizada, este parâmetro é false por padrão, representando a geração usandoprompt. - title:o título da música.


Cover de músicas
Se quiser realizar uma operação de cover em uma música já gerada, você pode inserir a música gerada acima para fazer o cover; a seguir, vamos gerar uma música personalizada com base na letra e no título. Se quiser continuar fazendo cover de uma música enviada por você mesmo, pode definir o parâmetroaction como upload_cover e inserir o ID da música personalizada enviada que precisa continuar recebendo cover. O ID da música é obtido usando a Producer Upload API, como mostrado na imagem abaixo:

- action:o comportamento desta tarefa de música, atualmente suporta: generate、cover、extend、upload_cover、upload_extend、replace_section、swap_vocals、swap_instrumentals、variation; este cover usa o parâmetro
cover. - lyric:texto da letra
- title:o título da música.
- custom:se deve gerar usando o modo personalizado, o padrão é false.
- audio_id:o ID da música que precisa receber cover.


Continuar a música
Se quiser continuar a música, precisamos passar o valor do parâmetroaction como: extend; em seguida, podemos gerar uma música personalizada com base na letra, no título e no estilo.
Se quiser continuar uma música enviada por você, pode definir o parâmetro action como upload_extend, e a entrada deve conter o ID da música personalizada enviada que precisa ser continuada. O ID da música é obtido usando a Producer Upload API, conforme mostrado na imagem abaixo:



Variação de música
Se quiser gerar uma nova música com um efeito semelhante com base no valor de seed da música anterior, precisamos passar o valor do parâmetroaction como: variation; em seguida, será possível gerar uma nova música personalizada com um efeito semelhante.
O exemplo de preenchimento é o seguinte:


Substituir segmento
Se quiser substituir segmentos de uma música, precisamos passar o valor do parâmetroaction como: replace_section, em seguida podemos gerar músicas personalizadas com base na letra e no título.
Se quiser continuar substituindo segmentos de uma música enviada por você, pode definir o parâmetro action como upload_replace_section, e inserir o ID da música personalizada enviada que precisa continuar sendo escrita. O ID da música é obtido usando a Producer Upload API, conforme mostrado na imagem abaixo:



Versão cover instrumental
Se quiser usar a operação oficial de versão cover instrumental, você pode definir o valor do parâmetroaction como: swap_instrumentals; em seguida, vamos gerar músicas personalizadas com base na letra e no título.
O exemplo de preenchimento é o seguinte:


Versão cover vocal
Se quiser usar a operação oficial de versão cover vocal, você pode definir o valor do parâmetroaction como: swap_vocals; em seguida, vamos gerar músicas personalizadas com base na letra, no título e no estilo.
O exemplo de preenchimento é o seguinte:


Separação de letra e música
Se quiser usar a operação oficial de separação de letra e música, você pode definir o valor do parâmetroaction como: stems; em seguida, precisamos realizar a separação de letra e música com base no ID da música.
O exemplo de preenchimento é o seguinte:


Retorno de chamada assíncrono
Como o tempo de geração da API Producer Audios Generation às vezes pode ser relativamente longo, se a API não responder por um longo período, a solicitação HTTP permanecerá conectada, resultando em consumo adicional de recursos do sistema; por isso, esta API também oferece suporte a retornos de chamada assíncronos. O fluxo geral é: quando o cliente inicia uma solicitação, ele especifica adicionalmente um campocallback_url. Após o cliente iniciar a solicitação da API, a API retornará imediatamente um resultado, contendo um campo task_id, que representa o ID da tarefa atual. Quando a tarefa for concluída, o resultado da tarefa de geração será enviado na forma de POST JSON para o callback_url especificado pelo cliente, incluindo também o campo task_id, para que os resultados da tarefa possam ser associados pelo ID.
A seguir, vamos entender como operar especificamente por meio de um exemplo.
Primeiro, o retorno de chamada Webhook é um serviço que pode receber solicitações HTTP; o desenvolvedor deve substituí-lo pela URL do servidor HTTP que ele próprio configurou. Para facilitar a demonstração, aqui é usado um site público de exemplo de Webhook https://webhook.site/; ao abrir esse site, é possível obter uma URL de Webhook, como mostrado na imagem:
Copie esta URL para usá-la como Webhook; o exemplo aqui é https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1。
Em seguida, podemos definir o campo callback_url como a URL de Webhook acima e, ao mesmo tempo, preencher os parâmetros correspondentes; o conteúdo específico é mostrado na imagem:

O conteúdo é o seguinte:
task_id no resultado, e os outros campos são semelhantes aos acima. A associação de tarefas pode ser realizada por meio desse campo.
Tratamento de erros
Ao chamar a API, se ocorrer um erro, a API retornará o código e as informações de erro correspondentes. Por exemplo:400 token_mismatched: Solicitação inválida, possivelmente devido a parâmetros ausentes ou inválidos.400 api_not_implemented: Solicitação inválida, possivelmente devido a parâmetros ausentes ou inválidos.401 invalid_token: Não autorizado, token de autorização inválido ou ausente.429 too_many_requests: Muitas solicitações, você excedeu o limite de taxa.500 api_error: Erro interno do servidor, algo deu errado no servidor.

