RU ▾
Получить API-ключ

API Character AI: Переключите клиент за три строки

Подключите вашего чатбота к LLM без цензуры за минуты с помощью нашей API, совместимой с OpenAI. Это руководство поможет вам настроить API, выполнить базовые запросы и настроить потоковую передачу без лишних сложностей.

https://api.characteraiapi.com/v1

Предварительные требования

Перед написанием кода вам нужна активная учетная запись на characteraiapi.com. Перейдите на страницу Получить API-ключ и зарегистрируйтесь, указав только адрес электронной почты и пароль. Для начала не требуется кредитная карта, а новые учетные записи получают $0.50 в качестве пробного баланса, действительного в течение 7 дней. После регистрации ваш API-ключ отображается сразу. Храните этот ключ в безопасности, так как он используется для аутентификации всех запросов к эндпоинту. Вам также потребуется установленная поддерживаемая языковая SDK в вашей среде разработки. Эндпоинт character ai api принимает стандартные параметры OpenAI, поэтому любой существующий клиент, совместимый с OpenAI, может работать с минимальными изменениями.

Установка SDK

Для проектов на Python установите официальный пакет OpenAI с помощью pip. Эта библиотека автоматически обрабатывает сериализацию JSON и HTTP-запросы. Для приложений на Node.js используйте npm для добавления пакета openai. Обе библиотеки поддерживают функции потоковой передачи и вызова инструментов, описанные далее в этом руководстве. Убедитесь, что версия вашей SDK достаточно новая для поддержки событий, отправляемых сервером (SSE), для потоковой передачи токенов в реальном времени. Если вы используете пользовательский HTTP-клиент вместо SDK, вам необходимо вручную обрабатывать полезную нагрузку JSON и парсить поток SSE в соответствии со спецификацией API OpenAI.

Аутентификация

Каждый запрос к API должен включать ваш API-ключ в заголовке Authorization. Используйте формат Bearer YOUR_API_KEY. Базовый URL для всех запросов — https://api.characteraiapi.com/v1. При использовании SDK установите конфигурацию base_url на это значение и укажите ключ через параметр api_key. Если вы потеряете ключ или подозреваете утечку, вы можете сгенерировать новый из панели управления; старый ключ будет немедленно отозван. На одну учетную запись разрешен только один активный ключ. Убедитесь, что вы используете правильный базовый URL, так как запросы к стандартному эндпоинту OpenAI завершатся ошибкой 404 или 401.

Базовое завершение чата

Основной функционал доступен через эндпоинт /v1/chat/completions. Отправьте POST-запрос с именем модели uncensored и историей сообщений. Модель возвращает текстовый вывод без применения стандартных фильтров контента к законному взрослому контенту. Ниже приведен пример curl для простого запроса на генерацию текста.

curl https://api.characteraiapi.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."}]
  }'

Этот запрос возвращает объект завершения, содержащий сгенерированный текст. Вы можете настроить параметры, такие как temperature для управления случайностью или max_tokens для ограничения длины вывода. Модель поддерживает контекстное окно на 100 000 токенов, что позволяет обрабатывать значительную историю разговора или длинные документы в одном запросе.

Потоковые ответы

Для улучшения пользовательского опыта включите потоковую передачу, установив stream: true в вашем запросе. API возвращает события, отправляемые сервером (SSE), содержащие частичные фрагменты токенов по мере их генерации. Это снижает воспринимаемую задержку для приложений чат-ботов. Используйте параметр stream_options, если вы хотите получать финальную статистику использования в последнем событии. Потоковая передача особенно полезна для ролевой игры в реальном времени, где отображение текста по словам повышает погружение. Убедитесь, что код вашего клиента правильно обрабатывает формат 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 запросов в минуту на ключ. Если вы превысите этот лимит, вы получите ошибку 429 Too Many Requests. Тела запросов ограничены 8 МБ. Распространенные ошибки включают 401 за недействительный или отсутствующий ключ и 402, если ваш предоплаченный баланс исчерпан. Вы можете пополнить баланс от $10 с помощью криптовалюты (USDT или USDC), при этом за большие депозиты предоставляются бонусные кредиты. В отличие от некоторых поставщиков, здесь нет скрытых комиссий или подписок; вы платите только за потребленные токены. Прозрачное ценообразование: $0.25 за 1 млн входных токенов и $1.00 за 1 млн выходных токенов. Убедитесь, что ваша логика обработки ошибок повторяет запросы при получении 429 с экспоненциальной задержкой.

from openai import OpenAI

client = OpenAI(base_url="https://api.characteraiapi.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

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.characteraiapi.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);

Характеристики API

Все реальные лимиты и возможности API в одном месте — сверьте их до пополнения.

ПараметрЗначение
Формат APIсовместим с OpenAI: любой OpenAI SDK работает — замените base URL и ключ
ЭндпоинтыPOST /v1/chat/completions · GET /v1/models
АвторизацияAuthorization: Bearer YOUR_KEY
Base URLhttps://api.characteraiapi.com/v1
ID моделиuncensored
JSON-режимresponse_format: {"type": "json_object"}
Максимум ответадо остатка окна в 100 000 токенов; max_tokens необязателен (отдельного лимита нет)
Параметрыtemperature, top_p, stop, seed, presence_penalty, frequency_penalty
Контекстное окно100 000 токенов (вход и ответ вместе)
Потоковая передачада — 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 запросов в минуту на ключ
Срок действияоплаченный баланс не сгорает, без подписки
Бонус+5% от $50, +10% от $100
ПополнениеUSDT (TRC20) или USDC (Base), любая целая сумма от $10 до $500
Цена$0,25 за 1 млн входных токенов · $1,00 за 1 млн выходных
Оплатапредоплаченный баланс по фактическому расходу; ошибки и отказы бесплатны
Пробный баланс$0,50 на 7 дней, без карты · Пробный ключ: 2 параллельных запроса, 60 в минуту; полные лимиты (8 и 300) после первого пополнения
Ключиодин активный ключ на аккаунт; новый заменяет старый
ВходGoogle или e-mail и пароль
Контентконтент для взрослых разрешён; сексуальный контент с несовершеннолетними запрещён

Коды ошибок

Ошибки приходят в JSON с постоянным type; неудачные и отклонённые запросы не оплачиваются.

КодТипЧто значит
400bad_requestневерный JSON, пустые сообщения, неверный параметр или превышено окно контекста
401missing_key · invalid_key · key_revokedнет ключа, ключ неверный или заменён новым
402no_creditбаланс пуст — пополните, работа продолжится сразу
403content_blockedсексуальный контент с несовершеннолетними — отказ, без оплаты
404not_foundнеизвестный эндпоинт
413request_too_largeтело запроса больше 8 МБ
429rate_limited · concurrencyбольше 300/мин или 8 параллельно — подождите и повторите
503upstream_busyмодель занята — повторите через несколько секунд

Вопросы и ответы

Это официальный API Character.ai?

Нет, это независимый сервис, размещенный на characteraiapi.com. Он использует собственную модель без цензуры и не связан с Character.AI или другими крупными поставщиками LLM.

Поддерживает ли модель генерацию изображений или аудио?

Нет. API работает только с текстом. Он принимает текстовый ввод и возвращает текстовый вывод. Не поддерживает эмбеддинги, дообучение или мультимодальные входные/выходные данные.

Как определяется «без цензуры»?

Модель не отказывается от законных тем для взрослых, художественных или спорных тем. Она блокирует только сексуальный контент с участием несовершеннолетних, что является жестким ограничением для всех запросов.

Ваш ключ — в одной форме от вас

Создайте учетную запись, скопируйте ключ, измените базовый URL. Вот и вся настройка.

Получить API-ключ