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