RU ▾
Получить API-ключ

NSFW от OpenRouter: Быстрый старт API для нецензурной LLM

Начните разработку с нашим выделенным API для нецензурных LLM за считанные минуты. Используйте стандартные эндпоинты, совместимые с OpenAI, для отправки текста и получения ответов без фильтров без переключения моделей.

Аутентификация

Аутентификация основана на одном API-ключе, передаваемом в заголовке Authorization. Этот ключ генерируется сразу после регистрации по электронной почте и паролю на странице Получить API-ключ. Вы можете перегенерировать ключ в любое время, что мгновенно аннулирует старый. Для начального пробного периода не требуется кредитная карта, а промпты не используются для обучения ваших данных. Храните ключ в безопасности, так как он обеспечивает прямой доступ к вашему предоплаченному балансу.

Эндпоинт чат-завершений

Отправляйте запросы по базовому URL https://api.nsfwllmrouter.com/v1 с помощью стандартного эндпоинта POST /v1/chat/completions. Это текстовый интерфейс; мы не поддерживаем эмбеддинги, изображения, аудио или генерацию видео. Укажите модель как uncensored, чтобы убедиться, что вы используете нашу выделенную модель с открытыми весами, оптимизированную для взрослого контента. Модель работает на наших собственных GPU-серверах и не отказывается от законных тем для взрослых, вымышленных или спорных вопросов. Это не GPT, Claude или какая-либо другая модель вендора.

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

Тело запроса не должно превышать 8 МБ. Вы можете определять системные, пользовательские и сообщения ассистента так же, как и в любом клиенте, совместимом с OpenAI. Модель вернет текстовый вывод непосредственно в потоке ответа.

Python SDK

Используйте официальную библиотеку OpenAI для Python для быстрой интеграции. Укажите клиенту наш базовый URL и предоставьте API-ключ. Этот подход работает с любым SDK, совместимым с OpenAI, позволяя изменить базовый URL без изменения логики приложения. Идентификатор модели uncensored гарантирует, что вы взаимодействуете с нашей конкретной нецензурной LLM.

from openai import OpenAI

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

Помните, что это выделенный API без цензуры, поэтому вам не нужно управлять сложной маршрутизацией или выбирать между несколькими моделями. Система обрабатывает инференс на нашей инфраструктуре. Если вам нужна маршрутизация между моделями, вам придется реализовать это самостоятельно, но здесь выбор фиксирован нашей единственной оптимизированной моделью.

Node SDK

В средах Node.js инициализируйте клиент OpenAI с пользовательским базовым URL и вашим API-ключом. Это позволяет использовать стандартные шаблоны JavaScript/TypeScript для создания AI-приложений. Клиент будет взаимодействовать с нашими эндпоинтами точно так, как ожидается спецификацией OpenAI.

import OpenAI from "openai";

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

Убедитесь, что ваша среда поддерживает необходимые библиотеки fetch или http. Объект ответа будет содержать стандартный массив choices с сгенерированным текстом. Этот метод идеален для серверного рендеринга или API-бэкендов, где требуется надежная генерация текста без фильтров.

Потоковые ответы

Включите потоковую передачу, установив stream: true в запросе. API возвращает Server-Sent Events (SSE), содержащие частичные фрагменты ответа. Это полезно для интерфейсов реального времени, где вы хотите отображать текст по мере его генерации. Модель поддерживает стандартные протоколы потоковой передачи, поэтому вы можете использовать существующие парсеры SSE.

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)

Каждый чанк содержит приращение текста. Агрегируйте эти чанки в вашем приложении, чтобы сформировать полный ответ. Потоковая передача не влияет на тарификацию токенов; вы оплачиваете общее количество обработанных входных и выходных токенов. Эта функция поддерживается на эндпоинте chat/completions.

Лимиты запросов и ограничения

Каждый API-ключ ограничен 300 запросами в минуту. Если вы превысите этот лимит, вы получите ошибку лимита запросов 429. Максимальный размер тела запроса составляет 8 МБ. Если ваш ключ недействителен, вы получите ошибку 401. Если у вас нет предоплаченного баланса, вы получите ошибку 402. Контекстное окно составляет 100 000 токенов, включая как промпт, так и completion. Гарантий SLA нет, мы не предлагаем локальное развертывание или маршрутизацию моделей. Используйте этот API без цензуры для приложений, требующих большого объема и вывода без фильтров.

Технические характеристики

Все реальные лимиты и возможности API в одном месте — сверьте их до пополнения.

ПараметрЗначение
Формат APIсовместим с OpenAI: любой OpenAI SDK работает — замените base URL и ключ
ЭндпоинтыPOST /v1/chat/completions · GET /v1/models
Base URLhttps://api.nsfwllmrouter.com/v1
АвторизацияAuthorization: Bearer YOUR_KEY
ID моделиuncensored
Максимум ответадо остатка окна в 100 000 токенов; max_tokens необязателен (отдельного лимита нет)
JSON-режимresponse_format: {"type": "json_object"}
Потоковая передачада — server-sent events, последний фрагмент содержит расход токенов
Параметрыtemperature, top_p, stop, seed, presence_penalty, frequency_penalty
Контекстное окно100 000 токенов (вход и ответ вместе)
Вызов функцийда — tools, tool_choice; ответ содержит tool_calls, в том числе в потоке; результат — сообщением role: tool
Заголовки ответаX-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency
Размер запросадо 8 МБ
Лимит запросов300 запросов в минуту на ключ
Параллельные запросыдо 8 одновременно на ключ
Срок действияоплаченный баланс не сгорает, без подписки
ПополнениеUSDT (TRC20) или USDC (Base), любая целая сумма от $10 до $500
Бонус+5% от $50, +10% от $100
Цена$0,25 за 1 млн входных токенов · $1,00 за 1 млн выходных
Пробный баланс$0,50 на 7 дней, без карты · Пробный ключ: 2 параллельных запроса, 60 в минуту; полные лимиты (8 и 300) после первого пополнения
Оплатапредоплаченный баланс по фактическому расходу; ошибки и отказы бесплатны
ВходGoogle или e-mail и пароль
Ключиодин активный ключ на аккаунт; новый заменяет старый
Контентконтент для взрослых разрешён; сексуальный контент с несовершеннолетними запрещён

Коды ошибок

Ошибки приходят в JSON с постоянным type; неудачные и отклонённые запросы не оплачиваются.

КодТипЧто значит
400bad_requestневерный JSON, пустые сообщения, неверный параметр или превышено окно контекста
401missing_key · invalid_key · key_revokedнет ключа, ключ неверный или заменён новым
402no_creditбаланс пуст — пополните, работа продолжится сразу
403content_blockedсексуальный контент с несовершеннолетними — отказ, без оплаты
404not_foundнеизвестный эндпоинт
413request_too_largeтело запроса больше 8 МБ
429rate_limited · concurrencyбольше 300/мин или 8 параллельно — подождите и повторите
503upstream_busyмодель занята — повторите через несколько секунд

Вопросы и ответы

Вы являетесь перепродавцом OpenRouter?

Нет, мы — независимый сервис, использующий собственную модель без цензуры на собственных GPU-серверах. Мы не являемся официальным партнером или реселлером OpenRouter, хотя наш API совместим с OpenAI. Мы не маршрутизируем запросы к моделям других поставщиков.

Каков размер контекстного окна?

Размер контекстного окна составляет 100 000 токенов, включая входной промпт и выходное завершение. Это позволяет обрабатывать длинные диалоги или большие документы в рамках одного запроса.

Поддерживаете ли вы JSON-режим?

В спецификации JSON-режим не указан как отдельная функция, хотя модель может выводить JSON при правильном промпте. Для гарантий конкретного формата проверьте документацию модели или протестируйте с вашим вариантом использования. Мы сосредоточены на предоставлении возможности генерации текста без цензуры.

Ваш ключ — в одной форме от вас

Создайте аккаунт, скопируйте ключ, измените базовый URL. Вот и вся настройка.

Получить API-ключ