Unrestricted: Быстрый старт: Интеграция LLM без цензуры
Начните работу с API без ограничений за несколько минут. В этом руководстве описаны базовый URL, аутентификация и специфические эндпоинты для генерации текста без фильтров контента.
Базовый URL и аутентификация
Чтобы начать работу с моделью без цензуры, вам нужен API-ключ из панели управления. Базовый URL для всех запросов — https://api.unrestricted.cc/v1. Этот URL совместим с официальными SDK OpenAI и любым клиентом, поддерживающим эндпоинты, совместимые с OpenAI. Просто установите переменную base_url в конфигурации клиента на это значение и укажите ваш ключ в заголовке Authorization в виде Bearer-токена. API обслуживает одну модель с идентификатором uncensored — это модель с открытыми весами, настроенная на ответы без стандартных отказов по контенту для законного использования взрослыми.
Первый запрос
Базовый запрос отправляет промпт в эндпоинт чат-завершений. Модель возвращает текст напрямую, избегая фильтров отказов, характерных для потребительских обёрток. Это делает её идеальным LLM для кода без цензуры для генерации фрагментов кода или технических объяснений без лишнего разговорного наполнения. Отправьте POST-запрос на /v1/chat/completions с вашими системными и пользовательскими сообщениями. Ответ будет содержать сгенерированный текст в массиве choices.
curl https://api.unrestricted.cc/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."}]
}'
Интеграция Python SDK
Использование официального Python SDK упрощает интеграцию. Вам нужно лишь указать клиенту наш базовый URL. Этот подход работает как для простой генерации текста, так и для более сложных структур промптов. SDK автоматически выполняет сериализацию JSON, поэтому вы можете сосредоточиться на логике вашего приложения. Помните, что идентификатор модели всегда uncensored для этого сервиса. Этот онлайн-эндпоинт LLM без цензуры предназначен для разработчиков, которым нужен надёжный программный доступ к выводам текста без фильтров.
from openai import OpenAI
client = OpenAI(base_url="https://api.unrestricted.cc/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)
Интеграция Node SDK
Для сред JavaScript и TypeScript SDK OpenAI для Node.js работает с минимальной настройкой. Инициализируйте клиент, указав ваш API-ключ и правильный базовый URL. Затем вы можете вызывать метод завершения чата так же, как и в других OpenAI-совместимых сервисах. Эта гибкость позволяет подключить API к существующим кодовым базам без переписывания логики HTTP-клиента. Структура ответа соответствует стандартному формату OpenAI, что обеспечивает лёгкий разбор сгенерированного контента.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.unrestricted.cc/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);
Потоковые ответы
Вы можете включить потоковую передачу, установив stream: true в запросе. API возвращает данные как Server-Sent Events (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)
Лимиты, ошибки и контекст
Контекстное окно поддерживает 100 000 токенов в сумме, с максимальным выводом 32 000 токенов на запрос. Если вы не укажете max_tokens, лимит по умолчанию составляет 2 048 токенов. Лимиты запросов установлены на уровне 300 запросов в минуту и 8 параллельных запросов на ключ. Распространённые ошибки: 401 для недействительных ключей, 402 для недостаточного баланса и 429 для превышения лимитов. Ошибки не расходуют ваш предоплаченный баланс. Тело запроса ограничено 8 МБ. Эти лимиты обеспечивают стабильную производительность при высоком объёме использования API.
Технические характеристики
Все реальные лимиты и возможности API в одном месте — сверьте их до пополнения.
| Параметр | Значение |
|---|---|
| Формат API | совместим с OpenAI: любой OpenAI SDK работает — замените base URL и ключ |
| Эндпоинты | POST /v1/chat/completions · GET /v1/models |
| ID модели | uncensored |
| Base URL | https://api.unrestricted.cc/v1 |
| Авторизация | Authorization: Bearer YOUR_KEY |
| JSON-режим | response_format: {"type": "json_object"} |
| Параметры | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Потоковая передача | да — server-sent events, последний фрагмент содержит расход токенов |
| Вызов функций | да — tools, tool_choice; ответ содержит tool_calls, в том числе в потоке; результат — сообщением role: tool |
| Максимум ответа | до остатка окна в 100 000 токенов; max_tokens необязателен (отдельного лимита нет) |
| Контекстное окно | 100 000 токенов (вход и ответ вместе) |
| Лимит запросов | 300 запросов в минуту на ключ |
| Заголовки ответа | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Размер запроса | до 8 МБ |
| Параллельные запросы | до 8 одновременно на ключ |
| Пополнение | USDT (TRC20) или USDC (Base), любая целая сумма от $10 до $500 |
| Оплата | предоплаченный баланс по фактическому расходу; ошибки и отказы бесплатны |
| Цена | $0,25 за 1 млн входных токенов · $1,00 за 1 млн выходных |
| Пробный баланс | $0,50 на 7 дней, без карты · Пробный ключ: 2 параллельных запроса, 60 в минуту; полные лимиты (8 и 300) после первого пополнения |
| Срок действия | оплаченный баланс не сгорает, без подписки |
| Бонус | +5% от $50, +10% от $100 |
| Контент | контент для взрослых разрешён; сексуальный контент с несовершеннолетними запрещён |
| Ключи | один активный ключ на аккаунт; новый заменяет старый |
| Вход | Google или e-mail и пароль |
Коды ошибок
Ошибки приходят в JSON с постоянным type; неудачные и отклонённые запросы не оплачиваются.
| Код | Тип | Что значит |
|---|---|---|
400 | bad_request | неверный JSON, пустые сообщения, неверный параметр или превышено окно контекста |
401 | missing_key · invalid_key · key_revoked | нет ключа, ключ неверный или заменён новым |
402 | no_credit | баланс пуст — пополните, работа продолжится сразу |
403 | content_blocked | сексуальный контент с несовершеннолетними — отказ, без оплаты |
404 | not_found | неизвестный эндпоинт |
413 | request_too_large | тело запроса больше 8 МБ |
429 | rate_limited · concurrency | больше 300/мин или 8 параллельно — подождите и повторите |
503 | upstream_busy | модель занята — повторите через несколько секунд |
Вопросы и ответы
Это то же самое, что стандартный API OpenAI?
Он использует ту же структуру JSON и совместим с SDK, но обслуживает другую модель. Модель без цензуры и не применяет стандартные отказы по контенту, что подходит для неограниченных сценариев использования.
Как обрабатывать ошибки в коде?
Проверьте код состояния HTTP. Ошибка 401 означает, что ваш API-ключ недействителен. Ошибка 402 указывает на необходимость пополнить баланс. Ошибка 429 означает превышение лимита запросов. Ошибки не списывают средства с баланса.
Можно ли использовать это для задач по программированию?
Да. Модель эффективна как нецензурируемая LLM для кода, генерируя код и технические объяснения без фильтрации по общим политикам контента. Поддерживает вызов функций и JSON-режим для структурированного вывода.
Ваш ключ — в одной форме от вас
Создайте аккаунт, скопируйте ключ, измените базовый URL. Вот и вся настройка.