跳到正文

OpenAI 兼容

OpenAI 兼容 API,即插即用

保留 OpenAI SDK 和你现有的代码。修改三个值——基础 URL、密钥和模型——你的聊天补全就会运行在两个不保存任何内容的无审查模型上。下面是 Python、JavaScript 和 curl 中的切换方法,以及一份准确的支持列表。

核对于 2026年10月29日

需要在代码中修改的值
3
可选的请求字段,原样透传
15
个路由,包括聊天补全
4
用 sk-nokeep-test 测试的费用
$0

三个值

Base URL
https://nokeep.ai/v1
API 密钥
sk-nokeep-test (free) or your sk-nokeep-… key
模型
deepseek-v4.1-flash-uncensored

官方 OpenAI SDK 从环境变量中读取基础 URL 和密钥,因此许多项目无需修改任何代码即可切换:

Shell
export OPENAI_BASE_URL="https://nokeep.ai/v1"
export OPENAI_API_KEY="sk-nokeep-…"

然后修改你调用时使用的模型名称,其他代码行保持不变。

Python、JavaScript 和 curl 中的用法

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://nokeep.ai/v1",
    api_key=os.environ["NOKEEP_API_KEY"],
)

reply = client.chat.completions.create(
    model="deepseek-v4.1-flash-uncensored",
    messages=[{"role": "user", "content": "Write a haiku about moving house."}],
)
print(reply.choices[0].message.content)

流式输出、工具、JSON 输出和图片的用法与 OpenAI 自身格式一致。基于 OpenAI SDK 构建的库和框架使用相同的基础 URL 和密钥。先在这里试一下调用:

在这里免费试一试

这会用测试密钥向 API 发送一个真实请求。它只回复一句固定内容,不收费。

支持的功能

功能是否支持
POST /v1/chat/completions,整体返回或流式返回是,两个模型均支持
GET /v1/models 和 GET /v1/models/{id}是,包含上下文长度、最长回复以及每个 token 的价格
角色:system、developer、user、assistant、tool是
工具调用:tools、tool_choice是。在 GLM 上,tool_choice 只接受 auto 或 none。
reasoning_effortDeepSeek:none、low、high、max。GLM:low、high。
以 image_url 部分传入的图片,可为链接或 data URLdeepseek-v4.1-flash-uncensored,每次请求最多 10 张
response_format、temperature、top_p、stop、seed、惩罚参数deepseek-v4.1-flash-uncensored
stream_options.include_usage、max_tokens、max_completion_tokens是
usage.prompt_tokens_details.cached_tokens 中的缓存输入是,按缓存价格计费

每个字段(逐个模型列出):聊天补全。

不支持的功能

不支持你会得到什么
其他端点:embeddings、images、audio、files、batch、moderations、Responses 和 Assistants API、旧版 completions404 not_found,并列出可用的四个路由
n 不等于 1400 unsupported_n
模型不支持的 reasoning_effort400 invalid_reasoning_effort,并列出支持的取值
在 glm-5.3-flash-uncensored 上使用指定函数或 required 作为 tool_choice400 unsupported_tool_choice
向 glm-5.3-flash-uncensored 发送图片;向任一模型发送音频或视频部分400 unsupported_input,并指出能读取图片的模型
超过 10 张图片,或超过 2,000 条消息400 too_many_images、400 invalid_messages
两个模型都不支持的字段,如 logprobs、logit_bias、user 或 store会被丢弃,并在 x-nokeep-ignored 响应头中列出

不支持的内容绝不会被猜测或悄悄改动:请求要么因错误码被拒绝,要么未使用的字段会在响应头中列出。每个错误码及其修复方法见错误说明。

需要了解的小差异

  • usage.nokeep_credits 显示本次调用花费了多少;在整个回复上,x-nokeep-credits 和 x-nokeep-balance 响应头也会显示这些信息。
  • 计费使用预付积分:1,000 积分 = $1,最低 $5 起充,且永不过期。被拒绝的调用不收费。
  • 速率限制:每个密钥每分钟 120 次请求。429 会附带 Retry-After。
  • GLM 的主机在高峰时段可能繁忙;繁忙时调用会返回 503 busy 和 Retry-After: 5,且不收费。

常见问题

切换时需要修改代码吗?

只需修改基础 URL、密钥和模型名称。使用官方 SDK 时,前两项可以从环境变量 OPENAI_BASE_URL 和 OPENAI_API_KEY 中读取。

支持需要自定义 OpenAI 端点的应用吗?

支持。任何提供 OpenAI 兼容或自定义端点设置的应用都可以使用。指南:SillyTavern、Open WebUI,以及编程代理页面中的编程代理。

我能调用哪些 OpenAI 模型?

一个都没有:格式是 OpenAI 的,模型是 deepseek-v4.1-flash-uncensored 和 glm-5.3-flash-uncensored。GET /v1/models 列出所有模型 ID。

有 embeddings 端点吗?

暂时没有。API 目前提供聊天补全、模型列表和状态路由。新路由会出现在更新日志中。

不支持的字段会怎样?

它们会被丢弃,并在 x-nokeep-ignored 响应头中列出,让你清楚看到哪些没有被使用。会改变请求含义的取值,例如大于 1 的 n,则会直接以 400 拒绝。