Início rápido para usuários do OpenRouter
Migre suas chamadas de API do OpenRouter para nosso endpoint sem censura em minutos, alterando a URL base e a chave de API. Este guia cobre as integrações essenciais para geração de texto, streaming e saídas estruturadas.
Instalação e Configuração
Nossa API é totalmente compatível com SDKs padrão da OpenAI. Para migrar do OpenRouter, você só precisa atualizar dois valores de configuração: o base_url e o api_key. Aponte seu cliente para https://api.openrouterapi.cc/v1 e use a chave gerada no nosso painel. Não são necessários cabeçalhos personalizados ou lógica de roteamento complexa. O ID do modelo a solicitar é uncensored.
Certifique-se de que a versão do seu SDK suporte o parâmetro base_url. Se você estiver usando um cliente HTTP bruto, basta atualizar a URL de destino. Esta configuração garante que seu código de cliente existente funcione sem modificações, desde que você esteja enviando apenas solicitações de conclusão de texto.
Autenticação
A autenticação é feita via cabeçalho Authorization padrão. Passe sua chave de API como um token Bearer. Se a chave for inválida ou expirada, a API retorna um erro 401. Ao contrário de alguns provedores, não cobramos por solicitações falhas; erros e recusas são gratuitos, então você pode testar a autenticação sem consumir crédito.
Cada conta suporta uma chave ativa por vez. Gerar uma nova chave invalida imediatamente a anterior. Mantenha sua chave segura e faça a rotação se suspeitar de exposição. A chave é exibida imediatamente após o cadastro, então copie-a antes de sair da página.
Conclusão de Chat Básica
A funcionalidade principal é o endpoint POST /v1/chat/completions. Envie seu prompt como uma lista de mensagens e receba uma resposta de texto. O modelo é ajustado para responder sem recusas de conteúdo para uso adulto lícito, sendo adequado para tópicos criativos, controversos ou de pesquisa de segurança.
Defina o campo model como uncensored. Você pode controlar o comportamento usando parâmetros como temperature, top_p e stop. A API suporta modo JSON via response_format e chamada de funções via tools. Todas as solicitações são processadas de forma assíncrona e você recebe a conclusão completa assim que o modelo termina.
Respostas em Streaming
Ative o streaming definindo stream: true em sua solicitação. A API retorna Eventos Enviados pelo Servidor (SSE) com respostas parciais. Você recebe pedaços de texto conforme são gerados, permitindo exibição em tempo real no seu aplicativo.
As informações de uso de tokens são fornecidas no último chunk do streaming. Isso permite que você acompanhe os custos com precisão sem analisar cada token individual. O streaming é ideal para interfaces de chat onde a latência é importante. Certifique-se de que seu cliente lide corretamente com SSE e feche a conexão quando o streaming terminar.
Chamada de Funções
A API suporta chamada de funções via parâmetro tools. Defina suas funções no array tools e defina tool_choice como auto ou um nome de função específico. O modelo retornará argumentos JSON estruturados se uma função for acionada.
Este recurso é útil para integrar o LLM com APIs ou bancos de dados externos. Certifique-se de que as definições das suas funções estejam precisas, pois o modelo depende delas para gerar argumentos válidos. A API não executa as funções; você deve lidar com a lógica de execução no código do seu aplicativo.
Modo JSON
Para saídas estruturadas, use response_format: {"type": "json_object"}. Isso força o modelo a retornar JSON válido, o que é essencial para analisar dados em etapas seguintes. O modo JSON é frequentemente mais confiável do que a chamada de funções para tarefas simples de extração de dados.
Certifique-se de que seus prompts instruem claramente o modelo a retornar JSON. Respostas JSON inválidas podem ocorrer se o prompt for ambíguo. O modo JSON é suportado nos modos padrão e de streaming. Use-o quando precisar de saídas previsíveis e legíveis por máquina.
Limites, Erros e Contexto
A janela de contexto é de 100.000 tokens para o prompt e a resposta combinados. A saída máxima é de 32.000 tokens por requisição (2.048 se max_tokens não for definido). Os limites de taxa são de 300 requisições por minuto e 8 requisições simultâneas por chave. Os corpos das requisições são limitados a 8 MB.
Os erros retornam códigos HTTP padrão: 401 para chaves inválidas, 402 para crédito insuficiente e 429 para limites de taxa. O crédito é pré-pago, então um erro 402 significa que você precisa recarregar. Erros e recusas são gratuitos, então você pode tentar novamente sem custo. O limite rígido de conteúdo bloqueia conteúdo sexual envolvendo menores.
cURL
curl https://api.openrouterapi.cc/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."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.openrouterapi.cc/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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openrouterapi.cc/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);Streaming
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)Ficha técnica da API
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 |
| ID do modelo | uncensored |
| Autenticação | Authorization: Bearer YOUR_KEY |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.openrouterapi.cc/v1 |
| Streaming | sim — server-sent events; o último bloco traz o uso de tokens |
| 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 |
| Janela de contexto | 100.000 tokens (entrada + saída) |
| Saída máxima | até o restante da janela de 100.000 tokens; max_tokens opcional (sem limite separado) |
| Modo JSON | response_format: {"type": "json_object"} |
| 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 |
| Tamanho | até 8 MB por requisição |
| Cobrança | crédito pré-pago pelo uso real; erros e recusas são grátis |
| Bônus | +5% a partir de $50, +10% a partir de $100 |
| 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 |
| Validade | crédito pago não expira, sem assinatura |
| Recarga | USDT (TRC20) ou USDC (Base), qualquer valor inteiro de $10 a $500 |
| Preço | $0,25 por 1M tokens de entrada · $1,00 por 1M de saída |
| 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 |
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
Esta é a API oficial do OpenRouter?
Não, este é um serviço independente. Oferecemos um único modelo sem censura compatível com a estrutura de URL base do OpenRouter. Não servimos os modelos agregados ou a lógica de roteamento do OpenRouter.
Como pagar pela API?
Os pagamentos são aceitos apenas via criptomoeda: USDT (TRC20) ou USDC (Base). Você pode recarregar qualquer valor inteiro de $10 a $500. Não são aceitos cartões de crédito nem PayPal.
Os prompts são usados para treinamento?
Não, seus prompts não são usados para treinamento. Precisamos apenas de um endereço de e-mail para sua conta e não armazenamos nem usamos seus dados para melhorar o modelo.
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.