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 在以下所有域名通用——任选其一。Anthropic SDK 使用不带 /v1 的 base URL(例如 https://apikey.sh)。
https://apikey.sh/v1运行中https://api.onie.net/v1运行中身份认证
在请求头中带上你的 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。
错误码
401 | key 无效、已吊销,或账户被停用 |
402 | 额度不足——请在控制台充值 |
403 | 该模型不在此 key 的可用清单内 |
429 | 超出该 key 的速率限制 |
5xx | 上游供应商错误——请几秒后重试 |