Saltar para o conteúdo principal
Este artigo apresentará um tipo de instruções de integração da API Producer Audios Generation, que pode gerar músicas oficiais do Producer por meio da inserção de parâmetros personalizados.

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 inserir a song for Christmas, como mostrado na imagem:

Podemos ver que aqui definimos os Request Headers, incluindo:
  • accept: qual formato de resultado de resposta deseja receber; aqui preencha como application/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.
Além disso, os parâmetros do Request Body incluem:
  • 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.5
  • callback_url: URL que precisa receber o resultado do callback.
  • async: opcional; quando definido como true, a interface retorna imediatamente o task_id, sem necessidade de fornecer callback_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.
Após selecionar, você pode perceber que o código correspondente também foi gerado no lado direito, como mostrado na imagem:

Clique no botão «Try» para realizar o teste; como mostrado na imagem acima, aqui obtivemos o seguinte resultado:
O resultado retornado possui vários campos, apresentados a seguir:
  • success, a situação do status da tarefa de geração de música neste momento.
    • data, o resultado desta tarefa de música
      • id, 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.
Podemos ver que obtivemos as informações da música que queríamos gerar; só precisamos obter a música Producer gerada de acordo com o endereço do link de música em 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 campo lyric pode receber conteúdo semelhante ao seguinte:
Em seguida, se quisermos gerar músicas personalizadas de acordo com a letra, o título e o estilo, podemos especificar o seguinte conteúdo:
  • lyric:texto da letra
  • custom:preencha como true, representa a geração personalizada, este parâmetro é false por padrão, representando a geração usando prompt.
  • title:o título da música.
O exemplo de preenchimento é o seguinte:

Após o preenchimento, o código a seguir é gerado automaticamente:

O código correspondente:
O teste é permitido, e o efeito gerado é semelhante.

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âmetro action 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:

Então, é possível especificar o seguinte conteúdo:
  • 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.
O exemplo de preenchimento é o seguinte:

Após o preenchimento, o código a seguir é gerado automaticamente:

O código correspondente:
O teste é permitido, e o efeito gerado é semelhante.

Continuar a música

Se quiser continuar a música, precisamos passar o valor do parâmetro action 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:

O exemplo de preenchimento é o seguinte:

Após o preenchimento, o código é gerado automaticamente da seguinte forma:

O código correspondente:
O teste é permitido, e o efeito gerado é semelhante.

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âmetro action como: variation; em seguida, será possível gerar uma nova música personalizada com um efeito semelhante. O exemplo de preenchimento é o seguinte:

Após o preenchimento, o código é gerado automaticamente da seguinte forma:

O código correspondente:
O teste é permitido, e o efeito gerado é semelhante.

Substituir segmento

Se quiser substituir segmentos de uma música, precisamos passar o valor do parâmetro action 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:

O exemplo de preenchimento é o seguinte:

Após o preenchimento, o código é gerado automaticamente da seguinte forma:

O código correspondente:
O teste é permitido, e o efeito gerado é semelhante.

Versão cover instrumental

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

Após o preenchimento, o código é gerado automaticamente da seguinte forma:

O código correspondente:
O teste é permitido, e o efeito gerado é semelhante.

Versão cover vocal

Se quiser usar a operação oficial de versão cover vocal, você pode definir o valor do parâmetro action 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:

Após o preenchimento, o código é gerado automaticamente da seguinte forma:

O código correspondente:
O teste é permitido, e o efeito gerado é semelhante.

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âmetro action 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:

Após preencher, o código é gerado automaticamente da seguinte forma:

O código correspondente:
O teste é permitido, e o efeito gerado é semelhante.

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 campo callback_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:

Clique em executar e será possível ver que um resultado será obtido imediatamente, conforme abaixo:
Aguarde um momento, e poderemos observar o resultado da tarefa de geração em https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1, como mostrado na imagem: O conteúdo é o seguinte:
Pode-se ver que há um campo 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.

Exemplo de resposta de erro

Conclusão

Por meio deste documento, você já aprendeu como usar a Producer Audios Generation API para gerar música inserindo palavras de aviso. Esperamos que este documento possa ajudar você a integrar e usar melhor essa API. Se tiver alguma dúvida, entre em contato com nossa equipe de suporte técnico a qualquer momento.