一次模型请求的Token消耗量由哪几部分构成?
每一次模型请求的Token消耗总量由两部分构成:总消耗 = 输入Token(prompt_tokens)+ 输出Token(completion_tokens)。
输入Token:本次请求发送给模型的全部内容,既包括您输入的问题,也包括系统自动拼接的内容。
输出Token:模型本次生成并返回给您的全部内容。
输入和输出分别按照对应模型的单价计量,通常输出单价高于输入单价。您可在调用接口返回的usage字段中,都可以看到本次请求的输入Token、输出Token和合计Token。各类模型服务的具体消耗构成如下表所示。
| 计量项 | 包含的内容 | 说明 |
| 输入Token(prompt_tokens) | 您输入的问题、系统提示词、历史对话、工具定义等全部输入内容 | 内容越多,输入Token越高 |
| 输出Token(completion_tokens) | 模型生成的回答、代码、结构化输出,以及推理模型的思考过程内容 | 回答越长,输出Token越高 |
为什么我实际输入的内容很少,消耗的Token却很多?
您在对话框或接口中看到的输入,只是实际发送给模型的内容的一部分。当您使用API调用或AI工具时,系统会在每次请求时自动把工具运行所需的内容与您的问题“拼接”在一起,统一发送给模型。这部分您看不到的输入,同样计入输入Token,主要包括:
系统提示词与人设(System Prompt):工具预置的角色身份、回答规则、语气、边界与限制等,每次请求都会携带;
历史对话:本次会话中此前的问答记录;
工具/插件定义:Function Calling等功能的名称、参数说明与调用规则,即使本次请求并未真正调用工具,其定义也会随请求发送;
预置示例与输出模板:工具内置的问答示例(Few-shot),以及要求模型按固定格式(如JSON、表格)输出的模板内容。
因此,即使您只发送了一句话,实际请求的输入可能长达数千甚至上万Token,这属于正常的计量结果,并非平台在额外消耗您的额度。您可以在接口返回的usage字段中查看prompt_tokens,核对每次请求真实的输入量。
多轮对话场景下,Token是如何消耗的?为什么对话越长消耗越快?
大模型本身不会“记住”上一轮对话。在同一个会话中,为了让模型结合上下文回答,应用每一次发送请求时,都会把本会话此前的全部问答记录连同您的新问题一起重新发送给模型。
也就是说,第N轮对话的输入Token,约等于前N-1轮的全部问答内容加上本轮输入;而模型每一轮的回答又会继续计入输出Token。随着对话轮次增加,每一轮请求携带的上下文都在累积。
直观表现为:同一个会话越往后聊,每发送一条消息扣减的Token越多,额度下降速度明显变快。建议您在切换话题或完成一个任务后及时新开会话,避免无关的历史内容持续占用额度。
文生文场景下,Token额度是如何消耗的?
文生文(文本生成)是最典型、也是最基础的按Token计量场景,涵盖对话问答、写作续写、翻译、摘要提炼、代码生成、数据分析等各类输入和输出均为文本的模型服务。
文生文请求的Token消耗由输入和输出两部分构成,二者分别按实际用量计量:输入Token包括您提交的要求、参考资料、待处理的长文档,以及系统自动拼接的内容;输出Token则按模型实际生成的文本逐Token累计,写得越长、生成越多,消耗越高。
文生文场景下需要特别注意:
输出往往是消耗大头:撰写长文、生成长代码、多轮改写润色等场景,输出Token会快速增长;文生文不按“篇/次”计费,同样的题目,生成500字与生成3000字的消耗量差异很大。
中断也会计费:模型已经开始输出后,无论是您主动中断还是因网络等原因被动中断,服务端已产生但尚未完成的输出Token同样会计费。
长输入也会累积:一次性投喂大量资料、稿件、代码,或要求模型基于长文档作答,都会先产生可观的输入Token;部分模型还按输入长度分段定价,不同长度区间的单价可能不同,具体以模型详情页为准。
多轮续写会累积历史:在同一会话中反复要求“再扩写、再润色、换一种风格”,每轮都会携带此前的全部内容,建议在修改方向已定时新开会话、只发送必要内容。
文生图场景下,Token额度是如何消耗的?
文生图类模型通常不按文字Token计量,而是按成功生成的图片张数计费(元/张),一次请求生成3张即按3张计;部分模型对输入图片(如以图生图、图片编辑时上传的参考图)也会计费,具体计费规则以对应模型详情页为准。
文生图场景的额度消耗主要受以下因素影响:提示词与负向提示词的长度、生成图片的尺寸/分辨率、单次生成张数、是否使用参考图或高清修复等附加能力。
以下操作容易造成额度在不知不觉中被消耗:对生成结果不满意反复点击“重新生成”、一次性批量生成多张图片、自动化脚本或定时任务持续出图等。需要说明的是,图片生成失败不计费;因内容审核未通过而未实际出图的请求,未产生图片用量,具体以模型详情页的计量规则为准。
文生视频场景下,Token额度是如何消耗的?
文生视频类模型的计量方式与文生文不同,主要按生成视频的实际时长(秒)计费,不同分辨率(如720P/1080P)、有声/无声的单价不同;部分模型对输入图片/视频(如图生视频、视频续写)也会计费。
因此,文生视频的额度消耗主要受以下因素影响:视频时长(如2~15秒)、分辨率与画面比例、是否带音频、单次生成条数,以及是否上传了参考图片或参考视频。
还需要注意:视频生成通常为异步任务,提交后需要排队并等待一段时间才能出片,期间重复提交、因等待时间长而多次发起任务、批量生成多个视频,都会分别产生消耗;平台对视频生成类模型还设有并发任务数量限制。视频生成失败不计费。按视频Token计量的模型会直接扣减Token额度,按秒计费模型的量包抵扣规则以平台计费说明为准。
流式输出会重复计量吗?请求失败、报错或超时会消耗Token吗?
流式输出只是结果的返回方式不同,后台仍然是一次完整的模型请求,平台按最终返回的完整输出一次性计量,不会因为“逐字显示”而重复扣减Token。
请求未产生任何输出即失败的,不计入消耗;模型已经开始生成内容后,无论是您主动中断还是因网络等原因被动中断,服务端已产生但尚未完成的输出Token,同样会计费。
需要特别提醒的是:如果您通过程序调用接口,并在代码中设置了超时自动重试,超时后再次发起请求可能造成同一需求被多次发送、多次计量。建议设置合理的超时时间与重试上限,并做好请求结果判断。
为什么同一个问题,每次消耗的Token数量可能不同?
Token消耗量由输入和输出共同决定,即使是同一个问题,以下因素都会导致每次扣减的额度不同:
输出长度不固定:模型每次生成回答的长短、详略不同,输出Token随之变化;
上下文长度不同:在同一会话的不同阶段,请求携带的历史对话内容长度不同;
参数设置影响:max_tokens(最大输出长度)上限设置越大,模型可能输出的内容越多;temperature等随机性参数不直接计量,但会通过影响回答长度间接影响消耗量;
推理模型的思考过程:具备深度思考能力的推理类模型,其思考过程(思维链)产生的Token同样计入输出,部分模型会在用量中单独展示思考Token。
缓存命中情况不同:在多轮对话、长文档问答、携带大量系统提示词等场景下,请求中重复的前置内容(如系统提示词、历史对话、长文档)会被平台自动缓存。后续请求携带相同前置内容时即命中缓存,命中部分的输入Token无需重新计算,并按模型“缓存命中”的输入价格(折扣价)计费;未命中部分按输入标准价计费,输出Token的计费不受缓存影响。
因此,即使是完全相同的请求,命中缓存时扣减的额度更低;若距离上次调用间隔过久导致缓存被释放、或未命中缓存,则按输入标准价计费,同样的请求扣减额度也可能不同。缓存命中属于“尽力而为”的底层优化机制,系统为每个会话保留缓存的时间有限,并非永久有效。
如何减少不必要的Token消耗?
提示词简洁明确,避免把无关的长文本反复粘贴在每一轮对话中;
任务完成或切换话题时及时新开会话,避免历史对话持续累积;
合理设置max_tokens等参数,避免模型输出过长、失控;
仅在需要时为应用挂载知识库、插件或工具,减少每次请求自动拼入的内容;
执行批量任务前,先用少量样本验证流程与提示词,确认无误后再全量运行;
避免短时间内反复点击、重复提交相同请求;
关注用量预警,必要时为主/子账号或主/子服务组设置额度上限。
平台会不会在用户未使用时自动消耗Token额度?
不会。平台仅在您的账号实际发起模型请求、并产生输入或输出内容时才计量扣减Token;没有任何请求发生时,不会扣减额度。每一笔扣减都对应一次真实的模型调用,您都可以在用量明细中按时间、模型、请求ID逐笔核对。
如果您发现额度下降速度超出预期,通常来自以下原因,建议优先自查:
长会话未关闭,历史对话逐轮累积;
智能体、知识库、插件等自动拼接了大量输入内容;
文生图、文生视频等任务反复重新生成、批量提交,或异步任务重复提交;
自动化脚本、定时任务、批量任务在持续调用;
程序超时重试、重复提交,导致同一需求多次调用;
子账号仍在调用,或API密钥(API Key)泄露后被他人调用。