Назад до блогу

AI для початківцівПосібник

API, сумісний з OpenAI: що таке base_url і як перемикатися

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

Автор: CheapTokens TeamОпубліковано Оновлено 4 хв читання

Три значення, які треба змінити під час переходу на API, сумісний з OpenAI: base_url, ключ API та ідентифікатор моделі
На цій сторінці
  1. Що означає "сумісний з OpenAI"?
  2. Що таке base_url?
  3. Три значення, які ви змінюєте
  4. Перший запит мовою Python
  5. Той самий запит за допомогою curl
  6. Що ви маєте побачити
  7. Скільки це коштує?
  8. Якщо це не працює
  9. Наступні кроки

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.
  • Шлях ендпоінта: /chat/completions, доданий після базової URL-адреси.
  • Відповідь: JSON-об'єкт, де згенерований текст міститься в choices[0].message.content.

Оскільки формат спільний, офіційні SDK і багато застосунків можуть працювати з будь-яким сумісним провайдером. Їм потрібно знати лише, куди надсилати запит.

Що таке base_url?#

base_url — це адреса, з якої починається кожен запит. SDK будує повну адресу, додаючи до неї шлях виклику.

Частина Приклад
base_url https://api.cheaptokens.dev/v1
Шлях, доданий SDK /chat/completions
Повна адреса запиту https://api.cheaptokens.dev/v1/chat/completions

Тож коли ви задаєте інший base_url, той самий код надсилає той самий тип запиту на інший сервер. Базова URL-адреса CheapTokens — https://api.cheaptokens.dev/v1. Його API сумісний з OpenAI Chat Completions і з Anthropic Messages, а один передплачений баланс покриває всі моделі.

Три значення, які ви змінюєте#

Значення Що це Звідки береться
base_url Адреса API https://api.cheaptokens.dev/v1
Ключ API Ваш секретний пароль для API Ваш обліковий запис CheapTokens. Див. що таке ключ API і як безпечно його зберігати
Ідентифікатор моделі Точна назва моделі в полі model Документація CheapTokens

Ідентифікатор моделі заслуговує на увагу. Різні провайдери дають одній і тій самій моделі різні ідентифікатори, тому ідентифікатор з іншого сервісу тут не працюватиме. Беріть ідентифікатори з документації CheapTokens. Ідентифікатори, доступні зараз:

Модель Ідентифікатор моделі Контекст Максимальний вивід на відповідь
GLM-5.3-Flash zai-org/GLM-5.3-Flash 390K 8 192 токени
DeepSeek-V4-Flash deepseek-ai/DeepSeek-V4-Flash-0731 380K 32 768 токенів
MiniMax-M2.7 MiniMaxAI/MiniMax-M2.7 180K 8 192 токени

DeepSeek-V4-Flash повертає до 32 768 токенів на відповідь і має контекст 380K; GLM-5.3-Flash має контекст 390K; MiniMax-M2.7 має контекст 180K. Усі три оплачуються з одного балансу, тож перемикання між ними означає зміну лише ідентифікатора моделі.

Перший запит мовою Python#

Встановіть пакет openai, потім збережіть свій ключ у змінній середовища, а не записуйте його в код:

bash
pip install openai
export CHEAPTOKENS_API_KEY="YOUR_CHEAPTOKENS_KEY"

Тепер код. Єдина відмінність від стандартного прикладу OpenAI — аргумент base_url, ключ та ідентифікатор моделі:

python
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_CHEAPTOKENS_KEY своїм власним ключем і ніколи не комітьте справжній ключ до репозиторію.

Якщо застосунок, який у вас уже є, читає налаштування з конфігураційного файлу або змінних середовища, вам взагалі не потрібно редагувати його код. Знайдіть поля з назвами base URL, API base або endpoint і заповніть там ті самі три значення.

Той самий запит за допомогою curl#

curl показує, що SDK робить за лаштунками: базову URL-адресу плюс шлях, ключ у заголовку Authorization і JSON-тіло.

bash
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].message.content. Якщо ви це бачите, ваш перший запит до 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, і вам не слід додавати /chat/completions самостійно, коли ви використовуєте SDK, інакше шлях подвоїться.
  • Невідома модель: скопіюйте ідентифікатор моделі точно з таблиці вище або з документації, включно з великими літерами та частиною перед слешем.
  • Немає з'єднання або тайм-аут: див. поширені помилки з'єднання та як їх виправити.
  • Відповідь обірвана посеред речення: досягнуто ліміту max_tokens, про це йдеться в чому відповідь AI зупиняється посеред речення.

Наступні кроки#

Коли перший запит працює, ви можете додати стрімінг мовою Python, підставити ті самі три значення у свій редактор або агент, або прочитати як читати назви моделей AI. Деталі налаштування та повний список моделей є в документації CheapTokens.