Базовый URL и аутентификация
Отправляйте запросы на базовый URL https://api.codexapipricing.com/v1 с использованием вашего API-ключа. Этот конечный пункт совместим со стандартными SDK OpenAI, поэтому вам нужно только обновить base URL и предоставить ключ. Аутентификация осуществляется путем передачи заголовка Authorization: Bearer YOUR_API_KEY с каждым запросом. Вы можете сгенерировать ключ сразу, войдя в систему через Google или по электронной почте и паролю. Ключ отображается один раз после создания, поэтому сохраните его в безопасном месте. Ваши промпты не используются для обучения, что обеспечивает конфиденциальность ваших данных.
Эндпоинт Chat Completions
Используйте POST /v1/chat/completions эндпоинт для генерации текста. Это основной интерфейс для отправки запросов и получения ответов. Идентификатор модели всегда uncensored, независимо от версии модели, работающей на наших серверах. Вы можете проверить доступные модели через GET /v1/models. Отправьте историю сообщений в messages
Поддерживаемые параметры и режим JSON
Управляйте генерацией с параметрами, такими как temperature, top_p, и stop. Используйте response_format установлен на {"type": "json_object"} чтобы принудительно получить вывод в формате JSON. Это полезно для извлечения структурированных данных или вызова функций. Вы также можете установить max_tokens для ограничения длины вывода, по умолчанию 2 048, если не указано иное. Окно контекста поддерживает до 100 000 токенов для промпта и завершения вместе. Передайте seed для детерминированных результатов или presence_penalty и frequency_penalty для настройки повторения. Эти параметры позволяют тонко настраивать поведение модели без сложной конфигурации. JSON режим обеспечивает строгое форматирование для надежного разбора в вашем приложении.
Потоковые ответы через SSE
Включите потоковую передачу, установив stream: true в вашем запросе. API возвращает Server-Sent Events (SSE) по мере генерации токенов. Это снижает воспринимаемую задержку для длинных ответов. Детали использования токенов появляются в последнем чанке потока. Вы можете обрабатывать токенты инкрементально, чтобы отображать текст в реальном времени. Эта функция работает со всеми OpenAI-совместимыми SDK. Потоковая передача идеальна для чат-интерфейсов, где пользователи ожидают немедленной обратной связи. Последний чанк содержит общее количество токенов для точности биллинга. Используйте этот метод для graceful обработки больших выводов без ожидания полного ответа.
Лимиты запросов и тела запросов
Каждый API-ключ ограничен 300 запросами в минуту и 8 параллельными запросами. Максимальный размер тела запроса составляет 8 МБ. При превышении этих лимитов вы получаете ошибку 429. Вы можете сгенерировать новые ключи для замены существующих, но в аккаунте активен только один ключ. Ошибки и отказы не учитываются при подсчете лимита частоты запросов. Контекстное окно на 100,000 токенов позволяет хранить обширную историю разговора. Делайте тело запроса лаконичным, чтобы оставаться в пределах лимитов по размеру. Отслеживайте использование, чтобы избежать прерываний в часы пиковой нагрузки. Эти лимиты обеспечивают справедливое использование для всех клиентов с предоплатой.
Обработка ошибок и устранение неполадок
Обрабатывайте ошибки, проверяя код состояния HTTP. Ошибка 401 указывает на недействительный или отсутствующий API-ключ. Ошибка 402 означает, что ваши предоплаченные средства исчерпаны. Ошибка 429 сигнализирует о превышении лимитов частоты запросов. Используйте error field в ответе, чтобы получить детали. Ошибки, такие как двойные списания, исправляются через страницу Поддержки. Кредит никогда не истекает, поэтому вы можете пополнить его позже. Отказы за нарушение политики контента бесплатны. Эта предсказуемая структура ошибок помогает быстро отлаживать проблемы интеграции, не гадая причину.
cURL
curl https://api.codexapipricing.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List the hourly rates for the large model."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.codexapipricing.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.codexapipricing.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 = 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)