Bumalik sa blog

AI para sa mga baguhanGabay

OpenAI-compatible API: ano ang base_url at paano lumipat

Ang OpenAI-compatible API ay tumatanggap ng parehong mga request tulad ng OpenAI. Baguhin ang base_url, ang key at ang model id, at ang iyong code ay magpapadala ng unang request sa CheapTokens.

Ni CheapTokens TeamNai-publish noong Na-update noong 6 min na pagbabasa

Tatlong value na babaguhin kapag lumilipat sa isang OpenAI-compatible API: base_url, API key at model id
Sa pahinang ito
  1. Ano ang ibig sabihin ng "OpenAI-compatible"?
  2. Ano ang base_url?
  3. Ang tatlong value na binabago mo
  4. Unang request sa Python
  5. Ang parehong request gamit ang curl
  6. Ano ang dapat mong makita
  7. Magkano ito?
  8. Kung hindi ito gumana
  9. Mga susunod na hakbang

Ang OpenAI-compatible API ay isang API na tumatanggap ng mga request sa parehong format ng OpenAI's Chat Completions API at sumasagot sa parehong format. Para ilipat ang isang app sa ibang provider, karaniwang binabago mo ang tatlong value: base_url (kung saan napupunta ang mga request), ang API key, at ang model id. Ang natitirang bahagi ng iyong code, kasama ang message list at ang paraan ng pagbasa ng sagot, ay nananatiling ganun.

Ipinapaliwanag ng gabay na ito ang ideya sa simpleng salita at nagtatapos sa isang gumaganang unang request sa CheapTokens sa Python at curl. Ang mga katotohanan tungkol sa CheapTokens ay sinuri laban sa dokumentasyon nito noong Oktubre 22, 2026.

Ano ang ibig sabihin ng "OpenAI-compatible"?#

Ang API ay isang set ng mga patakaran para makipag-usap sa isang serbisyo sa internet (kung bago ang salita, magsimula sa paano gumagana ang iyong unang API request). Ang chat format ng OpenAI ay naging isang karaniwang pamantayan: maraming provider at tool ang tumatanggap ng parehong request body at nagbabalik ng parehong hugis ng response. Ang ganitong API ay tinatawag na OpenAI-compatible.

Sa pagsasagawa, nangangahulugan ito na tatlong bagay ang pareho sa anumang compatible na provider:

  • Ang request: isang JSON body na may model field at isang messages list, kung saan ang bawat mensahe ay may role (system, user o assistant) at content.
  • Ang endpoint path: /chat/completions, idinagdag pagkatapos ng base URL.
  • Ang response: isang JSON object kung saan ang nabuong teksto ay nasa choices[0].message.content.

Dahil ibinabahagi ang format, ang mga opisyal na SDK at maraming app ay makakapag-usap sa anumang compatible na provider. Kailangan lang nilang malaman kung saan ipapadala ang request.

Ano ang base_url?#

Ang base_url ay ang address kung saan nagsisimula ang bawat request. Binubuo ng SDK ang buong address sa pamamagitan ng pagdaragdag ng path ng call dito.

Bahagi Halimbawa
base_url https://api.cheaptokens.dev/v1
Path na idinagdag ng SDK /chat/completions
Buong address ng request https://api.cheaptokens.dev/v1/chat/completions

Kaya kapag nagtakda ka ng ibang base_url, ang parehong code ay nagpapadala ng parehong uri ng request sa ibang server. Ang base URL ng CheapTokens ay https://api.cheaptokens.dev/v1. Ang API nito ay compatible sa OpenAI Chat Completions at sa Anthropic Messages, at isang prepaid balance ang sumasaklaw sa lahat ng modelo.

Ang tatlong value na binabago mo#

Value Ano ito Saan ito nagmumula
base_url Address ng API https://api.cheaptokens.dev/v1
API key Ang iyong lihim na password para sa API Ang iyong CheapTokens account. Tingnan ang ano ang API key at paano ito itago nang ligtas
Model id Ang eksaktong pangalan ng modelo sa model field Ang dokumentasyon ng CheapTokens

Ang model id ay dapat bigyang-pansin. Iba't ibang provider ang nagbibigay ng iba't ibang id para sa parehong modelo, kaya ang id mula sa ibang serbisyo ay hindi gagana dito. Kunin ang mga id mula sa dokumentasyon ng CheapTokens. Ang mga id na available ngayon:

Modelo Model id Context Max output bawat sagot
GLM-5.3-Flash zai-org/GLM-5.3-Flash 390K 8,192 tokens
DeepSeek-V4-Flash deepseek-ai/DeepSeek-V4-Flash-0731 380K 32,768 tokens
MiniMax-M2.7 MiniMaxAI/MiniMax-M2.7 180K 8,192 tokens

Ang DeepSeek-V4-Flash ay nagbabalik ng hanggang 32,768 tokens bawat sagot at may 380K context; ang GLM-5.3-Flash ay may 390K context; ang MiniMax-M2.7 ay may 180K context. Lahat ng tatlo ay sinisingil mula sa parehong balance, kaya ang paglipat sa pagitan nila ay nangangahulugan ng pagbabago lamang ng model id.

Unang request sa Python#

I-install ang openai package, pagkatapos ay itago ang iyong key sa isang environment variable sa halip na isulat ito sa code:

bash
pip install openai
export CHEAPTOKENS_API_KEY="YOUR_CHEAPTOKENS_KEY"

Ngayon ang code. Ang tanging pagkakaiba mula sa isang karaniwang halimbawa ng OpenAI ay ang base_url argument, ang key at ang model id:

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)

Ang key sa halimbawa ay isang placeholder: palitan ang YOUR_CHEAPTOKENS_KEY ng iyong sariling key at huwag kailanman i-commit ang tunay na key sa isang repository.

Kung ang isang app na mayroon ka na ay nagbabasa ng mga setting mula sa isang config file o environment variables, hindi mo na kailangang i-edit ang code nito. Hanapin ang mga field na tinatawag na base URL, API base o endpoint, at punan ang parehong tatlong value doon.

Ang parehong request gamit ang curl#

Ipinapakita ng curl kung ano ang ginagawa ng SDK sa likod ng mga eksena: ang base URL kasama ang path, ang key sa Authorization header, at isang JSON body.

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."}
    ]
  }'

Ano ang dapat mong makita#

Kapag tama ang lahat ng setting, ang Python script ay magpi-print ng maikling text answer, at ang curl ay magpi-print ng JSON object. Hanapin ang choices list: ang teksto ng sagot ay nasa choices[0].message.content. Kung nakita mo iyon, gumana ang iyong unang request sa CheapTokens, at maaari ka nang magpatuloy sa iyong tunay na app.

Magkano ito?#

Ang pagsingil ay batay sa tokens, na binibilang nang hiwalay para sa input at output (tingnan ang input vs output tokens). Halimbawa, ang MiniMax-M2.7 ay kasalukuyang nagkakahalaga ng $0.05 bawat 1M input tokens at $0.15 bawat 1M output tokens. Ang talahanayan sa ibaba ay palaging nagpapakita ng kasalukuyang presyo para sa lahat ng modelo, na walang peak-hour surcharges.

Modelo Context Input $/1M Output $/1M OpenRouter in OpenRouter out
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

Mga presyo sa USD bawat 1M token. Ang mga figure ng OpenRouter ay ipinapakita para sa paghahambing at maaaring magbago.

Ang mga presyo para sa buong listahan ng mga modelo ay nasa pahina ng presyo ng CheapTokens.

Kung hindi ito gumana#

  • Authentication error (karaniwang 401): nawawala ang key, mali ang pagkakasulat o may dagdag na espasyo. Tiyakin na ang environment variable ay nakatakda sa parehong terminal kung saan mo pinapatakbo ang script.
  • "Not found" (karaniwang 404): suriin ang base_url. Dapat itong magtapos sa /v1, at hindi mo dapat idagdag ang /chat/completions nang mag-isa kapag gumagamit ka ng SDK, o madodoble ang path.
  • Hindi kilalang modelo: kopyahin ang model id nang eksakto mula sa talahanayan sa itaas o mula sa dokumentasyon, kasama ang mga capital at ang bahagi bago ang slash.
  • Walang koneksyon o timeout: tingnan ang mga karaniwang error sa koneksyon at paano ayusin ang mga ito.
  • Naputol ang sagot sa gitna ng pangungusap: naabot ang max_tokens limit, na tinalakay sa bakit napuputol ang sagot ng AI sa gitna ng pangungusap.

Mga susunod na hakbang#

Kapag gumana na ang unang request, maaari mong idagdag ang streaming sa Python, isaksak ang parehong tatlong value sa iyong editor o agent, o basahin ang paano basahin ang mga pangalan ng AI model. Ang mga detalye ng setup at buong listahan ng mga modelo ay nasa dokumentasyon ng CheapTokens.