单个请求计费

GET/v1/billing/requests/{request_id}

计费 request id 查询单次推理调用的 账单与计量摘要。该 id 与当次调用 HTTP 响应头 X-Request-IDX-Trace-ID(二者同值)中的 UUID 一致。

面向具体环境使用对应的 HTTPS 基址;携带 Authorization: Bearer <API Key>sk-…)或用户 JWT,与其它需鉴权的平台接口一致。

认证

Authorization Bearer

Authorization 请求头中使用 API Key(sk-…)或用户 JWT,与其它需登录的 /v1/... 接口一致(例如 /v1/files)。

路径参数

request_idstringrequired

计费关联 id:取该次推理调用 HTTP 响应头 X-Request-ID / X-Trace-ID 中的 UUID。

查询参数

typestringdefault:all

可选。不传等同于 all(全类型解析)。仅在仅靠 request id 可能歧义、需要收窄为 llm / image / audio / video 时再传。

Available options: all llm image audio video

响应

响应体为通用 R<T>codemsgdatatraceId;部分错误含 serviceCode)。成功时 code200data计费对账摘要(与后端 BillingRequestSummaryVO 字段一致);失败时 datanull

codeinteger

成功为 200;无记录或无权访问时为 404。

msgstring

说明信息。

dataobject | null

成功时为摘要对象;失败时为 null。字段以实际响应为准,大量字段为可选,视归档情况而定。

idstring

行主键 id。

requestIdstring

计费关联 id(解析成功时常与路径一致)。

typestring

如 llm、image、audio、video。

modelstring

展示用模型名。

modelNamestring | null

模型名(若有)。

statusstring

任务或请求状态(若有)。

createTimeinteger | string | null

创建时间 epoch 秒(UTC);JSON 可能为字符串或数字(序列化差异)。

updateTimeinteger | string | null

最后更新时间 epoch 秒(UTC);JSON 可能为字符串或数字。

billedboolean | null

是否已完成钱包/代金券/代币等计费路径扣款。

totalAmountnumber | null

已结算总金额(若有)。

walletAmountnumber | null

钱包扣减部分(若有)。

voucherAmountnumber | null

代金券部分(若有)。

billRecordStatusstring | null

计费状态(若有)。

statusCodestring | null

用量行上记录的 HTTP/状态码字符串(若有)。

pricenumber | null

用量行上的厂商价目快照(若有)。

billingAtinteger | string | null

计费时间戳 epoch 秒(若有);JSON 可能为字符串或数字。

amountBasenumber | null

折扣前金额(计费管线,若有)。

amountFinalnumber | null

钱包拆分前的最终计费金额(若有)。

currencystring | null

上述计费金额的币种(若有)。

usageobject | null

合并后的计量字段:tokens、嵌套 usage、时长档位等(不含大块 explain/trace)。

durationnumber | null

生成耗时(秒,若已知)。

traceIdstring | null

服务端 trace,可能为空。

serviceCodestring | null

稳定业务错误码,可能为空。

仅返回 当前登录用户 及其 名下 API Key 相关数据。

错误处理

  • 未鉴权 / 凭证无效:与其它受保护接口一致。
  • code 为 404request_id 不存在或无权访问(不泄露他人是否存在记录)。
  • 入账可能略晚于模型响应;短时间 404 也可能表示账本尚未写入。

Request ID(计费关联说明)

  • 每次推理调用的响应头中会设置 X-Trace-IDX-Request-ID(同值);产生计费事件时侧记 requestId
  • 可在请求上自带 X-Request-ID / X-Trace-ID 作为幂等或对账键;不传则由服务端生成 UUID。
  • 不要使用 Chat JSON 里的 idchatcmpl-…)或 Video 资源的 idvideo_…)。视频请保存 POST /v1/videos 当次响应头;每次 GET 轮询都会换新的 trace。
  • 视频任务在终态后,GET /v1/videos/{video_id}(或等价轮询接口)返回的资源体上可能出现 usage 字段,可作除本接口外的纯计量参考。

请求

Shell
1curl -sS "https://api.token360.ai/v1/billing/requests/550e8400-e29b-41d4-a716-446655440000" \
2  -H "Authorization: Bearer sk-your-api-key"

响应

JSON
1{
2  "code": 200,
3  "msg": "success",
4  "data": {
5    "amountBase": "0.284******",
6    "amountFinal": "0.284******",
7    "billRecordStatus": "1",
8    "billed": true,
9    "billingAt": "177815****",
10    "createTime": "177815****",
11    "currency": "USD",
12    "duration": 4.0,
13    "id": "550e8400-****-****-****-************",
14    "model": "seedance-2.0",
15    "modelName": "seedance-2.0",
16    "price": "0.284******",
17    "requestId": "550e8400-****-****-****-************",
18    "status": "completed",
19    "statusCode": "200",
20    "totalAmount": "0.284******",
21    "type": "video",
22    "updateTime": "177815****",
23    "usage": {
24      "total_tokens": "40***",
25      "completion_tokens": "40***",
26      "output_tokens": "40***",
27      "seconds": 4,
28      "requested_seconds": 4,
29      "video_count": 1,
30      "sample_count": 1
31    },
32    "voucherAmount": "0.284******",
33    "walletAmount": null
34  },
35  "serviceCode": null,
36  "traceId": null
37}
此页面对您有帮助吗?