Home / LLM API / Setup guide
Setup Guides

Configure each client the right way

Pick a client on the left to reveal the full guide. The examples below use your current API key and the live system base URL.

Back to pricing Console

Before you configure

  • Add balance and make sure your API key exists in the AI API Console.
  • Use the correct base URL per client: some need `/v1`, some do not.
  • Pick a model that is currently active in the pricing page.
  • When a client supports custom endpoints, always use the HTTPS endpoint of this site.

Base URL rules

  • OpenAI-compatible clients: use the base URL with `/v1`.
  • Claude Code `ANTHROPIC_BASE_URL`: use the root domain without `/v1`.

SDKs

If you want to integrate directly into your app, start with the SDK examples below.

Complete Python examples for both the Anthropic SDK and the OpenAI SDK, including standard and streaming requests.

Anthropic API request

# pip install anthropic
from anthropic import Anthropic

client = Anthropic(
    api_key="sk-YOUR_API_KEY",
    base_url="https://ckey.vn",
)

message = client.messages.create(
    model="claude-opus-4-6",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Write a fizzbuzz in Python."}
    ],
)

print(message.content)

Anthropic API streaming

# pip install anthropic
from anthropic import Anthropic

client = Anthropic(
    api_key="sk-YOUR_API_KEY",
    base_url="https://ckey.vn",
)

with client.messages.stream(
    model="claude-opus-4-6",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Tell me a short story."}
    ],
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

print()

OpenAI-compatible request

# pip install openai
from openai import OpenAI

client = OpenAI(
    api_key="sk-YOUR_API_KEY",
    base_url="https://ckey.vn/v1",
)

response = client.chat.completions.create(
    model="namnv/Claude Opus 4.6 + GPT 5.5",
    messages=[
        {"role": "user", "content": "Hello from CKEY"}
    ],
)

print(response.choices[0].message.content)

OpenAI-compatible streaming

# pip install openai
from openai import OpenAI

client = OpenAI(
    api_key="sk-YOUR_API_KEY",
    base_url="https://ckey.vn/v1",
)

stream = client.chat.completions.create(
    model="namnv/Claude Opus 4.6 + GPT 5.5",
    stream=True,
    messages=[
        {"role": "user", "content": "Write a short poem."}
    ],
)

for chunk in stream:
    delta = chunk.choices[0].delta.content or ""
    if delta:
        print(delta, end="", flush=True)

print()

Base URL

OpenAI-compatible: https://ckey.vn/v1

Anthropic-compatible: https://ckey.vn

Model

OpenAI-compatible: namnv/Claude Opus 4.6 + GPT 5.5

Anthropic-compatible: claude-opus-4-6

API Key

sk-YOUR_API_KEY

OpenAI-compatible chat/completions /v1

Cursor

Cursor should use the OpenAI-compatible path with a custom API key and custom base URL.

Required values

Provider
OpenAI-compatible
API Key
sk-YOUR_API_KEY
Base URL
https://ckey.vn/v1
Model
deepseek-r1-distill-qwen-32b
Route
chat/completions
Plan requirement
Requires a Cursor plan that supports custom API endpoints.

Recommended steps

  1. 1Open Cursor Settings and go to AI / Models / API Keys.
  2. 2Enable the custom OpenAI key or custom provider option for your build.
  3. 3Paste the API key and base URL shown below.
  4. 4Choose the suggested model or another currently active model.

Ready-to-copy block

Provider: OpenAI-compatible
API Key: sk-YOUR_API_KEY
Base URL: https://ckey.vn/v1
Model: deepseek-r1-distill-qwen-32b
Route: chat/completions

Recommended models

  • gpt-5.2
  • deepseek-r1-distill-qwen-32b
  • kimi-k2.5
  • kimi-k2.6
  • vykelongthuong/GPT 5.4
  • vykelongthuong/GPT 5.5

Notes

  • Cursor uses the OpenAI-compatible flow, so the base URL must include `/v1`.
  • If a model fails inside Cursor, switch to another active OpenAI-compatible model.
  • After saving, send a short prompt to confirm `chat/completions` works.