ES ▾
API de texto sin censura para pipelines de TTShttps://api.ttsapihub.com/v1

URL base de la API TTS: qué es y qué ingresar

Una URL base es la parte frontal compartida de la dirección de cada endpoint. Esta página explica qué poner allí para este servicio, que es una API de LLM de texto y no un endpoint de voz, y cómo configurarla en herramientas comunes.

Actualizado

Bloques de ruta brillantes que se dividen en endpoints, ilustrando cómo una URL base conduce a rutas de API

Puntos clave

  • La URL base para esta API es https://api.ttsapihub.com/v1; las rutas como /chat/completions se añaden después de ella.
  • A pesar del nombre del sitio, el endpoint solo produce texto. No hay endpoint de voz o audio.
  • La mayoría de las herramientas compatibles con OpenAI solo necesitan tres valores: URL base, clave de API y el ID del modelo uncensored.
  • Dos errores comunes son duplicar /v1 y pegar la ruta completa /chat/completions en un campo de URL base.

La URL base, y una cosa que saber primero

Si llegaste aquí buscando una url base de la api tts, verifica un detalle antes de copiar cualquier cosa: el servicio detrás de este sitio es una API de modelo de lenguaje de texto, no un sintetizador de voz. La URL base es https://api.ttsapihub.com/v1, y expone POST /v1/chat/completions y GET /v1/models. No hay ruta /audio/speech, ni lista de voces ni salida de audio.

Esto importa porque muchas herramientas etiquetan sus configuraciones de forma genérica. Un campo llamado URL base en un cliente funciona igual de bien si el servidor detrás responde con texto o con sonido. Si tu objetivo es convertir texto en audio, este endpoint no lo hará. Si tu objetivo es generar el texto que una herramienta de voz leerá después, para guiones, diálogos o borradores de narración, encaja bien. La lista de verificación de la pipeline TTS es el lugar para mirar cuando estás planeando ese tipo de flujo de trabajo, y la documentación de inicio rápido enumera todos los parámetros de petición.

El resto de esta página se aplica a cualquier cliente compatible con OpenAI, por lo que es útil incluso si solo estás aquí para aprender cómo funcionan las URL base.

Qué es realmente una URL base

Una dirección de API tiene dos mitades. La primera mitad identifica el servicio y la versión de su interfaz. La segunda mitad nombra la acción. La biblioteca del cliente las une por ti. Con los SDKs de OpenAI, las piezas se ven así:

ParteValor
URL basehttps://api.ttsapihub.com/v1
Ruta añadida por el SDK para chat/chat/completions
Dirección completa que se llamahttps://api.ttsapihub.com/v1/chat/completions
Ruta para la lista de modelos/models

Como el SDK añade la ruta, le das solo la primera mitad. Esa es toda la idea detrás de cambiar de proveedor con un cambio de una línea: el formato de la petición es compartido, así que lo único que tiene que moverse es dónde se envían las peticiones. La clave también cambia, ya que cada servicio emite la suya. Y el nombre del modelo cambia, porque cada servicio nombra sus propios modelos. Para esta API el identificador del modelo es uncensored.

Dos pequeños detalles ahorran tiempo. El segmento de versión, /v1, pertenece a la URL base porque marca la generación de la interfaz; una interfaz incompatible futura viviría bajo una versión diferente, y tu código no cambiaría hasta que elijas moverlo. Y una barra final en la URL base es tolerada por la mayoría de los SDKs, pero es más seguro dejarla fuera para que las rutas unidas nunca contengan una doble barra.

La autenticación es un encabezado bearer estándar: Authorization: Bearer YOUR_KEY. Los SDKs construyen ese encabezado a partir de la clave que pasas, por lo que rara vez lo escribes tú mismo excepto en curl.

Configurar la URL base en código

Python

El paquete oficial openai toma un argumento base_url. Esta es una llamada completa y funcional:

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

Con curl escribes la dirección completa tú mismo, por lo que la ruta está incluida:

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 de entorno

Las versiones recientes de los SDKs oficiales de OpenAI leen OPENAI_BASE_URL y OPENAI_API_KEY del entorno cuando no los pasas en el código. Eso es útil cuando quieres apuntar software existente a un nuevo endpoint sin editarlo. Configúralos en tu shell o en tu gestor de procesos, luego ejecuta el programa como de costumbre. Consulta la documentación de la versión de tu SDK si no los detecta.

Configurarlo en editores y aplicaciones

Las herramientas que aceptan un endpoint personalizado de OpenAI piden los mismos tres valores. Los nombres difieren, así que busca redacción como la siguiente:

  • Cursor: en la configuración del modelo hay una opción para anular la URL base de OpenAI. Pega https://api.ttsapihub.com/v1, añade tu clave, y añade uncensored como un nombre de modelo personalizado. Las etiquetas de la interfaz cambian entre versiones de Cursor, así que trata estos nombres como una guía.
  • SillyTavern: elige Chat Completion, luego la fuente Personalizada (compatible con OpenAI), y rellena el endpoint, la clave y el modelo.
  • Open WebUI y interfaces de chat similares: añade una conexión de tipo OpenAI con la URL base y la clave.
  • Tus propios scripts: cualquier cliente HTTP funciona, ya que la interfaz es JSON plano sobre HTTPS.

Algunas herramientas verifican la conexión llamando a GET /v1/models. Esta API soporta esa ruta, por lo que la verificación pasa. Algunas herramientas solo te permiten elegir de una lista fija; si la tuya lo hace, busca un campo de modelo personalizado o manual en lugar del menú desplegable.

Recuerda para qué sirve la herramienta. Un editor como Cursor enviará preguntas de código a un modelo de chat general, lo cual funciona. Pero las funciones que dependen de endpoints especiales, como incrustaciones para búsqueda de código, no están disponibles aquí, porque las incrustaciones no se ofrecen.

Errores que causan la mayoría de los errores de URL base

Casi cada primera conexión fallida proviene de una de estas.

  1. Duplicar la versión. La URL base ya termina en /v1. Si añades otro, la dirección se convierte en /v1/v1/chat/completions y el servidor responde con un error de no encontrado.
  2. Pegar la ruta completa. El campo de base URL espera https://api.ttsapihub.com/v1, no https://api.ttsapihub.com/v1/chat/completions. El SDK añadiría la ruta una segunda vez.
  3. Usar la dirección del sitio web. El sitio que lees no es el host de la API. Las peticiones van al host api. que se muestra arriba.
  4. Llamar a una ruta de audio. Rutas como /audio/speech no existen aquí y devuelven un error.
  5. Nombre de modelo incorrecto o faltante. Envía siempre uncensored en minúsculas.
  6. Problemas con la clave API. Un espacio sobrante o la falta del prefijo Bearer en un encabezado escrito a mano provocan un error de autenticación.

Para distinguir un problema de URL de un problema de clave, solicita la lista de modelos. Una URL correcta y una clave incorrecta dan un error de autenticación. Una URL incorrecta da no encontrado, un error de DNS o una página HTML en lugar 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}'

Obtén una clave y cuánto cuesta

Necesitas una clave antes de que esto funcione. Regístrate con Google o con correo electrónico y contraseña en la página de claves de API, luego reclama el crédito de prueba de $0.50 con un clic. Es válido por 7 días, un reclamo por persona, y no necesita tarjeta. La clave de prueba permite 2 peticiones simultáneas y 60 peticiones por minuto, mientras que una clave completa permite 8 peticiones concurrentes y 300 por minuto.

Los precios son $0.15 por cada 1M de tokens de entrada y $0.50 por cada 1M de tokens de salida, pagados con crédito prepago sin suscripción. Una petición con 2,000 tokens de entrada y 500 tokens de salida cuesta $0.0003 más $0.00025, es decir $0.00055. Las recargas van de $20 a $500 con bonificaciones a partir de $50, y puedes pagar con tarjeta (Visa, Mastercard, Apple Pay, Google Pay) o cripto (USDT en TRC20, USDC en Base). La página de precios tiene la tabla completa. Los prompts no se usan para entrenamiento, y el modelo es solo para uso adulto lícito, sin contenido sexual que involucre a menores de edad.

Preguntas y respuestas

¿Cuál es la URL base de esta API?

Es https://api.ttsapihub.com/v1. Agrega rutas como /chat/completions después de ella, o deja que tu SDK las añada.

¿Puedo usar este endpoint para texto a voz?

No. Solo devuelve texto, sin generación de audio, imagen ni vídeo. Puedes usarlo para escribir el texto que otra herramienta convertirá luego en voz.

¿Añado /chat/completions a la URL base en un SDK?

No. Los SDKs añaden la ruta automáticamente. Solo los clientes HTTP crudos como curl necesitan la dirección completa.

¿Qué nombre de modelo debo enviar?

Envía uncensored. Puedes confirmar qué lista el servidor con GET /v1/models.

¿Por qué mi herramienta dice no encontrado después de configurar la URL?

Las causas más comunes son un /v1 duplicado, una ruta completa pegada, o la dirección del sitio web usada en lugar de api.host.

Tu clave está a un formulario de distancia

Crea una cuenta, copia la clave, cambia la URL base. Esa es toda la configuración.

Obtener clave de API