3つの値
- ベースURL
https://nokeep.ai/v1- APIキー
sk-nokeep-test (free) or your sk-nokeep-… key- モデル
deepseek-v4.1-flash-uncensored
公式のOpenAI SDKは、ベースURLとキーを環境変数から読み込みます。そのため多くのプロジェクトでは、コードを一切変えずに切り替えられます。
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とキーを使えます。まずはここで呼び出しを試してください:
対応している機能
| 機能 | 対応状況 |
|---|---|
POST /v1/chat/completions、一括またはストリーミング | はい、両方のモデル |
GET /v1/models と GET /v1/models/{id} | はい。コンテキスト長、最長の返信、トークンあたりの料金を含みます |
| ロール:system、developer、user、assistant、tool | はい |
ツール呼び出し:tools、tool_choice | はい。GLMでは、tool_choice は auto か none のみ指定できます。 |
reasoning_effort | DeepSeek:none、low、high、max。GLM:low、high。 |
image_url パーツとしての画像(リンクまたはデータURL) | deepseek-v4.1-flash-uncensored、1リクエストあたり最大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 API と Assistants API、旧式の completions | 404 not_found。利用できる4つのルートを挙げます |
1以外の n | 400 unsupported_n |
モデルが受け付けない reasoning_effort | 400 invalid_reasoning_effort。受け付ける値を挙げます |
glm-5.3-flash-uncensored で、tool_choice に関数名または required を指定すること | 400 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のホストは混雑する時間帯があります。混雑時の呼び出しは
Retry-After: 5付きの503 busyを返し、料金はかかりません。
よくある質問
切り替えるにはコードを変える必要がありますか?
変えるのはベースURL、キー、モデル名だけです。公式SDKなら、最初の2つは環境変数の OPENAI_BASE_URL と OPENAI_API_KEY から読み込めます。
OpenAIのエンドポイントを独自に指定できるアプリでも使えますか?
はい。OpenAI互換または独自のエンドポイント設定があるアプリなら、どれでも使えます。ガイド:SillyTavern、Open WebUI、そしてコーディングエージェントのページのコーディングエージェント。
どのOpenAIのモデルを呼び出せますか?
OpenAIのモデルはありません。形式はOpenAIのものですが、モデルは deepseek-v4.1-flash-uncensored と glm-5.3-flash-uncensored です。GET /v1/models ですべてのIDを一覧できます。
embeddingsのエンドポイントはありますか?
まだありません。このAPIが提供するのは、チャット補完、モデル一覧、稼働状況のルートです。新しいルートは変更履歴に載ります。
対応していない項目はどうなりますか?
破棄され、x-nokeep-ignored ヘッダーに名前が書かれるので、使われなかったものを正確に確認できます。リクエストの意味を変えてしまう値(例:1を超える n)は、代わりに 400 で拒否されます。