PT ▾
Obter chave de API

Início rápido para usuários do OpenRouter NSFW

Integre nossa API LLM sem censura ao seu código existente atualizando a base URL e a chave de API. Este guia cobre os endpoints padrão compatíveis com OpenAI, streaming e tratamento de restrições para uso direto do desenvolvedor.

URL Base e Autenticação

Substitua o base URL do seu provedor atual por https://api.openrouternsfw.com/v1. A autenticação usa o cabeçalho padrão Authorization: Bearer <key>. Você obtém sua chave imediatamente após entrar via Google ou e-mail na página Obter chave de API. Não é necessário número de telefone, e a chave é exibida apenas uma vez, então copie-a antes de sair da página.

Nosso serviço é uma API independente, não um revendedor de modelos de outros fornecedores. O identificador do modelo que você envia nas requisições é uncensored, que é executado em nossos próprios servidores. É ajustado para responder sem recusas de conteúdo para uso adulto lícito, mas não é GPT, Claude ou qualquer outro modelo de fornecedor nomeado.

Certifique-se de que a biblioteca do seu cliente esteja configurada para usar esta nova base URL. Todas as requisições devem incluir uma chave de API válida no cabeçalho. Se a chave estiver ausente ou inválida, o servidor retornará um erro 401. Se você não tiver crédito pré-pago, receberá um erro 402. Estes são códigos de status HTTP padrão indicando problemas de autenticação ou pagamento, não erros do servidor.

Endpoint de Conclusões de Chat

A funcionalidade principal é fornecida via endpoint POST /v1/chat/completions. Este endpoint aceita um corpo JSON contendo o nome do modelo, o array de mensagens e parâmetros opcionais. Retorna um objeto JSON com o texto gerado, estatísticas de uso de tokens e motivo do término. Esta estrutura é compatível com os SDKs oficiais da OpenAI e a maioria das bibliotecas cliente compatíveis com OpenAI.

Você não precisa escrever clientes HTTP personalizados se preferir usar um SDK. No entanto, você deve atualizar a configuração para apontar para nossa base URL. O exemplo a seguir demonstra uma solicitação de conclusão padrão usando cURL. Esta solicitação envia um prompt para o modelo sem censura e espera uma resposta de texto.

curl https://api.openrouternsfw.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."}]
  }'

Lembre-se de que esta API serve apenas texto. Não há endpoints para embeddings, geração de imagens, áudio ou vídeo. Se seu aplicativo requer entradas ou saídas multimodais, você precisará lidar com isso separadamente. Nosso serviço foca exclusivamente na geração de texto de alta qualidade com um modelo sem censura.

Integração com SDK Python

Usar o SDK Python simplifica o processo de integração. Inicialize o cliente com a base URL correta e sua chave de API. A biblioteca cuida das requisições HTTP e análise JSON para você. Você pode especificar o ID do modelo como uncensored para garantir que está usando nosso modelo específico.

from openai import OpenAI

client = OpenAI(base_url="https://api.openrouternsfw.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)

Este trecho de código mostra como enviar uma mensagem e recuperar a resposta. O cliente lida automaticamente com a conexão e o relatório de erros. Se o servidor retornar um erro, o SDK levantará uma exceção. Você deve tratar essas exceções na lógica do seu aplicativo para fornecer uma melhor experiência ao usuário.

O SDK Python é apenas uma opção. Você pode usar qualquer linguagem que suporte requisições HTTP. A estrutura do endpoint permanece a mesma, independentemente do cliente que você escolher. Esta flexibilidade permite que você integre o modelo sem censura em qualquer fluxo de trabalho existente sem alterações significativas de código.

Uso do SDK Node.js

O SDK Node funciona de forma semelhante à versão Python. Configure o cliente com a base URL e a chave de API, depois chame o método de conclusões de chat. Esta abordagem é ideal para aplicativos do lado do servidor ou serviços de back-end que precisam gerar texto de forma assíncrona.

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.openrouternsfw.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);

Desenvolvedores Node.js podem integrar facilmente esta API em seus projetos existentes. O SDK cuida da serialização e desserialização de dados JSON. Você também pode especificar parâmetros adicionais como temperature ou top_p para controlar a aleatoriedade da saída.

Certifique-se de lidar corretamente com a natureza assíncrona das requisições. Use async/await ou cadeias de Promise para gerenciar os dados de resposta. Isso garante que seu aplicativo permaneça responsivo enquanto aguarda o modelo gerar o texto. O SDK Node é uma escolha confiável para construir serviços de geração de texto escaláveis.

Respostas em Streaming

Ative o streaming definindo o parâmetro stream como true em sua solicitação. O servidor enviará uma série de Eventos Enviados pelo Servidor (SSE) em vez de uma única resposta JSON. Cada evento contém um fragmento parcial do texto gerado.

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 é útil para aplicativos em tempo real onde você deseja exibir a saída conforme ela é gerada. O último fragmento do stream contém o uso total de tokens para a solicitação. Isso permite que você rastreie os custos com precisão sem aguardar que toda a resposta seja concluída.

Trate os eventos do stream com cuidado para garantir que o texto seja montado corretamente. Concatene os fragmentos na ordem em que são recebidos. O servidor garante que os fragmentos sejam enviados em sequência. Se a conexão for interrompida, você pode precisar repetir a solicitação. O streaming é um recurso poderoso que melhora a experiência do usuário para tarefas de geração de texto.

Limites de Requisição e Janela de Contexto

Cada chave de API é limitada a 300 requisições por minuto e 8 requisições simultâneas. O tamanho do corpo da solicitação é limitado a 8 MB. Se você exceder esses limites, o servidor retornará o código de status 429. Este é um código de status HTTP padrão indicando que você enviou muitas requisições em uma determinada janela de tempo. Você deve implementar backoff exponencial no seu cliente para lidar com esses erros com elegância.

A janela de contexto suporta até 100,000 tokens para o prompt e a conclusão combinados. Não há um limite separado de saída. Se você não especificar o parâmetro max_tokens, a resposta pode ir até o final da janela. Você pode limitar o comprimento da saída definindo max_tokens para um valor menor.

Monitore o uso de tokens para gerenciar seu crédito pré-pago de forma eficaz. Erros e recusas não consomem tokens, então você não é cobrado por solicitações falhas. Isso garante que você pague apenas pela geração de texto bem-sucedida. Fique de olho nos seus limites de requisições para evitar interrupções no seu serviço.

Especificações técnicas

Todos os limites e recursos reais da API em um só lugar — confira antes de recarregar.

ItemValor
Formatocompatível com OpenAI: qualquer SDK da OpenAI funciona trocando a base URL e a chave
AutenticaçãoAuthorization: Bearer YOUR_KEY
EndpointsPOST /v1/chat/completions · GET /v1/models
Base URLhttps://api.openrouternsfw.com/v1
ID do modelouncensored
Modo JSONresponse_format: {"type": "json_object"}
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)
Parâmetrostemperature, top_p, stop, seed, presence_penalty, frequency_penalty
Chamada de funçõessim — tools, tool_choice; resposta com tool_calls, inclusive em streaming; resultados como role: tool
Streamingsim — server-sent events; o último bloco traz o uso de tokens
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
Limite de taxa300 requisições por minuto por chave
RecargaUSDT (TRC20) ou USDC (Base), qualquer valor inteiro de $20 a $500
Validadecrédito pago não expira, sem assinatura
Cobrançacrédito pré-pago pelo uso real; erros e recusas são grátis
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
Bônus+5% a partir de $50, +10% a partir de $100, +15% a partir de $200
Preço$0,15 por 1M tokens de entrada · $0,50 por 1M de saída
Conteúdoconteúdo adulto permitido; conteúdo sexual com menores é recusado
LoginGoogle ou e-mail e senha
Chavesuma chave ativa por conta; uma nova substitui a anterior

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

Como o modelo sem censura difere dos outros fornecedores?

Nosso modelo é um modelo de pesos abertos executado em nossos próprios servidores, ajustado para responder sem recusas de conteúdo para uso adulto lícito. Não é GPT, Claude, Gemini, Grok, DeepSeek, Qwen, Llama ou qualquer modelo de outro fornecedor. Não fazemos roteamento entre fornecedores; servimos um único endpoint sem censura.

O que acontece se eu exceder o limite de requisições?

Se você exceder 300 requisições por minuto ou 8 requisições simultâneas por chave, o servidor retornará o código de status 429. Este é um código de status HTTP padrão indicando que você enviou muitas requisições em uma determinada janela de tempo. Você deve implementar lógica de backoff no seu cliente para lidar com esses erros.

A API suporta chamada de funções e modo JSON?

Sim, a API suporta chamada de funções (tools, tool_choice) e modo JSON (response_format json_object). Você também pode especificar parâmetros como temperature, top_p, stop, seed, presence_penalty e frequency_penalty para controlar a saída.

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