Autenticação e URL Base
Nossa API foi projetada para ser uma substituição pronta para usar para clientes OpenAI existentes. Você só precisa alterar duas coisas na sua configuração: a URL base e a chave de API. A URL base para este serviço é https://api.uncensoredgpt.top/v1. Você pode gerar sua chave de API imediatamente após entrar via Google ou e-mail no painel. Não é necessário número de telefone e a chave é exibida uma única vez ao ser criada.
Certifique-se de armazenar sua chave com segurança. Se você a perder, poderá gerar uma nova no painel, o que invalidará a chave anterior. Esta configuração simples permite que você se conecte à nossa api ai sem censura usando bibliotecas padrão sem adaptadores personalizados.
Endpoint de Chat Completions
A funcionalidade principal é servida através do endpoint padrão POST /v1/chat/completions. Este endpoint aceita entrada de texto e retorna saída de texto, suportando tanto requisições síncronas quanto assíncronas. Você não precisa se preocupar com roteamento ou agregação de modelos; servimos um único modelo de linguagem grande sem censura de alto desempenho, ajustado para conteúdo irrestrito.
Ao fazer uma requisição, você deve especificar o ID do modelo como uncensored. Este modelo é de pesos abertos e está hospedado em nossos próprios servidores, distinto de GPT, Claude ou outros modelos de fornecedores. Foi projetado para responder sem recusas de conteúdo para uso adulto legal, sendo ideal para tópicos NSFW ou controversos.
Para começar, você pode testar o endpoint com um comando cURL simples. Substitua YOUR_API_KEY pela sua chave real.
curl https://api.uncensoredgpt.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."}]
}'
Respostas em Streaming (SSE)
Para aplicativos em tempo real, a API suporta Server-Sent Events (SSE). O streaming permite que você receba tokens conforme são gerados, proporcionando uma melhor experiência do usuário para interfaces de chat. Quando você define stream: true na sua requisição, a API retorna um fluxo de chunks em vez de uma única resposta completa.
Cada fragmento contém texto parcial, e o fragmento final inclui as estatísticas de uso de tokens para fins de faturamento. Este recurso é particularmente útil para aplicativos que exigem feedback imediato. Você pode processar o streaming no seu idioma preferido usando o SDK adequado.
Aqui está um exemplo de como iniciar uma requisição de streaming usando cURL:
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)
Chamada de Funções e Ferramentas
A API suporta chamada de funções, permitindo que seu aplicativo interaja com ferramentas e serviços externos. Você pode definir uma lista de funções no parâmetro tools, e o modelo responderá com uma chamada de função se for apropriado. Isso é útil para construir agentes ou aplicativos que precisam realizar ações específicas.
Você pode controlar o comportamento do modelo usando tool_choice, que pode ser definido como auto, none ou um ID de função específico. O modelo retornará o nome da função e os argumentos na resposta, que você pode então executar em seu aplicativo.
Aqui está um exemplo em Python demonstrando como usar o recurso de chamada de funções com o SDK compatível com OpenAI:
from openai import OpenAI
client = OpenAI(base_url="https://api.uncensoredgpt.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)
Configuração do Modo JSON
Se você precisar de saída estruturada, pode habilitar o modo JSON definindo o parâmetro response_format para {"type": "json_object"}. Isso instrui o modelo a gerar uma saída que esteja em conformidade com a sintaxe JSON válida. Isso é particularmente útil para aplicativos que precisam analisar a resposta programaticamente.
Ao usar o modo JSON, o modelo evitará adicionar cercas de markdown ou texto extra ao redor do objeto JSON. Isso garante que seu analisador possa consumir diretamente a resposta sem etapas adicionais de limpeza. É uma maneira confiável de obter dados estruturados de um LLM.
Aqui está um exemplo em Node.js mostrando como configurar o cliente para o modo JSON:
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.uncensoredgpt.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);
Parâmetros: Temperatura e Top P
Você pode controlar a aleatoriedade e a criatividade das respostas do modelo usando parâmetros como temperature e top_p. O parâmetro temperature ajusta a temperatura de amostragem, com valores mais baixos tornando a saída mais determinística e valores mais altos tornando-a mais criativa. O parâmetro top_p controla a amostragem de núcleo, limitando o modelo a considerar apenas a massa de probabilidade dos p tokens mais prováveis.
Outros parâmetros suportados incluem sequências stop, seed para reprodutibilidade e penalidades para presence_penalty e frequency_penalty. Esses parâmetros permitem que você ajuste o comportamento do modelo para se adequar ao seu caso de uso específico.
Entender esses parâmetros é crucial para otimizar a qualidade do seu texto gerado. Experimente diferentes valores para encontrar o equilíbrio certo para o seu aplicativo.
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 |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.uncensoredgpt.top/v1 |
| Autenticação | Authorization: Bearer YOUR_KEY |
| ID do modelo | uncensored |
| Streaming | sim — server-sent events; o último bloco traz o uso de tokens |
| Parâmetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| 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) |
| Tamanho | até 8 MB por requisição |
| Limite de taxa | 300 requisições por minuto por chave |
| 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 |
| Preço | $0,25 por 1M tokens de entrada · $1,00 por 1M de saída |
| 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 |
| 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 $10 a $500 |
| Bônus | +5% a partir de $50, +10% a partir de $100 |
| Validade | crédito pago não expira, sem assinatura |
| Chaves | uma chave ativa por conta; uma nova substitui a anterior |
| Conteúdo | conteúdo adulto permitido; conteúdo sexual com menores é recusado |
| Login | Google ou e-mail e senha |
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
O que acontece se eu exceder o limite de requisições?
Se você exceder o limite de 300 requisições por minuto ou 8 requisições simultâneas, receberá um erro 429 Muitos Pedidos. Sua chave de API está limitada a 8 conexões simultâneas, portanto, certifique-se de que seu aplicativo gerencie requisições simultâneas de forma adequada para evitar atingir esse limite.
Por que recebo um erro 402?
Um erro 402 indica que seu crédito pré-pago foi esgotado. Como usamos um modelo de token pré-pago, você deve recarregar sua conta para continuar usando a API. Erros e recusas não consomem crédito, então você paga apenas pelo uso bem-sucedido de tokens.
Qual é o limite da janela de contexto?
O modelo suporta uma janela de contexto de 100.000 tokens, que inclui tanto o prompt quanto a conclusão. A saída máxima por requisição é de 32.000 tokens, ou 2.048 tokens se você não especificar um valor max_tokens. Isso permite geração de conteúdo longo e tarefas de raciocínio complexo.
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.