快速开始
10 分钟走通:注册 → 充值 → 创建 API Key → 发起第一次调用。
1. 创建账户并登录
- 访问 Console 首页,点「立即注册」
- 填写账户名、手机号和密码,先获取短信验证码
- 输入短信验证码,完成 Turnstile 人机验证并创建账户
- 首次登录自动进入"新手引导",跟着走就能熟悉主要功能
当前采用余额按量计费:充值后按实际 token 用量扣费,不再按月套餐赠送额度。
2. 充值
生产环境建议先充值再开发。在侧边栏 账单 & 充值 里直接充入钱包余额。
- 支持支付宝 / 微信 / 对公转账
- 余额精确到 ¥0.000001,按实际 token 用量扣
- 可设置低余额告警阈值,自动通过邮件 / Webhook 通知
3. 创建 API Key
- 打开 API Keys → 点「新建」
- 给 Key 起个好记的名字(例如
prod-backend、dev-test) - 可选:填写备注,并设置 RPM/TPM 上限、月 Token、月预算和过期时间
- 点「创建」,复制返回的
sk-swx-xxxx原文
Key 只显示一次
Swarmix 只在创建瞬间返回明文,后续在 UI 里永远只显示脱敏(首 4 + 末 4 位)。请把 Key 立即存到密码管理器 / 环境变量 / 密钥管理服务里。如果遗失,删了重新创建即可。
4. 发起第一次调用
Python(OpenAI SDK)
最推荐的方式:零改动迁移。
python
pip install openai
# ────────────────────
from openai import OpenAI
client = OpenAI(
api_key="sk-swx-xxxxxxxxxxxxxxxxxxxx", # 刚才复制的
base_url="http://router.swarmixtoken.com/v1", # 换成我们的
)
resp = client.chat.completions.create(
model="aliyun/qwen-max",
messages=[
{"role": "system", "content": "你是一个专业的技术顾问。"},
{"role": "user", "content": "用一句话总结 gRPC 比 REST 好在哪"},
],
temperature=0.7,
max_tokens=200,
)
print(resp.choices[0].message.content)
print(f"\ntokens 用量: {resp.usage}")Node.js(OpenAI SDK)
javascript
npm install openai
// ────────────────────
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "sk-swx-xxxxxxxxxxxxxxxxxxxx",
baseURL: "http://router.swarmixtoken.com/v1",
});
const resp = await client.chat.completions.create({
model: "aliyun/deepseek-r1",
messages: [{ role: "user", content: "Hello" }],
stream: false,
});
console.log(resp.choices[0].message.content);curl(裸 HTTP)
bash
curl http://router.swarmixtoken.com/v1/chat/completions \
-H "Authorization: Bearer sk-swx-xxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "tencent/hunyuan-turbo",
"messages": [{"role":"user","content":"你好"}],
"temperature": 0.7
}'5. 启用流式响应
加一个 stream=true 就切换到 SSE 流式输出。更详细的流式处理(含错误恢复)见 最佳实践 · 流式响应处理。
python
stream = client.chat.completions.create(
model="aliyun/qwen-max",
messages=[{"role": "user", "content": "写一首关于秋天的诗"}],
stream=True,
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)