ブログに戻る

はじめにガイド

GET /v1/modelsでモデルを一覧し、正確なモデルidを見つける

GETリクエスト1回で、コンテキストと出力上限付きの正確なモデルidがわかる。idをコピーし、max_tokensを設定し、タスクに合った最初のモデルを選ぼう。

投稿者: CheapTokens Team公開日 読了時間 6 分

modelsエンドポイントへのGETリクエストを表示するターミナル
このページの内容
  1. 同じモデルなのにどこでもidが違う理由
  2. APIに聞く:リクエスト1回
  3. 3つのidとその上限
  4. タスクに合った最初のモデルを選ぶ
  5. 上限からmax_tokensを設定してリクエストを送る
  6. それでもリクエストが失敗する場合

他人のサンプルでは問題なさそうに見えたモデル名で、あなたのコードが404を返す。API自身に聞いてみよう。https://api.cheaptokens.dev/v1/modelsへのGETリクエスト1回で、呼び出し可能なモデルとそのコンテキスト・出力上限の一覧が返る。idは記憶からではなく、その回答からコピーし、max_tokensを設定する前に上限を確認しよう。

ドキュメントページ(CheapTokens docs、2026年10月28日確認)では、GET /v1/modelsをコンテキストと出力上限付きの呼び出し可能モデル一覧として説明している。その隣には単一モデル用のGET /v1/models/{model}とGET /v1/capabilitiesがある。チャット自体はPOST /v1/chat/completions(OpenAI互換)またはPOST /v1/messages(Anthropic互換)経由で行う。

同じモデルなのにどこでもidが違う理由#

別のプロバイダーのチュートリアルを見つけたとしよう。そこではmodel: "deepseek-chat"が使われていて、CheapTokensのベースURLの隣に貼り付けるとリクエストが失敗する。キーに問題はない。プロバイダーは同じモデルに異なる名前を付ける。deepseek-ai/のようなプレフィックス、-0731のようなバージョンサフィックス、大文字小文字の違いなどだ。APIは一覧に載っている正確な文字列しか受け付けず、価格ラベルから取った短い名前も動かない。

だからこそ、idを一度調べておく価値がある。間違ったidが画面上でどう見えるかの詳細は、API 401 or 404 error: wrong key, base URL or model idで解説している。このガイドはその前のステップだ。正しいidを見つけて、そのエラーを二度と見ないようにしよう。

APIに聞く:リクエスト1回#

使っているタブを選ぼう。どちらも同じリクエストを送る。両方の例で、キーはCHEAPTOKENS_API_KEY環境変数から取得する(残高に資金があれば、キーはdashboardにある)。

リクエスト1回、2通りの方法

curl

bash
export CHEAPTOKENS_API_KEY="sk-your-key"

curl https://api.cheaptokens.dev/v1/models \
  -H "Authorization: Bearer $CHEAPTOKENS_API_KEY"

Python

python
import json
import os

import requests

resp = requests.get(
    "https://api.cheaptokens.dev/v1/models",
    headers={"Authorization": f"Bearer {os.environ['CHEAPTOKENS_API_KEY']}"},
    timeout=30,
)
resp.raise_for_status()
print(json.dumps(resp.json(), indent=2))

Python版が生のJSONを出力するのは意図的だ。一度自分の目で読んでみよう。探すのはモデルidと、その隣にあるコンテキスト・出力上限だ。各idは出力から丸ごとコピーしよう。

Request flow: list models, copy the exact id, send the chat request
The order to follow: list the models, copy the id, then send the chat request

3つのidとその上限#

ドキュメントには以下の呼び出し可能モデルが載っている(2026年10月28日確認)。各行の先頭にあるコード書式の文字列をmodelとして送ろう:

  • zai-org/GLM-5.3-Flash — 390Kコンテキスト、最大8,192出力トークン。
  • deepseek-ai/DeepSeek-V4-Flash-0731 — 380Kコンテキスト、最大32,768出力トークン。
  • MiniMaxAI/MiniMax-M2.7 — 180Kコンテキスト、最大8,192出力トークン。

ほとんどの判断では2つの数値が重要だ。コンテキストはモデルが1回のリクエストで保持できる量で、プロンプトとその回答を合わせたものだ。出力上限は1回の回答の最大長だ。これらの言葉が初めてなら、how to read AI model namesとwhy an answer stops mid-sentenceが平易な言葉で説明している。

Context window and output limit of the three models
Context and output limits from the CheapTokens docs, checked 28 October 2026

タスクに合った最初のモデルを選ぶ#

始めるのに長いベンチマーク調査は不要だ。2つの質問で最初の選択のほとんどは決まる。入力はどれくらい大きいか、回答はどれくらい長くする必要があるか。自分に一番近いケースをクリックしよう。

ケースを選ぶ

あなたのケースはどれ?

長いドキュメントを貼り付ける

zai-org/GLM-5.3-Flashを選ぼう。3つの中で最大の390Kウィンドウを持つので、長いドキュメントとそれについての質問が1回のリクエストに収まる。回答は最大8,192トークンで、要約や抽出には十分だ。

長い回答が必要(最大32,768トークン)

deepseek-ai/DeepSeek-V4-Flash-0731を選ぼう。1回の回答で最大32,768出力トークンを許容し、380Kウィンドウを持つので、長い生成テキストもエージェントループも収まる。

適度なプロンプトでコードを書く

MiniMaxAI/MiniMax-M2.7を選ぼう。180Kウィンドウで数ファイルとその周辺の会話をカバーでき、回答は最大8,192トークンまで。

3つとも残高と価格を共有し、時間帯による変動やピーク時間はないので、後から切り替えても変わるのは文字列1つだけだ。OpenRouterと比べると、3つとも入力と出力を合計した総額で安い。ワークロードの例を見てみよう。2,000入力トークンを送って500トークンを受け取る小さなアシスタントを1日1,000回動かすとする。下のライブテーブルはまさにそれを価格計算している。

モデル リクエストあたり 1,000 リクエスト OpenRouter、1,000 リクエスト
GLM-5.3-Flash $0.00006 $0.06 $0.121
DeepSeek-V4-Flash $0.00008 $0.08 $0.173
MiniMax-M2.7 $0.00018 $0.175 $1.20

リクエストあたり 2,000 入力トークンと 500 出力トークン。100万トークンあたりの価格は現行のもので、当社の料金体系に合わせて変動します。OpenRouter 列は同じワークロードの参考価格を示しています。

全モデルの現在のトークン単価はpricing pageにあり、model pagesでは各モデルをより詳しく扱っている。タスク別の比較が欲しければ、GLM vs DeepSeek vs MiniMax: which model to chooseがある。

上限からmax_tokensを設定してリクエストを送る#

よくあるミス:上限が8,192のモデルに長いレポートを要求して、回答が途中で止まる。一覧で見た上限はmax_tokensの天井だ。それ以下に収めよう。

一覧から取った完全なidを使ったリクエストがこちら。長い回答を許容するモデルに長い回答を要求している:

bash
curl https://api.cheaptokens.dev/v1/chat/completions \
  -H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-ai/DeepSeek-V4-Flash-0731",
    "messages": [{"role": "user", "content": "Write a 1,500-word guide to API keys."}],
    "max_tokens": 4000
  }'

初めての呼び出しなら、Your first API request with CheapTokensが回答フォーマットとusageフィールドを扱っている。

手順を定着させるために、ステップを順番に並べよう:

順番に並べる

ステップを順番に並べる

  1. GET /v1/models を呼び出す
  2. 正確なモデルidをコピーする
  3. 出力上限を確認し、その下でmax_tokensを設定する
  4. チャットリクエストを送る

それでもリクエストが失敗する場合#

まず文字列を確認しよう。1文字違うモデルidが404の通常の原因なので、打ち直すのではなく一覧からもう一度貼り付けよう。402は残高切れ、レート制限はAPIキーあたり毎分120リクエストだ。エラーは標準のOpenAI/Anthropic JSON形式で返るので、SDKは通常どおりパースする。詳細な手順はAPI 401 or 404 errorを参照。

APIはhttps://api.cheaptokens.dev/v1でOpenAIおよびAnthropic互換だ。Anthropic SDKとClaude Codeは/v1なしのルートURLhttps://api.cheaptokens.devを使う。セットアップの詳細はdocsにある。