L’Abliterated Model Router est disponible ! Essayez-le gratuitement dès aujourd’hui.

Publié le par AllModels

Une seule API pour les fournisseurs de synthèse vocale en temps réel

Accédez à de nombreux modèles TTS via AllModels. Streamez l’audio en WebSocket, utilisez un SDK compatible OpenAI ou ElevenLabs, et changez de modèle sans reconstruire votre pile vocale.

AllModels est un service indépendant, sans affiliation avec les fournisseurs vers lesquels il route les modèles, ni approuvé ou sponsorisé par eux.

Qu’est-ce qu’une API TTS unifiée ?

Une API de synthèse vocale (TTS) unifiée est une intégration unique capable de générer de la parole avec des modèles de nombreux fournisseurs différents. Au lieu d’écrire un client pour Cartesia, un autre pour ElevenLabs, un autre pour MiniMax et un autre encore pour OpenAI, votre application s’adresse à un seul endpoint avec une seule clé API. C’est le modèle choisi qui détermine le fournisseur qui fait le travail. AllModels est une API TTS unifiée de ce type : vous envoyez un ID de modèle comme cartesia/sonic-3-6 ou minimax/speech-2-8-hd, AllModels route la requête vers ce fournisseur et vous renvoie l’audio en streaming. Le même concept porte d’autres noms : API d’agrégation TTS, couche d’abstraction de synthèse vocale, ou « OpenRouter de la synthèse vocale ».

Comment fonctionne AllModels

Chaque modèle du catalogue TTS d’AllModels possède un ID provider/model. Vous vous authentifiez une seule fois avec une clé API AllModels, qui remplace les clés et comptes de facturation distincts que vous auriez sinon chez chaque fournisseur. AllModels propose ensuite trois façons d’appeler les mêmes modèles :

  • WebSocket natif sur wss://api.allmodels.io/v1/tts. Vous envoyez le texte au fur et à mesure qu’il est produit et recevez l’audio sous forme de messages binaires. C’est l’interface temps réel native d’AllModels.
  • Compatible OpenAI sur https://api.allmodels.io/oai. Pointez le SDK OpenAI officiel vers cette URL de base et continuez d’appeler audio.speech.create.
  • Compatible ElevenLabs sur https://api.allmodels.io/el. Pointez le SDK ElevenLabs officiel vers cette URL de base et continuez d’appeler ses méthodes de synthèse vocale, streaming compris.

Les trois donnent accès au même catalogue. Si votre code utilise déjà le SDK OpenAI ou ElevenLabs, il suffit de changer l’URL de base et la clé API pour passer à AllModels.

Un catalogue, une clé, un solde

En tant qu’agrégateur, AllModels vous offre aussi un point unique pour comparer et contrôler les fournisseurs. GET /v1/models liste chaque modèle TTS, les fournisseurs qui le servent et son prix pour 1 000 caractères. Lorsqu’un modèle est disponible chez plusieurs fournisseurs, une préférence provider permet de choisir : only limite la requête aux fournisseurs indiqués, order les place en priorité et ignore les exclut. La consommation de tous les fournisseurs est débitée d’un seul solde prépayé AllModels, au lieu d’une facture par fournisseur.

Changez le modèle, gardez tout le reste

Votre clé API, votre endpoint, votre client et votre code de requête restent strictement identiques d’un fournisseur à l’autre. Pour utiliser un autre modèle TTS, changez l’ID du modèle. AllModels s’occupe du reste : il se connecte au fournisseur, gère son API et renvoie l’audio à votre application.

Streamez de l’audio en temps réel depuis n’importe quel client

Choisissez un client, un mode et un langage. Les lignes en surbrillance sont l’URL de base AllModels ainsi que les valeurs de modèle et de voix à modifier pour essayer un autre modèle.

Client
Mode
Langage

WebSocket natif, streaming JavaScript · Node.js · ws

Connectez-vous à wss://api.allmodels.io/v1/tts, envoyez le texte au fur et à mesure qu’il est produit et recevez l’audio sous forme de messages binaires. Guide du streaming.

import { once } from "node:events";
import { createWriteStream } from "node:fs";
import WebSocket from "ws";

const url = new URL("wss://api.allmodels.io/v1/tts");
url.searchParams.set("model", "grok/grok-tts");
url.searchParams.set("voice", "eve");
url.searchParams.set("format", "pcm");

const output = createWriteStream("reply.pcm");
const ws = new WebSocket(url, {
  headers: { Authorization: `Bearer ${process.env.ALLMODELS_API_KEY}` }
});

// Audio arrives as binary WebSocket messages.
ws.on("message", (data, isBinary) => {
  if (isBinary) output.write(data);
});

await once(ws, "open");
// Send text as your LLM or application produces it.
ws.send(JSON.stringify({ type: "text", text: "Your order has shipped. " }));
ws.send(JSON.stringify({ type: "text", text: "It arrives tomorrow." }));
ws.send(JSON.stringify({ type: "flush" }));
ws.send(JSON.stringify({ type: "close" }));

await once(ws, "close");
output.end();

Interfaces compatibles

Utilisez le client que votre équipe connaît déjà

https://api.allmodels.io/oai

Compatible OpenAI

Vous utilisez déjà le SDK OpenAI ? Pointez son URL de base vers AllModels et continuez d’appeler audio.speech.create, désormais avec un ID de modèle AllModels. Le streaming comme les requêtes uniques fonctionnent.

Lire la documentation TTS OpenAI

https://api.allmodels.io/el

Compatible ElevenLabs

Vous utilisez déjà le SDK ElevenLabs ? Pointez son URL de base vers AllModels et continuez d’utiliser ses méthodes convert, stream et realtime, désormais avec un ID de modèle AllModels.

Lire la documentation TTS ElevenLabs

Réponses rapides

L’essentiel sur les API TTS en temps réel

Qu’est-ce qu’une API TTS unifiée ?

Une API TTS unifiée offre aux applications une seule surface d’intégration pour plusieurs modèles de synthèse vocale. Avec AllModels, l’ID du modèle choisi détermine le routage, tandis que l’authentification et le déroulement des requêtes restent les mêmes.

AllModels prend-il en charge l’audio en temps réel ?

Oui. L’interface native streame en WebSocket sur /v1/tts, le SDK Python ElevenLabs envoie le texte en streaming via un WebSocket compatible, et les deux SDK peuvent renvoyer l’audio en streaming en HTTP. La prise en charge du streaming varie selon le modèle.

Puis-je utiliser toutes les fonctionnalités d’un fournisseur ?

Oui. Les réglages courants passent par les champs standard, et tout réglage propre à un fournisseur, comme les paramètres de voix, se place dans provider_options et est transmis tel quel au fournisseur.

Existe-t-il un OpenRouter pour la synthèse vocale ?

Oui. AllModels fonctionne comme OpenRouter pour la voix : une clé API et un endpoint vous donnent accès aux modèles de synthèse vocale de plusieurs fournisseurs, sélectionnés par leur ID provider/model. Il accepte aussi les SDK officiels OpenAI et ElevenLabs : votre code existant n’a besoin que d’une nouvelle URL de base et d’une nouvelle clé.

En quoi une API d’agrégation TTS diffère-t-elle d’une bibliothèque d’abstraction open source ?

Une bibliothèque d’abstraction open source s’exécute dans votre application et nécessite toujours votre propre compte, votre clé API et votre facturation chez chaque fournisseur qu’elle encapsule. Une API d’agrégation comme AllModels est un service hébergé : une clé et un solde prépayé couvrent tout le catalogue TTS, et vous l’appelez avec le SDK OpenAI ou ElevenLabs que vous utilisez déjà, ou en WebSocket.

Comment comparer les fournisseurs ?

Parcourez le catalogue TTS pour comparer les modèles disponibles, les routes, les tarifs, les langues, les voix et les exemples d’API avant de changer l’ID du modèle dans votre application.

Une intégration en trois étapes
  1. 1
    Choisissez un modèle. Sélectionnez un modèle TTS dans le catalogue en direct par son ID provider/model.
  2. 2
    Utilisez une seule clé API. Authentifiez-vous auprès d’AllModels au lieu de gérer une clé par fournisseur.
  3. 3
    Streamez ou générez. Streamez en WebSocket pour l’audio en direct, ou demandez un fichier complet en HTTP.

Développez avec AllModels

Commencez avec une seule intégration TTS.

Choisissez un modèle aujourd’hui et gardez la liberté d’en changer plus tard.