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