NL ▾
Ongecensureerd Tekst API voor TTS Pipelineshttps://api.ttsapihub.com/v1

TTS API Base URL: wat het is en wat je moet invoeren

Een base URL is het gedeelde begin van elk endpoint-adres. Deze pagina legt uit wat je daarvoor moet invullen voor deze service, die een tekst-LLM-API is en geen speech-endpoint, en hoe je het instelt in veelgebruikte tools.

Bijgewerkt

Gloeiende padblokken die opsplitsen in endpoints, illustrerend hoe een base URL leidt tot API-routes

Belangrijkste punten

  • De base URL voor deze API is https://api.ttsapihub.com/v1; paden zoals /chat/completions worden hierachter toegevoegd.
  • Ondanks de naam van de site produceert het endpoint alleen tekst. Er is geen speech- of audio-endpoint.
  • De meeste OpenAI-compatibele tools hebben slechts drie waarden nodig: base URL, API-sleutel en de model-ID uncensored.
  • Twee veelgemaakte fouten zijn het verdubbelen van /v1 en het plakken van het volledige /chat/completions-pad in een base URL-veld.

De base URL, en één ding om eerst te weten

Als je hier bent gekomen door te zoeken op een tts api base url, controleer dan eerst één detail voordat je iets kopieert: de service achter deze site is een tekst-taalmodel-API, geen speech synthesizer. De base URL is https://api.ttsapihub.com/v1, en het exposeert POST /v1/chat/completions en GET /v1/models. Er is geen /audio/speech route, geen stemlijst en geen audio-uitvoer.

Dat is belangrijk omdat veel tools hun instellingen generiek labelen. Een veld met de naam basis-URL in een client werkt op dezelfde manier, of de server erachter nu reageert met tekst of geluid. Als je doel is tekst omzetten in audio, dan kan dit endpoint dat niet. Als je doel is de tekst genereren die een spraaktool later zal uitspreken, voor scripts, dialogen of narratieteksten, dan past dit goed. De TTS-pijplijnoverzicht van de site is de plek om te kijken als je zo'n workflow plant, en de quickstart-documentatie somt alle verzoekparameters op.

De rest van deze pagina is van toepassing op elke OpenAI-compatibele client, dus het is nuttig, zelfs als je hier bent om te leren hoe base URLs werken.

Wat een base URL eigenlijk is

Een API-adres heeft twee helften. De eerste helft identificeert de service en de versie van de interface. De tweede helft noemt de actie. De client-bibliotheek plakt ze voor je aan elkaar. Met de OpenAI SDK's zien de stukken er als volgt uit:

DeelWaarde
Basis-URLhttps://api.ttsapihub.com/v1
Pad toegevoegd door de SDK voor chat/chat/completions
Volledig adres dat wordt aangeroepenhttps://api.ttsapihub.com/v1/chat/completions
Pad voor de modellijst/models

Omdat de SDK het pad toevoegt, geef je alleen de eerste helft. Dat is het hele idee achter het wisselen van providers met een wijziging van één regel: het request-formaat is gedeeld, dus het enige dat moet veranderen is waar de requests worden verstuurd. De sleutel verandert ook, omdat elke service zijn eigen sleutels uitgeeft. En de modelnaam verandert, omdat elke service zijn eigen modellen een naam geeft. Voor deze API is de model-ID uncensored.

Twee kleine details besparen tijd. Het versie-segment, /v1, behoort tot de base URL omdat het de interface-generatie markeert; een toekomstige incompatibele interface zou onder een andere versie leven, en je code zou niet veranderen totdat je kiest om te verhuizen. En een trailing slash op de base URL wordt door de meeste SDK's getolereerd, maar het is veiliger om hem weg te laten zodat samengevoegde paden nooit een dubbele slash bevatten.

Authenticatie is een standaard bearer header: Authorization: Bearer YOUR_KEY. SDK's bouwen die header uit de sleutel die je doorgeeft, dus je schrijft hem zelden zelf, behalve in curl.

De base URL instellen in code

Python

Het officiële openai pakket neemt een base_url argument. Dit is een volledig werkende call:

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

Met curl schrijf je het volledige adres zelf, dus het pad is inbegrepen:

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."}]}'

Omgevingsvariabelen

Recente versies van de officiële OpenAI SDK's lezen OPENAI_BASE_URL en OPENAI_API_KEY uit de omgeving wanneer je ze niet in code doorgeeft. Dat is handig als je bestaande software naar een nieuw endpoint wilt wijzen zonder het te bewerken. Stel ze in in je shell of je process manager, en voer het programma vervolgens gewoon uit. Controleer de documentatie van je SDK-versie als ze niet worden opgepakt.

Het instellen in editors en apps

Tools die een aangepast OpenAI-endpoint accepteren, vragen om dezelfde drie waarden. Namen verschillen, dus zoek naar bewoording zoals de volgende:

  • Cursor: in de modelinstellingen is er een optie om de OpenAI base URL te overschrijven. Plak https://api.ttsapihub.com/v1, voeg je sleutel toe en voeg uncensored toe als een aangepaste modelnaam. Interface-labels veranderen tussen Cursor-versies, dus behandel deze namen als een richtlijn.
  • SillyTavern: kies Chat Completion, dan de Custom (OpenAI-compatible) bron, en vul het endpoint, de sleutel en het model in.
  • Open WebUI en vergelijkbare chat frontends: voeg een OpenAI-type verbinding toe met de base URL en sleutel.
  • Je eigen scripts: elke HTTP-client werkt, omdat de interface plain JSON over HTTPS is.

Sommige tools controleren de verbinding door GET /v1/models aan te roepen. Deze API ondersteunt die route, dus de check slaagt. Een paar tools laten je alleen kiezen uit een vaste lijst; als dat bij jou zo is, zoek dan naar een aangepast of handmatig modelveld in plaats van de dropdown.

Onthoud waar de tool voor bedoeld is. Een editor zoals Cursor zal codevragen sturen naar een algemeen chatmodel, wat werkt. Maar functies die afhankelijk zijn van speciale endpoints, zoals embeddings voor code search, zijn hier niet beschikbaar, omdat embeddings niet worden aangeboden.

Fouten die de meeste base URL-fouten veroorzaken

Bijna elke mislukte eerste verbinding komt door een van deze.

  1. De versie verdubbelen. De base URL eindigt al op /v1. Als je er nog een toevoegt, wordt het adres /v1/v1/chat/completions en antwoordt de server met een not-found fout.
  2. Het volledige pad plakken. Een base URL-veld wil https://api.ttsapihub.com/v1, niet https://api.ttsapihub.com/v1/chat/completions. De SDK zou het pad een tweede keer toevoegen.
  3. Het website-adres gebruiken. De site die je leest is niet de API-host. Requests gaan naar de hierboven getoonde api. host.
  4. Een speech-route aanroepen. Paden zoals /audio/speech bestaan hier niet en geven een fout.
  5. Verkeerde of ontbrekende modelnaam. Verstuur altijd uncensored in lowercase.
  6. Sleutelproblemen. Een losse spatie of een ontbrekende Bearer prefix in een handgeschreven header geeft een authenticatiefout.

Om een URL-probleem van een sleutelprobleem te onderscheiden, vraag je de modellijst op. Een juiste URL en een verkeerde sleutel geven een authenticatiefout. Een verkeerde URL geeft not found, een DNS-fout of een HTML-pagina in plaats van 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}'

Krijg een sleutel en wat het kost

Je hebt een sleutel nodig voordat iets daarvan werkt. Meld je aan met Google of met e-mail en wachtwoord op de API-sleutelpagina, en claim dan met één klik het $0,50 proeftegoed. Het is 7 dagen geldig, één claim per persoon, en vereist geen kaart. De proefsleutel staat 2 gelijktijdige verzoeken en 60 verzoeken per minuut toe, terwijl een volledige sleutel 8 gelijktijdige en 300 per minuut toestaat.

Prijzen zijn $0,15 per 1M inputtokens en $0,50 per 1M outputtokens, betaald uit prepaid tegoed zonder abonnement. Een verzoek met 2.000 inputtokens en 500 outputtokens kost $0,0003 plus $0,00025, dus $0,00055. Opwaarderingen lopen van $20 tot $500 met bonussen vanaf $50, en je kunt betalen met kaart (Visa, Mastercard, Apple Pay, Google Pay) of crypto (USDT op TRC20, USDC op Base). De prijzenpagina heeft de volledige tabel. Prompts worden niet gebruikt voor training, en het model is uitsluitend voor wettelijk volwassen gebruik, zonder seksuele inhoud met minderjarigen.

Vragen en antwoorden

Wat is de base URL voor deze API?

Het is https://api.ttsapihub.com/v1. Voeg er paden zoals /chat/completions aan toe, of laat je SDK ze toevoegen.

Kan ik dit endpoint gebruiken voor tekst-naar-spraak?

Nee. Het retourneert alleen tekst, zonder audio-, afbeeldings- of videogeneratie. Je kunt het gebruiken om de tekst te schrijven die een ander hulpmiddel vervolgens omzet in spraak.

Voeg ik /chat/completions toe aan de basis-URL in een SDK?

Nee. SDK's voegen het pad zelf toe. Alleen eenvoudige HTTP-clients zoals curl hebben het volledige adres nodig.

Welke modelnaam moet ik versturen?

Stuur uncensored. Je kunt controleren welke modellen de server aanbiedt met GET /v1/models.

Waarom zegt mijn tool 'not found' nadat ik de URL heb ingesteld?

De meest voorkomende oorzaken zijn een verdubbelde /v1, een geplakt volledig pad, of het gebruik van het webadres in plaats van de api.host.

Je sleutel is nog maar één veld verwijderd

Maak een account aan, kopieer de sleutel, pas de basis-URL aan. Dat is de hele setup.

API-sleutel aanvragen