[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-nav-zh":3,"docs-zh-usage-and-balance\u002Frequest-usage":167,"$f46bqDyMIGnVmi5_ELOHu1hg55r_zX-KEnU3OmkbJYPs":1032},[4,52,69,92,142,159,163],{"title":5,"path":6,"stem":7,"children":8,"page":-1},"快速开始","\u002Fgetting-started","1.getting-started",[9,12,30,44,48],{"title":10,"path":6,"stem":11},"关于 SilvaMux","1.getting-started\u002Findex",{"title":13,"path":14,"stem":15,"children":16,"page":-1},"首次调用千木 API","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F1.quick-start\u002Findex",[17,18,22,26],{"title":13,"path":14,"stem":15},{"title":19,"path":20,"stem":21},"项目和账户设置","\u002Fgetting-started\u002Fquick-start\u002Fproject-and-account","1.getting-started\u002F1.quick-start\u002F2.project-and-account",{"title":23,"path":24,"stem":25},"获取 API Key","\u002Fgetting-started\u002Fquick-start\u002Fapi-key","1.getting-started\u002F1.quick-start\u002F3.api-key",{"title":27,"path":28,"stem":29},"第一个请求","\u002Fgetting-started\u002Fquick-start\u002Ffirst-request","1.getting-started\u002F1.quick-start\u002F4.first-request",{"title":31,"path":32,"stem":33,"children":34,"page":43},"模型与体验","\u002Fgetting-started\u002Fmodels-and-experience","1.getting-started\u002F2.models-and-experience",[35,39],{"title":36,"path":37,"stem":38},"模型选择","\u002Fgetting-started\u002Fmodels-and-experience\u002Fmodel-selection","1.getting-started\u002F2.models-and-experience\u002F1.model-selection",{"title":40,"path":41,"stem":42},"在线体验","\u002Fgetting-started\u002Fmodels-and-experience\u002Fplayground","1.getting-started\u002F2.models-and-experience\u002F2.playground",false,{"title":45,"path":46,"stem":47},"限流","\u002Fgetting-started\u002Frate-limits","1.getting-started\u002F3.rate-limits",{"title":49,"path":50,"stem":51},"常见问题","\u002Fgetting-started\u002Ffaq","1.getting-started\u002F4.faq",{"title":53,"path":54,"stem":55,"children":56,"page":43},"产品计费","\u002Fbilling","2.billing",[57,61,65],{"title":58,"path":59,"stem":60},"计费说明","\u002Fbilling\u002Foverview","2.billing\u002F1.overview",{"title":62,"path":63,"stem":64},"在线充值","\u002Fbilling\u002Frecharge","2.billing\u002F2.recharge",{"title":66,"path":67,"stem":68},"账单、用量与导出","\u002Fbilling\u002Fusage-export","2.billing\u002F3.usage-export",{"title":70,"path":71,"stem":72,"children":73,"page":43},"Coding Plan","\u002Fcoding-plan","3.coding-plan",[74,78],{"title":75,"path":76,"stem":77},"Coding Plan 概述","\u002Fcoding-plan\u002Foverview","3.coding-plan\u002F1.overview",{"title":79,"path":80,"stem":81,"children":82,"page":-1},"个人版","\u002Fcoding-plan\u002Fpersonal","3.coding-plan\u002F2.personal\u002Findex",[83,85,89],{"title":84,"path":80,"stem":81},"价格和权益",{"title":86,"path":87,"stem":88},"快速接入","\u002Fcoding-plan\u002Fpersonal\u002Fquick-start","3.coding-plan\u002F2.personal\u002F2.quick-start",{"title":49,"path":90,"stem":91},"\u002Fcoding-plan\u002Fpersonal\u002Ffaq","3.coding-plan\u002F2.personal\u002F3.faq",{"title":93,"path":94,"stem":95,"children":96,"page":43},"模型接口","\u002Fmodels","4.models",[97,130],{"title":98,"path":99,"stem":100,"children":101,"page":43},"文本生成","\u002Fmodels\u002Fchat","4.models\u002F1.chat",[102,106,110,114,118,122,126],{"title":103,"path":104,"stem":105},"概述","\u002Fmodels\u002Fchat\u002Foverview","4.models\u002F1.chat\u002F1.overview",{"title":107,"path":108,"stem":109},"OpenAI 兼容接口","\u002Fmodels\u002Fchat\u002Fopenai","4.models\u002F1.chat\u002F2.openai",{"title":111,"path":112,"stem":113},"Anthropic 兼容","\u002Fmodels\u002Fchat\u002Fanthropic","4.models\u002F1.chat\u002F3.anthropic",{"title":115,"path":116,"stem":117},"Volcengine 兼容","\u002Fmodels\u002Fchat\u002Fvolcengine","4.models\u002F1.chat\u002F4.volcengine",{"title":119,"path":120,"stem":121},"智谱兼容","\u002Fmodels\u002Fchat\u002Fzhipu","4.models\u002F1.chat\u002F5.zhipu",{"title":123,"path":124,"stem":125},"SilvaMux 统一入口","\u002Fmodels\u002Fchat\u002Funified","4.models\u002F1.chat\u002F6.unified",{"title":127,"path":128,"stem":129},"多模态输入","\u002Fmodels\u002Fchat\u002Fmultimodal","4.models\u002F1.chat\u002F7.multimodal",{"title":131,"path":132,"stem":133,"children":134,"page":43},"图片生成","\u002Fmodels\u002Fimages","4.models\u002F2.images",[135,138],{"title":103,"path":136,"stem":137},"\u002Fmodels\u002Fimages\u002Foverview","4.models\u002F2.images\u002F1.overview",{"title":139,"path":140,"stem":141},"图片生成接口","\u002Fmodels\u002Fimages\u002Fgeneration","4.models\u002F2.images\u002F2.generation",{"title":143,"path":144,"stem":145,"children":146,"page":43},"用量与余额","\u002Fusage-and-balance","5.usage-and-balance",[147,151,155],{"title":148,"path":149,"stem":150},"查询余额","\u002Fusage-and-balance\u002Fbalance","5.usage-and-balance\u002F1.balance",{"title":152,"path":153,"stem":154},"查询用量","\u002Fusage-and-balance\u002Fusage","5.usage-and-balance\u002F2.usage",{"title":156,"path":157,"stem":158},"查询单次请求消耗","\u002Fusage-and-balance\u002Frequest-usage","5.usage-and-balance\u002F3.request-usage",{"title":160,"path":161,"stem":162},"错误码参考","\u002Ferrors","6.errors",{"title":164,"path":165,"stem":166},"文档首页","\u002F","index",{"id":168,"title":156,"body":169,"description":1025,"extension":1026,"meta":1027,"navigation":332,"path":157,"rawbody":1028,"requiredFlags":1029,"seo":1030,"stem":158,"__hash__":1031},"docs\u002F5.usage-and-balance\u002F3.request-usage.md",{"type":170,"value":171,"toc":1017},"minimark",[172,175,188,203,207,210,220,223,228,232,251,254,607,610,847,955,958,1013],[173,174,156],"h1",{"id":156},[176,177,178,179,183,184,187],"p",{},"按请求 ID（响应头 ",[180,181,182],"code",{},"X-Request-Id"," 的值，",[180,185,186],{},"REQ-"," 开头）查询该次请求的实际消耗：token 用量与费用。适用于任务完成后回查单次请求的真实计费，例如视频生成等异步任务的结算核对。",[176,189,190,191,194,195,198,199,202],{},"一次请求如果触发了供应商切换，会产生多条记录：失败的尝试已被作废（",[180,192,193],{},"status"," 为 ",[180,196,197],{},"upstream_failed","、费用为 0），最终成功的那条为 ",[180,200,201],{},"billed","。全部返回，按时间升序排列。",[204,205,206],"h2",{"id":206},"鉴权",[176,208,209],{},"在请求头携带 API Key：",[211,212,217],"pre",{"className":213,"code":215,"language":216},[214],"language-text","Authorization: Bearer sk_live_YOUR_API_KEY\n","text",[180,218,215],{"__ignoreMap":219},"",[204,221,222],{"id":222},"接口",[224,225],"api-endpoint",{"method":226,"path":227},"GET","\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Frequest-usage",[229,230,231],"h3",{"id":231},"参数",[233,234,235,248],"ul",{},[236,237,238,241,242,244,245,247],"li",{},[180,239,240],{},"request_id","：必填，响应头 ",[180,243,182],{}," 的值（",[180,246,186],{}," 开头）。",[236,249,250],{},"只能查询属于该 API Key 所属组织的请求，否则返回 404。",[229,252,253],{"id":253},"示例",[255,256,257,301,376,451],"code-tabs",{},[258,259,261],"code-tab",{"label":260},"cURL",[211,262,266],{"className":263,"code":264,"language":265,"meta":219,"style":219},"language-bash shiki shiki-themes github-light github-dark","curl \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Frequest-usage?request_id=REQ-01M2JBYGGVY77KPRWNZFDFTWZR\" \\\n  -H \"Authorization: Bearer $SILVAMUX_API_KEY\"\n","bash",[180,267,268,285],{"__ignoreMap":219},[269,270,273,277,281],"span",{"class":271,"line":272},"line",1,[269,274,276],{"class":275},"sScJk","curl",[269,278,280],{"class":279},"sZZnC"," \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Frequest-usage?request_id=REQ-01M2JBYGGVY77KPRWNZFDFTWZR\"",[269,282,284],{"class":283},"sj4cs"," \\\n",[269,286,288,291,294,298],{"class":271,"line":287},2,[269,289,290],{"class":283},"  -H",[269,292,293],{"class":279}," \"Authorization: Bearer ",[269,295,297],{"class":296},"sVt8B","$SILVAMUX_API_KEY",[269,299,300],{"class":279},"\"\n",[258,302,304],{"label":303},"Python",[211,305,309],{"className":306,"code":307,"language":308,"meta":219,"style":219},"language-python shiki shiki-themes github-light github-dark","# pip install requests\nimport os\nimport requests\n\nresp = requests.get(\n    \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Frequest-usage\",\n    params={\"request_id\": \"REQ-01M2JBYGGVY77KPRWNZFDFTWZR\"},\n    headers={\"Authorization\": f\"Bearer {os.environ['SILVAMUX_API_KEY']}\"},\n)\nresp.raise_for_status()\nprint(resp.json()[\"ledgers\"])\n","python",[180,310,311,316,321,327,334,340,346,352,358,364,370],{"__ignoreMap":219},[269,312,313],{"class":271,"line":272},[269,314,315],{},"# pip install requests\n",[269,317,318],{"class":271,"line":287},[269,319,320],{},"import os\n",[269,322,324],{"class":271,"line":323},3,[269,325,326],{},"import requests\n",[269,328,330],{"class":271,"line":329},4,[269,331,333],{"emptyLinePlaceholder":332},true,"\n",[269,335,337],{"class":271,"line":336},5,[269,338,339],{},"resp = requests.get(\n",[269,341,343],{"class":271,"line":342},6,[269,344,345],{},"    \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Frequest-usage\",\n",[269,347,349],{"class":271,"line":348},7,[269,350,351],{},"    params={\"request_id\": \"REQ-01M2JBYGGVY77KPRWNZFDFTWZR\"},\n",[269,353,355],{"class":271,"line":354},8,[269,356,357],{},"    headers={\"Authorization\": f\"Bearer {os.environ['SILVAMUX_API_KEY']}\"},\n",[269,359,361],{"class":271,"line":360},9,[269,362,363],{},")\n",[269,365,367],{"class":271,"line":366},10,[269,368,369],{},"resp.raise_for_status()\n",[269,371,373],{"class":271,"line":372},11,[269,374,375],{},"print(resp.json()[\"ledgers\"])\n",[258,377,379],{"label":378},"JavaScript",[211,380,384],{"className":381,"code":382,"language":383,"meta":219,"style":219},"language-javascript shiki shiki-themes github-light github-dark","\u002F\u002F Node 18+（内置 fetch）\nconst requestId = \"REQ-01M2JBYGGVY77KPRWNZFDFTWZR\";\nconst query = new URLSearchParams({ request_id: requestId });\n\nconst resp = await fetch(\n  `https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Frequest-usage?${query}`,\n  {\n    headers: { Authorization: `Bearer ${process.env.SILVAMUX_API_KEY}` },\n  },\n);\n\nconst data = await resp.json();\nconsole.log(data.ledgers);\n","javascript",[180,385,386,391,396,401,405,410,415,420,425,430,435,439,445],{"__ignoreMap":219},[269,387,388],{"class":271,"line":272},[269,389,390],{},"\u002F\u002F Node 18+（内置 fetch）\n",[269,392,393],{"class":271,"line":287},[269,394,395],{},"const requestId = \"REQ-01M2JBYGGVY77KPRWNZFDFTWZR\";\n",[269,397,398],{"class":271,"line":323},[269,399,400],{},"const query = new URLSearchParams({ request_id: requestId });\n",[269,402,403],{"class":271,"line":329},[269,404,333],{"emptyLinePlaceholder":332},[269,406,407],{"class":271,"line":336},[269,408,409],{},"const resp = await fetch(\n",[269,411,412],{"class":271,"line":342},[269,413,414],{},"  `https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Frequest-usage?${query}`,\n",[269,416,417],{"class":271,"line":348},[269,418,419],{},"  {\n",[269,421,422],{"class":271,"line":354},[269,423,424],{},"    headers: { Authorization: `Bearer ${process.env.SILVAMUX_API_KEY}` },\n",[269,426,427],{"class":271,"line":360},[269,428,429],{},"  },\n",[269,431,432],{"class":271,"line":366},[269,433,434],{},");\n",[269,436,437],{"class":271,"line":372},[269,438,333],{"emptyLinePlaceholder":332},[269,440,442],{"class":271,"line":441},12,[269,443,444],{},"const data = await resp.json();\n",[269,446,448],{"class":271,"line":447},13,[269,449,450],{},"console.log(data.ledgers);\n",[258,452,454],{"label":453},"Go",[211,455,459],{"className":456,"code":457,"language":458,"meta":219,"style":219},"language-go shiki shiki-themes github-light github-dark","\u002F\u002F 仅依赖标准库\npackage main\n\nimport (\n    \"fmt\"\n    \"io\"\n    \"net\u002Fhttp\"\n    \"os\"\n)\n\nfunc main() {\n    url := \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Frequest-usage?request_id=REQ-01M2JBYGGVY77KPRWNZFDFTWZR\"\n\n    req, err := http.NewRequest(\"GET\", url, nil)\n    if err != nil {\n        panic(err)\n    }\n    req.Header.Set(\"Authorization\", \"Bearer \"+os.Getenv(\"SILVAMUX_API_KEY\"))\n\n    resp, err := http.DefaultClient.Do(req)\n    if err != nil {\n        panic(err)\n    }\n    defer resp.Body.Close()\n\n    body, _ := io.ReadAll(resp.Body)\n    fmt.Println(string(body))\n}\n","go",[180,460,461,466,471,475,480,485,490,495,500,504,508,513,518,522,528,534,540,546,552,557,563,568,573,578,584,589,595,601],{"__ignoreMap":219},[269,462,463],{"class":271,"line":272},[269,464,465],{},"\u002F\u002F 仅依赖标准库\n",[269,467,468],{"class":271,"line":287},[269,469,470],{},"package main\n",[269,472,473],{"class":271,"line":323},[269,474,333],{"emptyLinePlaceholder":332},[269,476,477],{"class":271,"line":329},[269,478,479],{},"import (\n",[269,481,482],{"class":271,"line":336},[269,483,484],{},"    \"fmt\"\n",[269,486,487],{"class":271,"line":342},[269,488,489],{},"    \"io\"\n",[269,491,492],{"class":271,"line":348},[269,493,494],{},"    \"net\u002Fhttp\"\n",[269,496,497],{"class":271,"line":354},[269,498,499],{},"    \"os\"\n",[269,501,502],{"class":271,"line":360},[269,503,363],{},[269,505,506],{"class":271,"line":366},[269,507,333],{"emptyLinePlaceholder":332},[269,509,510],{"class":271,"line":372},[269,511,512],{},"func main() {\n",[269,514,515],{"class":271,"line":441},[269,516,517],{},"    url := \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Frequest-usage?request_id=REQ-01M2JBYGGVY77KPRWNZFDFTWZR\"\n",[269,519,520],{"class":271,"line":447},[269,521,333],{"emptyLinePlaceholder":332},[269,523,525],{"class":271,"line":524},14,[269,526,527],{},"    req, err := http.NewRequest(\"GET\", url, nil)\n",[269,529,531],{"class":271,"line":530},15,[269,532,533],{},"    if err != nil {\n",[269,535,537],{"class":271,"line":536},16,[269,538,539],{},"        panic(err)\n",[269,541,543],{"class":271,"line":542},17,[269,544,545],{},"    }\n",[269,547,549],{"class":271,"line":548},18,[269,550,551],{},"    req.Header.Set(\"Authorization\", \"Bearer \"+os.Getenv(\"SILVAMUX_API_KEY\"))\n",[269,553,555],{"class":271,"line":554},19,[269,556,333],{"emptyLinePlaceholder":332},[269,558,560],{"class":271,"line":559},20,[269,561,562],{},"    resp, err := http.DefaultClient.Do(req)\n",[269,564,566],{"class":271,"line":565},21,[269,567,533],{},[269,569,571],{"class":271,"line":570},22,[269,572,539],{},[269,574,576],{"class":271,"line":575},23,[269,577,545],{},[269,579,581],{"class":271,"line":580},24,[269,582,583],{},"    defer resp.Body.Close()\n",[269,585,587],{"class":271,"line":586},25,[269,588,333],{"emptyLinePlaceholder":332},[269,590,592],{"class":271,"line":591},26,[269,593,594],{},"    body, _ := io.ReadAll(resp.Body)\n",[269,596,598],{"class":271,"line":597},27,[269,599,600],{},"    fmt.Println(string(body))\n",[269,602,604],{"class":271,"line":603},28,[269,605,606],{},"}\n",[176,608,609],{},"响应：",[211,611,615],{"className":612,"code":613,"language":614,"meta":219,"style":219},"language-json shiki shiki-themes github-light github-dark","{\n  \"request_id\": \"REQ-01M2JBYGGVY77KPRWNZFDFTWZR\",\n  \"ledgers\": [\n    {\n      \"request_model\": \"deepseek-v4-pro\",\n      \"project_name\": \"Default Project\",\n      \"status\": \"billed\",\n      \"tokens\": {\n        \"prompt_tokens\": 85,\n        \"cached_tokens\": 0,\n        \"billable_prompt_tokens\": 85,\n        \"completion_tokens\": 10,\n        \"total_tokens\": 95\n      },\n      \"generated_artifacts\": 0,\n      \"is_stream\": false,\n      \"first_token_latency_ms\": 0,\n      \"total_latency_ms\": 1358,\n      \"original_cost\": \"0.001035\",\n      \"cost_points\": \"0.001035\",\n      \"created_at\": \"2026-09-15T11:06:32.861800Z\"\n    }\n  ]\n}\n","json",[180,616,617,622,636,644,649,661,673,685,693,705,717,728,740,750,755,766,778,789,801,813,824,834,838,843],{"__ignoreMap":219},[269,618,619],{"class":271,"line":272},[269,620,621],{"class":296},"{\n",[269,623,624,627,630,633],{"class":271,"line":287},[269,625,626],{"class":283},"  \"request_id\"",[269,628,629],{"class":296},": ",[269,631,632],{"class":279},"\"REQ-01M2JBYGGVY77KPRWNZFDFTWZR\"",[269,634,635],{"class":296},",\n",[269,637,638,641],{"class":271,"line":323},[269,639,640],{"class":283},"  \"ledgers\"",[269,642,643],{"class":296},": [\n",[269,645,646],{"class":271,"line":329},[269,647,648],{"class":296},"    {\n",[269,650,651,654,656,659],{"class":271,"line":336},[269,652,653],{"class":283},"      \"request_model\"",[269,655,629],{"class":296},[269,657,658],{"class":279},"\"deepseek-v4-pro\"",[269,660,635],{"class":296},[269,662,663,666,668,671],{"class":271,"line":342},[269,664,665],{"class":283},"      \"project_name\"",[269,667,629],{"class":296},[269,669,670],{"class":279},"\"Default Project\"",[269,672,635],{"class":296},[269,674,675,678,680,683],{"class":271,"line":348},[269,676,677],{"class":283},"      \"status\"",[269,679,629],{"class":296},[269,681,682],{"class":279},"\"billed\"",[269,684,635],{"class":296},[269,686,687,690],{"class":271,"line":354},[269,688,689],{"class":283},"      \"tokens\"",[269,691,692],{"class":296},": {\n",[269,694,695,698,700,703],{"class":271,"line":360},[269,696,697],{"class":283},"        \"prompt_tokens\"",[269,699,629],{"class":296},[269,701,702],{"class":283},"85",[269,704,635],{"class":296},[269,706,707,710,712,715],{"class":271,"line":366},[269,708,709],{"class":283},"        \"cached_tokens\"",[269,711,629],{"class":296},[269,713,714],{"class":283},"0",[269,716,635],{"class":296},[269,718,719,722,724,726],{"class":271,"line":372},[269,720,721],{"class":283},"        \"billable_prompt_tokens\"",[269,723,629],{"class":296},[269,725,702],{"class":283},[269,727,635],{"class":296},[269,729,730,733,735,738],{"class":271,"line":441},[269,731,732],{"class":283},"        \"completion_tokens\"",[269,734,629],{"class":296},[269,736,737],{"class":283},"10",[269,739,635],{"class":296},[269,741,742,745,747],{"class":271,"line":447},[269,743,744],{"class":283},"        \"total_tokens\"",[269,746,629],{"class":296},[269,748,749],{"class":283},"95\n",[269,751,752],{"class":271,"line":524},[269,753,754],{"class":296},"      },\n",[269,756,757,760,762,764],{"class":271,"line":530},[269,758,759],{"class":283},"      \"generated_artifacts\"",[269,761,629],{"class":296},[269,763,714],{"class":283},[269,765,635],{"class":296},[269,767,768,771,773,776],{"class":271,"line":536},[269,769,770],{"class":283},"      \"is_stream\"",[269,772,629],{"class":296},[269,774,775],{"class":283},"false",[269,777,635],{"class":296},[269,779,780,783,785,787],{"class":271,"line":542},[269,781,782],{"class":283},"      \"first_token_latency_ms\"",[269,784,629],{"class":296},[269,786,714],{"class":283},[269,788,635],{"class":296},[269,790,791,794,796,799],{"class":271,"line":548},[269,792,793],{"class":283},"      \"total_latency_ms\"",[269,795,629],{"class":296},[269,797,798],{"class":283},"1358",[269,800,635],{"class":296},[269,802,803,806,808,811],{"class":271,"line":554},[269,804,805],{"class":283},"      \"original_cost\"",[269,807,629],{"class":296},[269,809,810],{"class":279},"\"0.001035\"",[269,812,635],{"class":296},[269,814,815,818,820,822],{"class":271,"line":559},[269,816,817],{"class":283},"      \"cost_points\"",[269,819,629],{"class":296},[269,821,810],{"class":279},[269,823,635],{"class":296},[269,825,826,829,831],{"class":271,"line":565},[269,827,828],{"class":283},"      \"created_at\"",[269,830,629],{"class":296},[269,832,833],{"class":279},"\"2026-09-15T11:06:32.861800Z\"\n",[269,835,836],{"class":271,"line":570},[269,837,545],{"class":296},[269,839,840],{"class":271,"line":575},[269,841,842],{"class":296},"  ]\n",[269,844,845],{"class":271,"line":580},[269,846,606],{"class":296},[848,849,850,863],"table",{},[851,852,853],"thead",{},[854,855,856,860],"tr",{},[857,858,859],"th",{},"字段",[857,861,862],{},"说明",[864,865,866,876,886,896,915,925,935,945],"tbody",{},[854,867,868,873],{},[869,870,871],"td",{},[180,872,240],{},[869,874,875],{},"查询的请求 ID",[854,877,878,883],{},[869,879,880],{},[180,881,882],{},"ledgers",[869,884,885],{},"该请求产生的全部计费记录，按时间升序",[854,887,888,893],{},[869,889,890],{},[180,891,892],{},"ledgers[].request_model",[869,894,895],{},"请求时填写的模型名",[854,897,898,903],{},[869,899,900],{},[180,901,902],{},"ledgers[].status",[869,904,905,907,908,910,911,914],{},[180,906,201],{},"（已计费）\u002F ",[180,909,197],{},"（上游失败已作废，费用 0）\u002F ",[180,912,913],{},"pending","（待结算）",[854,916,917,922],{},[869,918,919],{},[180,920,921],{},"ledgers[].tokens",[869,923,924],{},"token 用量明细",[854,926,927,932],{},[869,928,929],{},[180,930,931],{},"ledgers[].generated_artifacts",[869,933,934],{},"异步任务产物数（视频\u002F图片）",[854,936,937,942],{},[869,938,939],{},[180,940,941],{},"ledgers[].original_cost",[869,943,944],{},"折前费用",[854,946,947,952],{},[869,948,949],{},[180,950,951],{},"ledgers[].cost_points",[869,953,954],{},"折后实际扣费",[204,956,957],{"id":957},"错误处理",[848,959,960,972],{},[851,961,962],{},[854,963,964,967,970],{},[857,965,966],{},"HTTP 状态",[857,968,969],{},"错误码",[857,971,862],{},[864,973,974,987,1000],{},[854,975,976,979,984],{},[869,977,978],{},"401",[869,980,981],{},[180,982,983],{},"INVALID_TOKEN",[869,985,986],{},"API Key 缺失或无效",[854,988,989,992,997],{},[869,990,991],{},"404",[869,993,994],{},[180,995,996],{},"REQUEST_USAGE_NOT_FOUND",[869,998,999],{},"请求 ID 不存在，或不属于该 API Key 的组织",[854,1001,1002,1005,1008],{},[869,1003,1004],{},"422",[869,1006,1007],{},"—",[869,1009,1010,1012],{},[180,1011,240],{}," 参数缺失",[1014,1015,1016],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":219,"searchDepth":287,"depth":287,"links":1018},[1019,1020,1024],{"id":206,"depth":287,"text":206},{"id":222,"depth":287,"text":222,"children":1021},[1022,1023],{"id":231,"depth":323,"text":231},{"id":253,"depth":323,"text":253},{"id":957,"depth":287,"text":957},"使用 API Key 按请求 ID 查询单次请求的实际消耗（token 与费用）。","md",{},"---\ntitle: 查询单次请求消耗\ndescription: 使用 API Key 按请求 ID 查询单次请求的实际消耗（token 与费用）。\n---\n\n# 查询单次请求消耗\n\n按请求 ID（响应头 `X-Request-Id` 的值，`REQ-` 开头）查询该次请求的实际消耗：token 用量与费用。适用于任务完成后回查单次请求的真实计费，例如视频生成等异步任务的结算核对。\n\n一次请求如果触发了供应商切换，会产生多条记录：失败的尝试已被作废（`status` 为 `upstream_failed`、费用为 0），最终成功的那条为 `billed`。全部返回，按时间升序排列。\n\n## 鉴权\n\n在请求头携带 API Key：\n\n```\nAuthorization: Bearer sk_live_YOUR_API_KEY\n```\n\n## 接口\n\n::api-endpoint{path=\"\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Frequest-usage\" method=\"GET\"}\n::\n\n### 参数\n\n- `request_id`：必填，响应头 `X-Request-Id` 的值（`REQ-` 开头）。\n- 只能查询属于该 API Key 所属组织的请求，否则返回 404。\n\n### 示例\n\n::code-tabs\n:::code-tab{label=\"cURL\"}\n```bash\ncurl \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Frequest-usage?request_id=REQ-01M2JBYGGVY77KPRWNZFDFTWZR\" \\\n  -H \"Authorization: Bearer $SILVAMUX_API_KEY\"\n```\n:::\n:::code-tab{label=\"Python\"}\n```python\n# pip install requests\nimport os\nimport requests\n\nresp = requests.get(\n    \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Frequest-usage\",\n    params={\"request_id\": \"REQ-01M2JBYGGVY77KPRWNZFDFTWZR\"},\n    headers={\"Authorization\": f\"Bearer {os.environ['SILVAMUX_API_KEY']}\"},\n)\nresp.raise_for_status()\nprint(resp.json()[\"ledgers\"])\n```\n:::\n:::code-tab{label=\"JavaScript\"}\n```javascript\n\u002F\u002F Node 18+（内置 fetch）\nconst requestId = \"REQ-01M2JBYGGVY77KPRWNZFDFTWZR\";\nconst query = new URLSearchParams({ request_id: requestId });\n\nconst resp = await fetch(\n  `https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Frequest-usage?${query}`,\n  {\n    headers: { Authorization: `Bearer ${process.env.SILVAMUX_API_KEY}` },\n  },\n);\n\nconst data = await resp.json();\nconsole.log(data.ledgers);\n```\n:::\n:::code-tab{label=\"Go\"}\n```go\n\u002F\u002F 仅依赖标准库\npackage main\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"net\u002Fhttp\"\n\t\"os\"\n)\n\nfunc main() {\n\turl := \"https:\u002F\u002Fwww.silvamux.com\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Frequest-usage?request_id=REQ-01M2JBYGGVY77KPRWNZFDFTWZR\"\n\n\treq, err := http.NewRequest(\"GET\", url, nil)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treq.Header.Set(\"Authorization\", \"Bearer \"+os.Getenv(\"SILVAMUX_API_KEY\"))\n\n\tresp, err := http.DefaultClient.Do(req)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tdefer resp.Body.Close()\n\n\tbody, _ := io.ReadAll(resp.Body)\n\tfmt.Println(string(body))\n}\n```\n:::\n::\n\n响应：\n\n```json\n{\n  \"request_id\": \"REQ-01M2JBYGGVY77KPRWNZFDFTWZR\",\n  \"ledgers\": [\n    {\n      \"request_model\": \"deepseek-v4-pro\",\n      \"project_name\": \"Default Project\",\n      \"status\": \"billed\",\n      \"tokens\": {\n        \"prompt_tokens\": 85,\n        \"cached_tokens\": 0,\n        \"billable_prompt_tokens\": 85,\n        \"completion_tokens\": 10,\n        \"total_tokens\": 95\n      },\n      \"generated_artifacts\": 0,\n      \"is_stream\": false,\n      \"first_token_latency_ms\": 0,\n      \"total_latency_ms\": 1358,\n      \"original_cost\": \"0.001035\",\n      \"cost_points\": \"0.001035\",\n      \"created_at\": \"2026-09-15T11:06:32.861800Z\"\n    }\n  ]\n}\n```\n\n| 字段 | 说明 |\n|---|---|\n| `request_id` | 查询的请求 ID |\n| `ledgers` | 该请求产生的全部计费记录，按时间升序 |\n| `ledgers[].request_model` | 请求时填写的模型名 |\n| `ledgers[].status` | `billed`（已计费）\u002F `upstream_failed`（上游失败已作废，费用 0）\u002F `pending`（待结算） |\n| `ledgers[].tokens` | token 用量明细 |\n| `ledgers[].generated_artifacts` | 异步任务产物数（视频\u002F图片） |\n| `ledgers[].original_cost` | 折前费用 |\n| `ledgers[].cost_points` | 折后实际扣费 |\n\n## 错误处理\n\n| HTTP 状态 | 错误码 | 说明 |\n|---|---|---|\n| 401 | `INVALID_TOKEN` | API Key 缺失或无效 |\n| 404 | `REQUEST_USAGE_NOT_FOUND` | 请求 ID 不存在，或不属于该 API Key 的组织 |\n| 422 | — | `request_id` 参数缺失 |\n",[],{"title":156,"description":1025},"82wv18lIRu5Qm3YGojF_EabVtd-T8ktjX5c1w2IMWgY",{"found":332,"operationId":1033,"summary":1034,"description":1035,"method":226,"path":227,"publiclyDiscoverable":332,"security":1036,"parameters":1039,"requestBody":1050,"responses":1054},"customer-request-usage","Get actual usage for a single request","Return the ledgers (tokens + cost) produced by one gateway request, identified by the request_id query parameter (the X-Request-Id response header value, REQ-...). Fields match the dashboard ledger view. A request that failed over between providers produces multiple ledgers (voided attempts + the final billed one). API key only.",{"schemes":1037,"optional":43},[1038],"apikey",[1040,1044,1047],{"name":1041,"type":1042,"required":332,"description":1043},"Authorization","string · header","Bearer API Key (sk_live_...)",{"name":1045,"type":1042,"required":43,"description":1046},"X-Organization-Id","Not required for API key auth",{"name":240,"type":1048,"required":332,"description":1049},"string · query","Request ID from the X-Request-Id response header (REQ-...)",{"present":43,"required":43,"description":219,"contentType":219,"type":1051,"fields":1052,"variants":1053},"any",[],[],[1055,1122],{"status":1056,"description":1057,"contentType":1058,"type":1059,"fields":1060},"200","OK","application\u002Fjson","CustomerRequestUsageResponse",[1061,1065,1068,1072,1076,1080,1083,1087,1090,1093,1096,1099,1102,1105,1108,1111,1114,1117,1120],{"name":1062,"type":1063,"required":43,"description":1064},"$schema","string (uri)","A URL to the JSON Schema for this object.",{"name":882,"type":1066,"required":332,"description":1067},"array\u003CCustomerRequestUsageEntry>","Ledgers produced by this request, ordered by created_at asc",{"name":1069,"type":1070,"required":332,"description":1071},"ledgers.cost_points","string","Cost in points after discount",{"name":1073,"type":1074,"required":332,"description":1075},"ledgers.created_at","string (date-time)","Ledger creation time (RFC3339)",{"name":1077,"type":1078,"required":332,"description":1079},"ledgers.first_token_latency_ms","integer (int64)","Time to first token in ms (streamed requests; 0 = unrecorded)",{"name":1081,"type":1078,"required":332,"description":1082},"ledgers.generated_artifacts","Generated artifact count (video\u002Fimage async tasks)",{"name":1084,"type":1085,"required":332,"description":1086},"ledgers.is_stream","boolean","Whether the request was streamed",{"name":1088,"type":1070,"required":332,"description":1089},"ledgers.original_cost","Cost in points before discount",{"name":1091,"type":1070,"required":332,"description":1092},"ledgers.project_name","Project name",{"name":1094,"type":1070,"required":332,"description":1095},"ledgers.request_model","Model name as supplied in the request",{"name":1097,"type":1070,"required":332,"description":1098},"ledgers.status","Ledger status (billed \u002F upstream_failed \u002F pending)",{"name":1100,"type":1101,"required":332,"description":219},"ledgers.tokens","RequestTokens",{"name":1103,"type":1078,"required":332,"description":1104},"ledgers.tokens.billable_prompt_tokens","Billable prompt tokens (prompt + cache creation)",{"name":1106,"type":1078,"required":332,"description":1107},"ledgers.tokens.cached_tokens","Cache-read prompt tokens",{"name":1109,"type":1078,"required":332,"description":1110},"ledgers.tokens.completion_tokens","Completion tokens",{"name":1112,"type":1078,"required":332,"description":1113},"ledgers.tokens.prompt_tokens","Prompt tokens (uncached)",{"name":1115,"type":1078,"required":332,"description":1116},"ledgers.tokens.total_tokens","Total tokens",{"name":1118,"type":1078,"required":332,"description":1119},"ledgers.total_latency_ms","Total request latency in ms (0 = unrecorded)",{"name":240,"type":1070,"required":332,"description":1121},"Gateway request ID (X-Request-Id response header)",{"status":1123,"description":1124,"contentType":1125,"type":1126,"fields":1127},"default","Error","application\u002Fproblem+json","ErrorModel",[1128,1129,1132,1136,1139,1142,1145,1148,1150,1153],{"name":1062,"type":1063,"required":43,"description":1064},{"name":1130,"type":1070,"required":43,"description":1131},"detail","A human-readable explanation specific to this occurrence of the problem.",{"name":1133,"type":1134,"required":43,"description":1135},"errors","array\u003CErrorDetail>","Optional list of individual error details",{"name":1137,"type":1070,"required":43,"description":1138},"errors.location","Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'",{"name":1140,"type":1070,"required":43,"description":1141},"errors.message","Error message text",{"name":1143,"type":1051,"required":43,"description":1144},"errors.value","The value at the given location",{"name":1146,"type":1063,"required":43,"description":1147},"instance","A URI reference that identifies the specific occurrence of the problem.",{"name":193,"type":1078,"required":43,"description":1149},"HTTP status code",{"name":1151,"type":1070,"required":43,"description":1152},"title","A short, human-readable summary of the problem type. This value should not change between occurrences of the error.",{"name":1154,"type":1063,"required":43,"description":1155,"defaultValue":1156},"type","A URI reference to human-readable documentation for the error.","about:blank"]