URL de base de l'API TTS : ce que c'est et quoi saisir
Une URL de base est la partie commune au début de chaque adresse d'endpoint. Cette page explique quoi y mettre pour ce service, qui est une API LLM textuel et non un endpoint de parole, et comment la configurer dans les outils courants.
Mis à jour

Points clés
- L'URL de base de cette API est https://api.ttsapihub.com/v1; les chemins comme /chat/completions sont ajoutés après.
- Malgré le nom du site, l'endpoint ne produit que du texte. Il n'y a pas d'endpoint de parole ou audio.
- La plupart des outils compatibles OpenAI n'ont besoin que de trois valeurs : URL de base, clé API et l'ID de modèle uncensored.
- Deux erreurs courantes consistent à doubler /v1 et à coller le chemin complet /chat/completions dans un champ URL de base.
L'URL de base, et une chose à savoir d'abord
Si vous êtes arrivé ici en recherchant « tts api base url », vérifiez un détail avant de copier quoi que ce soit : le service derrière ce site est une API de modèle de langage textuel, pas un synthétiseur vocal. L'URL de base est https://api.ttsapihub.com/v1, et elle expose POST /v1/chat/completions et GET /v1/models. Il n'y a pas de route /audio/speech, ni de liste de voix ni de sortie audio.
Cela a de l'importance car de nombreux outils étiquettent leurs paramètres de manière générique. Un champ appelé URL de base dans un client fonctionne de la même manière, que le serveur derrière lui réponde avec du texte ou du son. Si votre objectif est de convertir du texte en audio, cet endpoint ne le fera pas. Si votre objectif est de générer le texte qu'un outil de parole lira plus tard, pour des scripts, des dialogues ou des brouillons de narration, cela convient bien. La checklist du pipeline TTS du site est l'endroit où regarder lorsque vous planifiez ce type de flux de travail, et la documentation de démarrage rapide liste chaque paramètre de requête.
Le reste de cette page s'applique à tout client compatible OpenAI, donc cela reste utile même si vous êtes ici uniquement pour apprendre comment fonctionnent les URL de base.
Ce qu'est réellement une URL de base
Une adresse API a deux moitiés. La première moitié identifie le service et la version de son interface. La seconde moitié nomme l'action. La bibliothèque client les assemble pour vous. Avec les SDK OpenAI, les éléments ressemblent à ceci :
| Partie | Valeur |
|---|---|
| URL de base | https://api.ttsapihub.com/v1 |
| Chemin ajouté par le SDK pour le chat | /chat/completions |
| Adresse complète appelée | https://api.ttsapihub.com/v1/chat/completions |
| Chemin pour la liste des modèles | /models |
Comme le SDK ajoute le chemin, vous ne lui donnez que la première moitié. C'est toute l'idée derrière le changement de fournisseur avec une modification d'une ligne : le format de requête est partagé, donc la seule chose qui doit changer est l'endroit où les requêtes sont envoyées. La clé change aussi, car chaque service émet la sienne. Et le nom du modèle change, car chaque service nomme ses propres modèles. Pour cette API, l'ID de modèle est uncensored.
Deux petits détails font gagner du temps. Le segment de version, /v1, appartient à l'URL de base car il marque la génération de l'interface ; une interface future incompatible serait hébergée sous une version différente, et votre code ne changerait pas jusqu'à ce que vous choisissiez de passer. Et une barre oblique finale sur l'URL de base est tolérée par la plupart des SDK, mais il est plus sûr de l'omettre pour que les chemins joints ne contiennent jamais de double slash.
L'authentification est un en-tête bearer standard : Authorization: Bearer YOUR_KEY. Les SDK construisent cet en-tête à partir de la clé que vous passez, donc vous l'écrivez rarement vous-même sauf dans curl.
Définir l'URL de base dans le code
Python
Le package officiel openai prend un argument base_url. Voici un appel complet fonctionnel :
from openai import OpenAI
client = OpenAI(
base_url="https://api.ttsapihub.com/v1",
api_key="YOUR_KEY",
)
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Write a two-line scene opening."}],
)
print(resp.choices[0].message.content)Node
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.ttsapihub.com/v1",
apiKey: process.env.API_KEY,
});
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Write a two-line scene opening." }],
});
console.log(resp.choices[0].message.content);curl
Avec curl, vous écrivez vous-même l'adresse complète, donc le chemin est inclus :
curl https://api.ttsapihub.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "uncensored", "messages": [{"role": "user", "content": "Say hello."}]}'Variables d'environnement
Les versions récentes des SDK officiels OpenAI lisent OPENAI_BASE_URL et OPENAI_API_KEY depuis l'environnement lorsque vous ne les passez pas dans le code. C'est pratique lorsque vous voulez pointer un logiciel existant vers un nouvel endpoint sans le modifier. Définissez-les dans votre shell ou votre gestionnaire de processus, puis exécutez le programme comme d'habitude. Consultez la documentation de la version de votre SDK si elle ne les récupère pas.
Le définir dans les éditeurs et les applications
Les outils qui acceptent un endpoint OpenAI personnalisé demandent les mêmes trois valeurs. Les noms diffèrent, alors cherchez des libellés comme suit :
- Cursor : dans les paramètres du modèle, une option permet de remplacer l'URL de base OpenAI. Collez
https://api.ttsapihub.com/v1, ajoutez votre clé, et ajoutezuncensoredcomme nom de modèle personnalisé. Les libellés d'interface changent entre les versions de Cursor, alors considérez ces noms comme un guide. - SillyTavern : choisissez Chat Completion, puis la source Personnalisée (compatible OpenAI), et remplissez l'endpoint, la clé et le modèle.
- Open WebUI et interfaces de chat similaires : ajoutez une connexion de type OpenAI avec l'URL de base et la clé.
- Vos propres scripts : n'importe quel client HTTP fonctionne, car l'interface est du JSON brut sur HTTPS.
Certains outils vérifient la connexion en appelant GET /v1/models. Cette API prend en charge cette route, donc la vérification passe. Quelques outils ne vous permettent que de choisir dans une liste fixe ; si le vôtre le fait, cherchez un champ modèle personnalisé ou manuel plutôt que la liste déroulante.
N'oubliez pas à quoi sert l'outil. Un éditeur comme Cursor enverra des questions de code à un modèle de chat général, ce qui fonctionne. Mais les fonctionnalités qui dépendent d'endpoints spéciaux, comme les vecteurs d'embedding pour la recherche de code, ne sont pas disponibles ici, car les embeddings ne sont pas proposés.
Erreurs causant la plupart des erreurs d'URL de base
Presque chaque première connexion échouée provient de l'une de celles-ci.
- Doubler la version. L'URL de base se termine déjà par
/v1. Si vous en ajoutez un autre, l'adresse devient/v1/v1/chat/completionset le serveur répond avec une erreur introuvable. - Coller le chemin complet. Un champ URL de base veut
https://api.ttsapihub.com/v1, pashttps://api.ttsapihub.com/v1/chat/completions. Le SDK ajouterait le chemin une seconde fois. - Utiliser l'adresse du site web. Le site que vous lisez n'est pas l'hôte API. Les requêtes vont vers l'hôte
api.indiqué ci-dessus. - Appeler une route de parole. Des chemins comme
/audio/speechn'existent pas ici et renvoient une erreur. - Nom de modèle incorrect ou manquant. Envoyez toujours
uncensoreden minuscules. - Problèmes de clé. Un espace indésirable ou un préfixe
Bearermanquant dans un en-tête écrit à la main provoque une erreur d'authentification.
Pour distinguer un problème d'URL d'un problème de clé, demandez la liste des modèles. Une URL correcte et une clé incorrecte donnent une erreur d'authentification. Une URL incorrecte donne introuvable, une erreur DNS ou une page HTML au lieu de JSON.
curl https://api.ttsapihub.com/v1/models -H "Authorization: Bearer $API_KEY"
# then a minimal chat call with the model ID "uncensored":
curl https://api.ttsapihub.com/v1/chat/completions -H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"ping"}],"max_tokens":5}'Obtenir une clé et ce que cela coûte
Vous avez besoin d’une clé pour que tout cela fonctionne. Inscrivez-vous avec Google ou avec un e-mail et un mot de passe sur la page clé API, puis activez le crédit d’essai de 0,50 $ en un clic. Il est valable 7 jours, une activation par personne, et ne nécessite pas de carte. La clé d’essai permet 2 requêtes simultanées et 60 requêtes par minute, tandis qu’une clé complète permet 8 requêtes simultanées et 300 par minute.
La tarification est de $0,15 par 1 M de tokens d’entrée et de $0,50 par 1 M de tokens de sortie, prélevés sur le crédit prépayé sans abonnement. Une requête avec 2 000 tokens d’entrée et 500 tokens de sortie coûte $0,0003 plus $0,00025, soit $0,00055. Les recharges vont de $20 à $500 avec des bonus à partir de $50, et vous pouvez payer par carte (Visa, Mastercard, Apple Pay, Google Pay) ou crypto (USDT sur TRC20, USDC sur Base). La page tarification contient le tableau complet. Les prompts ne sont pas utilisés pour l’entraînement, et le modèle est réservé à un usage adulte légal, sans contenu sexuel impliquant des mineurs.
Plus de guides
Questions et réponses
Quelle est l'URL de base de cette API ?
C’est https://api.ttsapihub.com/v1. Ajoutez des chemins tels que /chat/completions après celui-ci, ou laissez votre SDK les ajouter.
Puis-je utiliser cet endpoint pour la synthèse vocale ?
Non. Il ne renvoie que du texte, sans génération d'audio, d'image ou de vidéo. Vous pouvez l'utiliser pour rédiger le texte qu'un autre outil transformera ensuite en parole.
Dois-je ajouter /chat/completions à l'URL de base dans un SDK ?
Non. Les SDK ajoutent le chemin eux-mêmes. Seuls les clients HTTP bruts tels que curl nécessitent l'adresse complète.
Quel nom de modèle dois-je envoyer ?
Envoyez le modèle uncensored. Vous pouvez confirmer ce que le serveur liste avec GET /v1/models.
Pourquoi mon outil indique-t-il « introuvable » après avoir défini l'URL ?
Les causes les plus courantes sont un /v1 en double, un chemin complet collé, ou l’adresse du site web utilisée à la place de l’hôte de l’API.
Votre clé est à une étape de formulaire
Créez un compte, copiez la clé, modifiez l'URL de base. C'est toute la configuration.