Guida rapida per pipeline Xtts
Integra la nostra API testuale senza censura nella tua pipeline di clonazione vocale con questa guida rapida. Impara a generare script, didascalie e risposte testuali grezze utilizzando endpoint compatibili con OpenAI.
Autenticazione e Base URL
Inizia navigando verso la pagina Ottieni chiave API ed accedi con Google o una password email. Riceverai immediatamente una chiave API univoca. Utilizza il Base URL https://api.xtts.cc/v1 per tutte le richieste. Questo URL è compatibile con gli SDK ufficiali OpenAI e con qualsiasi client che supporta il formato chat-completions OpenAI.
Includi la tua chiave nell'intestazione Authorization come token bearer. L'identificatore del modello che devi inviare è uncensored. Questo modello a pesi aperti è ospitato sui nostri server ed è ottimizzato per rispondere senza rifiuti sui contenuti per uso adulto lecito, garantendo che la tua pipeline vocale riceva il testo grezzo di cui ha bisogno.
Genera testo senza censura
Invia una richiesta POST a /v1/chat/completions con i tuoi prompt di sistema e utente. L'API restituisce un JSON strutturato contenente il testo generato. Questo endpoint è progettato per la scrittura di prompt, la generazione di script e le attività di post-elaborazione nel tuo flusso di lavoro di clonazione vocale.
Il corpo della richiesta include il nome del modello, la cronologia dei messaggi e parametri opzionali come temperature o top_p. Puoi controllare la lunghezza dell'output con il parametro max_tokens. Se non imposti max_tokens, la risposta può estendersi fino alla fine della finestra di contesto.
curl https://api.xtts.cc/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
Integrazione SDK Python
Utilizza l'SDK Python ufficiale OpenAI per interagire con la nostra API. Imposta il base_url sul nostro endpoint e fornisci la tua chiave API. Questo approccio ti permette di sfruttare le strutture di codice esistenti beneficiando al contempo del comportamento del nostro modello senza censura.
Crea un'istanza del client con l'URL di base e poi chiama chat.completions.create. Passa l'ID del modello uncensored e i tuoi messaggi. L'oggetto di risposta contiene il testo generato in content. Questo metodo è ideale per script di elaborazione batch o per integrare la generazione di testo in applicazioni Python più grandi.
from openai import OpenAI
client = OpenAI(base_url="https://api.xtts.cc/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
Integrazione SDK Node.js
Per gli ambienti JavaScript, usa l'SDK Node di OpenAI. Configura il client con il nostro URL di base e la chiave API. Questa configurazione ti permette di generare testo direttamente nelle tue applicazioni web o lato server.
Chiama l'endpoint delle chat completions con il modello uncensored. La risposta fornisce il testo generato, che puoi poi passare al tuo motore di sintesi vocale. Questa integrazione è adatta per la generazione di testo in tempo reale in app web o servizi backend che preparano script per la clonazione vocale.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.xtts.cc/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
Risposte in streaming
Abilita lo streaming impostando stream su true nella tua richiesta. L'API restituisce Server-Sent Events (SSE) per ogni token generato. Questa funzione è utile per la visualizzazione del testo in tempo reale o per la preparazione progressiva della sintesi vocale.
Ogni chunk di evento contiene testo parziale. L'ultimo chunk include le statistiche di utilizzo, come i conteggi dei token. Lo streaming consente alla tua applicazione di elaborare il testo man mano che viene generato, riducendo la latenza percepita per gli utenti. Gestisci gli eventi dello stream per accumulare la risposta completa.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
Limiti di richiesta e parametri
Ogni chiave API è limitata a 300 richieste al minuto e 8 richieste parallele. Il corpo della richiesta non deve superare 8 MB. Se invii una chiave non valida, riceverai un errore 401. Se il tuo credito prepagato è esaurito, riceverai un errore 402. Il superamento del limite di richiesta comporta un errore 429.
La finestra di contesto supporta 100,000 token in totale, inclusi sia il prompt che il completamento. Non esiste un limite separato per l'output e puoi specificare un max_tokens inferiore se desideri una risposta più breve. Errori e rifiuti non consumano il tuo credito prepagato. È disponibile il supporto per la chiamata di funzioni e la modalità JSON per l'estrazione di dati strutturati.
Scheda tecnica dell'API
Tutti i limiti e le funzioni reali dell'API in un unico posto: controllali prima di ricaricare.
| Voce | Valore |
|---|---|
| Formato | compatibile OpenAI: qualsiasi SDK OpenAI funziona cambiando base URL e chiave |
| Endpoint | POST /v1/chat/completions · GET /v1/models |
| Autenticazione | Authorization: Bearer YOUR_KEY |
| ID modello | uncensored |
| Base URL | https://api.xtts.cc/v1 |
| Function calling | sì — tools, tool_choice; risposte con tool_calls anche in streaming; risultati come role: tool |
| Output massimo | fino al resto della finestra di 100.000 token; max_tokens opzionale (nessun limite separato) |
| Parametri | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Modalità JSON | response_format: {"type": "json_object"} |
| Finestra di contesto | 100.000 token (input + output) |
| Streaming | sì — server-sent events; l'ultimo blocco riporta l'uso dei token |
| Dimensione | fino a 8 MB per richiesta |
| Concorrenza | 8 richieste contemporanee per chiave |
| Header | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Limite di frequenza | 300 richieste al minuto per chiave |
| Prova gratuita | $0,50 per 7 giorni, senza carta · Chiave di prova: 2 richieste parallele, 60 al minuto; limiti completi (8 e 300) dopo la prima ricarica |
| Prezzo | $0,15 per 1M token in input · $0,50 per 1M in output |
| Fatturazione | credito prepagato in base all'uso reale; errori e rifiuti gratuiti |
| Ricarica | USDT (TRC20) o USDC (Base), qualsiasi importo intero da $20 a $500 |
| Bonus | +5% da $50, +10% da $100, +15% da $200 |
| Scadenza | il credito pagato non scade, nessun abbonamento |
| Accesso | Google oppure e-mail e password |
| Chiavi | una chiave attiva per account; una nuova sostituisce la precedente |
| Contenuti | contenuti per adulti consentiti; rifiutati i contenuti sessuali con minori |
Codici di errore
Gli errori arrivano in JSON con un type fisso; le richieste fallite o rifiutate non si pagano.
| HTTP | Tipo | Significato |
|---|---|---|
400 | bad_request | JSON non valido, messaggi vuoti, parametro errato o contesto troppo lungo |
401 | missing_key · invalid_key · key_revoked | chiave mancante, errata o sostituita |
402 | no_credit | credito esaurito — ricarica e riparti subito |
403 | content_blocked | contenuti sessuali con minori — rifiutato, non addebitato |
404 | not_found | endpoint sconosciuto |
413 | request_too_large | corpo oltre 8 MB |
429 | rate_limited · concurrency | oltre 300/min o 8 in parallelo — attendi e riprova |
503 | upstream_busy | modello occupato — riprova tra pochi secondi |
Domande e risposte
Come ricarico il mio credito prepagato?
Puoi ricaricare con criptovalute (USDT su TRC20, USDC su Base). Gli importi accettati vanno da $20 a $500. Ricevi un bonus del 5% per ricariche di $50 o più, e un bonus del 10% per $100 o più. Il credito non scade mai.
L'API genera audio o video?
No, questa API è esclusivamente per la generazione di testo. Fornisce una risposta testuale senza censura che puoi alimentare nelle tue pipeline di sintesi vocale o video. Non produce direttamente file audio, immagini o video.
Cos'è l'offerta di prova?
I nuovi utenti ricevono $0,50 di credito di prova, uno per persona, valido per 7 giorni. Richiedi questo credito con un clic nella pagina della tua chiave API. Non è necessaria una carta di credito per registrarsi. Questo ti permette di testare l'API prima di acquistare credito prepagato.
La tua chiave è a un modulo di distanza
Crea un account, copia la chiave, modifica l'URL di base. È tutta qui la configurazione.