Lompat ke konten

Kompatibel OpenAI

API kompatibel OpenAI, tinggal pasang

Pertahankan SDK OpenAI dan kode yang sudah kamu punya. Ganti tiga nilai, yaitu URL dasar, kunci dan model, dan chat completions-mu berjalan di dua model tanpa sensor yang tidak menyimpan apa pun. Di bawah: cara menggantinya di Python, JavaScript dan curl, serta daftar pasti yang didukung.

Diperiksa 29 Oktober 2026

nilai yang perlu diganti di kodemu
3
kolom permintaan opsional yang diteruskan
15
rute, termasuk chat completions
4
untuk menguji dengan sk-nokeep-test
$0

Tiga nilai itu

URL dasar
https://nokeep.ai/v1
Kunci API
sk-nokeep-test (free) or your sk-nokeep-… key
Model
deepseek-v4.1-flash-uncensored

SDK OpenAI resmi membaca URL dasar dan kunci dari variabel lingkungan, jadi untuk banyak proyek perpindahannya tidak perlu mengubah kode sama sekali:

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

Lalu ganti nama model di tempat kamu memanggilnya. Baris lainnya tetap.

Di Python, JavaScript dan 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)

Streaming, alat, keluaran JSON dan gambar bekerja seperti pada format OpenAI. Pustaka dan kerangka kerja yang dibangun di atas SDK OpenAI memakai URL dasar dan kunci yang sama. Coba panggilannya di sini dulu:

Coba di sini, gratis

Ini mengirim permintaan sungguhan ke API dengan kunci uji. Jawabannya satu baris tetap dan tidak dikenai biaya.

Yang didukung

FiturDidukung
POST /v1/chat/completions, utuh atau di-streamYa, kedua model
GET /v1/models dan GET /v1/models/{id}Ya, dengan panjang konteks, balasan terpanjang dan harga per token
Peran: system, developer, user, assistant, toolYa
Panggilan alat: tools, tool_choiceYa. Di GLM, tool_choice hanya menerima auto atau none.
reasoning_effortDeepSeek: none, low, high, max. GLM: low, high.
Gambar sebagai bagian image_url, tautan atau data URLdeepseek-v4.1-flash-uncensored, hingga 10 per permintaan
response_format, temperature, top_p, stop, seed, penaltideepseek-v4.1-flash-uncensored
stream_options.include_usage, max_tokens, max_completion_tokensYa
Input yang di-cache di usage.prompt_tokens_details.cached_tokensYa, ditagih dengan harga cache

Setiap kolom, model demi model: Chat completions.

Yang tidak

Tidak didukungYang kamu dapat
Endpoint lain: embeddings, images, audio, files, batch, moderations, API Responses dan Assistants, legacy completions404 not_found, menyebutkan empat rute yang tersedia
n selain 1400 unsupported_n
reasoning_effort yang tidak diterima model400 invalid_reasoning_effort, menyebutkan yang diterima
Fungsi bernama atau required sebagai tool_choice pada glm-5.3-flash-uncensored400 unsupported_tool_choice
Gambar ke glm-5.3-flash-uncensored; bagian audio atau video ke model mana pun400 unsupported_input, menyebutkan model yang membaca gambar
Lebih dari 10 gambar, atau lebih dari 2,000 pesan400 too_many_images, 400 invalid_messages
Kolom yang tidak diterima kedua model, seperti logprobs, logit_bias, user atau storeDibuang, dan disebutkan di header x-nokeep-ignored

Tidak ada yang tidak didukung ditebak atau diubah diam-diam: permintaan ditolak dengan kode, atau kolom yang tidak terpakai disebutkan di header. Setiap kode dan perbaikannya: Error.

Perbedaan kecil yang perlu diketahui

  • usage.nokeep_credits menyatakan biaya panggilan, dan header x-nokeep-credits serta x-nokeep-balance menyatakannya pada balasan utuh.
  • Penagihan memakai kredit prabayar: 1,000 kredit sama dengan $1, mulai dari $5, dan tidak pernah hangus. Panggilan yang ditolak tidak dikenai biaya.
  • Batas laju: 120 permintaan per menit per kunci. Balasan 429 membawa Retry-After.
  • Host GLM bisa sibuk pada jam ramai; panggilan yang sibuk dijawab 503 busy dengan Retry-After: 5 dan tidak dikenai biaya.

Pertanyaan

Apakah saya perlu mengubah kode untuk pindah?

Hanya URL dasar, kunci dan nama model. Dengan SDK resmi, dua yang pertama bisa diambil dari OPENAI_BASE_URL dan OPENAI_API_KEY di lingkungan.

Apakah ini bekerja dengan aplikasi yang menerima endpoint OpenAI kustom?

Bisa. Aplikasi apa pun dengan pengaturan endpoint kompatibel OpenAI atau kustom bisa dipakai. Panduan: SillyTavern, Open WebUI, dan agen coding di halaman agen coding.

Model OpenAI mana yang bisa saya panggil?

Tidak ada: formatnya milik OpenAI, tetapi modelnya deepseek-v4.1-flash-uncensored dan glm-5.3-flash-uncensored. GET /v1/models mencantumkan setiap id.

Apakah ada endpoint embeddings?

Belum. API melayani chat completions, daftar model dan rute status. Rute baru akan muncul di changelog.

Apa yang terjadi pada kolom yang tidak didukung?

Kolom itu dibuang dan disebutkan di header x-nokeep-ignored, sehingga kamu bisa melihat persis apa yang tidak dipakai. Nilai yang akan mengubah makna permintaan, seperti n di atas 1, ditolak dengan 400.