中文 ▾
获取您的密钥

API 文档

几分钟内即可开始使用我们兼容 OpenAI 的无审查 API。使用您生成的 glm API 密钥向我们的单模型端点发送请求。

认证与请求头

你的 glm api key 授权每个请求。在 Authorization 页眉作为 Bearer 令牌。这是官方 OpenAI SDK 使用的标准方法,适用于任何支持 OpenAI 兼容认证的客户。通过仪表板使用 Google 或邮箱注册后,您将立即获得此密钥。

妥善保管您的密钥。它提供对您预存信用的完全访问权限。如果丢失,请生成新密钥;旧密钥将立即失效。任何时间,每个账户只能有一个活跃密钥。

聊天完成端点

使用 POST /v1/chat/completions 端点。所有请求的基础 URL 为 https://api.apiglm.com/v1. 您必须将模型 ID 指定为 uncensored 在请求体中。此端点处理标准的对话轮次并返回生成的文本。

每个请求从您的预付费余额中消耗 token。错误和拒绝不会扣除您的信用额度。该模型接受消息序列,允许在上下文窗口内进行多轮对话。

curl https://api.apiglm.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "list the features"}]
  }'

模型端点

通过调用验证可用模型和端点配置 GET /v1/models. 此端点返回 API 当前支持的模型列表。您可以使用此功能确认连通性并在发送补全请求前检查模型 ID。这对于调试客户端配置很有用。

响应包括有关模型的元数据,例如其 ID 和 owned_by 字段。此端点不消耗信用额度。使用它来确保你的客户端指向正确的 base URL,并且你的身份验证标头有效。

流式传输与 SSE

通过将 stream: true 在您的请求中。API 返回服务器发送事件(SSE)流。每个块包含部分文本增量。最后一个块包含请求的完整令牌使用统计信息。

流式传输降低了用户的感知延迟。它允许您的应用程序显示生成的令牌。这对于期望即时反馈的聊天界面非常理想。正确处理流以确保处理所有令牌。

from openai import OpenAI

client = OpenAI(base_url="https://api.apiglm.com/v1", api_key="YOUR_KEY")

resp = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)

函数调用

在请求中定义工具以启用函数调用。模型可以返回结构化 JSON,标识要调用的函数及其参数。这允许你的应用程序根据用户意图执行代码。支持包括工具定义、工具选择和用于严格输出格式的 JSON 模式。

使用此功能将 LLM 集成到您的工作流程中。在请求正文中定义函数模式。模型响应工具调用列表。在代码中解析这些调用以触发外部操作。这使复杂的多步骤任务成为可能。

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.apiglm.com/v1", apiKey: process.env.API_KEY });

const resp = await client.chat.completions.create({
  model: "uncensored",
  messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);

参数 & 限制

上下文窗口支持 100,000 个 token,同时适用于 prompt 和 completion。每次请求最大输出为 16,000 个 token。设置 max_tokens 控制输出长度。如果未指定,默认为 2,048 个 token。您可以调整 temperature、top_p 和 seed 以增加变异性。

每个密钥每分钟允许 300 次请求。并发请求每个密钥上限为 8 个。请求体必须小于 8 MB。错误返回标准的 HTTP 状态码。401 表示密钥无效,402 表示余额耗尽,429 表示超出限流。

流式传输

stream = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Tell the story in second person."}],
    stream=True,
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

常见问题

API 的基础 URL 是什么?

基础 URL 为 HTTPS://api.apiglm.com/v1。所有端点(包括聊天补全和模型)均相对于此 URL。请在您的 SDK 配置或 HTTP 客户端中使用此 URL。

如何处理流式传输响应?

在请求中将 stream 参数设置为 true。API 返回 SSE 流。每个 chunk 包含部分文本。最后一个 chunk 包含 token 使用信息。按到达顺序处理每个 chunk 以显示实时输出。

如果我超出速率限制会怎样?

API 返回 429 状态码。您被限制为每分钟 300 次请求,每个密钥 8 个并发请求。等待速率限制窗口重置或降低您的请求频率。

即时获取您的密钥

注册,复制密钥,更新您的基础 URL。就是这样。