Skip to content

Code Examples

Copy-paste ready examples for Python, Node.js, and cURL.


cURL

Basic Chat

curl https://cnaitoken.store/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-your-api-key" \
  -d '{
    "model": "deepseek-chat",
    "messages": [
      {"role": "user", "content": "Translate hello to Chinese"}
    ]
  }'

With System Prompt

curl https://cnaitoken.store/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-your-api-key" \
  -d '{
    "model": "deepseek-chat",
    "messages": [
      {"role": "system", "content": "You are a translator. Output only the translation."},
      {"role": "user", "content": "Hello world"}
    ],
    "max_tokens": 100
  }'

Python

Install

pip install openai

Basic Chat

from openai import OpenAI

client = OpenAI(
    api_key="sk-your-api-key",
    base_url="https://cnaitoken.store/v1"
)

response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)

Streaming

from openai import OpenAI

client = OpenAI(
    api_key="sk-your-api-key",
    base_url="https://cnaitoken.store/v1"
)

stream = client.chat.completions.create(
    model="deepseek-chat",
    messages=[{"role": "user", "content": "Count from 1 to 5."}],
    stream=True
)

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

Multi-turn Conversation

from openai import OpenAI

client = OpenAI(
    api_key="sk-your-api-key",
    base_url="https://cnaitoken.store/v1"
)

messages = [
    {"role": "user", "content": "My name is Alice."}
]
response = client.chat.completions.create(
    model="deepseek-chat",
    messages=messages
)
messages.append({"role": "assistant", "content": response.choices[0].message.content})
messages.append({"role": "user", "content": "What is my name?"})

response = client.chat.completions.create(
    model="deepseek-chat",
    messages=messages
)
print(response.choices[0].message.content)  # "Your name is Alice."

Node.js

Install

npm install openai

Basic Chat

import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: process.env.CNAITOKEN_API_KEY || 'sk-your-api-key',
  baseURL: 'https://cnaitoken.store/v1',
});

const response = await client.chat.completions.create({
  model: 'deepseek-chat',
  messages: [{ role: 'user', content: 'Hello!' }],
});

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

Streaming

import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'sk-your-api-key',
  baseURL: 'https://cnaitoken.store/v1',
});

const stream = await client.chat.completions.create({
  model: 'deepseek-chat',
  messages: [{ role: 'user', content: 'Count from 1 to 5.' }],
  stream: true,
});

for await (const chunk of stream) {
  const content = chunk.choices[0]?.delta?.content;
  if (content) process.stdout.write(content);
}

Using Environment Variable

// .env
// CNAITOKEN_API_KEY=sk-your-api-key

import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: process.env.CNAITOKEN_API_KEY,
  baseURL: 'https://cnaitoken.store/v1',
});

Error Handling

Python

from openai import OpenAI, APIError

client = OpenAI(api_key="sk-your-api-key", base_url="https://cnaitoken.store/v1")

try:
    response = client.chat.completions.create(
        model="deepseek-chat",
        messages=[{"role": "user", "content": "Hi"}]
    )
    print(response.choices[0].message.content)
except APIError as e:
    if e.status_code == 402:
        print("Insufficient quota. Recharge at https://cnaitoken.store/topup")
    else:
        print(f"Error: {e}")

Node.js

try {
  const response = await client.chat.completions.create({ ... });
  console.log(response.choices[0].message.content);
} catch (error) {
  if (error.status === 402) {
    console.log('Insufficient quota. Recharge at https://cnaitoken.store/topup');
  } else {
    console.error('Error:', error.message);
  }
}