API compatível com OpenAI: altere seu cliente em três linhas
Altere seu cliente em três linhas: mude a URL base e a chave de API, depois mantenha seu código existente. Esta api openai compatible pronta para usar oferece uma experiência de api llm sem censura com preços transparentes por token.
- URL base
- https://api.openaicompatibleapi.com/v1
- Modelo
- sem censura
Pré-requisitos: Instale o SDK OpenAI
Antes de fazer requisições, certifique-se de que seu ambiente de desenvolvimento tenha o OpenAI SDK oficial instalado para sua linguagem preferida. Esta é a maneira padrão como os desenvolvedores interagem com uma api compatível com openai, garantindo tipagem consistente e tratamento de erros. Para Python, use pip install openai. Para Node.js, execute npm install openai. Essas bibliotecas lidam com os detalhes HTTP subjacentes, então você pode focar em passar prompts e receber saídas de texto.
Configure URL Base e Chave de API
A principal vantagem do nosso serviço é que você só precisa atualizar dois valores de configuração. Aponte seu cliente para nossa URL base: https://api.openaicompatibleapi.com/v1. Em seguida, gere sua chave de API na página de cadastro; ela é exibida imediatamente após o registro, sem necessidade de cartão de crédito. Defina o base_url e o api_key na inicialização do seu cliente. Isso nos torna uma alternativa direta à api gpt para seus projetos existentes sem reescrever a lógica.
Faça sua primeira requisição
Envie uma solicitação padrão de conclusão de chat usando o ID do modelo uncensored. Este modelo é um grande modelo de linguagem de pesos abertos ajustado para responder sem recusas de conteúdo para uso adulto lícito. Não é GPT, Claude ou qualquer outro modelo de fornecedor. Você pode testar a conectividade imediatamente com um prompt de texto simples. A resposta retornará o texto gerado no campo content.
curl https://api.openaicompatibleapi.com/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."}]
}'
Ative respostas em streaming
Para uma melhor experiência do usuário, ative o streaming para receber tokens conforme são gerados. Defina stream=True na sua requisição. O SDK entregará os blocos conforme chegam, permitindo que você exiba resultados parciais instantaneamente. Isso é particularmente útil para janelas de contexto longas de até 100.000 tokens. O streaming funciona de forma idêntica aos clientes padrão da OpenAI, mantendo a compatibilidade com sua lógica de tratamento de erros existente.
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)
Use chamada de funções (Function Calling)
Nossa API suporta chamada estruturada de ferramentas. Defina suas funções no parâmetro tools, e o modelo retornará chamadas de ferramentas na resposta. Você pode então executar essas ferramentas e enviar os resultados de volta ao modelo para raciocínio adicional. Este recurso funciona com qualquer cliente compatível com OpenAI que suporte o formato padrão de chamada de ferramentas. É ideal para construir agentes ou automatizar fluxos de trabalho sem gerenciar um proxy llm complexo.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicompatibleapi.com/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)
Verifique os modelos disponíveis
Consulte o endpoint GET /v1/models para verificar os modelos disponíveis. Você verá o modelo uncensored listado. Isso confirma que sua chave de API e URL base estão configuradas corretamente. Você também pode usar este endpoint para depurar problemas de autenticação. Se o endpoint retornar uma lista, sua conexão com a api de ia para desenvolvedores está ativa. Nenhum outro modelo é oferecido, mantendo a configuração simples.
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicompatibleapi.com/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);Especificações técnicas
Todos os limites e recursos reais da API em um só lugar — confira antes de recarregar.
| 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 |
| ID do modelo | uncensored |
| Autenticação | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.openaicompatibleapi.com/v1 |
| Streaming | sim — server-sent events; o último bloco traz o uso de tokens |
| 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 |
| Parâmetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| 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) |
| Cabeçalhos | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Limite de taxa | 300 requisições por minuto por chave |
| Tamanho | até 8 MB por requisição |
| Concorrência | 8 requisições ao mesmo tempo por chave |
| Preço | $0,25 por 1M tokens de entrada · $1,00 por 1M de saída |
| Bônus | +5% a partir de $50, +10% a partir de $100 |
| 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 |
| Recarga | USDT (TRC20) ou USDC (Base), qualquer valor inteiro de $10 a $500 |
| 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 |
| Conteúdo | conteúdo adulto permitido; conteúdo sexual com menores é recusado |
| Chaves | uma chave ativa por conta; uma nova substitui a anterior |
| 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
Quais são os limites de requisições?
Você está limitado a 300 requisições por minuto por chave de API. O tamanho do corpo da requisição é limitado a 8 MB. Se você exceder o limite, receberá um erro 429. Você pode regenerar sua chave a qualquer momento para resetar a associação, embora o limite de requisições se aplique à própria chave.
Por que recebo um erro 401 ou 402?
Um erro 401 indica uma chave de API inválida ou expirada. Um erro 402 significa que seu crédito pré-pago está esgotado. Não oferecemos uma camada gratuita ilimitada; você deve recarregar para continuar usando a api de llm sem censura. O crédito nunca expira, então você pode recarregar a partir de $10 por cripto (USDT ou USDC).
A janela de contexto é realmente de 100k?
Sim, o modelo suporta uma janela de contexto estrita de 100.000 tokens para a soma do prompt e da resposta. Isso permite o processamento extensivo de documentos ou conversas longas. Certifique-se de que seus inputs se encaixem nesse limite para evitar truncamento ou erros.
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.