Qwen Abliterated: Alterne seu cliente em três linhas
Conecte seu cliente SDK OpenAI existente ao nosso endpoint sem censura em menos de um minuto. Substitua a URL base e a chave de API, depois execute suas chamadas padrão de chat-completions sem modificações.
Autenticação e URL Base
Nossa API segue o formato padrão OpenAI. Você precisa apenas de duas coisas: a URL base e uma chave de API válida. A URL base é https://api.qwenabliterated.top/v1. Você não precisa importar bibliotecas especiais ou alterar a estrutura do seu código. Basta atualizar a configuração do seu cliente para apontar para esta URL e fornecer a chave que você gerou na página Obter chave de API. O sistema usa autenticação de token Bearer padrão, então qualquer SDK compatível com OpenAI funciona imediatamente.
curl https://api.qwenabliterated.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."}]
}'Mantenha sua chave segura. Ao contrário de alguns provedores, não rastreamos sua identidade além do e-mail usado para entrar. Os prompts não são usados para dados de treinamento. Se você perder sua chave, gere uma nova; ela substitui a chave ativa anterior imediatamente.
Primeira Solicitação de Conclusão
Envie sua primeira mensagem usando o endpoint padrão /v1/chat/completions. Passe o ID do modelo como "uncensored". Este modelo é de pesos abertos, ajustado para saída bruta e não aplica as recusas típicas encontradas em modelos de propósito geral. Ele lida com tópicos adultos, controversos ou técnicos sem ruído extra, desde que o conteúdo não envolva menores.
from openai import OpenAI
client = OpenAI(base_url="https://api.qwenabliterated.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)A resposta retorna o texto gerado no campo choices[0].message.content. Se a solicitação falhar devido a uma chave inválida, você receberá um erro 401. Se seu crédito pré-pago estiver esgotado, você receberá um erro 402. Erros não consomem seu saldo de tokens, então você pode tentar novamente sem penalidade.
Respostas em Streaming
Para aplicações em tempo real, ative o streaming configurando stream: true. A API retorna um fluxo de Server-Sent Events (SSE). Cada fragmento contém um token parcial. O último fragmento inclui o uso total de tokens da requisição, permitindo que você acompanhe os custos com precisão. Isso é ideal para interfaces de chat ou ferramentas baseadas em terminal, onde a latência importa.
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)O streaming não altera o comportamento do modelo nem a janela de contexto. Ele afeta apenas a forma como a resposta é entregue. Certifique-se de que seu cliente lida com o fluxo corretamente para evitar vazamentos de memória. O modelo sem censura tem bom desempenho no streaming, entregando texto coerente sem os cortes típicos no meio da frase vistos em modelos filtrados.
Modo JSON
Quando você precisar de dados estruturados, use response_format: {"type": "json_object"}. O modelo é instruído a produzir JSON válido. Isso é útil para analisar configurações, gerar estruturas de código ou alimentar dados em serviços downstream. Embora não seja garantido que seja perfeito, o modelo sem censura lida melhor com estruturas complexas do que os modelos padrão que podem recusar a saída de JSON bruto por motivos de segurança.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.qwenabliterated.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);Sempre valide a saída no seu lado. Se o JSON estiver malformado, a API não tenta novamente automaticamente. Você pode ajustar a temperatura para influenciar a consistência. Temperaturas mais baixas produzem estruturas JSON mais previsíveis, enquanto temperaturas mais altas introduzem mais criatividade, mas aumentam o risco de erros de formatação.
Chamada de funções
O suporte a ferramentas é integrado. Defina suas funções no parâmetro tools e defina tool_choice conforme necessário. O modelo retornará uma matriz tool_calls se decidir invocar uma função. Você deve executar a função e passar o resultado de volta em uma mensagem subsequente com role: "tool". Isso segue o padrão de uso de ferramentas OpenAI.
Este recurso funciona com qualquer SDK compatível com OpenAI. O modelo sem censura lida claramente com definições de ferramentas, sem recusar a saída de nomes de função devido a filtros de conteúdo. É adequado para construir agentes ou automatizar fluxos de trabalho que exigem chamadas de API externas.
Parâmetros, Limites e Erros
A janela de contexto é de 100,000 tokens, incluindo prompt e conclusão. Não há um limite separado de saída (se max_tokens não estiver definido, a resposta pode ir até o final da janela). Você pode controlar a geração com temperature, top_p, stop, seed e parâmetros de penalidade.
Os limites de taxa são de 300 solicitações por minuto e 8 solicitações simultâneas por chave. Se você exceder esses limites, receberá um erro 429. Os corpos das solicitações devem ter menos de 8 MB. Esses limites garantem desempenho estável para usuários de alto volume. Não há restrições ocultas sobre o tipo de conteúdo que você pode gerar, exceto o limite rígido sobre conteúdo sexual envolvendo menores.
Especificações técnicas
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.qwenabliterated.top/v1 |
| 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) |
| Streaming | sim — server-sent events; o último bloco traz o uso de tokens |
| Parâmetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Modo JSON | response_format: {"type": "json_object"} |
| Chamada de funções | sim — tools, tool_choice; resposta com tool_calls, inclusive em streaming; resultados como role: tool |
| 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 |
| Tamanho | até 8 MB por requisição |
| Concorrência | 8 requisições ao mesmo tempo por chave |
| Preço | $0,15 por 1M tokens de entrada · $0,50 por 1M de saída |
| Bônus | +5% a partir de $50, +10% a partir de $100, +15% a partir de $200 |
| 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 |
| 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 $20 a $500 |
| Chaves | uma chave ativa por conta; uma nova substitui a anterior |
| Login | Google ou e-mail e senha |
| Conteúdo | conteúdo adulto permitido; conteúdo sexual com menores é recusado |
Códigos de erro
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
Isso é o mesmo que o modelo oficial Qwen?
Não. Executamos um modelo de pesos abertos ajustado para saída sem censura. Não é GPT, Claude, Gemini, Grok ou qualquer outro modelo de fornecedor. É independente e atende ao nosso caso de uso específico para geração de conteúdo bruto.
Posso usar minha chave de API OpenAI existente?
Não. Você deve gerar uma chave em nossa plataforma. O formato da chave é padrão, mas está vinculado à sua conta de crédito pré-pago aqui, não a qualquer outro provedor. As chaves são exibidas imediatamente após o cadastro.
O que acontece se eu receber um erro 402?
Um erro 402 significa que seu crédito pré-pago está esgotado. Recarregue por cripto (USDT na TRC20, USDC na Base) para continuar. Erros e recusas não consomem crédito, então você paga apenas pelo uso efetivo de tokens.
Sua chave está a um formulário de distância
Crie uma conta, copie a chave e altere a URL base. Essa é toda a configuração.
Obter chave de API