菜单API 参考

API 参考

API 在 https://ai.geraikita.com/v1 遵循 OpenAI 格式,在 https://ai.geraikita.com 遵循 Anthropic 格式。所有请求和响应体均为 JSON(UTF-8)。

端点功能
POST /v1/chat/completionsOpenAI 格式 Chat(流式与非流式)
POST /v1/messagesAnthropic 格式 Messages(流式与非流式)
POST /v1/messages/count_tokens计算 Anthropic 格式 prompt 的 token——免费
GET /v1/models可用模型列表
POST /v1/images/generations根据文字 prompt 生成图片,按张计费——参见图像生成
目前仅提供上述端点。OpenAI 的其他端点(例如 /v1/responses、/v1/embeddings)暂不支持。

Chat completions(OpenAI)

POSThttps://ai.geraikita.com/v1/chat/completions

根据消息列表生成回答。请求头:Authorization: Bearer gk-… 和 Content-Type: application/json。

请求体

参数类型说明
modelstring必填。模型 id,须与模型列表完全一致,不带前缀。
messagesarray必填。按顺序排列的消息数组;每条消息包含 role 和 content。至少一条消息。
streamboolean设为 true 可通过 Server-Sent Events 逐步接收回答。
max_tokensinteger回答的最大 token 数。如果余额不足以支付所请求的值,服务器可能会自动调低。
temperature, top_p, stop—原样传给模型。是否支持及取值范围取决于模型。
tools, tool_choicearray / objectOpenAI 格式的函数调用(tool calling),传给支持该功能的模型。

请求示例

curl https://ai.geraikita.com/v1/chat/completions \
  -H "Authorization: Bearer gk-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "messages": [{"role": "user", "content": "你好!"}]
  }'

响应示例

200 OK · application/json
{
  "id": "chatcmpl-…",
  "object": "chat.completion",
  "model": "claude-sonnet-5",
  "choices": [
    {
      "index": 0,
      "message": { "role": "assistant", "content": "…" },
      "finish_reason": "stop"
    }
  ],
  "usage": { "prompt_tokens": 12, "completion_tokens": 9, "total_tokens": 21 }
}

usage 对象包含作为计费依据的 token 数——见价格与计费。

Messages(Anthropic)

POSThttps://ai.geraikita.com/v1/messages

供 Anthropic SDK 和 Claude Code CLI 使用的原生 Anthropic 端点。客户端中的 base URL = https://ai.geraikita.com(不含 /v1)。

请求头

请求头值说明
x-api-keygk-…你的 gk- API 密钥(也接受 Authorization: Bearer)。
anthropic-version2023-06-01Anthropic API 版本;由 SDK 自动发送。
content-typeapplication/json—

请求体

参数类型说明
modelstring必填。模型 id,须与模型列表完全一致,不带前缀。
messagesarray必填。Anthropic 格式的消息数组,至少一条消息。
max_tokensinteger回答的最大 token 数(Anthropic 格式中为必填)。
systemstring / array系统指令(可选)。
streamboolean设为 true 可通过 Server-Sent Events 逐步接收回答。

请求示例

curl https://ai.geraikita.com/v1/messages \
  -H "x-api-key: gk-xxxxxxxx" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "你好!"}]
  }'

需要在发送前计算 token?POST https://ai.geraikita.com/v1/messages/count_tokens 接受相同的请求体,且不计费。

模型列表

GEThttps://ai.geraikita.com/v1/models

返回可在 model 字段中发送的模型 id 列表。使用受 allowlist 限制的密钥调用时,只显示允许的模型。带有 x-api-key 或 anthropic-version 请求头时,响应采用 Anthropic 格式。

curl https://ai.geraikita.com/v1/models \
  -H "Authorization: Bearer gk-xxxxxxxx"

流式输出(SSE)

设置 "stream": true 后,回答以 text/event-stream 发送。服务器会立即发送响应头,等待期间每 10 秒发送一行 keepalive 注释 : ka,以免连接被判定为已断开。请将应用的总 timeout 设为至少 300 秒。

text/event-stream
data: {"choices":[{"index":0,"delta":{"content":"Ha"}}]}

: ka

data: {"choices":[{"index":0,"delta":{"content":"lo!"}}]}

data: [DONE]
  • OpenAI 格式:每个片段是一行 data:,内含带 choices[].delta 的 JSON,以 data: [DONE] 结束。
  • Anthropic 格式:message_start、content_block_delta、…、message_stop 等事件,与 Anthropic API 相同。
  • 忽略以冒号(:)开头的行——那是 keepalive,不是数据。各工具的指南见Agentic 工具设置。