无需 KYC — 不用身份证、不用自拍、不用证件。用加密货币支付:BTC, USDT, USDC, ETH, SOL, LTC
语言: 简体中文
获取 API 密钥

文档 · 错误

错误、速率限制和重试

错误以 OpenAI 格式返回,因此 SDK 会像平常一样把它们作为异常抛出。本页列出每个状态码和代码,说明哪些值得重试,并给出一个遵守速率限制的重试循环。

最后更新:

快速回答

LLMwithCrypto API 会返回哪些错误,它们会收费吗?

API 用 HTTP 状态码和 OpenAI 风格的 body 返回错误:{"error": {"message", "type", "param", "code"}}。LLMwithCrypto 用 400 表示请求有误,401 表示 key 错误,402 表示积分无法支付,404 表示未知模型,429 表示速率限制,500 或 503 表示我们这边的问题。以错误结束的调用不产生费用,依据的是 2026 年 10 月 23 日的文档。

有哪些错误?

任何错误都不会消耗积分。code 是在代码中测试的稳定值;message 是给人看的,可能会变化。

HTTPcode原因重试?
400invalid_parameter缺少必填字段,或值超出范围或类型错误否:修正请求
400context_length_exceededmessages 加上 max_tokens 无法容纳在模型的上下文窗口内否:缩短输入或降低 max_tokens
400unsupported_parameter此模型不支持的字段,例如在没有 JSON 模式的模型上使用 response_format否:移除它或更换模型
401invalid_api_keykey 缺失、拼写错误或被撤销否:检查 API 密钥
402insufficient_balance剩余余额不足以支付此次调用否:购买积分包
404model_not_foundmodel id 不在我们的列表中否:请使用 GET /api/v1/models 中的 id
429rate_limit_exceeded每分钟请求数或 token 数超出账户允许是,暂停后再试
500server_error我们这边出了故障是,使用退避重试
503model_overloaded模型 momentarily 达到容量上限是,使用退避重试,或换一个模型
错误响应:未知模型
{
  "error": {
    "message": "The model `gpt-4o` does not exist or is not available to your key.",
    "type": "invalid_request_error",
    "param": "model",
    "code": "model_not_found"
  }
}

为什么 gpt-4o 或 claude 会返回 404?

因为这些模型不在这里出售。我们不出售 GPT、Claude、Gemini 或 Grok 的访问权限:其开发商禁止未经其批准转售 API 访问,而我们并未获得该批准。为 OpenAI API 编写的代码通常会在多处指定模型名;在你的项目中搜索旧名称,并替换为模型页面上的 id,例如 deepseek-v4-pro 或 gpt-oss-120b。

我的代码应该在什么时候重试?

重试 429、500 和 503,以及网络错误,例如超时或连接重置。绝不要重试 400、401、402 或 404:同样的请求会以同样的方式失败。

每次新的尝试前先等待。当响应带有 Retry-After 头时,等待该头指定的秒数;否则每次将暂停时间加倍(1、2、4、8 秒……)并加上一点随机时间,以免大量 worker 同步重试。尝试几次后放弃,并记录错误。OpenAI SDK 本身已会自动重试;下面的示例将其关闭,以完整展示逻辑。

Python:对 429、500 和 503 使用指数退避重试
import os
import random
import time

from openai import APIConnectionError, APIStatusError, OpenAI

client = OpenAI(
    base_url="https://llmwithcrypto.com/api/v1",
    api_key=os.environ["LLMWITHCRYPTO_API_KEY"],
    max_retries=0,
)
RETRY = {429, 500, 503}


def chat(messages, model="deepseek-v4-pro", attempts=5):
    for attempt in range(attempts):
        try:
            return client.chat.completions.create(model=model, messages=messages, max_tokens=500)
        except APIStatusError as err:
            if err.status_code not in RETRY or attempt == attempts - 1:
                raise
            wait = err.response.headers.get("retry-after")
            delay = float(wait) if wait else min(30, 2**attempt) + random.random()
        except APIConnectionError:
            if attempt == attempts - 1:
                raise
            delay = min(30, 2**attempt) + random.random()
        time.sleep(delay)

收到 402 insufficient_balance 时该怎么办?

充值。此次调用未被计费,账户其他方面也不会变化:只要余额恢复,你的 API 密钥即可继续使用。加密货币充值确认、积分包购买完成后,你的 API 密钥就在 dashboard 里等着你。

为避免生产环境出现意外,请不时读取 GET https://llmwithcrypto.com/api/v1/credits,并在你选定的下限以下提醒自己;模型与积分类页面展示了此次调用。积分不会过期:这个月没花完的,明年还在,因此提前购买更大的积分包不会额外花费。

如何保持在 rate limit 之下?

每个账户都有每分钟请求数和 token 上限,显示在 dashboard 中;联系 support 可以调高。

  • 限制并发。 并行运行固定数量的请求,而不是一次性发出整批请求。
  • 限制输出。 Token 限制也会计算模型写入的内容,因此合理的 max_tokens 能让更多请求保持在限制之内。
  • 分散批次。 对于大型离线任务,将请求分散到一分钟内,而不是集中突发发送。

错误:常见问题

失败的调用会收费吗?

不会。按 token 从余额扣费:输入和输出 token 由模型自己的 tokenizer 计数,按该模型每 1M token 的价格计费。以错误结束的调用不收费。

在哪里可以查看是否发生故障?

在状态页面上。多个模型上连续出现 500 或 503 错误,通常意味着我们这边发生了故障;如果持续存在,请写信至 [email protected]。

我能看到失败的请求吗?

我们这边看不到。我们不保存你的提示词或模型的回答:响应一旦发出,其文本即消失。每次调用只留一行日志,记录时间、账户、模型和 token 数量,30 天后删除。请在你的应用中记录错误 code 和你自己的请求 id。

DeepSeek V4 Pro 低至 $1.254 每 1M 输入 token · 无需 KYC

获取 API 密钥