POST https://api.acedata.cloud/fish/tts。
Processo de solicitação
Para usar a API Fish TTS, primeiro obtenha seu API Token no Console do Ace Data Cloud e guarde-o para uso posterior.
Se você ainda não estiver conectado ou registrado, será automaticamente redirecionado para a página de login, onde será convidado a se registrar e entrar; após a conclusão, retornará automaticamente à página atual.
Um único API Token pode chamar todos os serviços da plataforma, sem necessidade de solicitar um separadamente para cada serviço. A primeira solicitação concede créditos gratuitos, permitindo uma experiência sem custo; quando os créditos forem insuficientes, você poderá recarregar o saldo geral no console.
📘 Documentação completa: Fish TTS API →
Cabeçalhos da solicitação
Campos do corpo da solicitação
A clonagem única aceita apenas URLs de áudio HTTPS, não aceita MessagePack, Base64, URI de dados ou URLs com credenciais. Recomenda-se que o áudio de referência tenha entre 10 e 270 segundos; o Studio usa uma faixa mais conservadora de 10 a 60 segundos.
Exemplo 1: solicitação mínima (text + format=mp3)
audio_url aponta para a CDN desta plataforma e pode ser baixado diretamente com GET ou reproduzido em <audio>. A resposta final bem-sucedida também retornará cost no nível superior, em que amount são os Credits efetivamente deduzidos nesta solicitação; se houver desconto na conta, list_amount representa os créditos antes do desconto. O link permanece disponível por muito tempo, mas ainda é recomendável manter uma cópia em seu próprio armazenamento.
Exemplo 2: usar o timbre clonado reference_id
A seguir, é usado um timbre público em espanhol na plataforma Fish (o _id pode ser obtido por meio de pesquisa no Fish Model Query):
Exemplo 3: clonagem instantânea de voz única (references)
Coloque o áudio de referência em um endereço HTTPS público e forneça o texto exato realmente falado nele. Esta voz será usada apenas para esta síntese e não criará um modelo de longo prazo:
Exemplo 3: ajustar velocidade / volume (prosody)
speed maior que 1 acelera, menor que 1 desacelera; a unidade de volume é dB, 0 indica sem alteração, números positivos aumentam e números negativos reduzem.
Exemplo 5: alternar modelo + controlar taxa de bits
Alterne para o modelo estável por meio do cabeçalho HTTPmodel: s1 e adicione mp3_bitrate: 128 no corpo da solicitação para controlar a taxa de bits do MP3:
Exemplo 6: forma de onda bruta PCM
Para cenários que exigem concatenação em tempo real no navegador ou processamento posterior no cliente (mixagem, alteração de velocidade), é recomendado usarpcm:
A extensão do link segue oformatda solicitação:mp3resulta em.mp3, enquantowavepcmresultam em.wav(contêiner WAV, PCM de 16 bits).
Retorno de chamada assíncrono (callback_url)
A síntese de texto longo de uma só vez pode levar de mais de dez segundos a dezenas de segundos; se a conexão for interrompida, é necessário tentar novamente. Após passar callback_url no corpo da solicitação, a interface retornará imediatamente {task_id, started_at}. Quando o processamento upstream for realmente concluído, o resultado completo será retornado por POST JSON para essa URL, com o mesmo task_id e o cost de nível superior da cobrança final desta vez no corpo da solicitação. A confirmação inicial da tarefa ainda não concluiu a síntese, portanto não inclui cost.
callback_url receberá algo como:
task_id; o response.cost no registro de estado final é consistente com o cost no retorno de chamada. Consulte essa documentação para mais detalhes.
Tratamento de erros
400 token_mismatched: parâmetros da solicitação ausentes ou inválidos (o mais comum étextestar vazio ouformatreceber um valor diferente demp3/wav/pcm).401 invalid_token: o token de autenticação não existe ou é inválido.429 too_many_requests: o limite de taxa da conta foi acionado.500 api_error: erro interno do servidor.
message, por exemplo:
Conclusão
O custo mínimo para integrar o Fish TTS é: no código existente que chamaapi.fish.audio/v1/tts, substituir a autenticação pelo token desta plataforma e incluir explicitamente format: "mp3" no corpo da solicitação. Para cenários de texto longo, recomenda-se usar o retorno de chamada assíncrono callback_url; para descobrir o reference_id de vozes clonadas, use em conjunto Fish Model Query e Fish Model Get.
