从第一条请求开始。

按照账号、密钥、模型、请求和用量核对的顺序完成接入。示例先查询当前密钥能看到的模型,再发送一条非流式文本请求。

进入你的平台账号

使用模型平台账号登录,API 密钥在登录后创建,用于程序调用。

  1. 打开 平台登录页,使用平台账号登录。
  2. 尚无账号时,打开 注册页面;若注册未开放,通过 联系我们 咨询。
  3. 进入 控制台概览,确认账户状态与可用额度。

忘记平台密码时,使用 找回密码 页面按提示重置。后面的命令需要在你自己的电脑或应用服务器终端运行,不是在网站地址栏输入。

创建、保存并复制完整密钥

  1. 打开 密钥管理,点击“创建 API Key”。
  2. 填写名称,选择账号当前可用的分组,按需设置令牌额度、有效期和模型限制。模型勾选只会进一步限制密钥,不会授予账号原本没有的模型权限。
  3. 点击“保存更改”,回到密钥列表,使用对应行的复制功能,复制完整的 sk- 开头密钥。列表中的星号遮罩不是可用密钥,不要手抄遮罩文字。
  4. 从下面两种终端中选择一种,将完整密钥放入该终端会话的环境变量。不要同时混用 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_KEY

Windows 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
}
API 密钥用于程序调用,不是网页登录密码。为每个应用创建独立密钥;不要把密钥写进公开代码、截图或聊天记录。创建密钥和勾选“不限额度”都不会增加账户余额。

从当前密钥返回的列表中选择文本模型

先打开 官网模型广场 和 平台模型与价格页面,核对用途、接口类型与计费。然后用刚才的密钥查询 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_MODEL

PowerShell

$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.content

Python 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 openai

PowerShell(直接使用虚拟环境解释器,无需修改 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.py

PowerShell:

.\.venv\Scripts\python.exe example.py

成功时可读取 choices[0].message.content。若收到错误或超时,先按下一节核对调用记录,再决定是否重新请求;不要仅凭终端没有显示答案就连续重发。

核对调用记录、余额与充值订单

在 控制台概览 查看账户情况,在 用量日志 按时间和模型核对请求,在 钱包 查看余额、充值与订单信息。账户额度与令牌额度是两项限制;调高令牌额度不会给账户充值。

  1. 需要充值时进入钱包,选择页面预设的人民币金额或输入页面允许的有效金额。
  2. 仅选择页面当前实际可用的支付宝或微信支付,核对付款金额与到账金额后再确认。
  3. 按页面提示进入支付宝收银台,或使用微信扫码付款。
  4. 完成后核对订单状态和账户余额。实际模型价格、分组倍率和额度规则以当前平台显示为准。
已付款但余额未更新时,保留订单号、支付时间和交易凭证,通过 联系我们 反馈。不要对同一笔充值反复付款,也不要把完整密钥或账户密码发给支持人员。

先看错误内容,再决定下一步

响应或现象检查内容
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 请求和官网咨询各有对应入口。
  • 生成结果需结合应用场景核对,不直接作为未经审核的业务事实。

企业算力与部署需求可查看 算力产品 和 行业解决方案,选型与接入问题请通过 联系我们 提交。

站点管理