Skip to main content
Este interface fornece conversão de texto em fala, chamada de sons salvos e clonagem instantânea de som, com o endereço POST https://api.acedata.cloud/fish/tts.

Processo de Solicitação

Para usar a API Fish TTS, primeiro acesse o Painel de Controle da Ace Data Cloud para obter seu Token de API, que deve ser guardado. 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 Token de API é suficiente para acessar todos os serviços da plataforma, não sendo necessário solicitar um para cada serviço. A primeira solicitação oferece um crédito gratuito para experiência; quando o crédito estiver baixo, você pode recarregar o saldo geral no painel de controle.
📘 Documentação Completa: Fish TTS API →

Cabeçalho da Solicitação

Campos do Corpo da Solicitação

A clonagem instantânea aceita apenas URLs de áudio HTTPS, não aceita MessagePack, Base64, data URI ou URLs com credenciais. O áudio de referência é recomendado entre 10–270 segundos; o Studio usa uma faixa mais conservadora de 10–60 segundos.

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

Retorno (testado):
audio_url aponta para o CDN da plataforma, podendo ser baixado diretamente via GET ou reproduzido em <audio>. A resposta final bem-sucedida também retornará o cost de nível superior, onde amount é o crédito efetivamente deduzido; se houver desconto na conta, list_amount indica o crédito antes do desconto. O link é de uso prolongado, mas ainda é recomendado manter uma cópia em seu próprio armazenamento.

Exemplo 2: Usando a Voz Clonada reference_id

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

Exemplo 3: Clonagem Instantânea de Som (references)

Coloque o áudio de referência em um endereço HTTPS público e forneça a transcrição exata do que foi realmente dito. Este som é usado apenas para esta síntese e não criará um modelo de longo prazo:
Resposta de sucesso testada:

Exemplo 3: Ajustar velocidade / volume (prosody)

Retorno (teste real):
speed maior que 1 acelera, menor que 1 desacelera; volume em dB, 0 significa inalterado, números positivos aumentam, negativos diminuem.

Exemplo 5: Alternar modelo + controlar taxa de bits

Para alternar para o modelo estável, use o cabeçalho HTTP model: s1, e adicione mp3_bitrate: 128 no corpo da solicitação para controlar a taxa de bits do MP3:
Retorno (teste real):

Exemplo 6: Forma de onda PCM bruta

Para cenários que exigem montagem em tempo real no navegador ou processamento posterior no cliente (mixagem, alteração de velocidade), recomenda-se usar pcm:
Retorno (teste real):
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 texto longo pode levar de dez a dezenas de segundos, 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 de volta para essa URL em formato JSON POST, incluindo o mesmo task_id e o cost final da cobrança. A tarefa inicial confirmada ainda não concluiu a síntese, portanto não inclui cost.
Retorno imediato (teste real):
Mais tarde, callback_url receberá algo como:
Você também pode usar a API de Tarefas Fish para puxar resultados ativamente pelo task_id; o response.cost do estado final registrado será o mesmo que o cost no callback, veja esse 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 serão descritos no campo message, indicando os campos inválidos, 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 no corpo da solicitação format: "mp3". Para cenários de texto longo, recomenda-se usar callback_url para callback assíncrono; para descobrir o reference_id de vozes clonadas, utilize a Consulta de Modelos Fish e Obter Modelo Fish.