URL Base e Autenticação
A API Unrestricted AI está hospedada em https://api.unrestrictedai.top/v1. Ela segue a estrutura de conclusões de chat da OpenAI, o que significa que você pode usar SDKs existentes da OpenAI apenas atualizando o base_url e fornecendo sua chave de API. Você precisa apenas de uma chave ativa por conta, que concede acesso imediato ao modelo sem censura. A autenticação é feita via cabeçalho Authorization usando o esquema Bearer. Mantenha sua chave segura, pois ela controla o uso do seu crédito pré-pago. Diferente de serviços de assinatura, você paga apenas pelos tokens processados, com erros e recusas cobrados como zero tokens.
Sua Primeira Requisição
Envie uma requisição padrão de conclusão de chat para testar a conectividade. O ID do modelo é sempre uncensored. Este endpoint aceita entrada de texto e retorna saída de texto, suportando até 100.000 tokens na janela de contexto. Se você não especificar max_tokens, a API usa como padrão 2.048 tokens de saída. Esta simples requisição POST demonstra a funcionalidade principal: enviar um prompt e receber uma resposta gerada sem filtros de conteúdo para tópicos adultos lícitos ou controversos.
Integração com SDK Python
Usar a biblioteca oficial Python da OpenAI é a maneira mais rápida de integrar. Aponte o cliente para nossa URL base e passe sua chave. O código abaixo mostra uma requisição síncrona básica. Esta abordagem faz a análise de JSON automaticamente, permitindo que você acesse o conteúdo da resposta diretamente nas suas variáveis Python. É ideal para serviços de backend ou processamento em lote, onde a latência do streaming é menos crítica do que a simplicidade do código.
Integração com SDK Node.js
Para ambientes JavaScript, configure o cliente OpenAI Node.js para apontar para nosso endpoint. A natureza assíncrona do Node.js combina bem com o tempo de resposta da API. Defina a URL base corretamente, e o SDK cuidará da formatação da requisição. Lembre-se de que esta API não suporta endpoints de imagem, áudio ou embeddings, então mantenha-se nas conclusões baseadas em texto. Este método é adequado para servidores web ou funções de borda onde você precisa injetar respostas LLM sem censura em conteúdo dinâmico.
Respostas em Streaming
Ative o streaming definindo stream: true na sua requisição. A API retorna dados via Server-Sent Events (SSE), permitindo que você receba tokens em tempo real. O uso de tokens e as métricas de cobrança são incluídos no último fragmento do stream. Isso reduz a latência percebida para os usuários finais, especialmente para saídas longas. O streaming é recomendado para interfaces de chat onde a renderização imediata do texto melhora a experiência do usuário. Monitore o último fragmento para obter as contagens totais de tokens e acompanhar seu crédito pré-pago com precisão.
Limites, Erros e Contexto
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. Erros comuns incluem 401 para chaves inválidas, 402 quando o crédito pré-pago se esgota e 429 para limites de requisições. A janela de contexto suporta 100.000 tokens no total, incluindo tanto o prompt quanto a conclusão. Se você exceder esses limites, implemente backoff exponencial. O crédito nunca expira, e erros como cobranças duplicadas são tratados na página de Suporte, garantindo que você mantenha seu valor pré-pago indefinidamente.
cURL
curl https://api.unrestrictedai.top/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."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.unrestrictedai.top/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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.unrestrictedai.top/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);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)