Unfiltered AI Chatbot: Quickstart: Integre a API LLM sem censura
Integre nossa API LLM sem censura em minutos usando clientes compatíveis com OpenAI. Este guia cobre autenticação, requisições de conclusão, streaming e uso de ferramentas com zero recusas de conteúdo.
URL base e autenticação
Para iniciar a integração, aponte seu cliente para a URL base https://api.unfilteredaichatbot.cc/v1. A API segue a estrutura padrão de chat-completions da OpenAI, o que significa que você pode usar SDKs existentes apenas atualizando a URL base e fornecendo sua chave de API.
A autenticação depende do cabeçalho Authorization. Inclua sua chave exclusiva no formato Bearer YOUR_API_KEY. O sistema valida essa chave em cada requisição. Se a chave estiver ausente ou inválida, você receberá um erro 401. Cada conta é restrita a uma chave ativa; gerar uma nova invalida imediatamente a chave anterior. Isso garante um controle de acesso direto sem hierarquias de permissão complexas.
A chave de API é exibida imediatamente no cadastro via Google ou e-mail. Não é necessário número de telefone e a chave permanece válida enquanto seu crédito pré-pago cobrir o uso. Erros e recusas não consomem crédito, então você pode testar a autenticação com segurança.
Requisição básica de conclusão
Envie uma requisição POST para /v1/chat/completions com seu ID de modelo definido como uncensored. O payload requer uma matriz messages contendo seu histórico de conversas. Este endpoint aceita entrada de texto e retorna saída de texto, aderindo estritamente ao formato de chat-completions.
Abaixo está um exemplo padrão de curl demonstrando uma conversa simples de duas rodadas. O modelo responderá sem bloquear tópicos adultos ou controversos, desde que sejam legais. Certifique-se de incluir o campo model explicitamente para direcionar a instância sem censura correta.
Para desenvolvedores Python, o SDK oficial da OpenAI funciona imediatamente. Basta inicializar o cliente com sua URL base e chave.
from openai import OpenAI
client = OpenAI(base_url="https://api.unfilteredaichatbot.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)E para usuários de Node.js, a mesma estrutura se aplica. Inicialize o cliente e chame chat.completions.create.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.unfilteredaichatbot.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: true no payload da sua requisição. A API retorna um stream de Server-Sent Events (SSE), entregando tokens incrementalmente conforme são gerados. Isso é ideal para interfaces de usuário em tempo real onde a latência importa.
O último chunk do stream contém as estatísticas completas de uso, incluindo contagens de tokens de entrada e saída. Você pode usar esses dados para atualizar sua UI ou rastrear a faturação com precisão. Observe que o uso de tokens é relatado apenas no último chunk, então você deve analisar o stream inteiro para obter contagens precisas.
Aqui está um exemplo de curl mostrando a estrutura da requisição de streaming. Substitua o placeholder por sua chave real e conteúdo da mensagem.
curl https://api.unfilteredaichatbot.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."}]
}'O streaming não afeta o preço ou os limites de taxa; cada token gerado ainda conta para seu uso e limites.
Chamada de funções
A API suporta chamada de funções através dos parâmetros tools e tool_choice. Defina suas funções no array tools, e o modelo retornará JSON estruturado quando apropriado. Você pode forçar o uso de ferramentas definindo tool_choice para uma função específica ou auto para decisão do modelo.
Este recurso funciona dentro do mesmo contexto sem censura, o que significa que o modelo não se recusará a chamar ferramentas relacionadas a tópicos adultos ou de nicho, a menos que violem o limite de conteúdo rígido. Use response_format definido como {"type": "json_object"} se precisar de saída JSON estrita para análise.
A chamada de funções faz parte do endpoint padrão de chat-completions, então nenhuma configuração adicional é necessária além do payload da requisição. Certifique-se de que suas definições de função sigam o formato de esquema da OpenAI para compatibilidade.
Modo JSON
Para aplicações que exigem dados estruturados, defina response_format como {"type": "json_object"}. Isso instrui o modelo a gerar JSON válido, reduzindo erros de análise em seus sistemas downstream. Este modo é útil para extrair dados, gerar configurações ou alimentar fluxos de trabalho de agentes.
O modo JSON funciona junto com a chamada de funções, mas também pode ser usado para conversão direta de texto para JSON. O modelo é sem censura, então ele gerará JSON mesmo para estruturas de dados complexas ou incomuns, sem se recusar devido a filtros de conteúdo.
Lembre-se de que o modo JSON ainda conta para seus limites de token e faturamento. Certifique-se de que seu prompt defina claramente a estrutura JSON para melhorar a qualidade da saída. A janela de contexto de 100.000 tokens aplica-se à entrada e saída combinadas no total.
Limites de taxa e erros
Cada chave de API é 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ê exceder o limite de requisições, a API retornará um erro 429. Se seu crédito for esgotado, você receberá um erro 402. Falhas de autenticação resultam em um erro 401.
A janela de contexto é de 100.000 tokens no total, com uma saída máxima de 32.000 tokens por requisição (2.048 se max_tokens estiver não definido). Erros e recusas são gratuitos, então você pode testar os limites sem consumir crédito. O crédito nunca expira, e os valores pré-pagos são cobrados com base no uso real.
Para manipulação de erros detalhada, verifique os códigos de status. Um 401 indica uma chave inválida ou ausente, enquanto 402 requer um recarregamento. Use a página de suporte para resolver problemas de faturamento. Nenhum cartão é necessário para o teste, mas criptomoeda é necessária para recarregamentos.
Streaming
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)Recursos e limites
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 |
| Autenticação | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.unfilteredaichatbot.cc/v1 |
| ID do modelo | uncensored |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Streaming | sim — server-sent events; o último bloco traz o uso de tokens |
| Chamada de funções | sim — tools, tool_choice; resposta com tool_calls, inclusive em streaming; resultados como role: tool |
| Modo JSON | response_format: {"type": "json_object"} |
| Saída máxima | até o restante da janela de 100.000 tokens; max_tokens opcional (sem limite separado) |
| Janela de contexto | 100.000 tokens (entrada + saída) |
| Parâmetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Tamanho | até 8 MB por requisição |
| Limite de taxa | 300 requisições por minuto por chave |
| Cabeçalhos | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Concorrência | 8 requisições ao mesmo tempo 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 |
| Recarga | USDT (TRC20) ou USDC (Base), qualquer valor inteiro de $10 a $500 |
| Bônus | +5% a partir de $50, +10% a partir de $100 |
| Preço | $0,25 por 1M tokens de entrada · $1,00 por 1M de saída |
| Cobrança | crédito pré-pago pelo uso real; erros e recusas são grátis |
| 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.
| Código | 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 obtenho uma chave de API?
Cadastre-se usando 'Continuar com Google' ou e-mail e senha na página Obter chave de API. Sua chave é exibida imediatamente após o registro. Não é necessário número de telefone e a chave fica ativa instantaneamente.
O que acontece se eu exceder meu limite de requisições?
A API retorna um erro 429. Cada chave permite 300 requisições por minuto e 8 requisições simultâneas. Erros e recusas não contam para seu saldo de crédito, mas contam para os limites de taxa.
O crédito de teste é renovável?
Não, o crédito de teste grátis de $0,50 é único por pessoa e válido por 7 dias. Após a expiração ou o uso, você deve recarregar com criptomoeda (USDT TRC20 ou USDC Base) para continuar usando a API.
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.