Qwen3.8 免費版在 AIHubMix:修正 429、"Rate Limited by Provider" 與代幣池耗盡

推理時代閱讀約 12 分鐘
Qwen3.8 免費版在 AIHubMix:修正 429、"Rate Limited by Provider" 與代幣池耗盡

qwen3.8-max-free 與 qwen3.8-flash-free 的多數問題來自三個地方:免費方案的上限、GMI Cloud 在上游為活動保留的容量,以及思考代幣與 agent 上下文消耗每日 1M 代幣額度的速度。其中有些會以錯誤的形式出現,有些則表現為看似怪異的回答,或是在中午前就用完配額。此外,一般的 API 錯誤也同樣適用:金鑰或模型 ID 錯誤、上下文過長、工具呼叫歷史損壞、JSON 模式,以及內容審核。

每個問題都有對應的解法,其中一項設定就能涵蓋大部分情況:金鑰層級的 fallback,從免費 ID 切換到付費的 qwen3.8-max 與 qwen3.8-flash。設定一次之後,上游忙碌、配額用盡,或活動於太平洋時間 2026 年 11 月 13 日左右結束,都不會變成服務中斷。

快速對照

你看到的情況 可能原因 解法
一分鐘內呼叫 10 次後出現 429 免費方案每分鐘上限 控制請求節奏,或改用 fallback
當天剩餘時間持續出現 429 每日請求數或代幣數上限 等待重置,或改用 fallback
"Rate limited by provider" 上游活動容量忙碌 退避後重試,或改用 fallback
回覆表示試用額度已用完 已用掉 10 次試用呼叫,且未加值 加值 $1 以上
請求卡住,接著逾時 最大思考量在首個代幣出現前耗時過長 改用串流,並提高用戶端逾時時間
跑過幾次 agent 後每日代幣就用完 思考代幣加上重新傳送的上下文 關閉思考,限制上下文長度
免費 ID 無法使用 活動已結束,或額度已用完 改用付費 ID

免費方案與活動的錯誤

免費方案上限造成的 429

你看到的情況。 加值 $1 以上後,AIHubMix 免費模型每分鐘允許 10 次請求、每天 100 次請求,以及每天 1M 代幣,這些額度由整個免費目錄共用。根據免費模型頁面的說明,「超過上限後,API 會持續回傳 429,直到下一分鐘或下一天開始」。AIHubMix 的HTTP 狀態碼參考中,請求頻率造成 429 的訊息為「The xx model Too many requests; please try again later.」

原因。 上限是以帳號計算,而非以模型計算。在其他免費模型上執行的批次作業,同樣會佔用同一分鐘與同一天的額度。

如何重現。 連續快速發出 11 次請求就會觸及每分鐘上限,這會用掉你每日 100 次請求中的 11 次:

for i in $(seq 1 11); do
  curl -s -o /dev/null -w "%{http_code}\n" https://aihubmix.com/v1/chat/completions \
    -H "Authorization: Bearer $AIHUBMIX_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"model":"qwen3.8-flash-free","messages":[{"role":"user","content":"hi"}],"max_tokens":16}'
done

如果 11 次都落在同一分鐘內,前 10 次會回傳 200,第 11 次會回傳 429。

解法。 用簡單的速率限制器,讓批次作業每分鐘少於 10 次請求。至於每日上限,可以等待重置,或設定下方的 fallback,讓超出的請求改由付費模型處理。

"Rate limited by provider – 請聯絡支援以申請更高的並發數,或稍後再試。"

你看到的情況。 在 10 月 16 日 AIHubMix 自己的測試中,呼叫 qwen3.8-max-free 回傳 HTTP 429 並附上這段內容,同一把金鑰在 qwen3.8-flash-free 上仍可正常使用:

{"error":{"message":"Model qwen3.8-max-free rate limited by provider – contact support to request higher concurrency or try again later. (tid: …)","type":"service_unavailable","param":"","code":"rate_limit_exceeded"}}

AIHubMix 的狀態碼參考將同樣的訊息列在 503 下,因此兩種狀態碼都要檢查。

原因。 免費 ID 運行於 GMI Cloud 為活動保留的容量上。當許多人同時呼叫 Max 時,該上游容量會在一段時間內滿載。這不是你的配額問題:同一把金鑰仍可使用其他免費模型。

解法。 以指數退避重試(例如等待 30、60 與 120 秒)。對於無法等待的請求,讓 fallback 將其轉交付費的 qwen3.8-max。若要聯絡支援,請保留 tid,它能識別該次請求。

回覆表示你的試用額度已用完

你看到的情況。 完全沒有錯誤訊息。新帳號總共有 10 次試用呼叫,由所有免費模型共用。用完第十次後,API 仍會回應,但回應內容是一段說明試用已用完的文字。若應用程式會把模型輸出顯示給使用者,使用者就會看到這段文字。

解法。 加值 $1 以上。這會讓帳號永久切換到上述的每日額度。

Max 出現用戶端逾時

你看到的情況。 對 qwen3.8-max-free 發出的非串流請求會卡住,接著在你的 HTTP 用戶端、代理或工具中以逾時失敗。

原因。 Max 在首個可見代幣出現前會先進行思考。AIHubMix 在免費路由上測得約 55 秒的延遲與每秒約 9 個代幣,因此非串流的 4K 代幣回答要約八分鐘才會完整送達。路徑中任何逾時較短的環節都會先放棄。Fallback 在這裡無濟於事:依照 AIHubMix 的 fallback 規則,用戶端逾時不會觸發 fallback。

解法。 串流回應,提高用戶端逾時時間(在 OpenAI Python 用戶端中設定 timeout=900 可涵蓋較長的回答),並且對於需要互動的場景改用 Flash。

一般 API 錯誤

免費 ID 上的錯誤並非都與額度有關。以下這些錯誤在免費與付費 ID 上同樣常見。根據 AIHubMix 的狀態碼參考,AIHubMix 會將大多數 400 錯誤直接從上游模型傳回。免費 ID 運行於 GMI Cloud,付費 ID 則運行於阿里雲,因此兩條路由下 400 錯誤的確切文字可能不同。以下訊息引自 AIHubMix 的參考資料以及阿里雲錯誤碼參考。

狀態碼 錯誤 常見原因
401 Unauthorized 金鑰錯誤或缺漏
503 模型 ID 不正確 拼字錯誤,或使用了其他平台的 ID
403 金鑰未獲授權使用該模型 金鑰上未啟用該模型
400 Range of input length 上下文超過上限
400 Role "tool" without "tool_calls" 工具呼叫歷史損壞
400 JSON 模式錯誤 提示詞寫法或思考設定
400 不當內容 內容審核

401:"Unauthorized – access token 無效或已過期。"

原因。 金鑰錯誤、已被撤銷或已過期。若完全沒有 Authorization 標頭,訊息為 "Unauthorized – no access token supplied; please log in and include a valid token."。常見原因是執行程式的 shell 中未設定環境變數,於是送出空白金鑰;或是把 QwenCloud 或 GMI Cloud 等其他平台的金鑰送到 AIHubMix。

解法。 在同一個 shell 中檢查變數:echo ${AIHUBMIX_API_KEY:0:3} 應該會印出 sk-。AIHubMix 金鑰只能用於 https://aihubmix.com/v1,其他平台的金鑰在這裡無法使用。

503:"Incorrect model ID. 請申請查看模型頁面,或確認您沒有使用此模型的權限。"

原因。 模型 ID 必須完全相符。免費 ID 為 qwen3.8-max-free 與 qwen3.8-flash-free,全部小寫,且 free 前面有連字號。從其他平台複製的 ID,例如 GMI Cloud 的 Qwen/Qwen3.8-Max,在 AIHubMix 上並不存在。有一種複製貼上的錯誤不會報錯:QwenCloud 的 ID qwen3.8-max 是有效的 AIHubMix ID,但它是付費模型,因此請求會默默扣費。

如何重現。

curl -s https://aihubmix.com/v1/chat/completions \
  -H "Authorization: Bearer $AIHUBMIX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"qwen-3.8-max-free","messages":[{"role":"user","content":"hi"}]}'

解法。 從模型頁面複製 ID。由於此錯誤以 503 回傳,若重試邏輯把所有 5xx 都當成暫時性錯誤,就會一直重試拼錯的 ID,因此應將此訊息視為永久性錯誤。

403:"Forbidden – key(請求金鑰的最後 6 位數字)未獲授權存取所請求的模型。"

原因。 AIHubMix 金鑰可以限制為特定的模型清單。為其他專案建立、且模型清單不同的金鑰,在你加入之前無法存取 Qwen3.8 免費 ID。

解法。 在 API 金鑰管理中編輯該金鑰,並加入 qwen3.8-max-free 與 qwen3.8-flash-free。若你設定了 fallback,也要加入付費的備援模型:fallback 會略過不在金鑰清單中的模型。

400:"Range of input length should be [1, xxx]"

原因。 這是阿里雲的訊息,表示輸入超過模型的上下文上限;取代 xxx 的數字即為上限。常見原因是 agent 工作階段,因為歷史紀錄會在每一輪增加。阿里雲也指出,開啟思考時過長的提示詞「可能導致回應截斷或請求逾時」。

解法。 修剪歷史紀錄、為新任務開啟新的工作階段,或啟用工具的壓縮功能。不過修剪時要小心,否則可能會遇到下一個錯誤。

400:角色為 "tool" 的 messages 必須是對先前含有 "tool_calls" 的訊息的回應。

阿里雲的參考資料列出了這則訊息(包括拼字錯誤),以及其對應的反向訊息:"An assistant message with "tool_calls" must be followed by tool messages responding to each "tool_call_id""。Qwen Code 使用者在 issue #2360 中回報了前者。

原因。 送給模型的歷史紀錄中,有一個工具結果的工具呼叫已被修剪掉,或是有一個工具呼叫缺少對應的結果。手動修剪歷史紀錄與上下文壓縮是最常見的原因。

解法。 把工具呼叫與其結果視為一個單元。助理訊息中的每個 tool_call_id,都需要在其後緊接一則對應的 tool 訊息:

messages = [
    {"role": "user", "content": "What's the weather in Hangzhou?"},
    {"role": "assistant", "content": None, "tool_calls": [{
        "id": "call_1", "type": "function",
        "function": {"name": "get_weather", "arguments": "{\"city\": \"Hangzhou\"}"},
    }]},
    {"role": "tool", "tool_call_id": "call_1", "content": "{\"temp_c\": 21}"},
]
# When trimming, drop messages[1] and messages[2] together, never just one of them.

400: JSON 模式

阿里雲的參考資料列出兩種 JSON 模式錯誤:

  • "'messages' 必須以某種形式包含 'json' 一詞,才能使用類型為 'json_object' 的 'response_format'。"
  • "當 enable_thinking 為 true 時,不支援 Json mode 回應"

原因。 第一則與 OpenAI JSON 模式的規則相同:提示詞必須提到 JSON。第二則對 Qwen3.8 更重要,因為它預設開啟思考,因此在其他模型上可正常運作的 json_object 請求,在這裡可能失敗。阿里雲的參考資料並未列出哪些模型會回傳第二則訊息,因此請針對你使用的 ID 進行測試。

解法。 在提示詞中提到 JSON,並在 JSON 模式的呼叫中關閉思考:

curl -s https://aihubmix.com/v1/chat/completions \
  -H "Authorization: Bearer $AIHUBMIX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3.8-flash-free",
    "messages": [{"role": "user", "content": "Reply in JSON with the city and date: meet in Hangzhou on Nov 3."}],
    "response_format": {"type": "json_object"},
    "enable_thinking": false
  }'

400: "Input data may contain inappropriate content."

原因。 錯誤代碼為 data_inspection_failed。阿里雲會檢查其所託管模型的輸入與輸出,其中包括 fallback 會轉送請求過去的付費 ID。其他變體訊息為 "Output data may contain inappropriate content." 或 "Input or output data may contain inappropriate content."。常見的觸發來源是貼入提示詞的使用者產生內容,例如爬取的網頁或客服工單。

解法。 透過切分輸入來找出觸發問題的段落,然後過濾或改寫該段內容。重新送出相同的輸入只會得到相同的結果。

無聲的失敗:代幣池耗盡

在 1M 代幣池耗盡之前不會出現任何錯誤,之後所有請求會同時回傳 429。有三件事會比預期更快耗盡代幣池。

思考代幣

两个模型默认都会思考,阿里巴巴将思考计为输出 token;在免费通道上,这些 token 会计入你的每日额度。在 AIHubMix 的测试中,qwen3.8-flash-free 回答两句话就用了 89 个输出 token,其中 36 个用于思考。Max 思考得更多:Artificial Analysis 测得它在其指数评测中使用了 1.9 亿个输出 token,而中位数为 8,700 万。

对于信息提取、格式化和简短查询,请关闭思考。enable_thinking 是 Qwen3.8 的阿里巴巴官方文档所列开关;使用 OpenAI SDK 时,将其放在 extra_body 中:

resp = client.chat.completions.create(
    model="qwen3.8-flash-free",
    messages=[{"role": "user", "content": "Return only the invoice number: INV-2026-0042, due Nov 3"}],
    extra_body={"enable_thinking": False},
)
print(resp.choices[0].message.content)
print(resp.usage.completion_tokens_details)

请确认用量区块中的 reasoning_tokens 降为 0。若没有降为 0,表示该通道上的开关未生效,思考仍在消耗 token。

Agent 循环会重复发送上下文

编码 Agent 每一轮都会发送整段对话,包括文件内容和工具结果。一个已增长到 40K token 的会话,再运行 20 轮,就会发送 80 万个输入 token,几乎耗尽一天额度的大部分,还没算输出。请在工具的模型设置中限制上下文窗口,为新任务开启新会话,并在工具支持时使用压缩功能。

单次大型请求

Max 和 Flash 都支持 100 万 token 的上下文,与每日额度的大小相同。一个填满窗口的请求就会用完一整天的额度。

活动结束时

免费期约于 2026 年 11 月 13 日(太平洋时间)结束,若 GMI Cloud 的活动额度提前用完,则会更早结束。之后,-free 的 ID 将不再免费。已设定回退到付费 ID 的代码仍可正常运作。直接调用免费 ID 的代码需要做一项修改:从模型名称中移除 -free。

一次设定回退

AIHubMix 可以在主要模型失败时于网关层切换模型,按 API 密钥设定,无需更改代码。模型映射与回退涵盖完整规则。以下是 Qwen3.8 免费 ID 的设定方式:

  1. 在 AIHubMix 控制台打开 API 密钥管理,编辑你的应用程序所使用的密钥。
  2. 在「Fallback models on error」下,第一个加入 qwen3.8-max,第二个加入 qwen3.8-flash。
  3. 代码中继续调用 qwen3.8-max-free。

请勿将免费 ID 放入备用列表。免费模型只能作为主要模型;若放在备用列表中,会被静默跳过。

情况 是否回退?
免费模型触发配额或速率限制 是,回退到付费备用模型
所有上游通道在回复开始前均失败 是
串流已经开始 否
客户端超时 否
你自己的密钥无效或余额不足 否

回退请求将按付费模型的价格计费,因此请在账户中保留一些余额。若回退请求开始以 403 失败并显示「Your account balance is insufficient. Please recharge your account to continue using the API.」,请充值:回退机制无法绕过你自身的余额限制。一旦余额降至 -$1 以下,免费模型也会停止运作,直到你充值为止。

要查看由哪个模型回答,请读取响应标头:

curl -s -i https://aihubmix.com/v1/chat/completions \
  -H "Authorization: Bearer $AIHUBMIX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"qwen3.8-max-free","messages":[{"role":"user","content":"hi"}]}' \
  | grep -i -E 'x-aihubmix-(model|fallback)'

X-Aihubmix-Fallback: true 表示该请求已回退。X-Aihubmix-Model 标明实际回答的模型,也是你被计费的模型。

编码工具

任何支持 OpenAI 兼容提供商的工具都可以搭配免费 ID 使用,包括 OpenCode、Cline、Kilo Code、Qwen Code 和 Hermes Agent。AIHubMix 为每个工具提供设置页面;OpenCode 指南是很好的起点。各工具的设定值相同:

设定项 值
提供商类型 OpenAI 兼容
Base URL https://aihubmix.com/v1
API 密钥 你的 AIHubMix 密钥
模型 ID qwen3.8-flash-free 或 qwen3.8-max-free
上下文窗口 最高 1M;设定更低以节省额度
最大输出 最高 131K

以下两个已知问题适用于所有工具。Agent 循环会耗尽共享的 token 额度,如上所述。另外,Max 的高延迟使其不适合作为互动式 Agent 的主要模型。若工具允许为规划与编辑分别选择模型,例如 Cline 的 Plan 与 Act 模式,可将 Max 用于规划,Flash 用于编辑。

15 分钟冒烟测试。将工具指向 qwen3.8-flash-free,请它为真实代码库中的一个小函数新增一个单元测试,然后执行该测试。成功的情况是:Agent 读取文件、编写测试、通过工具调用执行它,且 AIHubMix 用量记录显示这些请求都使用免费模型,费用为 $0。接着,在 qwen3.8-max-free 上重复规划步骤,并检查其耗时与 token 用量。

检查清单

  • 已充值 $1 或以上,因此每日配额取代了 10 次试用调用
  • 模型 ID 已从模型页面完整复制,并已在密钥上启用
  • 批次任务控制在每分钟 10 个请求以下
  • Max 请求使用串流,客户端超时设为 10 分钟或以上
  • 简单请求已关闭思考,并已检查 reasoning_tokens
  • Agent 上下文已限制,新任务使用新会话
  • 历史记录修剪会将每个工具调用与其结果保留在一起
  • JSON 模式的调用提示词中提到 JSON,并已关闭思考
  • 回退设定为 qwen3.8-max,其次为 qwen3.8-flash
  • 为回退请求保留一些余额
  • 已设定提醒,约在 11 月 13 日免费期结束时

常见问题

我几乎没用 qwen3.8-max-free,为什么还会收到 429?
可能是你账户上的其他免费模型用完了共享的每分钟或每日额度,或活动的上游容量繁忙。错误信息会告诉你是哪一种:「rate limited by provider」表示是上游的限制。

为什么我的请求返回「Incorrect model ID」?
模型名称与 AIHubMix 的 ID 不完全相符。请使用 qwen3.8-max-free 或 qwen3.8-flash-free,全部小写;来自 GMI Cloud 或其他平台的 ID 在此不存在。此错误会以 503 返回,因此请确保重试逻辑不会持续重试它。

回退会产生费用吗?
只有在实际发生回退时才会。发生回退的请求,将按实际回答的付费模型价格计费。

我可以把 qwen3.8-flash-free 放入回退列表吗?
不可以。免费模型只能作为主要模型;AIHubMix 会在备用列表中跳过它们。

如何避免思考消耗我的免费 token?
对于不需要推理的请求,在 extra_body 中传入 enable_thinking 并设为 false,并检查用量区块中的 reasoning_tokens 是否降为 0。

为什么我的编码 Agent 这么快就耗尽每日额度?
Agent 每一轮都会重新发送整段对话。请限制上下文窗口,为新任务开启新会话,并将 Flash 作为 Agent 的主要模型。

11 月 13 日之后,免费 ID 会怎样?
它们将不再免费,若 GMI Cloud 的活动额度提前用完则会更早停止。请切换到 qwen3.8-max 或 qwen3.8-flash,或依赖你已设定的回退。

延伸阅读:Qwen3.8 免费系列

资料来源