Аутентификация
Аутентификация основана на одном 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 без цензуры для приложений, требующих большого объема и вывода без фильтров.