HomeModelsCek KuotaDocsStatus
◆ Tutorial Setup

Docs Lengkap

Pakai satu API key Bokyerthe AI di app favoritmu. OpenAI-compatible tetap pakai https://ai.bokyerthe.com/v1. Anthropic-compatible pakai base https://ai.bokyerthe.com/v1 lalu endpoint /messages.

OpenAI-compatible

Untuk OpenAI SDK, 9Router, OmniRoute, VS Code extension mode OpenAI, Cline/Roo/Continue/Cursor, Postman, curl, dan client custom.

https://ai.bokyerthe.com/v1

Anthropic-compatible

Untuk Claude Code / Anthropic SDK / client native Claude. Kalau app minta base URL Anthropic, copy URL ini.

https://ai.bokyerthe.com/v1

Ringkasan paling penting

OpenAI-compatible
Base URL: https://ai.bokyerthe.com/v1
Chat endpoint: /v1/chat/completions
Models endpoint: /v1/models

Anthropic-compatible
Base URL: https://ai.bokyerthe.com/v1
Messages endpoint: /messages
Full endpoint: https://ai.bokyerthe.com/v1/messages
Header: anthropic-version: 2023-06-01

Model aktif

Copy salah satu. Cek katalog Models untuk credit rate dan rekomendasi pemakaian.

bkt/claude-sonnet-4.5
bkt/claude-haiku-4.5
bkt/qwen3-coder-next
bkt/glm-5
bkt/deepseek-3.2
bkt/glm-4.7-flash
bkt/gpt-oss-120b
bkt/nemotron-3-120b-a12b
bkt/grok-4.6

Claude Code — Anthropic-compatible

Claude Code biasanya minta base URL. Isi https://ai.bokyerthe.com/v1; nanti client panggil /messages sendiri.

export ANTHROPIC_BASE_URL="https://ai.bokyerthe.com/v1"
export ANTHROPIC_AUTH_TOKEN="sk-..."
export ANTHROPIC_MODEL="bkt/claude-sonnet-4.5"

claude

Ringkas: base URL Anthropic = https://ai.bokyerthe.com/v1. endpoint Anthropic = /messages / full URL https://ai.bokyerthe.com/v1/messages.

Anthropic Messages curl

Native Anthropic-compatible request.

curl https://ai.bokyerthe.com/v1/messages \
  -H "Authorization: Bearer *** \
  -H "Content-Type: application/json" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "bkt/claude-sonnet-4.5",
    "max_tokens": 256,
    "messages": [{"role":"user", "content":"halo"}]
  }'

OpenAI Python SDK

Pakai package openai. Cocok buat script, backend, dan automation.

from openai import OpenAI

client = OpenAI(
    base_url="https://ai.bokyerthe.com/v1",
    api_key="sk-...",
)

reply = client.chat.completions.create(
    model="bkt/claude-sonnet-4.5",
    messages=[{"role": "user", "content": "halo"}],
)
print(reply.choices[0].message.content)

OpenAI JavaScript / TypeScript SDK

Untuk Node.js, Bun, Next.js API route, worker, dan app custom.

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://ai.bokyerthe.com/v1",
  apiKey: ***
});

const res = await client.chat.completions.create({
  model: "bkt/claude-sonnet-4.5",
  messages: [{ role: "user", content: "halo" }],
});

console.log(res.choices[0].message.content);

OpenAI curl

Test cepat OpenAI-compatible.

curl https://ai.bokyerthe.com/v1/chat/completions \
  -H "Authorization: Bearer *** \
  -H "Content-Type: application/json" \
  -d '{
    "model": "bkt/claude-sonnet-4.5",
    "messages": [{"role":"user", "content":"halo"}],
    "max_tokens": 256
  }'

9Router

Pakai mode OpenAI-compatible / custom provider.

Provider Type : OpenAI Compatible / Custom OpenAI
Base URL      : https://ai.bokyerthe.com/v1
API Key       : sk-...
Model         : bkt/claude-sonnet-4.5
Chat Endpoint : /chat/completions
Models URL    : https://ai.bokyerthe.com/v1/models

Kalau 9Router minta provider name, isi bebas misal Bokyerthe AI. Kalau ada toggle tools/function calling, aktifkan bila client membutuhkannya.

OmniRoute

Ada dua pilihan: OpenAI-compatible untuk app umum, Anthropic-compatible untuk Claude-native route.

OpenAI route

name: bokyerthe-openai
protocol: openai
base_url: https://ai.bokyerthe.com/v1
api_key: sk-...
default_model: bkt/claude-sonnet-4.5

Anthropic route

name: bokyerthe-anthropic
protocol: anthropic
base_url: https://ai.bokyerthe.com/v1
messages_endpoint: /messages
api_key: sk-...
default_model: bkt/claude-sonnet-4.5

VS Code

Untuk extension yang punya pilihan provider OpenAI-compatible / custom endpoint.

Provider / API Type : OpenAI Compatible
Base URL            : https://ai.bokyerthe.com/v1
API Key             : sk-...
Model               : bkt/claude-sonnet-4.5
Cheap model         : bkt/claude-haiku-4.5

Kalau extension VS Code punya field “OpenAI API Base”, “Base URL”, atau “Custom Endpoint”, semuanya isi https://ai.bokyerthe.com/v1.

Cline

Cline biasanya pakai OpenAI-compatible paling gampang.

API Provider : OpenAI Compatible
Base URL     : https://ai.bokyerthe.com/v1
API Key      : sk-...
Model ID     : bkt/claude-sonnet-4.5

Untuk task agent panjang, pakai bkt/claude-sonnet-4.5. Untuk murah/cepat, pakai bkt/claude-haiku-4.5.

Roo Code

Roo mirip Cline. Pilih OpenAI-compatible.

Provider : OpenAI Compatible
Base URL : https://ai.bokyerthe.com/v1
API Key  : sk-...
Model    : bkt/claude-sonnet-4.5

Continue

Contoh konfigurasi config.yaml Continue.

models:
  - name: Bokyerthe Sonnet
    provider: openai
    model: bkt/claude-sonnet-4.5
    apiBase: https://ai.bokyerthe.com/v1
    apiKey: ***
  - name: Bokyerthe Agentic
    provider: openai
    model: bkt/claude-sonnet-4.5
    apiBase: https://ai.bokyerthe.com/v1
    apiKey: ***

Cursor

Gunakan custom OpenAI-compatible kalau Cursor workspace/support model custom.

Provider / Type : OpenAI Compatible
Base URL        : https://ai.bokyerthe.com/v1
API Key         : sk-...
Model           : bkt/claude-sonnet-4.5
Fast model      : bkt/claude-haiku-4.5

Open WebUI

Tambah koneksi OpenAI-compatible.

Admin Settings → Connections → OpenAI API
API Base URL : https://ai.bokyerthe.com/v1
API Key      : sk-...
Models       : Sync from /v1/models

LibreChat

Contoh endpoint custom OpenAI-compatible.

custom:
  - name: "Bokyerthe AI"
    apiKey: ***
    baseURL: "https://ai.bokyerthe.com/v1"
    models:
      default: ["bkt/claude-sonnet-4.5", "bkt/claude-haiku-4.5"]
      fetch: true
    titleConvo: true
    modelDisplayLabel: "Bokyerthe AI"

LangChain JS

Gunakan OpenAI-compatible chat model.

import { ChatOpenAI } from "@langchain/openai";

const llm = new ChatOpenAI({
  model: "bkt/claude-sonnet-4.5",
  apiKey: ***
  configuration: {
    baseURL: "https://ai.bokyerthe.com/v1",
  },
});

LangChain Python

OpenAI-compatible via langchain-openai.

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="bkt/claude-sonnet-4.5",
    api_key="sk-...",
    base_url="https://ai.bokyerthe.com/v1",
)

LiteLLM client

Kalau app kamu sendiri pakai LiteLLM sebagai client.

import litellm

response = litellm.completion(
    model="openai/bkt/claude-sonnet-4.5",
    api_base="https://ai.bokyerthe.com/v1",
    api_key="sk-...",
    messages=[{"role": "user", "content": "halo"}],
)

Aider

Aider bisa diarahkan ke OpenAI-compatible endpoint.

export OPENAI_API_BASE="https://ai.bokyerthe.com/v1"
export OPENAI_API_KEY="sk-..."

aider --model openai/bkt/claude-sonnet-4.5

Codex CLI / OpenAI-style CLI

Pilih provider OpenAI-compatible / custom base URL.

OPENAI_BASE_URL=https://ai.bokyerthe.com/v1
OPENAI_API_KEY=sk-...
OPENAI_MODEL=bkt/claude-sonnet-4.5

# Kalau CLI support flag model:
--model bkt/claude-sonnet-4.5

Zed

Untuk Zed AI provider custom/OpenAI-compatible.

Provider : OpenAI Compatible
Base URL : https://ai.bokyerthe.com/v1
API Key  : sk-...
Model    : bkt/claude-sonnet-4.5

Windsurf

Kalau tersedia custom provider / OpenAI-compatible.

Provider / Type : OpenAI Compatible
Base URL        : https://ai.bokyerthe.com/v1
API Key         : sk-...
Model           : bkt/claude-sonnet-4.5
Fast model      : bkt/claude-haiku-4.5

JetBrains AI / custom OpenAI

Untuk plugin JetBrains yang support custom OpenAI endpoint.

Provider : OpenAI Compatible / Custom OpenAI
Base URL : https://ai.bokyerthe.com/v1
API Key  : sk-...
Model    : bkt/claude-sonnet-4.5

LobeChat

Tambah provider OpenAI-compatible di settings.

Provider Name : Bokyerthe AI
API Key       : sk-...
Base URL      : https://ai.bokyerthe.com/v1
Model List    : Sync / custom
Default Model : bkt/claude-sonnet-4.5

LM Studio-style clients

Client yang biasanya menerima OpenAI-compatible server URL juga bisa diarahkan ke gateway ini.

OpenAI-compatible server URL : https://ai.bokyerthe.com/v1
API Key                      : sk-...
Model                        : bkt/claude-haiku-4.5

Postman / Insomnia

Manual HTTP test.

OpenAI request

POST https://ai.bokyerthe.com/v1/chat/completions
Authorization: Bearer ***
Content-Type: application/json

{
  "model": "bkt/claude-sonnet-4.5",
  "messages": [{"role":"user", "content":"halo"}]
}

Anthropic request

POST https://ai.bokyerthe.com/v1/messages
Authorization: Bearer ***
anthropic-version: 2023-06-01
Content-Type: application/json

{
  "model": "bkt/claude-sonnet-4.5",
  "max_tokens": 256,
  "messages": [{"role":"user", "content":"halo"}]
}

Environment variables umum

Banyak tool bisa baca env ini.

# OpenAI-compatible
export OPENAI_API_KEY="sk-..."
export OPENAI_BASE_URL="https://ai.bokyerthe.com/v1"
export OPENAI_MODEL="bkt/claude-sonnet-4.5"

# Anthropic-compatible
export ANTHROPIC_AUTH_TOKEN="sk-..."
export ANTHROPIC_BASE_URL="https://ai.bokyerthe.com/v1"
export ANTHROPIC_MODEL="bkt/claude-sonnet-4.5"

Cek model & kuota

List model

curl https://ai.bokyerthe.com/v1/models \
  -H "Authorization: Bearer ***

Cek kuota key

curl https://ai.bokyerthe.com/key/info \
  -H "Authorization: Bearer ***

Rekomendasi pilih model

Hemat / cepat
bkt/claude-haiku-4.5 — 1.0× credit.

Default aman
bkt/claude-sonnet-4.5 — 1.0× credit.

Arti error yang sering muncul

401 / No api key passed in
API key belum ditempel, salah, expired, atau header Authorization tidak terkirim.

Model not found
Nama model typo. Copy dari daftar model aktif.

Kuota habis
Sisa credit token habis. Top up atau generate key baru.

Timeout / 5xx
Model sedang lambat atau upstream sibuk. Coba ulang, turunkan max_tokens, atau pindah model.