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 inserira song for Christmas, conforme mostrado na imagem:

accept: o formato de resposta desejado, aqui preenchido comoapplication/json, ou seja, formato JSON.authorization: a chave para chamar a API, que pode ser selecionada diretamente após a solicitação.
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.

success, o estado atual da tarefa de geração de música.data, o resultado da tarefa de música atualid, 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.
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 campolyric pode receber um conteúdo semelhante ao seguinte:
- lyric: texto da letra
- custom: preenchido como
true, representando a geração personalizada, este parâmetro éfalsepor padrão, representando a geração usandoprompt. - title: o título da música. 填写样例如下:


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âmetroaction 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:

- 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.


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



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âmetroaction como: variation, em seguida, podemos personalizar a geração de uma nova música com efeito semelhante.
O exemplo de preenchimento é o seguinte:


Substituir Seções
Se você quiser substituir seções da música, precisamos passar o valor do parâmetroaction 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:



Versão de Acompanhamento
Se você deseja usar a operação de versão de acompanhamento oficial, pode definir o valor do parâmetroaction 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:


Versão de Voz
Se você deseja usar a operação de versão de voz oficial, pode definir o valor do parâmetroaction 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:


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âmetroaction 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:


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 campocallback_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:

内容如下:
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.

