# 快速開始

準備帳戶、金鑰與模型 ID，送出第一個請求。

## 1. 準備帳戶

在[平台](https://api.xsopc.com)註冊或登入，按畫面完成電子郵件或手機驗證，並確認錢包可用餘額。手機註冊、簡訊登入及付款方式依目前設定開放。

## 2. 建立 API 金鑰

在[金鑰管理](https://api.xsopc.com/keys)建立應用程式專用金鑰，設定群組、模型範圍、有效期與額度，並儲存於伺服器環境變數。

## 3. 選擇模型與環境變數

從[模型廣場](https://api.xsopc.com/pricing)選擇可用的文字對話模型。以下為 Linux、macOS 或 WSL 的 Bash 語法，請替換占位值。



```bash
export XINGSUAN_API_KEY='YOUR_API_KEY'
export XINGSUAN_MODEL='YOUR_MODEL_ID'
```



Windows PowerShell 請使用下列寫法，再執行 Python 或 Node.js 範例。Bash 反斜線換行指令不可直接貼入 PowerShell。



```powershell
$env:XINGSUAN_API_KEY = 'YOUR_API_KEY'
$env:XINGSUAN_MODEL = 'YOUR_MODEL_ID'
```



## 4. 查詢可用模型

此 Bash 指令僅查詢模型，不會提交生成請求。



```bash
curl 'https://api.xsopc.com/v1/models' \
  -H "Authorization: Bearer $XINGSUAN_API_KEY"
```



## 5. 呼叫文字模型

此 Bash 指令會提交一次模型請求，成功呼叫依適用價格計費。



```bash
curl 'https://api.xsopc.com/v1/chat/completions' \
  -H "Authorization: Bearer $XINGSUAN_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-binary @- <<JSON
{
  "model": "$XINGSUAN_MODEL",
  "messages": [
    {
      "role": "user",
      "content": "Hello"
    }
  ]
}
JSON
```



典型回應包含 `choices` 與 `usage`，實際文字及 token 數量會不同。



```json
{
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello!"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 12,
    "completion_tokens": 4,
    "total_tokens": 16
  }
}
```



## Python 範例

先設定環境變數。使用 Python 3 標準函式庫，無須另外安裝 SDK。



```python
import json
import os
import urllib.request

body = {
    "model": os.environ["XINGSUAN_MODEL"],
    "messages": [{"role": "user", "content": "Hello"}],
}
request = urllib.request.Request(
    "https://api.xsopc.com/v1/chat/completions",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": "Bearer " + os.environ["XINGSUAN_API_KEY"],
        "Content-Type": "application/json",
    },
)
with urllib.request.urlopen(request, timeout=120) as response:
    result = json.load(response)
print(result["choices"][0]["message"]["content"])
```



## JavaScript 範例

使用內建 `fetch` 的 Node.js，儲存為 `demo.mjs` 後執行 `node demo.mjs`。請在伺服器執行，不要將金鑰放進瀏覽器程式碼。



```javascript
const response = await fetch('https://api.xsopc.com/v1/chat/completions', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.XINGSUAN_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: process.env.XINGSUAN_MODEL,
    messages: [{ role: 'user', content: 'Hello' }],
  }),
  signal: AbortSignal.timeout(120_000),
})
if (!response.ok) throw new Error(`HTTP ${response.status}`)
const data = await response.json()
console.log(data.choices[0].message.content)
```



## 下一步

閱讀[文字與串流輸出](/zh-TW/chat/)或[錯誤排查](/zh-TW/errors/)。先核對狀態碼、模型 ID、群組與餘額。
