モデル
呼び出せるモデルは API に問い合わせて確認します。このページはその呼び出しから始め、ID を選んだ後に必要となるモデルごとの数値を続けて掲載します。
呼び出せるモデルの一覧取得
認証付きの GET を 1 回送ると、現在提供中のモデルの一覧が返ります。このレスポンスが答えるのは 1 つだけです。今日の推論リクエストが受け付ける ID はどれか、ということです。カタログ全体ではないため、公開はされていてもまだ提供していないモデルは含まれません。
curl https://api.bricksum.com/v1/models \
-H "Authorization: Bearer $KILN_API_KEY"import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.bricksum.com/v1",
api_key=os.environ["KILN_API_KEY"],
)
for model in client.models.list():
print(model.id)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.bricksum.com/v1",
apiKey: process.env.KILN_API_KEY,
});
const list = await client.models.list();
for (const model of list.data) console.log(model.id);2026-09-20 にステージングで gpt-oss-120b を返していたレスポンスの形です。その後、項目の id を qwen3-32b に置き換え、deepseek-v4.1-flash の項目を手で追加しました。レスポンスは取り直していません。提供可能なモデルごとに項目が 1 つ入り、各項目にはフィールドが 4 つあります。
{
"object": "list",
"data": [
{
"id": "qwen3-32b",
"object": "model",
"created": 1789902597,
"owned_by": "bricksum"
},
{
"id": "deepseek-v4.1-flash",
"object": "model",
"created": 1789902597,
"owned_by": "bricksum"
}
]
}コードで分岐させるフィールド
4 つのフィールドのうち、コードで読む価値があるのは 1 つです。
data[].id— リクエストの model フィールドに指定する値です。分岐の基準にするのはこのフィールドで、カタログが変わったことに気づきたい場合は、呼び出し間で ID の集合を比較してください。object,data[].object,owned_by— 固定文字列です(「list」「model」「bricksum」)。ルーティングや所有者を表すものではないため、これらで分岐しても得られるものはありません。data[].created— ゲートウェイがレスポンスを組み立てる時点で付与する Unix 秒の時刻で、モデルが追加された時刻ではありません。1 回のレスポンス内のすべての項目が同じ値を持ち、呼び出しごとに値が変わるため、新しく追加されたモデルの検出には使えません。
一覧にはこれ以外の情報は含まれません。コンテキスト長も、単価も、対応機能のフラグも入っていません。これらは下のリファレンス表にあります。このエンドポイントのリクエストとエラーの仕様全体は List models ページを参照してください。
リクエスト前のモデル確認
単体取得はありません。/models/{model} への GET は提供されておらず、エラーオブジェクトではなくプレーンテキストの 404 が返ります。ある ID が提供可能かを知るには、一覧を読み、その中に含まれているかを確認してください。
served = {m.id for m in client.models.list()}
if "qwen3-32b" not in served:
raise SystemExit("qwen3-32b is not servable right now")モデル ID が一覧にない場合
そのまま送信すると、推論エンドポイントが 404 とエラーオブジェクトで拒否します。
{
"error": {
"code": "model_not_found",
"message": "The model `no-such-model-xyz` does not exist or you do not have access to it.",
"param": "model",
"type": "invalid_request_error"
}
}ID が一覧にない理由は 3 つあります。まだ提供していない、提供を終了した、ID の綴りが違う、のいずれかです。この 3 つを区別できる確認手段は一覧だけなので、同じ文字列で再試行せず、一覧を読み直してそこにある ID を選んでください。
モデルリファレンス
どちらが何に答えるか
GET /models— 「今すぐ呼び出せるモデルはどれか」に答えます。提供中のモデルだけを返すため、コードが信頼すべき値はこの一覧です。ここにないモデルを指定したリクエストは、ほかのページにどう書かれていても拒否されます。- モデルカタログ — 「何をいくらで提供しているか」に答えます。まだ提供していないモデルも状態値付きで含み、API の一覧が返さないコンテキスト長、単価、対応機能、実測スループット、90 日稼働率を持ちます。下の表もここから読み込んでいます。
つまり両者は競合しません。近日提供の状態のモデルがカタログにあって API の一覧にないのは想定どおりの状態で、不具合ではありません。ID は API の一覧から、それ以外はカタログから取得してください。呼び出せるかどうかで食い違う場合は、API の一覧に従います。
カタログのモデルごとに 1 行で、状態を先頭に示します。API の一覧に含まれ今日呼び出せるのは available のモデルだけで、それ以外は存在がわかるように掲載しているだけで数値は公開しません。すべての値をカタログからリアルタイムに読み込むため、単価やコンテキスト長が変わってもこのページを修正せずに表が追従します。
| モデル | 状態 | コンテキスト長 | 入力 / 100 万トークン | 出力 / 100 万トークン | キャッシュ入力 / 100 万トークン |
|---|---|---|---|---|---|
| qwen3-32bQwen3 32B | 提供中 | 32,768 トークン | $0.08≈ ₩112 | $0.28≈ ₩392 | $0.04≈ ₩56 |
| exaone-4.5-33bEXAONE 4.5 33B | 近日提供 | まだ提供していないため、数値は公開していません | |||
| gpt-oss-120bgpt-oss-120b | 近日提供 | まだ提供していないため、数値は公開していません | |||
| gpt-oss-20bgpt-oss-20b | 近日提供 | まだ提供していないため、数値は公開していません | |||
| k-exaone-236bK-EXAONE 236B | 近日提供 | まだ提供していないため、数値は公開していません | |||
| llama-3.1-8bLlama 3.1 8B | 近日提供 | まだ提供していないため、数値は公開していません | |||
| qwen3-30b-a3bQwen3 30B-A3B | 近日提供 | まだ提供していないため、数値は公開していません | |||
| qwen3-8bQwen3 8B | 近日提供 | まだ提供していないため、数値は公開していません | |||
| qwen3-coder-480b-a35bQwen3-Coder 480B-A35B | 近日提供 | まだ提供していないため、数値は公開していません | |||
| solar-open-100bSolar Open 100B | 近日提供 | まだ提供していないため、数値は公開していません | |||
- 最大出力トークン — モデルごとの数値ではありません。カタログはどのモデルについても出力の上限を個別に提供していないため、そのモデルのコンテキスト長の範囲内で、リクエストごとに max_tokens を指定してください。コンテキスト長はプロンプトと出力のトークン数の合計で、これを超えるリクエストは 400 で拒否されます。
- データの取り扱い — プロンプトと出力は、リクエストの処理と、課金のための使用量計測に使用します。既定では学習に使用しません。データ処理契約が必要な場合はお問い合わせください。
モデル別の対応機能
同じモデルを 1 行ずつ整理した表です。ストリーミングは提供中の全モデルで利用できます。それ以外のセルはすべてライブカタログの値です。「未掲載」は、そのモデルのその機能をカタログがまだ報告していないことを示します。未測定という意味で、非対応という意味ではありません。近日提供のモデルの対応機能は、提供開始後に表示します。
| モデル | ストリーミング | ツール呼び出し(自動選択) | 強制・指定 tool_choice | 並列ツール呼び出し | 構造化出力 | 画像入力 | Thinking モード |
|---|---|---|---|---|---|---|---|
| qwen3-32b | 対応 | 対応 | 非対応 | 非対応 | 非対応 | 非対応 | 対応 |
| exaone-4.5-33b | 近日提供。対応機能は提供開始後に表示します | ||||||
| gpt-oss-120b | 近日提供。対応機能は提供開始後に表示します | ||||||
| gpt-oss-20b | 近日提供。対応機能は提供開始後に表示します | ||||||
| k-exaone-236b | 近日提供。対応機能は提供開始後に表示します | ||||||
| llama-3.1-8b | 近日提供。対応機能は提供開始後に表示します | ||||||
| qwen3-30b-a3b | 近日提供。対応機能は提供開始後に表示します | ||||||
| qwen3-8b | 近日提供。対応機能は提供開始後に表示します | ||||||
| qwen3-coder-480b-a35b | 近日提供。対応機能は提供開始後に表示します | ||||||
| solar-open-100b | 近日提供。対応機能は提供開始後に表示します | ||||||
ツール呼び出し・構造化出力のフラグは 2026-09-11 の実測に基づきます。すべての関数に description が必要で、reasoning トークンは max_tokens に含まれます。 実測結果
qwen3-32b では、強制的なツール選択が明確なエラーなしに失敗します(2026-09-26 実測)。tool_choice を "required" にすると本文が平文 "Internal Server Error" の HTTP 500 が返り、関数を指定すると arguments が空の 200(finish_reason "stop")が返ります。どちらも 4xx ではないため、再試行では解決しません。tool_choice は "auto" のみを送ってください。 qwen3-32b では parallel_tool_calls の設定が適用されません。これは応答のツール呼び出しが 1 つだけという意味ではありません。parallel_tool_calls: false を送っても、1 つの応答に複数のツール呼び出しが含まれることがあります。tool_calls のすべての項目に、それぞれ tool メッセージで応答してください。
API 対応範囲
- ストリーミング: 対応 (
stream=true) - 推論の強度: reasoning_effort はそのままモデルに渡されます。gpt-oss-120b は low、medium、high を受け付けます。他のモデルがこの値に従うかは公開されていません。値が高いほど推論が深くなりレイテンシが増えます。
- リクエストタイムアウト: ゲートウェイはリクエストを 60 分後に終了します。約 100 秒間バイトを送信しない非ストリーミングのリクエストはネットワークエッジで切断されることがあるため、長い生成は stream: true で送信してください。
既知の制限
現在のサービングスタックは、OpenAI のパラメータすべてに対応しているわけではありません。既知の制限は OpenAI からの移行 ページの 1 か所にまとめています。
価格は 100 万トークンあたりの USD 建てで、各レスポンスの usage フィールドに基づいて計測・課金されます。各価格の下のウォン表示は目安です。最新のカタログと変更点はコンソールで確認してください。
ウォン表示は付加価値税別で、1 USD = 1,400 ウォン(2026-08-11 時点)で換算しています。