返回博客

快速开始指南

用 GET /v1/models 列出模型,找到精确的模型 id

一个 GET 请求就能显示精确的模型 id 及其上下文和输出限制。复制 id,设置 max_tokens,并为你的任务选第一个模型。

作者:CheapTokens Team发布于 4 分钟阅读

显示向模型端点发送 GET 请求的终端
本页内容
  1. 为什么同一个模型在各处的 id 都不一样
  2. 问 API:一个请求
  3. 三个 id 及其限制
  4. 为你的任务选第一个模型
  5. 根据限制设置 max_tokens,然后发送请求
  6. 如果请求仍然失败

你的代码在一个模型名上返回了 404,而这个模型名在别人的示例里看起来没问题。直接问 API 本身:向 https://api.cheaptokens.dev/v1/models 发一个 GET 请求,就能列出你可以调用的模型,以及它们的上下文和输出限制。从那个回答里复制 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 或 404 错误:错误的密钥、基础 URL 或模型 id 有详细说明。本指南是那一步之前的事:找到正确的 id,这样你就永远不会看到那个错误。

问 API:一个请求#

选择你使用的标签页。两者发送相同的请求。在两个示例中,密钥都来自 CHEAPTOKENS_API_KEY 环境变量(余额上有资金后,密钥就在仪表盘里)。

一个请求,两种方式

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。

请求流程:列出模型,复制精确 id,发送聊天请求
要遵循的顺序:列出模型,复制 id,然后发送聊天请求

三个 id 及其限制#

文档列出了这些可调用模型(2026 年 10 月 28 日核对)。把每行开头代码格式中的字符串作为 model 发送:

  • zai-org/GLM-5.3-Flash — 390K 上下文,最多 8,192 个输出 token。
  • deepseek-ai/DeepSeek-V4-Flash-0731 — 380K 上下文,最多 32,768 个输出 token。
  • MiniMaxAI/MiniMax-M2.7 — 180K 上下文,最多 8,192 个输出 token。

大多数决策中只有两个数字重要。上下文是模型在一次请求中能容纳的量,即你的提示词和它的回答加在一起。输出限制是最长单次回答。如果这些词对你来说很陌生,如何读懂 AI 模型名称和为什么回答会中途停止用通俗语言解释了它们。

三个模型的上下文窗口和输出限制
来自 CheapTokens 文档的上下文和输出限制,2026 年 10 月 28 日核对

为你的任务选第一个模型#

你不需要冗长的基准研究就能开始。两个问题就能确定大多数初次选择:你的输入有多大,回答必须有多长?点击最接近你的情况。

选择你的情况

哪种情况是你的?

我粘贴一份长文档

选 zai-org/GLM-5.3-Flash。它在三者中窗口最大,为 390K,所以一份长文档和关于它的问题能放进一个请求。它的回答最多 8,192 个 token,对于摘要或提取来说绰绰有余。

我需要长回答(最多 32,768 个 token)

选 deepseek-ai/DeepSeek-V4-Flash-0731。它允许每次回答最多 32,768 个输出 token,并有 380K 窗口,所以长生成文本和 agent 循环都能容纳。

我用中等长度的提示词写代码

选 MiniMaxAI/MiniMax-M2.7。180K 窗口能覆盖几个文件及围绕它们的对话;回答最多可达 8,192 个 token。

三者共享一个余额,并且在一天中的任何时间都是同一个价格,没有高峰时段,所以以后切换只需改一个字符串。与 OpenRouter 相比,三者总体上更便宜,输入和输出合并计算。下面是一个工作负载的样子:假设你运行一个小助手,发送 2,000 个输入 token 并得到 500 个返回,每天 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 个输入 token 和 500 个输出 token。每 100 万 token 的价格为当前价格,会随我们的资费一同变动;OpenRouter 列显示相同工作负载的参考价格。

每个模型当前的每 token 价格在定价页面上,模型页面对每个模型有更深入的介绍。如果你想按任务做并排比较,有GLM vs DeepSeek vs MiniMax:该选哪个模型。

根据限制设置 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
  }'

第一次调用不熟悉?你的第一个 CheapTokens API 请求涵盖了回答格式和 usage 字段。

要固化这个流程,把步骤排好序:

排序

把步骤排好序

  1. 调用 GET /v1/models
  2. 复制精确的模型 id
  3. 检查输出限制并在其下设置 max_tokens
  4. 发送聊天请求

如果请求仍然失败#

从字符串开始。模型 id 差一个字符是 404 的常见原因,所以从列表中重新粘贴,而不是重新输入。402 表示余额已耗尽,速率限制是每个 API 密钥每分钟 120 个请求。错误以标准 OpenAI/Anthropic JSON 格式返回,所以 SDK 会照常解析它们。完整说明见 API 401 或 404 错误。

API 在 https://api.cheaptokens.dev/v1 处兼容 OpenAI 和 Anthropic;Anthropic SDK 和 Claude Code 使用根 URL https://api.cheaptokens.dev,不带 /v1。更多设置细节在文档中。