Início rápido para pipelines Xtts
Integre nossa API de texto sem censura no seu pipeline de clonagem de voz com este guia de início rápido. Aprenda a gerar roteiros, legendas e respostas de texto bruto usando endpoints compatíveis com OpenAI.
Autenticação e URL Base
Comece navegando até a página Obter chave de API e entrando com Google ou senha de e-mail. Você receberá uma chave de API exclusiva imediatamente. Use a URL base https://api.xtts.cc/v1 para todas as requisições. Esta URL é compatível com SDKs oficiais da OpenAI e qualquer cliente que suporte o formato de chat-completions da OpenAI.
Inclua sua chave no cabeçalho Authorization como token bearer. O identificador do modelo que você deve enviar é uncensored. Este modelo de pesos abertos é hospedado em nossos servidores e é ajustado para responder sem recusas de conteúdo para uso adulto legal, garantindo que seu pipeline de voz receba o texto bruto necessário.
Gerar Texto Sem Censura
Envie uma requisição POST para /v1/chat/completions com seus prompts de sistema e usuário. A API retorna JSON estruturado contendo o texto gerado. Este endpoint é projetado para escrita de prompts, geração de roteiros e tarefas de pós-processamento no seu fluxo de trabalho de clonagem de voz.
O corpo da requisição inclui o nome do modelo, seu histórico de mensagens e parâmetros opcionais como temperature ou top_p. Você pode controlar o comprimento da saída com o parâmetro max_tokens. Se você não definir max_tokens, a resposta pode ir até o fim da janela de contexto.
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."}]
}'
Integração com SDK Python
Use o SDK Python oficial da OpenAI para interagir com nossa API. Defina o base_url para nosso endpoint e forneça sua chave de API. Esta abordagem permite que você aproveite estruturas de código existentes enquanto se beneficia do comportamento do nosso modelo sem censura.
Crie uma instância de cliente com a URL base e depois chame chat.completions.create. Passe o ID do modelo uncensored e suas mensagens. O objeto de resposta contém o texto gerado em content. Este método é ideal para scripts de processamento em lote ou para integrar geração de texto em aplicações Python maiores.
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)
Integração com SDK Node
Para ambientes JavaScript, use o SDK Node da OpenAI. Configure o cliente com nossa URL base e chave de API. Esta configuração permite que você gere texto diretamente em suas aplicações web ou do lado do servidor.
Chame o endpoint de conclusões de chat com o modelo uncensored. A resposta fornece o texto gerado, que você pode então passar para seu motor de síntese de voz. Esta integração é adequada para geração de texto em tempo real em aplicativos web ou serviços de backend que preparam roteiros para clonagem de voz.
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);
Respostas em Streaming
Ative o streaming definindo stream como true na sua requisição. A API retorna Server-Sent Events (SSE) para cada token gerado. Este recurso é útil para exibição de texto em tempo real ou preparação progressiva para síntese de voz.
Cada chunk de evento contém texto parcial. O último chunk inclui estatísticas de uso, como contagens de tokens. O streaming garante que sua aplicação possa processar o texto conforme é gerado, reduzindo a latência percebida para os usuários. Manipule os eventos de streaming para acumular a resposta 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)
Limites de Requisição e Parâmetros
Cada chave de API está limitada a 300 requisições por minuto e 8 requisições simultâneas. O corpo da requisição não deve exceder 8 MB. Se você enviar uma chave inválida, receberá um erro 401. Se seu crédito pré-pago se esgotar, receberá um erro 402. Exceder o limite de requisições resulta em um erro 429.
A janela de contexto suporta 100,000 tokens no total, incluindo tanto o prompt quanto a conclusão. Não há um limite separado de saída, e você pode especificar um max_tokens menor se quiser uma resposta mais curta. Erros e recusas não consomem seu crédito pré-pago. Suporte para chamada de funções e modo JSON está disponível para extração de dados estruturados.
Ficha técnica da API
Uma tabela com cada limite, recurso e preço.
| Item | Valor |
|---|---|
| Formato | compatível com OpenAI: qualquer SDK da OpenAI funciona trocando a base URL e a chave |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Autenticação | Authorization: Bearer YOUR_KEY |
| ID do modelo | uncensored |
| Base URL | https://api.xtts.cc/v1 |
| Chamada de funções | sim — tools, tool_choice; resposta com tool_calls, inclusive em streaming; resultados como role: tool |
| Saída máxima | até o restante da janela de 100.000 tokens; max_tokens opcional (sem limite separado) |
| Parâmetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Modo JSON | response_format: {"type": "json_object"} |
| Janela de contexto | 100.000 tokens (entrada + saída) |
| Streaming | sim — server-sent events; o último bloco traz o uso de tokens |
| Tamanho | até 8 MB por requisição |
| Concorrência | 8 requisições ao mesmo tempo por chave |
| Cabeçalhos | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Limite de taxa | 300 requisições por minuto por chave |
| Teste grátis | $0,50 por 7 dias, sem cartão · Chave de teste: 2 requisições paralelas, 60 por minuto; limites totais (8 e 300) após a primeira recarga |
| Preço | $0,15 por 1M tokens de entrada · $0,50 por 1M de saída |
| Cobrança | crédito pré-pago pelo uso real; erros e recusas são grátis |
| Recarga | USDT (TRC20) ou USDC (Base), qualquer valor inteiro de $20 a $500 |
| Bônus | +5% a partir de $50, +10% a partir de $100, +15% a partir de $200 |
| Validade | crédito pago não expira, sem assinatura |
| Login | Google ou e-mail e senha |
| Chaves | uma chave ativa por conta; uma nova substitui a anterior |
| Conteúdo | conteúdo adulto permitido; conteúdo sexual com menores é recusado |
Erros e o que fazer
Erros chegam em JSON com um type fixo; requisições com falha ou recusadas não são cobradas.
| HTTP | Tipo | Significado |
|---|---|---|
400 | bad_request | JSON inválido, mensagens vazias, parâmetro errado ou contexto longo demais |
401 | missing_key · invalid_key · key_revoked | chave ausente, errada ou substituída |
402 | no_credit | sem crédito — recarregue e continue na hora |
403 | content_blocked | conteúdo sexual com menores — recusado, sem cobrança |
404 | not_found | endpoint desconhecido |
413 | request_too_large | corpo acima de 8 MB |
429 | rate_limited · concurrency | acima de 300/min ou 8 em paralelo — aguarde e tente de novo |
503 | upstream_busy | modelo ocupado — tente em alguns segundos |
Perguntas e respostas
Como faço para recarregar meu crédito pré-pago?
Você pode recarregar por cripto (USDT na TRC20, USDC na Base). Os valores aceitos variam de $20 a $500. Você recebe um bônus de 5% para recargas de $50 ou mais, e um bônus de 10% para $100 ou mais. O crédito nunca expira.
A API gera áudio ou vídeo?
Não, esta API é estritamente para geração de texto. Ela fornece uma resposta de texto sem censura que você pode alimentar em seus próprios pipelines de síntese de voz ou vídeo. Ela não produz arquivos de áudio, imagens ou vídeo diretamente.
Qual é a oferta de teste?
Novos usuários recebem $0,50 de crédito de teste, um por pessoa, válido por 7 dias. Resgate este crédito com um clique na sua página de chave de API. Não é necessário cartão de crédito para entrar. Isso permite que você teste a API antes de comprar crédito pré-pago.
Sua chave está a um formulário de distância
Crie uma conta, copie a chave, altere a URL base. Essa é toda a configuração.