Language

API 参考

apikey.sh 使用 OpenAI 协议。任何已适配 OpenAI 的 SDK、框架或工具,只需修改 base_url 即可使用。

快速开始

在控制台创建 key,写入环境变量,然后指定 base URL:
from openai import OpenAI

client = OpenAI(
    api_key="sk-ak-...",                  # your key from apikey.sh
    base_url="https://apikey.sh/v1",      # change only this line
)

resp = client.chat.completions.create(
    model="claude-sonnet-5",
    messages=[{"role": "user", "content": "Hello!"}],
)
print(resp.choices[0].message.content)

Base URL

同一个 API key 在以下所有域名通用——任选其一。
https://apikey.sh/v1运行中
https://api.onie.net/v1运行中
Anthropic SDK 使用不带 /v1 的 base URL(例如 https://apikey.sh)。

身份认证

在请求头中带上你的 key:
Authorization: Bearer sk-ak-...

# or, with the Anthropic SDK:
x-api-key: sk-ak-...
key 仅在创建时显示一次。若已丢失,请新建一个并吊销旧 key——吊销立即生效。

Endpoints

POST/v1/chat/completions生成补全(支持 SSE streaming 与工具调用)
POST/v1/embeddings为 RAG 与语义检索生成 embeddings
POST/v1/images/generations生成图像(gpt-image-* 模型)
GET/v1/models列出当前 key 可用的模型

Streaming

加上 stream: true,即可通过 SSE 实时接收 token:
stream = client.chat.completions.create(
    model="claude-sonnet-5",
    messages=[{"role": "user", "content": "Write a short poem"}],
    stream=True,
)
for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="")

Prompt caching

在支持的模型(GPT-5.x 系列)上,prompt 的重复前缀会自动缓存并按缓存价计费——约比全新 token 便宜 90%。代码无需改动;缓存 token 数可在控制台的「用量」中查看。响应中包含 usage.prompt_tokens_details.cached_tokens,便于你自行核对。

按 key 限额

每个 key 都可拥有独立的消费上限与可用模型清单。这是在多项目、多成员之间共享 key 而不被某一方掏空预算的安全做法。配置入口:控制台 → API keys。

错误码

401key 无效、已吊销,或账户被停用
402额度不足——请在控制台充值
403该模型不在此 key 的可用清单内
429超出该 key 的速率限制
5xx上游供应商错误——请几秒后重试

可用模型

当前有 37 个模型在线。机器可读清单见 GET /v1/models 或 /api/models(JSON,无需认证)。