nsfwllms.comDocumentação
LLM NSFW: Início rápido da API LLM sem censura
Comece com nossa API LLM sem censura em minutos. Este guia cobre autenticação, conclusões de chat, streaming e chamada de funções usando clientes padrão compatíveis com OpenAI.
- por 1M tokens de entrada
- $0.25
- Tokens de saída / 1M
- $1.00
- janela de contexto de tokens
- 100,000
- crédito de teste grátis
- $0.50
- requisições por minuto
- 300
URL base e autenticação
Nossa API segue o padrão OpenAI, tornando a integração direta. Use a URL base https://api.nsfwllms.com/v1 para todas as requisições. A autenticação é feita via token Bearer no cabeçalho Authorization. Você pode gerar sua chave na página Obter chave de API usando apenas e-mail e senha. Não é necessário número de telefone ou cartão de crédito para começar com o crédito de teste grátis.
Primeira requisição
Envie uma requisição padrão de conclusão de chat para testar a conectividade. O identificador do modelo é uncensored. Esta requisição demonstra o fluxo básico text-in, text-out sem parâmetros especiais.
curl https://api.nsfwllms.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."}]
}'
Isso retorna um objeto de resposta padrão contendo o texto gerado. Se você receber um 401, verifique sua chave de API. Um 402 indica que o saldo de crédito pré-pago é insuficiente.
Integração com SDK Python
Use o pacote Python oficial openai para interagir com o endpoint. Defina a URL base para apontar para nossos servidores e forneça sua chave de API. Isso permite que você aproveite padrões de SDK familiares para suas aplicações de LLM sem censura.
from openai import OpenAI
client = OpenAI(base_url="https://api.nsfwllms.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)
O cliente lida com serialização e lógica de retry automaticamente. Você pode passar model="uncensored" para garantir que está acessando o modelo abliterated correto.
Uso do SDK Node.js
Para projetos JavaScript ou TypeScript, inicialize o cliente OpenAI com a URL base personalizada. Esta abordagem funciona com qualquer biblioteca de cliente compatível com OpenAI que suporte endpoints personalizados.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.nsfwllms.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);
Certifique-se de estar usando uma versão recente do SDK que suporte a configuração baseUrl. Isso garante compatibilidade com nossos recursos de streaming e tool calling.
Respostas em streaming (SSE)
Ative o streaming definindo stream: true em sua requisição. A API retorna Server-Sent Events (SSE) que você pode processar incrementalmente. Isso reduz a latência percebida para interfaces de chat.
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)
Cada chunk contém deltas de texto parciais. Concatene esses deltas para reconstruir a resposta completa. O streaming funciona de forma idêntica ao protocolo padrão OpenAI, então os parsers de stream existentes devem funcionar sem modificações.
Limites de taxa e restrições
Cada chave de API é limitada a 300 requisições por minuto. O tamanho máximo do corpo da requisição é 8 MB. A janela de contexto suporta até 100.000 tokens no total para prompt e conclusão combinados. Se você exceder o limite de requisições, receberá um erro 429. Você pode regenerar sua chave de API a qualquer momento, o que revoga imediatamente a chave anterior.
Recursos e limites
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 |
| Autenticação | Authorization: Bearer YOUR_KEY |
| ID do modelo | uncensored |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.nsfwllms.com/v1 |
| Parâmetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Janela de contexto | 100.000 tokens (entrada + saída) |
| Streaming | sim — server-sent events; o último bloco traz o uso de tokens |
| Modo JSON | response_format: {"type": "json_object"} |
| Saída máxima | até o restante da janela de 100.000 tokens; max_tokens opcional (sem limite separado) |
| Chamada de funções | sim — tools, tool_choice; resposta com tool_calls, inclusive em streaming; resultados como role: tool |
| Cabeçalhos | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Concorrência | 8 requisições ao mesmo tempo por chave |
| Tamanho | até 8 MB por requisição |
| Limite de taxa | 300 requisições por minuto por chave |
| Cobrança | cré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 |
| Validade | crédito pago não expira, sem assinatura |
| Preço | $0,25 por 1M tokens de entrada · $1,00 por 1M de saída |
| Recarga | USDT (TRC20) ou USDC (Base), qualquer valor inteiro de $10 a $500 |
| Bônus | +5% a partir de $50, +10% a partir de $100 |
| Conteúdo | conteúdo adulto permitido; conteúdo sexual com menores é recusado |
| Login | Google ou e-mail e senha |
| Chaves | uma chave ativa por conta; uma nova substitui a anterior |
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
O que acontece se meu crédito pré-pago acabar?
Você receberá um erro 402 nas requisições subsequentes. Você pode recarregar sua conta a partir de $10 usando crypto (USDT ou USDC). Créditos bônus são adicionados automaticamente em níveis superiores.
O modelo sem censura é o GPT-4?
Não. O ID do modelo é <code>uncensored</code>. É um modelo de pesos abertos ajustado para geração de texto irrestrita, executado em nossos próprios servidores GPU. Não é GPT, Claude ou qualquer outro modelo de fornecedor.
Como lidar com erros de streaming?
Verifique o código de status HTTP do stream de resposta. Se o stream terminar prematuramente ou retornar um objeto de erro, inspecione o campo <code>error</code> para detalhes como limites de requisições ou parâmetros inválidos.