Skip to main content
Este documento apresentará uma descrição da integração da API de Geração de Áudios do Producer, que pode gerar músicas oficiais do Producer através da entrada de parâmetros personalizados.

Processo de Solicitação

Para usar a API, você precisa primeiro acessar a página correspondente da API de Geração de Áudios do Producer para solicitar o serviço correspondente. Após entrar na página, clique no botão “Adquirir”, conforme mostrado na imagem: Se você ainda não estiver logado ou registrado, será redirecionado automaticamente para a página de login, convidando-o a se registrar e fazer login. Após o registro e login, você será redirecionado de volta para a página atual. Na primeira solicitação, haverá um crédito gratuito disponível, permitindo o uso gratuito da API.

Uso Básico

Para gerar músicas, você pode inserir qualquer texto, por exemplo, se eu quiser gerar uma música sobre o Natal, posso inserir a song for Christmas, conforme mostrado na imagem:

Aqui, podemos ver que configuramos os Cabeçalhos da Solicitação, incluindo:
  • accept: o formato de resposta desejado, aqui preenchido como application/json, ou seja, formato JSON.
  • authorization: a chave para chamar a API, que pode ser selecionada diretamente após a solicitação.
Além disso, os parâmetros do Corpo da Solicitação incluem:
  • action: a ação da tarefa de geração de música, que é 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 a música deve ser gerada de forma personalizada.
  • prompt: a palavra-chave no modo de inspiração.
  • title: informações sobre o título da música.
  • audio_id: ID da música de referência, usado para continuar ou replicar.
  • continue_at: continuar a partir de um número de segundos especificado.
  • replace_section_start/replace_section_end: tempo de início e fim do trecho a ser substituído, em segundos.
  • lyrics_strength: intensidade da letra, indicando o grau de influência da letra na geração do áudio, podendo ser de 0 a 1, com padrão de 0.7.
  • sound_strength: intensidade da palavra-chave de áudio, podendo ser de 0.2 a 1, com padrão de 0.7.
  • cover_strength: intensidade da reinterpretação, de 0.2 a 1, com padrão de 1.
  • weirdness: grau de peculiaridade do estilo, podendo ser de 0 a 1, com padrão de 0.5.
  • callback_url: URL para onde os resultados devem ser retornados.
  • instrumental: se deve ser no modo sem letra.
Após a seleção, você pode notar que o código correspondente também foi gerado à direita, conforme mostrado na imagem:

Clique no botão “Tentar” para realizar o teste, como mostrado na imagem acima, e você receberá o seguinte resultado:
O resultado retornado contém vários campos, descritos a seguir:
  • success, o estado atual da tarefa de geração de música.
    • data, o resultado da tarefa de música atual
      • id, o ID da tarefa de geração de música atual.
      • sound, a palavra-chave da tarefa de geração de música atual.
      • seed, o valor da semente da tarefa de geração de música atual.
      • audio_url, o link de áudio da tarefa de geração de música atual.
      • image_url, o link da capa da tarefa de geração de música atual.
      • image_id, o ID da capa da tarefa de geração de música atual.
      • state, o estado da tarefa de geração de música atual.
      • duration, a duração da música atual.
      • progress, o valor de progresso da tarefa de música atual.
      • model, as informações do modelo utilizado na tarefa de geração de música atual.
      • lyric, as informações da letra da tarefa de geração de música atual.
Podemos ver que recebemos as informações da música que desejamos gerar, e tudo o que precisamos fazer é acessar o link de áudio da música no data para obter a música do Producer gerada. Além disso, se você quiser gerar o código de integração correspondente, pode copiá-lo diretamente, por exemplo, o código CURL é o seguinte:

Geração Personalizada

Se você quiser gerar letras personalizadas, pode inserir a letra: Neste caso, o campo lyric pode receber um conteúdo semelhante ao seguinte:
Em seguida, para personalizar a geração da música com base na letra, título e estilo, você pode especificar o seguinte conteúdo:
  • lyric: texto da letra
  • custom: preenchido como true, representando a geração personalizada, este parâmetro é false por padrão, representando a geração usando prompt.
  • title: o título da música. 填写样例如下:

填写完毕之后自动生成了代码如下:

对应的代码:
Teste permitido, o efeito gerado é semelhante.

Cantar músicas

Se você deseja realizar a operação de cantar uma música já gerada, pode inserir a música gerada acima para cantar, em seguida, precisamos personalizar a geração da música com base na letra e no título. Se você deseja continuar cantando uma música que você enviou, pode definir o parâmetro action como upload_cover e inserir o ID da música que precisa continuar cantando. O ID da música pode ser obtido usando a API de Upload do Produtor, como mostrado na imagem abaixo:

Você pode especificar o seguinte conteúdo:
  • action: A ação da tarefa da música, atualmente suportada: generate, cover, extend, upload_cover, upload_extend, replace_section, swap_vocals, swap_instrumentals, variation, nesta reinterpretação usamos o parâmetro cover.
  • lyric: Texto da letra
  • title: Título da música.
  • custom: Se deve usar o modo personalizado para gerar, o padrão é false.
  • audio_id: ID da música que precisa ser cantada.
Preenchimento de exemplo abaixo:

Preenchido, o código gerado é o seguinte:

Correspondente ao código:
Teste permitido, o efeito gerado é semelhante.

Continuar a música

Se você quiser continuar a música, precisamos passar o valor do parâmetro action como: extend, em seguida, devemos personalizar a geração da música com base na letra, título e estilo. Se você quiser continuar a música que enviou, pode definir o parâmetro action como upload_extend e inserir o ID da música que deseja continuar. O ID da música pode ser obtido usando a API de Upload do Produtor, conforme mostrado na imagem abaixo:

O exemplo de preenchimento é o seguinte:

Depois de preencher, o código gerado automaticamente é o seguinte:

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

Transformação musical

Se você quiser gerar uma nova música com efeito semelhante com base no valor de seed da música anterior, precisamos passar o valor do parâmetro action como: variation, em seguida, podemos personalizar a geração de uma nova música com efeito semelhante. O exemplo de preenchimento é o seguinte:

填写完毕之后自动生成了代码如下:

对应的代码:
测试允许, 生成的效果 é semelhante.

Substituir Seções

Se você quiser substituir seções da música, precisamos passar o valor do parâmetro action como: replace_section, em seguida, devemos personalizar a geração da música com base na letra e no título. Se você quiser continuar substituindo seções de uma música que você enviou, pode definir o parâmetro action como upload_replace_section e inserir o ID da música que precisa ser continuada. O ID da música pode ser obtido usando a Producer Upload API, como mostrado na imagem abaixo:

Exemplo de preenchimento:

Preenchido, o código gerado automaticamente é o seguinte:

Correspondente ao código:
Teste permitido, o efeito gerado é semelhante.

Versão de Acompanhamento

Se você deseja usar a operação de versão de acompanhamento oficial, pode definir o valor do parâmetro action como: swap_instrumentals, em seguida, precisamos personalizar a geração da música com base na letra e no título. O exemplo de preenchimento é o seguinte:

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

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

Versão de Voz

Se você deseja usar a operação de versão de voz oficial, pode definir o valor do parâmetro action como: swap_vocals, em seguida, precisamos personalizar a geração da música com base na letra, título e estilo. O exemplo de preenchimento é o seguinte:

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

O código correspondente:
测试允许,生成的效果是 semelhante.

Separação de letras e música

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

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

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

Callback assíncrono

Como a API de Geração de Áudios do Producer pode levar um tempo relativamente longo para gerar, se a API não responder por um longo período, a solicitação HTTP manterá a conexão, resultando em consumo adicional de recursos do sistema. Portanto, esta API também oferece suporte a callbacks assíncronos. O fluxo geral é: quando o cliente inicia a solicitação, deve especificar um campo callback_url adicional. Após o cliente fazer a solicitação à API, a API retornará imediatamente um resultado, contendo um campo de informação task_id, representando o ID da tarefa atual. Quando a tarefa for concluída, o resultado da tarefa gerada será enviado para o callback_url especificado pelo cliente no formato JSON POST, que também incluirá o campo task_id, assim o resultado da tarefa pode ser associado pelo ID. Vamos entender como operar isso através de um exemplo. Primeiro, o callback Webhook é um serviço que pode receber solicitações HTTP, os desenvolvedores devem substituir pela URL do servidor HTTP que construíram. Para facilitar a demonstração, usamos um site de exemplo de Webhook público https://webhook.site/, ao abrir este site, você obterá uma URL de Webhook, como mostrado na imagem: Copie esta URL e você pode 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 do Webhook acima, ao mesmo tempo preenchendo os parâmetros correspondentes, o conteúdo específico é mostrado na imagem:

Clique em executar, e você verá que receberá imediatamente um resultado, como abaixo:
稍等片刻,我们可以在 https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1 上观察到生成任务的结果,如图所示: 内容如下:
可以看到结果中有一个 task_id 字段,其他的字段都和上文类似,通过该字段即可实现任务的关联。

Erro de tratamento

Na chamada da API, se ocorrer um erro, a API retornará o código de erro e a mensagem correspondente. 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

Através deste documento, você já entendeu como usar a API de Geração de Áudios do Produtor, que pode gerar música através da entrada de palavras-chave. Esperamos que este documento possa ajudá-lo a integrar e usar melhor essa API. Se tiver alguma dúvida, entre em contato com nossa equipe de suporte técnico.