Базовый URL и аутентификация
API чат-бота находится на https://api.chatterbotapi.com/v1. Вы аутентифицируетесь с помощью токена Bearer в Authorization header. Ваш ключ появляется сразу после регистрации через Google или email.
- Базовый URL:
https://api.chatterbotapi.com/v1 - Заголовок:
Authorization: Bearer YOUR_API_KEY
Один ключ на аккаунт мгновенно заменяет старый. Храните его в безопасности.
Первый запрос
Отправьте POST-запрос на /v1/chat/completions с моделью uncensored. API возвращает текст, сгенерированный без стандартных отказов для законного взрослого контента.
Минимальный пример cURL:
curl https://api.chatterbotapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "What is the capital city of France"}]
}'Проверьте, включает ли ответ сгенерированный текст в choices[0].message.content.
Интеграция Python SDK
Используйте официальную библиотеку OpenAI для Python. Укажите базовый URL и передайте свой ключ. Клиент автоматически выполняет сериализацию JSON.
from openai import OpenAI
client = OpenAI(base_url="https://api.chatterbotapi.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.
Настройка SDK Node.js
Инициализируйте пакет npm OpenAI, указав пользовательский базовый URL. Это обеспечивает совместимость с существующими клиентами OpenAI.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.chatterbotapi.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 ведет себя как любой стандартный эндпоинт chat-completions.
Потоковые ответы
Включите потоковую передачу, установив stream: true. API отправляет Server-Sent Events. Данные об использовании токенов появляются только в последнем чанке.
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)Обрабатывайте каждый фрагмент по мере поступления. Это снижает воспринимаемую задержку для длинных выводов объемом до 16 000 токенов.
Лимиты и ошибки
Ожидайте ошибку 401, если ключ недействителен. Ошибка 402 означает, что ваш предоплаченный кредит исчерпан. Ошибки и отказы не потребляют токены. Вы ограничены 300 запросами в минуту. Размер контекстного окна составляет 100 000 токенов в сумме. Тела запросов должны оставаться менее 8 МБ.