PT ▾

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.

ItemValor
Formatocompatível com OpenAI: qualquer SDK da OpenAI funciona trocando a base URL e a chave
EndpointsPOST /v1/chat/completions · GET /v1/models
AutenticaçãoAuthorization: Bearer YOUR_KEY
ID do modelouncensored
Base URLhttps://api.qwenabliterated.top/v1
Saída máximaaté o restante da janela de 100.000 tokens; max_tokens opcional (sem limite separado)
Janela de contexto100.000 tokens (entrada + saída)
Streamingsim — server-sent events; o último bloco traz o uso de tokens
Parâmetrostemperature, top_p, stop, seed, presence_penalty, frequency_penalty
Modo JSONresponse_format: {"type": "json_object"}
Chamada de funçõessim — tools, tool_choice; resposta com tool_calls, inclusive em streaming; resultados como role: tool
Limite de taxa300 requisições por minuto por chave
CabeçalhosX-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency
Tamanhoaté 8 MB por requisição
Concorrência8 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çacrédito pré-pago pelo uso real; erros e recusas são grátis
Validadecré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
RecargaUSDT (TRC20) ou USDC (Base), qualquer valor inteiro de $20 a $500
Chavesuma chave ativa por conta; uma nova substitui a anterior
LoginGoogle ou e-mail e senha
Conteúdoconteú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ódigoTipoSignificado
400bad_requestJSON inválido, mensagens vazias, parâmetro errado ou contexto longo demais
401missing_key · invalid_key · key_revokedchave ausente, errada ou substituída
402no_creditsem crédito — recarregue e continue na hora
403content_blockedconteúdo sexual com menores — recusado, sem cobrança
404not_foundendpoint desconhecido
413request_too_largecorpo acima de 8 MB
429rate_limited · concurrencyacima de 300/min ou 8 em paralelo — aguarde e tente de novo
503upstream_busymodelo 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