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