GUIDE

API de synthèse vocale gratuite : sans clé, sans quota, sur votre serveur

La plupart des API de synthèse vocale ne sont gratuites que jusqu’à un certain point : on s’inscrit, on reçoit une clé d’API et une offre gratuite avec quota mensuel et limite de requêtes, puis une facture au caractère. Pour un prototype, ça va ; pour une app qui parle beaucoup, un bot ou une chaîne qui vocalise des milliers de phrases, ça fait mal.

SuperClonica prend une autre voie : le serveur vocal est une image Docker gratuite que vous faites tourner sur votre ordinateur ou votre serveur. Pas de clé à demander, pas de quota, seulement votre matériel. Ce guide montre comment le lancer, l’appeler depuis curl, Python et JavaScript, et ce que « gratuit » coûte vraiment.

Les offres gratuites et leurs limites

Vérifiez vous-même les conditions actuelles de chaque fournisseur cloud : offres gratuites et prix changent.

  • Les offres cloud gratuites demandent en général un compte et une clé d’API, avec un quota mensuel de caractères et une limite de requêtes.
  • Votre texte part chez le fournisseur à chaque requête.
  • Un serveur auto-hébergé ne demande ni clé ni compte, et n’a pas de quota.
  • Le serveur SuperClonica parle 31 langues, avec dix voix de base gratuites et plus de 170 voix de catalogue.

Écouter les voix gratuitement

Sur la page de n’importe quelle voix, saisissez une phrase de 30 à 100 caractères, choisissez la langue et cliquez sur le bouton de synthèse. En quelques secondes, vous entendez ce que l’API renverra, sans compte.

Lancer l’API et l’appeler

La réponse est un WAV mono 16 bits ; les en-têtes X-Sample-Rate et X-Duration-Seconds le décrivent, et GET /voices liste les voix et les langues.

  • Lancez le serveur : docker run -d -p 8000:8000 -v superclonica-models:/models superclonica/superclonica:cpu. Le premier démarrage télécharge le modèle, environ 385 Mo.
  • Appelez-le avec 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
  • Depuis Python, sans paquet supplémentaire : 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())
  • Depuis 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();

Clés, limites et montée en charge

Sur votre propre machine, aucune clé n’est nécessaire. Si le serveur est accessible depuis un réseau, définissez SUPERCLONICA_API_KEY et envoyez Authorization: Bearer avec cette clé, ou gardez le serveur privé. Par défaut, une requête accepte jusqu’à 5000 caractères, SUPERCLONICA_MAX_TEXT le modifie et SUPERCLONICA_LANES permet plusieurs requêtes en parallèle. Avant de l’exposer, mettez HTTPS devant avec n’importe quel proxy inverse.

Ce que coûte vraiment le gratuit

Le logiciel est gratuit : le moteur et l’image sont sous Apache 2.0, et le modèle Supertonic 3 sous OpenRAIL-M, qui autorise l’usage commercial dans le cadre de ses restrictions. Vous payez la machine : un processeur traite une phrase courte en bien moins d’une seconde, un GPU va plus vite avec beaucoup d’utilisateurs. Les voix du catalogue s’achètent une fois, les dix voix de base ne coûtent rien.