GUIA

API de texto em fala grátis: sem chave, sem cota, no seu próprio servidor

A maioria das APIs de texto em fala é grátis só até certo ponto: você se cadastra, recebe uma chave de API e um plano gratuito com cota mensal e limite de requisições, e depois uma conta por caractere. Para um protótipo tudo bem; para um app que fala muito, um bot ou um processo que gera milhares de falas, dói.

A SuperClonica segue outro caminho: o servidor de voz é uma imagem Docker gratuita que você roda no seu computador ou servidor. Não há chave para pedir nem cota, só o seu hardware. Este guia mostra como iniciar, chamar pelo curl, Python e JavaScript, e quanto o “grátis” custa de verdade.

Planos gratuitos e seus limites

Confira você mesmo as condições atuais de cada provedor na nuvem: planos gratuitos e preços mudam.

  • Planos gratuitos na nuvem costumam exigir conta e chave de API, e vêm com cota mensal de caracteres e limite de requisições.
  • O seu texto vai para o provedor a cada requisição.
  • Um servidor próprio não precisa de chave nem de conta, e não tem cota.
  • O servidor da SuperClonica fala 31 idiomas, com dez vozes padrão grátis e mais de 170 vozes de catálogo.

Ouça as vozes grátis online

Na página de qualquer voz, escreva uma frase de 30 a 100 caracteres, escolha o idioma e clique no botão para gerar. Em poucos segundos você ouve o que a API vai devolver, sem conta.

Inicie a API e chame

A resposta é um WAV mono de 16 bits; os cabeçalhos X-Sample-Rate e X-Duration-Seconds o descrevem, e GET /voices lista vozes e idiomas.

  • Inicie o servidor: docker run -d -p 8000:8000 -v superclonica-models:/models superclonica/superclonica:cpu. Na primeira vez, ele baixa o modelo, cerca de 385 MB.
  • Chame pelo curl: curl -X POST http://localhost:8000/synthesize -H "Content-Type: application/json" -d '{"text": "Hello from a free API!", "voice": "F1", "lang": "en"}' -o hello.wav
  • Do Python, sem pacotes extras: import json, urllib.request; req = urllib.request.Request('http://localhost:8000/synthesize', data=json.dumps({'text': 'Hello', 'voice': 'F1', 'lang': 'en'}).encode(), headers={'Content-Type': 'application/json'}); open('hello.wav', 'wb').write(urllib.request.urlopen(req).read())
  • Do JavaScript ou Node.js: const r = await fetch('http://localhost:8000/synthesize', {method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify({text: 'Hello', voice: 'F1', lang: 'en'})}); const wav = await r.arrayBuffer();

Chaves, limites e escala

Na sua própria máquina, não precisa de chave. Se o servidor puder ser acessado pela rede, defina SUPERCLONICA_API_KEY e envie Authorization: Bearer com essa chave, ou mantenha o servidor privado. Por padrão uma requisição aceita até 5000 caracteres, SUPERCLONICA_MAX_TEXT muda isso e SUPERCLONICA_LANES permite várias requisições ao mesmo tempo. Antes de expor, coloque HTTPS na frente com qualquer proxy reverso.

Quanto custa o grátis de verdade

O software é grátis: o motor e a imagem são Apache 2.0, e o modelo Supertonic 3 está sob a OpenRAIL-M, que permite uso comercial dentro das suas restrições. O que você paga é a máquina: uma CPU resolve uma frase curta em bem menos de um segundo, e uma GPU é mais rápida com muitos usuários ao mesmo tempo. As vozes do catálogo são compradas uma vez e as dez padrão não custam nada.