5 分钟 Quickstart
1. 准备环境变量
在用户中心创建 API Key,把它注入本地环境。不要把 Key 写进源码、终端历史、日志或截图。AICredits API Key 仅用于 AICredits 数据 API,不是其他模型服务的官方 Key。
export AICREDITS_API_KEY="从安全环境注入"
export API_BASE_URL="数据 API 地址"
export MODEL="从 /v1/models 返回结果中选择"数据 API 使用 Authorization: Bearer $AICREDITS_API_KEY。先在公开模型目录确认 protocols 包含 openai_chat_completions,再调用 /v1/models 确认当前凭据可用的模型,最后运行以下任一片段。/v1/models 本身不返回协议详情。
2. 发起请求
cURL
#!/usr/bin/env bash
set -euo pipefail
: "${AICREDITS_API_KEY:?Set AICREDITS_API_KEY in your environment}"
: "${API_BASE_URL:?Set API_BASE_URL to the data API origin}"
: "${MODEL:?Set MODEL to a model listed by /v1/models}"
curl --fail-with-body --silent --show-error \
"${API_BASE_URL}/v1/chat/completions" \
-H "Authorization: Bearer $AICREDITS_API_KEY" \
-H "Content-Type: application/json" \
--data "{\"model\":\"${MODEL}\",\"messages\":[{\"role\":\"user\",\"content\":\"<YOUR_PROMPT>\"}]}"Python(标准库)
import json
import os
import urllib.request
api_key = os.environ["AICREDITS_API_KEY"]
base_url = os.environ["API_BASE_URL"].rstrip("/")
model = os.environ["MODEL"]
body = json.dumps({
"model": model,
"messages": [{"role": "user", "content": "<YOUR_PROMPT>"}],
}).encode()
request = urllib.request.Request(
f"{base_url}/v1/chat/completions",
data=body,
headers={"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"},
method="POST",
)
with urllib.request.urlopen(request, timeout=30) as response:
print(response.read().decode())Node.js 18+
const apiKey = process.env.AICREDITS_API_KEY
const baseURL = process.env.API_BASE_URL?.replace(/\/$/, '')
const model = process.env.MODEL
if (!apiKey || !baseURL || !model) {
throw new Error('Set AICREDITS_API_KEY, API_BASE_URL, and MODEL in the environment')
}
const response = await fetch(`${baseURL}/v1/chat/completions`, {
method: 'POST',
headers: { Authorization: `Bearer ${apiKey}`, 'Content-Type': 'application/json' },
body: JSON.stringify({
model,
messages: [{ role: 'user', content: '<YOUR_PROMPT>' }],
}),
signal: AbortSignal.timeout(30_000),
})
if (!response.ok) throw new Error(`Request failed with HTTP ${response.status}`)
console.log(await response.json())3. 检查结果
保存响应头 X-Request-Id 用于排查,但不要记录请求正文或响应正文。可通过 /v1/balance 查看可用余额,通过 /v1/usage 查看当前凭据范围内的汇总用量。
下一步:协议与 SDK 支持 · 认证与 Key 安全 · 错误处理
4. Token 计数与 Embeddings
以下公开接口已可用,模型仍须来自 /v1/models。/v1/messages/count_tokens 支持已启用的 OpenAI、Grok 和 Claude 路径;Grok 的计数为本地估算,计数不等于最终计费用量。Embeddings 模型必须声明 openai_embeddings 协议。
Messages Token 计数
#!/usr/bin/env bash
set -euo pipefail
: "${AICREDITS_API_KEY:?Set AICREDITS_API_KEY in your environment}"
: "${API_BASE_URL:?Set API_BASE_URL to the data API origin}"
: "${MODEL:?Set MODEL to a listed model with Messages token counting}"
curl --fail-with-body --silent --show-error \
"${API_BASE_URL}/v1/messages/count_tokens" \
-H "x-api-key: $AICREDITS_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
--data "{\"model\":\"${MODEL}\",\"messages\":[{\"role\":\"user\",\"content\":\"<TEXT_TO_COUNT>\"}]}"Embeddings
#!/usr/bin/env bash
set -euo pipefail
: "${AICREDITS_API_KEY:?Set AICREDITS_API_KEY in your environment}"
: "${API_BASE_URL:?Set API_BASE_URL to the data API origin}"
: "${MODEL:?Set MODEL to a model listed by /v1/models with openai_embeddings support}"
curl --fail-with-body --silent --show-error \
"${API_BASE_URL}/v1/embeddings" \
-H "Authorization: Bearer $AICREDITS_API_KEY" \
-H "Content-Type: application/json" \
--data "{\"model\":\"${MODEL}\",\"input\":\"<TEXT_TO_EMBED>\"}"5. 更多调用方式
使用 Responses / Claude 的 OpenAI 兼容调用、Messages、Gemini 原生协议,或 TypeScript / Swift / Kotlin SDK 0.3.0。图片与视频生成的输入格式和支持边界见协议说明。
接入中国大模型
DeepSeek、Kimi、MiniMax、智谱 GLM 使用相同的平台凭据。请先阅读中国大模型接入,按公开目录的协议与当前可用 ID 选模。GLM 当前没有 Responses 路径;Chat 或 Messages 是其已实现的接口。官方 SDK 0.3.0 的 listPublicModels 可直接读取公开能力与费率。