DuanAPI

API Documentation

API tương thích OpenAI. Chỉ cần đổi base_url và API key.

Base URL

https://www.thuehay.com/v1

Xác thực

Gửi API key qua header Authorization:

curl https://www.thuehay.com/v1/chat/completions \
  -H "Authorization: Bearer sk-duan-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [{"role": "user", "content": "Xin chào"}]
  }'

Endpoints

MethodPathMô tả
POST/v1/chat/completionsChat completion (hỗ trợ streaming)
POST/v1/completionsText completion
POST/v1/embeddingsVector embedding
POST/v1/messagesAnthropic-style messages
GET/v1/modelsDanh sách model khả dụng
GET/v1/usageThống kê sử dụng của bạn

Python (OpenAI SDK)

from openai import OpenAI

client = OpenAI(
    api_key="sk-duan-xxx",
    base_url="https://www.thuehay.com/v1",
)

resp = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Viết haiku về AI"}],
)
print(resp.choices[0].message.content)

Node.js

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "sk-duan-xxx",
  baseURL: "https://www.thuehay.com/v1",
});

const r = await client.chat.completions.create({
  model: "gpt-4o-mini",
  messages: [{ role: "user", content: "Hello" }],
});
console.log(r.choices[0].message.content);

cURL (streaming)

curl -N https://www.thuehay.com/v1/chat/completions \
  -H "Authorization: Bearer sk-duan-xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini",
    "stream": true,
    "messages": [{"role": "user", "content": "Kể một câu chuyện dài"}]
  }'

Mã lỗi

401Thiếu hoặc sai API key
402Không đủ credit
429Vượt rate limit
400Request không hợp lệ / model không khả dụng
502Lỗi kết nối tới upstream

Billing