Быстрый старт для разработчиков: API без цензуры
Интегрируйте LLM без цензуры в ваше приложение с помощью стандартного эндпоинта, совместимого с OpenAI. Это руководство охватывает аутентификацию, форматирование запросов, потоковую передачу и использование инструментов для размещенного API.
Базовый URL и аутентификация
Начните с настройки base_url на https://api.abliteratedmodels.cc/v1. Аутентифицируйте каждый запрос, включая ваш API-ключ в заголовок Authorization в виде Bearer-токена. Вы можете создать ключ сразу после входа через Google или по почте на странице Get API key. Ключ отображается один раз; сохраните его в безопасном месте в переменных окружения.
- Заголовок:
Authorization: Bearer YOUR_API_KEY - Дополнительные параметры запроса для аутентификации не требуются.
Убедитесь, что ваша клиентская библиотека поддерживает пользовательские базовые URL. Это позволяет заменить стандартный эндпоинт OpenAI без изменения структуры кода.
Первый запрос
Отправьте POST-запрос на /v1/chat/completions с идентификатором модели uncensored. API принимает стандартные параметры завершения чата. Текст поступает на вход, текст возвращается на выходе. Эндпоинтов для эмбеддингов или генерации изображений нет.
- Модель:
uncensored - Эндпоинт:
POST /v1/chat/completions
Используйте следующую команду curl для проверки подключения:
curl https://api.abliteratedmodels.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 от OpenAI работает напрямую с этим API. Инициализируйте клиент с правильным базовым URL и вашим ключом. Этот подход абстрагирует детали HTTP, сохраняя полный контроль над параметрами, такими как temperature и top_p.
- Используйте
OpenAI(base_url=..., api_key=...) - Вызовите
client.chat.completions.create()
Вот минимальный пример для задачи кодирования LLM:
from openai import OpenAI
client = OpenAI(base_url="https://api.abliteratedmodels.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
Для сред Node.js используйте пакет npm openai. Настройте baseURL на указание на наш сервер. Этот метод идеален для бэкенд-сервисов или серверлесс-функций, где вам нужен программный доступ к модели без цензуры.
- Установите пакет
openai - Установите
baseURLв значениеhttps://api.abliteratedmodels.cc/v1
Пример реализации:
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.abliteratedmodels.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);
Потоковые ответы (SSE)
Включите потоковую передачу, установив stream: true в запросе. API возвращает Server-Sent Events (SSE). Статистика использования токенов включается в последний чанк. Это снижает воспринимаемую задержку для конечных пользователей во время генерации контента.
- Установите
stream: true - Парсите события 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)
Лимиты запросов и контекстное окно
Каждый API-ключ позволяет выполнять 300 запросов в минуту и 8 параллельных запросов. Тело запроса не должно превышать 8 МБ. Контекстное окно составляет 100,000 токенов в сумме. Отдельного ограничения на вывод нет; если max_tokens не задан, ответ может занимать до конца окна. Если вы превысите лимит, ваши запросы будут поставлены в очередь или завершатся ошибкой. Управляйте параллелизмом, чтобы оставаться в пределах порога 8 параллельных запросов. Подробности о балансе см. на странице Тарифы.
Вопросы и ответы
Как модель без цензуры обрабатывает отказы в выдаче?
Модель настроена на ответы без отказов для законного использования взрослыми, включая спорные или вымышленные темы. Она не применяет те же корпоративные фильтры, что и другие поставщики. Однако существует жесткое ограничение, блокирующее сексуальный контент с участием несовершеннолетних, которое всегда срабатывает независимо от промпта.
Что произойдет, если я превышу лимит предоплаченного баланса?
Когда ваш предоплаченный баланс исчерпан, последующие запросы будут завершаться ошибкой. Вы можете пополнить его с помощью USDT (TRC20) или USDC (Base) суммами от $20 до $500. Баланс не сгорает, поэтому вы можете добавлять средства в любое время без абонентской платы.
Поддерживает ли этот API вызов функций?
Да, вы можете использовать параметры tools и tool_choice для вызова функций. Вы также можете принудительно выводить JSON, используя response_format: {"type": "json_object"}. Это полезно для генерации структурированных данных или интеграции с другими системами.
Ваш ключ — всего в одной форме
Создайте аккаунт, скопируйте ключ, измените базовый URL. Это вся настройка.
Технические характеристики
Все реальные лимиты и возможности API в одном месте — сверьте их до пополнения.
| Параметр | Значение |
|---|---|
| Формат API | совместим с OpenAI: любой OpenAI SDK работает — замените base URL и ключ |
| Base URL | https://api.abliteratedmodels.cc/v1 |
| Эндпоинты | POST /v1/chat/completions · GET /v1/models |
| Авторизация | Authorization: Bearer YOUR_KEY |
| ID модели | uncensored |
| JSON-режим | response_format: {"type": "json_object"} |
| Максимум ответа | до остатка окна в 100 000 токенов; max_tokens необязателен (отдельного лимита нет) |
| Контекстное окно | 100 000 токенов (вход и ответ вместе) |
| Параметры | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Вызов функций | да — tools, tool_choice; ответ содержит tool_calls, в том числе в потоке; результат — сообщением role: tool |
| Потоковая передача | да — server-sent events, последний фрагмент содержит расход токенов |
| Размер запроса | до 8 МБ |
| Лимит запросов | 300 запросов в минуту на ключ |
| Параллельные запросы | до 8 одновременно на ключ |
| Заголовки ответа | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Пробный баланс | $0,50 на 7 дней, без карты · Пробный ключ: 2 параллельных запроса, 60 в минуту; полные лимиты (8 и 300) после первого пополнения |
| Пополнение | криптовалюта: USDT в сети TRON или USDC в сети Base, $20–$500, любая целая сумма |
| Цена | $0,15 за 1 млн входных токенов · $0,50 за 1 млн выходных |
| Срок действия | оплаченный баланс не сгорает, без подписки |
| Бонус | +5% от $50, +10% от $100, +15% от $200 |
| Оплата | предоплаченный баланс по фактическому расходу; ошибки и отказы бесплатны |
| Ключи | один активный ключ на аккаунт; новый заменяет старый |
| Вход | Google или e-mail и пароль |
| Контент | контент для взрослых разрешён; сексуальный контент с несовершеннолетними запрещён |
Коды ошибок
Ошибки приходят в JSON с постоянным type; неудачные и отклонённые запросы не оплачиваются.
| HTTP | Тип | Что значит |
|---|---|---|
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 | модель занята — повторите через несколько секунд |