AI для початківцівПосібник
API, сумісний з OpenAI: що таке base_url і як перемикатися
API, сумісний з OpenAI, приймає ті самі запити, що й OpenAI. Змініть base_url, ключ та ідентифікатор моделі, і ваш код надішле свій перший запит до CheapTokens.

На цій сторінці
API, сумісний з OpenAI — це API, який приймає запити в тому самому форматі, що й Chat Completions API від OpenAI, і відповідає в тому самому форматі. Щоб перенести застосунок до іншого провайдера, зазвичай змінюють три значення: base_url (куди надсилаються запити), ключ API та ідентифікатор моделі. Решта вашого коду, зокрема список повідомлень і спосіб читання відповіді, залишається без змін.
Цей посібник пояснює ідею простими словами й завершується робочим першим запитом до CheapTokens мовами Python і curl. Факти про CheapTokens перевірено за його документацією 22 жовтня 2026 року.
Що означає "сумісний з OpenAI"?#
API — це набір правил для спілкування зі сервісом через інтернет (якщо це слово нове, почніть з як працює ваш перший запит до API). Формат чату від OpenAI став загальним стандартом: багато провайдерів і інструментів приймають те саме тіло запиту й повертають ту саму структуру відповіді. Такий API називається сумісним з OpenAI.
На практиці це означає, що три речі однакові в будь-якого сумісного провайдера:
- Запит: JSON-тіло з полем
modelі спискомmessages, де кожне повідомлення маєrole(system,userабоassistant) іcontent. - Шлях ендпоінта:
/, доданий після базової URL-адреси.chat/ completions - Відповідь: JSON-об'єкт, де згенерований текст міститься в
choices[0]..message. content
Оскільки формат спільний, офіційні SDK і багато застосунків можуть працювати з будь-яким сумісним провайдером. Їм потрібно знати лише, куди надсилати запит.
Що таке base_url?#
base_url — це адреса, з якої починається кожен запит. SDK будує повну адресу, додаючи до неї шлях виклику.
Прокрутіть таблицю праворуч →
| Частина | Приклад |
|---|---|
base_url |
https:/ |
| Шлях, доданий SDK | / |
| Повна адреса запиту | https:/ |
Тож коли ви задаєте інший base_url, той самий код надсилає той самий тип запиту на інший сервер. Базова URL-адреса CheapTokens — https:/. Його API сумісний з OpenAI Chat Completions і з Anthropic Messages, а один передплачений баланс покриває всі моделі.
Три значення, які ви змінюєте#
Прокрутіть таблицю праворуч →
| Значення | Що це | Звідки береться |
|---|---|---|
base_url |
Адреса API | https:/ |
| Ключ API | Ваш секретний пароль для API | Ваш обліковий запис CheapTokens. Див. що таке ключ API і як безпечно його зберігати |
| Ідентифікатор моделі | Точна назва моделі в полі model |
Документація CheapTokens |
Ідентифікатор моделі заслуговує на увагу. Різні провайдери дають одній і тій самій моделі різні ідентифікатори, тому ідентифікатор з іншого сервісу тут не працюватиме. Беріть ідентифікатори з документації CheapTokens. Ідентифікатори, доступні зараз:
Прокрутіть таблицю праворуч →
| Модель | Ідентифікатор моделі | Контекст | Максимальний вивід на відповідь |
|---|---|---|---|
| GLM-5.3-Flash | zai- |
390K | 8 192 токени |
| DeepSeek-V4-Flash | deepseek- |
380K | 32 768 токенів |
| MiniMax-M2.7 | MiniMaxAI/ |
180K | 8 192 токени |
DeepSeek-V4-Flash повертає до 32 768 токенів на відповідь і має контекст 380K; GLM-5.3-Flash має контекст 390K; MiniMax-M2.7 має контекст 180K. Усі три оплачуються з одного балансу, тож перемикання між ними означає зміну лише ідентифікатора моделі.
Перший запит мовою Python#
Встановіть пакет openai, потім збережіть свій ключ у змінній середовища, а не записуйте його в код:
pip install openai
export CHEAPTOKENS_API_KEY="YOUR_CHEAPTOKENS_KEY"Тепер код. Єдина відмінність від стандартного прикладу OpenAI — аргумент base_url, ключ та ідентифікатор моделі:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.cheaptokens.dev/v1", # 1. where requests go
api_key=os.environ["CHEAPTOKENS_API_KEY"], # 2. your CheapTokens key
)
response = client.chat.completions.create(
model="MiniMaxAI/MiniMax-M2.7", # 3. model id from the docs
messages=[
{"role": "system", "content": "You answer briefly."},
{"role": "user", "content": "Explain base_url in one sentence."},
],
)
print(response.choices[0].message.content)Ключ у прикладі є заповнювачем: замініть YOUR_ своїм власним ключем і ніколи не комітьте справжній ключ до репозиторію.
Якщо застосунок, який у вас уже є, читає налаштування з конфігураційного файлу або змінних середовища, вам взагалі не потрібно редагувати його код. Знайдіть поля з назвами base URL, API base або endpoint і заповніть там ті самі три значення.
Той самий запит за допомогою curl#
curl показує, що SDK робить за лаштунками: базову URL-адресу плюс шлях, ключ у заголовку Authorization і JSON-тіло.
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMaxAI/MiniMax-M2.7",
"messages": [
{"role": "user", "content": "Explain base_url in one sentence."}
]
}'Що ви маєте побачити#
Коли все налаштовано правильно, скрипт Python виводить коротку текстову відповідь, а curl виводить JSON-об'єкт. Шукайте список choices: текст відповіді міститься в choices[0].. Якщо ви це бачите, ваш перший запит до CheapTokens спрацював, і ви можете переходити до свого справжнього застосунку.
Скільки це коштує?#
Оплата за токенами, які рахуються окремо для вхідних і вихідних даних (див. вхідні vs вихідні токени). Наприклад, MiniMax-M2.7 зараз коштує $0.05 за 1M вхідних токенів і $0.15 за 1M вихідних токенів. Таблиця нижче завжди показує актуальні ціни для всіх моделей, без надбавок у пікові години.
| Модель | Контекст | Вхід $/1М | Вихід $/1М | OpenRouter вхід | OpenRouter вихід |
|---|---|---|---|---|---|
| GLM-5.3-Flash reasoning | 390K | $0.02 | $0.04 | $0.0413 | $0.0758 |
| DeepSeek-V4-Flash | 380K | $0.015 | $0.10 | $0.0475 | $0.1568 |
| MiniMax-M2.7 | 180K | $0.05 | $0.15 | $0.30 | $1.20 |
Ціни в USD за 1 млн токенів. Показники OpenRouter наведено для порівняння, вони можуть змінюватися.
Ціни для повного списку моделей також на сторінці цін CheapTokens.
Якщо це не працює#
- Помилка автентифікації (зазвичай 401): ключ відсутній, введений з помилкою або має зайві пробіли. Перевірте, що змінна середовища задана в тому самому терміналі, де ви запускаєте скрипт.
- "Not found" (зазвичай 404): перевірте
base_url. Він має закінчуватися на/v1, і вам не слід додавати/самостійно, коли ви використовуєте SDK, інакше шлях подвоїться.chat/ completions - Невідома модель: скопіюйте ідентифікатор моделі точно з таблиці вище або з документації, включно з великими літерами та частиною перед слешем.
- Немає з'єднання або тайм-аут: див. поширені помилки з'єднання та як їх виправити.
- Відповідь обірвана посеред речення: досягнуто ліміту
max_tokens, про це йдеться в чому відповідь AI зупиняється посеред речення.
Наступні кроки#
Коли перший запит працює, ви можете додати стрімінг мовою Python, підставити ті самі три значення у свій редактор або агент, або прочитати як читати назви моделей AI. Деталі налаштування та повний список моделей є в документації CheapTokens.



