Processo de Solicitação
Para usar a API, você precisa primeiro acessar a página correspondente da Fish Audios Generation API para solicitar o serviço correspondente. Após entrar na página, clique no botão “Acquire”, como 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
Primeiro, entenda a forma básica de uso, que é inserir a palavra-chaveprompt, a ação de clonagem action, o ID da voz voice_id e o modelo model, para obter o resultado processado. Primeiro, você precisa passar um campo action, cujo valor é generate, e depois precisamos inserir o modelo model, que atualmente é principalmente o modelo fish-tts, com os detalhes a seguir:

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.
model: o modelo para clonar a voz, principalmente o modelofish-tts.action: a ação da tarefa de clonagem de voz.prompt: a palavra-chave a ser clonada.voice_id: o ID da voz a ser clonada.callback_url: a URL para onde o resultado deve ser enviado.

success, o estado da tarefa de clonagem de voz.data, o resultado da tarefa de clonagem de vozaudio_url, o link do áudio da tarefa de clonagem de voz.
data para obter a voz clonada.
Além disso, se você quiser gerar o código de integração correspondente, pode copiá-lo diretamente, como o código CURL abaixo:
Callback Assíncrono
Como o tempo de geração da Fish Audios Generation API é relativamente longo, cerca de 1-2 minutos, 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 task_id, que representa 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 em formato JSON POST, incluindo também o campo task_id, permitindo que o resultado da tarefa seja 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, e o desenvolvedor deve substituí-lo pela URL do servidor HTTP que ele configurou. Para facilitar a demonstração, usaremos 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 para usá-la como Webhook, o exemplo aqui é https://webhook.site/4815f79f-a40f-4078-ac85-1cc126b6bb34.
Em seguida, podemos definir o campo callback_url como a URL do Webhook acima, ao mesmo tempo em que inserimos os parâmetros correspondentes, conforme mostrado na imagem:

https://webhook.site/4815f79f-a40f-4078-ac85-1cc126b6bb34, como mostrado na imagem:
O conteúdo é o seguinte:
task_id, e os outros campos são semelhantes aos mencionados anteriormente, permitindo que a tarefa seja associada através desse campo.
Tratamento de Erros
Ao chamar a API, se ocorrer um erro, a API retornará o código e a mensagem 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.

