PT ▾
2026-10-30gptsemfiltro.comuncensored
Gptsemfiltro

API LLM sem censura, compatível com OpenAI

Obtenha sua chave

Documentação da API ChatGPT: Referência rápida e primeiros chamados

A maioria das APIs de chat compartilha o formato de requisição popularizado pela API ChatGPT. Esta página é uma referência rápida para o endpoint compatível neste site, com exemplos prontos para copiar e colar.

Livro de referência aberto se transformando em blocos de endpoint conectados e um cubo de servidor, para documentação de API

Resumo

  1. URL base https://api.gptsemfiltro.com/v1, autenticação com token bearer, ID do modelo uncensored.
  2. Três métodos: completions de chat, respostas e a lista de modelos; o saldo tem seus próprios endpoints.
  3. Streaming, chamada de funções e modo JSON são suportados; contexto de 100.000 tokens.
  4. Erros 429 carregam um código: rate_limited ou concurrency.

O que esta página cobre

Se você pesquisou por documentação da api chatgpt, talvez queira a documentação oficial da OpenAI para os modelos da própria OpenAI. Esta página é outra coisa: uma referência funcional para uma API compatível com OpenAI hospedada neste site. Ela executa um modelo de pesos abertos, uncensored, ajustado para responder sem recusas de conteúdo para uso adulto legal. Não é a API oficial da OpenAI ou de qualquer outro fornecedor.

As formas de requisição e resposta seguem o formato familiar da OpenAI, então os SDKs oficiais e a maioria das ferramentas funcionam após você alterar a URL base e a chave. A referência completa está na documentação da API; esta página oferece a versão rápida com exemplos que você pode executar.

Noções básicas de conexão e uma primeira requisição

Noções básicas de conexão

ItemValor
URL basehttps://api.gptsemfiltro.com/v1
AutenticaçãoAuthorization: Bearer YOUR_KEY
ID do modelouncensored
Endpoint de chatPOST /v1/chat/completions
Endpoint de respostasPOST /v1/responses
Lista de modelosGET /v1/models
SaldoGET /v1/balance ou GET /v1/dashboard/billing/credit_grants
Corpo da requisição máximo8 MB
Janela de contexto100.000 tokens, prompt mais conclusão

Obtenha uma chave na página da chave de API. Novos usuários podem resgatar um crédito de teste de $0,50 com um clique; é válida por 7 dias e não requer pagamento. Você pode regenerar uma chave a qualquer momento, e contas que fizeram recarga podem ter até 5 chaves, rotulá-las e revogar qualquer uma.

Sua primeira chamada

curl https://api.gptsemfiltro.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [
      {"role": "system", "content": "You answer in plain language."},
      {"role": "user", "content": "What is a context window?"}
    ],
    "temperature": 0.7
  }'
from openai import OpenAI

client = OpenAI(base_url="https://api.gptsemfiltro.com/v1", api_key="YOUR_KEY")

resp = client.chat.completions.create(
    model="uncensored",
    messages=[
        {"role": "system", "content": "You answer in plain language."},
        {"role": "user", "content": "What is a context window?"},
    ],
)
print(resp.choices[0].message.content)
print(resp.usage)

A resposta contém choices[0].message.content e um objeto usage com contagens de tokens de prompt e conclusão.

Parâmetros da requisição

Os parâmetros que você usará mais:

Não disponível: geração de imagem, áudio ou vídeo, embeddings e fine-tuning. O serviço lida apenas com texto.

Os papéis funcionam como no formato da OpenAI. Uma mensagem system define o comportamento para toda a conversa, mensagens user carregam a entrada da pessoa, mensagens assistant contêm respostas anteriores e mensagens tool retornam resultados de funções. A API não mantém memória entre chamadas, então cada requisição deve incluir o histórico que você quer que o modelo veja. O prompt e a conclusão compartilham a janela de 100.000 tokens, o que significa que um histórico longo deixa menos espaço para a resposta.

Streaming, chamada de funções e modo JSON

Streaming

Defina stream como true e leia os eventos conforme eles chegam. Cada chunk tem um pequeno delta de texto, e o uso chega no final.

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.gptsemfiltro.com/v1",
  apiKey: process.env.API_KEY,
});

const stream = await client.chat.completions.create({
  model: "uncensored",
  messages: [{ role: "user", content: "List five uses of a context window." }],
  stream: true,
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}

Uma requisição em streaming mantém seu slot de concorrência até o fim do stream, então feche streams que você não precisa mais.

Chamada de ferramentas e modo JSON

Declare funções com tools. Quando o modelo quiser usar uma, a resposta terá tool_calls em vez de texto. Você executa a função e envia o resultado de volta como uma mensagem com role: "tool".

import json
from openai import OpenAI

client = OpenAI(base_url="https://api.gptsemfiltro.com/v1", api_key="YOUR_KEY")

tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "Get the weather for a city",
        "parameters": {
            "type": "object",
            "properties": {"city": {"type": "string"}},
            "required": ["city"],
        },
    },
}]

messages = [{"role": "user", "content": "What is the weather in Lisbon?"}]
first = client.chat.completions.create(model="uncensored", messages=messages, tools=tools)
call = first.choices[0].message.tool_calls[0]

messages.append(first.choices[0].message)
messages.append({
    "role": "tool",
    "tool_call_id": call.id,
    "content": json.dumps({"city": "Lisbon", "temp_c": 21}),
})
final = client.chat.completions.create(model="uncensored", messages=messages, tools=tools)
print(final.choices[0].message.content)

Em produção, verifique se tool_calls existe antes de lê-lo, pois o modelo pode responder em texto puro. Para saída estruturada sem ferramentas, adicione "response_format": {"type": "json_object"} e diga no prompt que você quer JSON.

Limites, erros e cabeçalhos

LimiteChave completaChave de teste
Requisições simultâneas82
Requisições por minuto30060
Tamanho do corpo8 MB8 MB

Acima do limite, a API retorna HTTP 429. O código de erro rate_limited significa muitas requisições por minuto; concurrency significa muitas ao mesmo tempo. Em sobrecarga temporária, você também recebe 429, com um cabeçalho Retry-After: 5. Requisições falhas ou recusadas não são cobradas.

Cabeçalhos de resposta úteis: X-Request-Id (cite-o ao entrar em contato com suporte), X-Balance-USD, X-RateLimit-Limit-Requests e X-RateLimit-Limit-Concurrency.

Um pequeno auxiliar de retry em Node, que espera o tempo em Retry-After e aumenta o backoff um pouco mais em cada tentativa:

async function chat(messages, tries = 4) {
  for (let n = 0; n < tries; n++) {
    const res = await fetch("https://api.gptsemfiltro.com/v1/chat/completions", {
      method: "POST",
      headers: {
        "Authorization": "Bearer " + process.env.API_KEY,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({ model: "uncensored", messages: messages }),
    });
    if (res.status === 429) {
      const wait = Number(res.headers.get("Retry-After") || 5);
      await new Promise(function (r) { setTimeout(r, wait * 1000 * (n + 1)); });
      continue;
    }
    return res.json();
  }
  throw new Error("still rate limited");
}

Movendo código existente e verificando seu saldo

Movendo código existente para este endpoint

Se seu código já chama um endpoint de chat estilo OpenAI, a migração é pequena. Altere estes três valores e deixe o resto:

  1. A URL base torna-se https://api.gptsemfiltro.com/v1.
  2. A chave torna-se a da página da chave de API.
  3. O modelo torna-se uncensored.

Então verifique em que seu código depende. Tudo baseado em texto e com formato de conversa é transferível: prompts de sistema, histórico, streaming, chamadas de ferramentas e modo JSON. Qualquer outra coisa não existe aqui. Não há geração de imagem, nem áudio ou vídeo, nem embeddings nem fine-tuning, então código que chama essas rotas precisa de outro provedor.

O endpoint Responses também está disponível, para clientes que preferem esse formato:

curl https://api.gptsemfiltro.com/v1/responses \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "uncensored", "input": "Summarise what a context window is in one sentence."}'

Teste antes de enviar, porque modelos diferentes se comportam de maneira diferente no mesmo prompt. Recusas, tom e comprimento podem mudar, então reexecute os prompts que importam.

Verificando seu saldo do código

O saldo está disponível de três formas. Cada resposta inclui o cabeçalho X-Balance-USD. Você também pode chamar GET /v1/balance ou o endpoint no estilo OpenAI GET /v1/dashboard/billing/credit_grants, que alguns painéis já sabem ler.

curl https://api.gptsemfiltro.com/v1/balance \
  -H "Authorization: Bearer YOUR_KEY"

Um padrão útil é ler o cabeçalho após cada chamada, armazená-lo e gerar um alerta quando ele cair abaixo de um limite que você definir. Como o crédito é pré-pago e nunca expira, um saldo baixo é um sinal para recarregar, não um prazo final.

Preços em visão geral

O custo de entrada é de $0,15 por 1M de tokens e o de saída é de $0,50 por 1M de tokens, descontados do crédito pré-pago. Exemplo: 3.000 tokens de entrada e 600 de saída custam 3.000 x $0,15 / 1M + 600 x $0,50 / 1M = $0,00045 + $0,0003 = $0,00075. Recargas são valores inteiros de $20 a $500, com bônus de +5% a partir de $50, +10% a partir de $100 e +15% a partir de $200, pagos em USDT (TRC20) ou USDC (Base). Mais detalhes estão na página de preços. Os prompts não são usados para treinamento.

Lista de verificação para solução de problemas na primeira integração

A maioria das primeiras chamadas com falha vem de uma lista curta de causas. Verifique-as em ordem antes de suspeitar do serviço.

  1. Status 401. A chave está ausente ou digitada incorretamente. Imprima o cabeçalho que seu cliente realmente envia e compare com Authorization: Bearer YOUR_KEY. Se a chave foi colada em um local público, gere uma nova na página da chave de API; a chave antiga deixa de funcionar imediatamente.
  2. Status 404. O caminho está errado. O Base URL termina em /v1, e o SDK adiciona /chat/completions automaticamente. Se você chamar a API com HTTP puro, escreva o caminho completo.
  3. Um erro sobre o modelo. O único ID de modelo é uncensored. Um nome copiado da documentação de outro provedor não corresponderá. GET /v1/models lista o que a chave pode usar.
  4. Uma requisição muito grande falha. O limite do corpo é 8 MB. Históricos longos devem ser cortados ou resumidos muito antes de se aproximarem desse tamanho, e a janela de 100.000 tokens é compartilhada pelo prompt e pela conclusão de qualquer forma.
  5. 429 intermitente. Leia o código de erro. concurrency significa muitas chamadas ao mesmo tempo, então reduza o número de workers. rate_limited significa muitas chamadas por minuto. Um cabeçalho Retry-After: 5 significa sobrecarga temporária, e uma breve espera resolve o problema.
  6. Respostas cortadas. Se você definir max_tokens, a resposta para ali e finish_reason lê length. Aumente o limite ou remova-o.

Mantenha o valor X-Request-Id de qualquer chamada que você não consiga explicar. É a maneira mais rápida de apontar para uma requisição exata quando você escreve para o suporte.

Perguntas frequentes

Esta é a API oficial do ChatGPT?

Não. É um modelo de pesos abertos hospedado de forma independente com uma interface compatível com OpenAI. Não é operado pela OpenAI.

Quais endpoints são suportados?

POST /v1/chat/completions, POST /v1/responses e GET /v1/models, além de endpoints de saldo em /v1/balance e /v1/dashboard/billing/credit_grants.

Preciso de um SDK diferente?

Não. Os SDKs oficiais da OpenAI para Python e Node funcionam após você alterar a URL base, a chave e o nome do modelo.

Como verifico meu crédito restante?

Leia o cabeçalho X-Balance-USD em qualquer resposta ou chame GET /v1/balance.

Obtenha sua chave de API

Registre-se, copie a chave e atualize seu Base URL. A configuração está completa.

Obtenha sua chave