URL base e autenticação
Nossa API é totalmente compatível com OpenAI, o que significa que você pode usar qualquer SDK padrão com alterações mínimas. A URL base para todas as requisições é https://api.openrouterapi.top/v1. A autenticação é feita via token Bearer passado no cabeçalho Authorization. Você pode gerar essa chave instantaneamente fazendo login com Google ou endereço de e-mail no nosso painel. Mantenha sua chave segura, pois ela fornece acesso direto ao seu crédito pré-pago.
Primeira requisição
Teste o endpoint com um comando curl simples. Substitua YOUR_API_KEY pela sua chave real. O ID do modelo é definido como uncensored para contornar recusas padrão de conteúdo. Esta requisição envia um prompt e aguarda a resposta completa.
curl https://api.openrouterapi.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."}]
}'
Se a chave for inválida, você receberá um erro 401. Se seu saldo pré-pago estiver esgotado, você receberá um erro 402. Esses erros não consomem seu saldo de tokens, mas contam para sua cota de limite de requisições.
Integração com SDK Python
Usar o pacote Python oficial openai é simples. Inicialize o cliente com sua URL base e chave. O SDK faz a serialização JSON automaticamente. Este exemplo demonstra uma solicitação básica de conclusão de chat.
from openai import OpenAI
client = OpenAI(base_url="https://api.openrouterapi.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)
Certifique-se de ter instalado a versão mais recente do SDK. O objeto cliente gerencia o pool de conexões, então você pode reutilizá-lo para múltiplas requisições sem reinitializá-lo.
Integração com SDK Node.js
Para ambientes JavaScript, o SDK Node.js funciona de forma idêntica. Passe a URL base personalizada durante a inicialização. Essa abordagem permite integrar geração sem censura em apps web ou serviços de backend existentes sem problemas.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openrouterapi.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);
O SDK Node.js suporta padrões baseados em promises e async/await. O tratamento de erros é consistente com outros serviços compatíveis com OpenAI.
Respostas em streaming
Ative o streaming definindo stream: true na sua requisição. A API retorna Server-Sent Events (SSE). Cada chunk contém texto parcial. O último chunk inclui as estatísticas de uso de tokens para faturamento.
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 crédito pré-pago é cobrado com base nos tokens reais gerados na saída final. O streaming não altera o modelo de precificação; você paga pelos tokens que são entregues com sucesso.
Limites de requisições e janela de contexto
Cada chave de API é limitada a 300 requisições por minuto e 8 requisições simultâneas. O tamanho máximo do corpo da requisição é 8 MB. A janela de contexto suporta até 100.000 tokens no total (entrada mais saída). A saída máxima por requisição é 32.000 tokens, ou 2.048 se max_tokens não estiver definido. Erros como 401 ou 402 não consomem crédito, mas contam para seu limite de requisições. Recusas por tipos específicos de conteúdo também são gratuitas.