IT ▾
API di testo senza censura per pipeline TTShttps://api.ttsapihub.com/v1

URL di base API TTS: cos'è e cosa inserire

Un URL di base è la parte iniziale condivisa di ogni indirizzo endpoint. Questa pagina spiega cosa inserire per questo servizio, che è un'API LLM testuale e non un endpoint vocale, e come configurarlo negli strumenti comuni.

Aggiornato

Blocchi di percorso luminosi che si dividono in endpoint, illustrando come un URL di base porti alle rotte API

Punti chiave

  • L'URL di base per questa API è https://api.ttsapihub.com/v1; i percorsi come /chat/completions vengono aggiunti dopo.
  • Nonostante il nome del sito, l'endpoint produce solo testo. Non esiste un endpoint per la voce o l'audio.
  • La maggior parte degli strumenti compatibili con OpenAI richiede solo tre valori: URL di base, chiave API e l'ID del modello uncensored.
  • Due errori comuni sono la duplicazione di /v1 e l'incollaggio del percorso completo /chat/completions in un campo URL di base.

L'URL di base e una cosa da sapere prima

Se sei arrivato qui cercando un URL di base per l'API TTS, controlla un dettaglio prima di copiare qualsiasi cosa: il servizio dietro questo sito è un'API di modello linguistico testuale, non un sintetizzatore vocale. L'URL di base è https://api.ttsapihub.com/v1, ed espone POST /v1/chat/completions e GET /v1/models. Non esiste un percorso /audio/speech, nessun elenco di voci e nessun output audio.

Questo è importante perché molti strumenti etichettano le loro impostazioni in modo generico. Un campo chiamato URL di base in un client funziona allo stesso modo indipendentemente dal fatto che il server dietro di esso risponda con testo o suono. Se il tuo obiettivo è convertire il testo in audio, questo endpoint non lo farà. Se il tuo obiettivo è generare il testo che uno strumento vocale leggerà in seguito, per script, dialoghi o bozze di narrazione, si adatta bene. La checklist della pipeline TTS del sito è il punto di riferimento quando pianifichi questo tipo di flusso di lavoro, e la documentazione di avvio rapido elenca ogni parametro di richiesta.

Il resto di questa pagina si applica a qualsiasi client compatibile con OpenAI, quindi è utile anche se sei qui solo per imparare come funzionano gli URL di base.

Cos'è realmente un URL di base

Un indirizzo API ha due metà. La prima metà identifica il servizio e la versione della sua interfaccia. La seconda metà nomina l'azione. La libreria client le unisce per te. Con gli SDK OpenAI i pezzi appaiono così:

ParteValore
URL di basehttps://api.ttsapihub.com/v1
Percorso aggiunto dall'SDK per la chat/chat/completions
Indirizzo completo dell'endpoint chiamatohttps://api.ttsapihub.com/v1/chat/completions
Percorso per l'elenco dei modelli/models

Poiché l'SDK aggiunge il percorso, fornisci solo la prima metà. Questa è l'idea alla base del passaggio a un provider con una modifica di una riga: il formato della richiesta è condiviso, quindi l'unica cosa che deve spostarsi è dove vengono inviate le richieste. La chiave cambia anche, poiché ogni servizio emette la propria. E il nome del modello cambia, perché ogni servizio nomina i propri modelli. Per questa API l'ID del modello è uncensored.

Due piccoli dettagli fanno risparmiare tempo. Il segmento di versione, /v1, appartiene all'URL di base perché indica la generazione dell'interfaccia; un'interfaccia futura incompatibile vivrebbe sotto una versione diversa e il tuo codice non cambierebbe finché non scegli di spostarti. E una barra finale sull'URL di base è tollerata dalla maggior parte degli SDK, ma è più sicuro lasciarla fuori in modo che i percorsi uniti non contengano mai una doppia barra.

L'autenticazione utilizza un header Bearer standard: Authorization: Bearer YOUR_KEY. Gli SDK costruiscono quell'header dalla chiave che passi, quindi raramente lo scrivi da solo tranne in curl.

Impostazione dell'URL di base nel codice

Python

Il pacchetto ufficiale openai accetta un argomento base_url. Questa è una chiamata completa e funzionante:

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 scrivi l'indirizzo completo manualmente, quindi il percorso è incluso:

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

Variabili d'ambiente

Le versioni recenti degli SDK ufficiali OpenAI leggono OPENAI_BASE_URL e OPENAI_API_KEY dall'ambiente quando non li passi nel codice. Questo è utile quando vuoi puntare software esistente a un nuovo endpoint senza modificarlo. Impostali nel tuo shell o nel tuo gestore di processi, quindi esegui il programma come al solito. Controlla la documentazione della versione del tuo SDK se non li legge.

Impostazione in editor e app

Gli strumenti che accettano un endpoint OpenAI personalizzato richiedono gli stessi tre valori. I nomi differiscono, quindi cerca una terminologia come la seguente:

  • Cursor: nelle impostazioni del modello c'è un'opzione per sovrascrivere l'URL di base OpenAI. Incolla https://api.ttsapihub.com/v1, aggiungi la tua chiave e aggiungi uncensored come nome modello personalizzato. Le etichette dell'interfaccia cambiano tra le versioni di Cursor, quindi tratta questi nomi come una guida.
  • SillyTavern: scegli Chat Completion, quindi l'origine Personalizzata (compatibile OpenAI), e compila l'endpoint, la chiave e il modello.
  • Open WebUI e interfacce chat simili: aggiungi una connessione di tipo OpenAI con l'URL di base e la chiave.
  • I tuoi script: qualsiasi client HTTP funziona, poiché l'interfaccia è JSON semplice su HTTPS.

Alcuni strumenti verificano la connessione chiamando GET /v1/models. Questa API supporta quel percorso, quindi il controllo va a buon fine. Alcuni strumenti ti permettono solo di scegliere da un elenco fisso; se il tuo lo fa, cerca un campo modello personalizzato o manuale invece del menu a discesa.

Ricorda a cosa serve lo strumento. Un editor come Cursor invierà domande sul codice a un modello di chat generale, il che funziona. Ma le funzionalità che dipendono da endpoint speciali, come gli embedding per la ricerca di codice, non sono disponibili qui, perché gli embedding non sono offerti.

Errori che causano la maggior parte degli errori URL di base

Quasi ogni prima connessione fallita deriva da una di queste.

  1. Duplicazione della versione. L'URL di base termina già con /v1. Se ne aggiungi un altro, l'indirizzo diventa /v1/v1/chat/completions e il server risponde con un errore "non trovato".
  2. Incollare il percorso completo. Un campo URL di base vuole https://api.ttsapihub.com/v1, non https://api.ttsapihub.com/v1/chat/completions. L'SDK aggiungerebbe il percorso un'altra volta.
  3. Uso dell'indirizzo del sito web. Il sito che stai leggendo non è l'host API. Le richieste vanno all'host api. mostrato sopra.
  4. Chiamata a un percorso vocale. Percorsi come /audio/speech non esistono qui e restituiscono un errore.
  5. Nome modello errato o mancante. Invia sempre uncensored in minuscolo.
  6. Problemi con la chiave. Uno spazio estraneo o un prefisso Bearer mancante in un header compilato a mano causa un errore di autenticazione.

Per distinguere un problema URL da un problema chiave, richiedi l'elenco dei modelli. Un URL corretto e una chiave errata danno un errore di autenticazione. Un URL errato dà non trovato, un errore DNS o una pagina HTML invece di 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}'

Ottieni una chiave e quanto costa

Hai bisogno di una chiave prima che tutto questo funzioni. Iscriviti con Google o con email e password nella pagina chiave API, poi richiedi il credito di prova da $0.50 con un clic. È valido per 7 giorni, una richiesta per persona, e non richiede carta. La chiave di prova permette 2 richieste parallele e 60 richieste al minuto, mentre una chiave completa permette 8 parallele e 300 al minuto.

I prezzi sono $0.15 per 1M token di input e $0.50 per 1M token di output, pagati dal credito prepagato senza abbonamento. Una richiesta con 2.000 token di input e 500 token di output costa $0.0003 più $0.00025, quindi $0.00055. Le ricariche vanno da $20 a $500 con bonus a partire da $50, e puoi pagare con carta (Visa, Mastercard, Apple Pay, Google Pay) o cripto (USDT su TRC20, USDC su Base). La pagina prezzi ha la tabella completa. I prompt non sono usati per l'addestramento e il modello è solo per uso adulto legale, senza contenuti sessuali che coinvolgano minorenni.

Domande e risposte

Qual è l'URL base per questa API?

È https://api.ttsapihub.com/v1. Aggiungi percorsi come /chat/completions dopo di esso, oppure lascia che lo facciano i tuoi SDK.

Posso usare questo endpoint per la sintesi vocale?

No. Restituisce solo testo, senza generazione audio, immagine o video. Puoi usarlo per scrivere il testo che un altro strumento poi trasforma in audio vocale.

Devo aggiungere /chat/completions all'URL di base in un SDK?

No. Gli SDK aggiungono il percorso automaticamente. Solo i client HTTP grezzi come curl necessitano dell'indirizzo completo.

Quale nome del modello devo inviare?

Invia uncensored. Puoi confermare l'elenco che il server mostra con GET /v1/models.

Perché il mio strumento restituisce "non trovato" dopo aver impostato l'URL?

Le cause più comuni sono un /v1 duplicato, un percorso completo incollato o l'indirizzo del sito web usato invece dell'host api.

La tua chiave è a un modulo di distanza

Crea un account, copia la chiave, modifica l'URL di base. È tutta la configurazione.

Ottieni la chiave API