快速上手
下面使用 GPT Image 2.5,完成一次“提交 → 查询 → 下载”。生成请求会按所选分组计费;查询模型清单不会生成图片。
1. 创建令牌
登录令牌管理,创建 API Key,选择具有目标模型权限的分组。检查账户余额、令牌额度、有效期及模型限制。最低价需要对应的分组,并不是所有 Key 默认享有。
将 Key 保存在服务端环境变量 MXB_API_KEY 中。示例不会替你创建或储存真实 Key。
bash
# Bash:输入时不回显,避免 Key 出现在命令历史中
read -r -s -p 'API Key: ' MXB_API_KEY
export MXB_API_KEY
printf '\n'
上述命令使用 Bash 语法。Windows PowerShell 7 可在当前会话安全输入 Key,再使用本页后面的 PowerShell 示例:
powershell
$secureKey = Read-Host 'API Key' -AsSecureString
$env:MXB_API_KEY = [System.Net.NetworkCredential]::new('', $secureKey).Password
不要把 Key 提交到 Git 或放进网页源码。
2. 检查模型权限
bash
curl --fail-with-body --max-time 30 \
https://api.manxiaobai.online/v1/models \
-H "Authorization: Bearer $MXB_API_KEY"
检查响应 data[].id 是否包含 gpt-image-2.5。没有该模型时调整令牌分组或模型限制,不要反复提交生成请求验证权限。
3. 提交一次文生图
bash
curl --fail-with-body --max-time 60 \
https://api.manxiaobai.online/v1/images/generations/async \
-H "Authorization: Bearer $MXB_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "gpt-image-2.5",
"prompt": "白色桌面上的蓝色陶瓷茶壶,柔和自然光,产品摄影",
"size": "1024x1024",
"n": 1
}'
正常接纳返回 HTTP 202,包含 task_id、status、poll_url 和 poll_after_ms。下面是结构示意,ID 不能直接查询:
json
{
"id": "imgtask_example",
"task_id": "imgtask_example",
"object": "image.generation.task",
"status": "processing",
"state": "queued",
"poll_url": "https://api.manxiaobai.online/v1/images/tasks/imgtask_example",
"poll_after_ms": 3000
}
立即保存真实 task_id。--max-time 60 是客户端等待提交响应的时间,不是模型生成时限。没有拿到响应时,无法据此断定服务端未收到请求,不要自动重发。
4. 查询同一任务
bash
# 将返回的真实 task_id 赋给 MXB_TASK_ID
curl --fail-with-body --max-time 30 \
"https://api.manxiaobai.online/v1/images/tasks/$MXB_TASK_ID" \
-H "Authorization: Bearer $MXB_API_KEY"
使用创建任务时的同一 Key,按 poll_after_ms 间隔查询;当前默认 3000 毫秒。
processing:继续等待,不重新提交。completed:检查data[]非空,再读取图片 URL 或 Base64 结果。failed:停止查询,读取error.message。submission_uncertain:true表示提交结果不确定,先核对记录。
5. 下载图片
bash
# 将真实 data[0].url 赋给 MXB_IMAGE_URL;下载图片无需附带 API Key
curl --fail --location --proto '=https,http' --proto-redir '=https,http' \
--max-time 120 "$MXB_IMAGE_URL" --output result.png
输出文件名不会转换图片格式;实际格式与像素以返回图片为准。完整示例会校验 HTTP 状态、响应类型和非空结果,并支持用已有任务 ID 继续查询,见完整代码。
PowerShell 7 提交方式
powershell
# 前提:当前进程已设置 $env:MXB_API_KEY
$headers = @{ Authorization = "Bearer $env:MXB_API_KEY" }
$body = @{
model = 'gpt-image-2.5'
prompt = '白色桌面上的蓝色陶瓷茶壶,产品摄影'
size = '1024x1024'
n = 1
} | ConvertTo-Json
$task = Invoke-RestMethod -Method Post `
-Uri 'https://api.manxiaobai.online/v1/images/generations/async' `
-Headers $headers -ContentType 'application/json; charset=utf-8' `
-Body ([System.Text.Encoding]::UTF8.GetBytes($body)) -TimeoutSec 60
$task | ConvertTo-Json -Depth 10 | Set-Content -Encoding utf8 './mxb-task.json'
$task.task_id
Windows 使用 curl 命令时请写 curl.exe,避免部分 PowerShell 版本把 curl 当成其他命令的别名。