Базова URL-адреса та аутентифікація
Надсилайте запити до базової URL-адреси https://api.codexapipricing.com/v1 за допомогою вашого API-ключа. Цей ендпоінт сумісний зі стандартними SDK OpenAI, тому вам потрібно лише оновити базовий 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. Потокова передача ідеальна для чат-інтерфейсів, де користувачі очікують миттєвого зворотного зв'язку. Останній чанк містить загальну кількість токенів для точності билінгу. Використовуйте цей метод, щоб ефективно обробляти великі виводи, не чекаючи повної відповіді.
Ліміти частоти запитів та тіла запитів
Кожний 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)