Skip to main content
Esta interface é baseada na API TTS oficial da Fish Audio, com diferenças apenas na forma de autenticação (usando o token desta plataforma) e no callback assíncrono (extensão callback_url), a estrutura do corpo da solicitação é a mesma que a do upstream. O endereço é POST https://api.acedata.cloud/fish/tts.

Processo de Solicitação

Para usar a API Fish TTS, primeiro acesse o console da Ace Data Cloud para obter seu API Token, que deve ser guardado para uso futuro. Se você ainda não estiver logado ou registrado, será redirecionado automaticamente para a página de login, onde será convidado a se registrar e logar; após a conclusão, você será redirecionado de volta para a página atual. Um API Token é suficiente para acessar todos os serviços da plataforma, não é necessário solicitar um para cada serviço. A primeira solicitação oferece um crédito gratuito para que você possa experimentar; quando o crédito estiver baixo, você pode recarregar o saldo geral no console.
📘 Documentação completa: Fish TTS API →

Cabeçalho da Solicitação

Campos do Corpo da Solicitação

A nomenclatura dos campos é idêntica ao upstream. Exceto callback_url, os outros campos têm significados e valores conforme a documentação oficial da TTS Fish.

Exemplo 1: Solicitação Mínima (text + format=mp3)

Retorno (testado):
audio_url aponta para o CDN desta plataforma, podendo ser baixado diretamente via GET ou reproduzido em <audio>. O link é válido por um longo período, mas ainda é recomendado manter uma cópia em seu próprio armazenamento.

Exemplo 2: Usando Clone de Voz reference_id

Abaixo, um clone de voz pública em espanhol na plataforma Fish (_id pode ser recuperado através da Consulta de Modelos Fish):
Retorno (testado):

Exemplo 3: Ajustando Velocidade / Volume (prosody)

Retorno (testado):
speed maior que 1 acelera, menor que 1 desacelera; volume em dB, 0 significa sem alteração, números positivos aumentam, negativos diminuem.

Exemplo 4: Mudando Modelo + Controlando Taxa de Bits

Através do cabeçalho HTTP model: s1 mude para o modelo estável, adicionando mp3_bitrate: 128 no corpo da solicitação para controlar a taxa de bits MP3:
Retorno (medido):

Exemplo 5: Forma de onda PCM bruta

Para cenários que precisam de montagem em tempo real no navegador ou processamento posterior no cliente (mixagem, alteração de velocidade), recomenda-se usar pcm:
Retorno (medido):
A extensão do link segue o format na solicitação: mp3 resulta em .mp3, wav e pcm resultam em .wav (container WAV, PCM de 16 bits).

Callback assíncrono (callback_url)

A síntese de textos longos pode levar de dez a várias dezenas de segundos, e se a conexão for interrompida, é necessário tentar novamente. Ao passar callback_url no corpo da solicitação, a interface retornará imediatamente {task_id, started_at}, e quando a tarefa for realmente concluída, o resultado completo será enviado como um POST JSON para essa URL, com o mesmo task_id no corpo da solicitação.
Retorno imediato (medido):
Mais tarde, callback_url receberá algo como:
Você também pode usar a API de Tarefas Fish para puxar resultados ativamente por task_id, veja o documento para mais detalhes.

Tratamento de erros

  • 400 token_mismatched: Parâmetros de solicitação ausentes ou inválidos (o mais comum é text vazio ou format com um valor diferente de mp3/wav/pcm).
  • 401 invalid_token: Token de autenticação inexistente ou inválido.
  • 429 too_many_requests: Limite de taxa da conta atingido.
  • 500 api_error: Erro interno do servidor.
Exemplo de resposta de erro:
Erros de validação de parâmetros incluirão a mensagem de erro original do pydantic no campo message, facilitando a localização do campo inválido, por exemplo:

Conclusão

O custo mínimo para integrar o Fish TTS é: substituir a autenticação pelo token da plataforma no código que já chama api.fish.audio/v1/tts e incluir explicitamente format: "mp3" no corpo da solicitação. Para cenários de texto longo, recomenda-se usar o callback assíncrono callback_url; para descobrir o reference_id de clonagem de timbre, consulte a Consulta de Modelos Fish e Obter Modelo Fish.