从第一条请求开始。
按照账号、密钥、模型、请求和用量核对的顺序完成接入。示例先查询当前密钥能看到的模型,再发送一条非流式文本请求。
进入你的平台账号
使用模型平台账号登录,API 密钥在登录后创建,用于程序调用。
忘记平台密码时,使用 找回密码 页面按提示重置。后面的命令需要在你自己的电脑或应用服务器终端运行,不是在网站地址栏输入。
创建、保存并复制完整密钥
- 打开 密钥管理,点击“创建 API Key”。
- 填写名称,选择账号当前可用的分组,按需设置令牌额度、有效期和模型限制。模型勾选只会进一步限制密钥,不会授予账号原本没有的模型权限。
- 点击“保存更改”,回到密钥列表,使用对应行的复制功能,复制完整的
sk-开头密钥。列表中的星号遮罩不是可用密钥,不要手抄遮罩文字。 - 从下面两种终端中选择一种,将完整密钥放入该终端会话的环境变量。不要同时混用 Bash 的
$TOKEN_API_KEY和 PowerShell 的$env:TOKEN_API_KEY语法。
Bash:Linux / macOS
在 Bash 中执行,提示输入时粘贴密钥;输入内容不会显示。macOS 默认终端可能使用 zsh,请先进入 Bash 或使用与你的终端匹配的命令。
read -rsp '粘贴列表中复制的完整 sk- 密钥: ' TOKEN_API_KEY
printf '\n'
export TOKEN_API_KEYWindows PowerShell
在 PowerShell 中执行。环境变量只设置在当前会话及其后续子进程中;关闭终端后,重新输入即可。
$secureKey = Read-Host '粘贴列表中复制的完整 sk- 密钥' -AsSecureString
$keyPtr = [Runtime.InteropServices.Marshal]::SecureStringToBSTR($secureKey)
try {
$env:TOKEN_API_KEY = [Runtime.InteropServices.Marshal]::PtrToStringBSTR($keyPtr)
} finally {
[Runtime.InteropServices.Marshal]::ZeroFreeBSTR($keyPtr)
Remove-Variable secureKey, keyPtr
}从当前密钥返回的列表中选择文本模型
先打开 官网模型广场 和 平台模型与价格页面,核对用途、接口类型与计费。然后用刚才的密钥查询 GET /v1/models。
Bash / cURL
下列 cURL 命令需要支持 --fail-with-body 的 cURL 7.76 或更高版本;反斜杠续行适用于 Bash,不适用于 PowerShell。
curl --silent --show-error --connect-timeout 10 --max-time 60 --fail-with-body \
https://api.zhdigi.com/v1/models \
-H "Authorization: Bearer $TOKEN_API_KEY"PowerShell
$models = Invoke-RestMethod -Method Get -Uri 'https://api.zhdigi.com/v1/models' -Headers @{ Authorization = "Bearer $env:TOKEN_API_KEY" } -TimeoutSec 60
$models.data | Select-Object -ExpandProperty id在成功响应的 data 数组中找到 id,选择其中已确认支持文本对话(Chat Completions)的模型,复制完整名称。列表可包含图像、语音、视频或向量模型,不能把这些名称直接放进文本对话接口。公开模型广场中的名称也不等于你的账号已有权限。
把选定的完整 id 设置为 TOKEN_TEXT_MODEL,后面的三个示例都使用同一个变量:
Bash
read -rp '输入刚才返回、且已确认支持文本对话的完整模型 id: ' TOKEN_TEXT_MODEL
export TOKEN_TEXT_MODELPowerShell
$env:TOKEN_TEXT_MODEL = Read-Host '输入刚才返回、且已确认支持文本对话的完整模型 id'如果返回成功但 data 为空,先核对分组、令牌模型限制和平台已发布的模型报价;不要把 JSON 空列表当作 DNS 故障。不要直接照抄未经当前密钥确认的固定示例模型名称。
发送第一条非流式文本请求
基础地址为 https://api.zhdigi.com/v1。SDK 使用该基础地址;完整 HTTP 地址则是 https://api.zhdigi.com/v1/chat/completions,不要重复拼接 /v1。
以下三种方式任选一种即可。不要为了测试重复执行全部示例。
Bash / cURL
curl --silent --show-error --connect-timeout 10 --max-time 60 --fail-with-body \
https://api.zhdigi.com/v1/chat/completions \
-H "Authorization: Bearer $TOKEN_API_KEY" \
-H "Content-Type: application/json" \
--data-raw "{\"model\":\"$TOKEN_TEXT_MODEL\",\"messages\":[{\"role\":\"user\",\"content\":\"你好\"}],\"stream\":false}"Windows PowerShell
$headers = @{ Authorization = "Bearer $env:TOKEN_API_KEY" }
$payload = @{
model = $env:TOKEN_TEXT_MODEL
messages = @(@{ role = 'user'; content = '你好' })
stream = $false
} | ConvertTo-Json -Depth 8
$response = Invoke-RestMethod -Method Post -Uri 'https://api.zhdigi.com/v1/chat/completions' -Headers $headers -ContentType 'application/json; charset=utf-8' -Body ([Text.Encoding]::UTF8.GetBytes($payload)) -TimeoutSec 60
$response.choices[0].message.contentPython 3.10+ / OpenAI SDK
先确认 Python 版本,并在应用虚拟环境中安装 SDK。Bash:
python3 --version # 需要 Python 3.10 或更高版本
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade openaiPowerShell(直接使用虚拟环境解释器,无需修改 PowerShell 执行策略):
py -3 --version # 需要 Python 3.10 或更高版本
py -3 -m venv .venv
.\.venv\Scripts\python.exe -m pip install --upgrade openai将下面代码保存为 example.py。在已设置两个环境变量的同一终端会话运行;代码设置 60 秒超时,并关闭 SDK 自动重试,避免不清楚结果时自动重复请求。
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["TOKEN_API_KEY"],
base_url="https://api.zhdigi.com/v1",
timeout=60.0,
max_retries=0,
)
response = client.chat.completions.create(
model=os.environ["TOKEN_TEXT_MODEL"],
messages=[{"role": "user", "content": "你好"}],
stream=False,
)
print(response.choices[0].message.content)Bash(上面的虚拟环境已激活):
python example.pyPowerShell:
.\.venv\Scripts\python.exe example.py成功时可读取 choices[0].message.content。若收到错误或超时,先按下一节核对调用记录,再决定是否重新请求;不要仅凭终端没有显示答案就连续重发。
核对调用记录、余额与充值订单
在 控制台概览 查看账户情况,在 用量日志 按时间和模型核对请求,在 钱包 查看余额、充值与订单信息。账户额度与令牌额度是两项限制;调高令牌额度不会给账户充值。
- 需要充值时进入钱包,选择页面预设的人民币金额或输入页面允许的有效金额。
- 仅选择页面当前实际可用的支付宝或微信支付,核对付款金额与到账金额后再确认。
- 按页面提示进入支付宝收银台,或使用微信扫码付款。
- 完成后核对订单状态和账户余额。实际模型价格、分组倍率和额度规则以当前平台显示为准。
先看错误内容,再决定下一步
| 响应或现象 | 检查内容 |
|---|---|
| 400 / 请求内容有误 | 检查 JSON 是否完整、必要字段是否齐全,以及参数类型和取值是否符合所选模型接口。 |
| 401 / 密钥鉴权失败 | 检查完整 sk- 密钥、Bearer 格式、是否禁用或过期,以及令牌自身额度是否耗尽;不要使用列表遮罩文字。 |
| 403 / 请求被拒绝 | 可能是账户余额或请求预扣额度不足,也可能是分组、模型、IP 等访问限制;按响应中的具体错误核对,不能只调整调用频率。 |
| 404 / 接口或模型不存在 | 检查基础地址和完整路径,避免重复 /v1;模型 id 应来自当前密钥成功返回的列表,并匹配文本对话接口。 |
| 429 / 频率或并发受限 | 读取错误详情,降低请求频率或并发;有 Retry-After 时按提示等待。余额不足不能通过不断重试解决。 |
| 503 / 维护或暂时不可用 | 平台维护、模型目录保护(如 quoted_model_scope_unavailable)或服务暂时不可用都可能返回此状态;先停止反复发送请求,等待恢复或联系支持。 |
| 其他 5xx | 可能来自平台或上游。记录发生时间、模型和脱敏请求标识,核对调用记录后反馈;不要自动重复付款或请求。 |
| 连接超时 / 无法建立 HTTPS | 检查 DNS、代理、防火墙与 HTTPS 出站连接。网络仅支持 IPv4 时可用 curl -4 验证;这与成功返回空模型数组是不同问题。 |
| 请求超时但是否成功不明 | 先核对用量日志和应用记录,确认是否已处理,再决定是否重发。关闭本示例的 SDK 重试并不等于上游一定未收到请求。 |
反馈问题时提供脱敏错误内容和请求时间。请勿发送完整 API 密钥、会话凭据或账户密码。
将示例接入你的应用
- 由自己的服务端持有和使用 API 密钥,不嵌入公开 JavaScript。
- 区分测试和生产密钥,设置必要的额度、有效期与权限。正式业务由服务端环境变量或受控密钥管理服务保存密钥。
- 为调用设置超时、失败提示和可审计的业务重试策略;先区分明确失败与结果不明。
- 不要把 API 基础地址填写成官网地址;平台登录、API 请求和官网咨询各有对应入口。
- 生成结果需结合应用场景核对,不直接作为未经审核的业务事实。