快速开始

前提条件

项目
API KeyJOY_TOKEN_API_KEY
API Base URL环境 选择 JOY_TOKEN_API_BASE_URL
OpenAI Base URL环境 选择 JOY_TOKEN_OPENAI_BASE_URL
模型auto
TypeScriptNode.js 18+
GoGo 1.22+

第 1 步:设置环境

$export JOY_TOKEN_API_KEY="jt_xxx"
$export JOY_TOKEN_API_BASE_URL="https://api-dev.joytokens.ai"
$export JOY_TOKEN_OPENAI_BASE_URL="https://api-dev.joytokens.ai/openai/v1"

第 2 步:安装 SDK

TypeScript:

$npm install @joytoken/client-sdk-ts

Go:

$go get github.com/joytoken/client-sdk-golang

第 3 步:发起调用

TypeScript:

1import { JoyTokenClient } from "@joytoken/client-sdk-ts";
2
3const joytoken = new JoyTokenClient({
4 apiKey: process.env.JOY_TOKEN_API_KEY,
5 apiBaseUrl: process.env.JOY_TOKEN_API_BASE_URL,
6 openAIBaseUrl: process.env.JOY_TOKEN_OPENAI_BASE_URL,
7});
8
9const completion = await joytoken.chat.completions.create({
10 model: "auto",
11 messages: [{ role: "user", content: "Reply with exactly: pong" }],
12});
13
14console.log(completion.choices[0]?.message?.content);

Go:

1client := joytoken.NewClient(
2 joytoken.WithAPIKey(os.Getenv("JOY_TOKEN_API_KEY")),
3 joytoken.WithAPIBaseURL(os.Getenv("JOY_TOKEN_API_BASE_URL")),
4 joytoken.WithOpenAIBaseURL(os.Getenv("JOY_TOKEN_OPENAI_BASE_URL")),
5)
6
7completion, err := client.CreateChatCompletion(ctx, joytoken.ChatCompletionRequest{
8 Model: "auto",
9 Messages: []joytoken.ChatMessage{
10 {Role: "user", Content: "Reply with exactly: pong"},
11 },
12})
13if err != nil {
14 return err
15}
16fmt.Println(completion.Choices[0].Message.Content)

第 4 步:检查结果

位置应看到
程序输出pong
JoyToken Logs请求路径是 /openai/v1/chat/completions
JoyToken Usage本次调用产生 tokens 和 credits

常见错误

错误处理方式
401 Unauthorized检查 JOY_TOKEN_API_KEY 是否存在且完整
403 Forbidden检查 API Key 策略是否允许 auto 或目标模型
402 insufficient_quota检查钱包余额和 Key 预算
请求超时设置更大的 SDK timeout,或检查到所选环境的网络