OpenAI 兼容 API 手册

任务队列

登录态任务队列用于把文本、图片或视频请求先写入 api09 TaskLog,再由 worker 领取并转发到 Bifrost/ToAPIs。任务详情、取消和重试都按当前用户隔离;用户侧保留自己的 prompt/结果 URL,原始 requestPayload 内部敏感字段默认脱敏。

POST /api/tasks
Tasks
curl https://api09.com/api/tasks \
  -H "Cookie: api09_session=..." \
  -H "Content-Type: application/json" \
  -d '{"mode":"image","model":"gpt-image-2","prompt":"一张 api09 控制台产品海报","resolution":"1K","size":"1:1"}'

curl https://api09.com/api/tasks/task_id \
  -H "Cookie: api09_session=..."

curl -X DELETE https://api09.com/api/tasks/task_id \
  -H "Cookie: api09_session=..."

curl -X POST https://api09.com/api/tasks/task_id/retry \
  -H "Cookie: api09_session=..."

请求字段

字段类型说明
sessioncookie登录后的控制台会话。
GET /api/tasks?take=50query列出当前用户最近任务,take 会被服务端限制在安全范围内。
POST /api/tasksbodymode、model、prompt、temperature,以及图片/视频规格字段。
GET /api/tasks/:idpath查询单个任务详情;跨用户访问返回 404。
DELETE /api/tasks/:idpath仅 QUEUED 任务可取消,成功写 TASK_CANCEL 审计。
POST /api/tasks/:id/retrypathFAILED 或 CANCELED 任务可重试,生成新的 QUEUED 任务。

响应与计费

字段类型说明
data.idstringapi09 TaskLog ID。
data.statusstringQUEUED / RUNNING / SUCCEEDED / FAILED / CANCELED。
data.progressnumber任务进度百分比。
data.creditsEstimate / creditsChargednumber预估积分和实际扣费。
data.requestPayloadobjectURL、base64、token、authorization 等 payload 内部敏感字段默认显示为 ••••。
UsageLog / LedgerEntryside effectworker 成功后写正数 UsageLog,并写负数 DEBIT ledger;DEBIT externalRef 必须等于 TaskLog.id。
data.errorMessagestring失败或取消时的脱敏错误信息。
retriedFromstring重试接口返回的原任务 ID。

积分统一换算:1 USD = 200 积分。

生产检查

任务查询必须按 user_id 隔离
取消只允许未提交上游的 QUEUED 任务
重试必须创建新任务而不是覆盖原记录
成功扣费用 TaskLog.id 作为 externalRef 保证重试幂等和审计追踪