Gemini 模型以称为令牌的单位处理输入和输出。
词元可以是单个字符(例如 z),也可以是整个字词(例如 cat)。长字词会被拆分为多个 token。模型使用的所有 token 的集合称为词汇,将文本拆分为 token 的过程称为分词。
对于 Gemini 模型,一个 token 大致相当于 4 个字符。 100 个 token 大约相当于 60-80 个英文单词。
每个模型具有在提示和回答中可以处理的词元数上限。了解提示的 token 数有助于您了解是否已超出此限制。此外,请求的费用部分取决于输入和输出 token 的数量,因此了解如何计算 token 数量会很有帮助。
请注意,Gemini 1.0 和 1.5 模型也支持“可结算字符数”和定价,但由于这些模型已全部停用或即将停用,因此本页未介绍有关可结算字符数的任何内容。
支持的模型
gemini-2.5-progemini-2.5-flashgemini-2.5-flash-litegemini-2.0-flash-001(及其自动更新的别名gemini-2.0-flash)gemini-2.0-flash-lite-001(及其自动更新的别名gemini-2.0-flash-lite)gemini-2.0-flash-preview-image-generation
用于统计令牌的选项
Gemini API 的所有输入和输出(包括文本、图片文件和其他非文本模态)都会进行分词。以下是用于统计 token 的选项:
- 检查仅限请求的令牌数量(在将请求发送给模型之前)。
- 在将请求的输入发送到模型之前,使用该输入调用
countTokens。此函数会返回:total_tokens:仅限输入的 token 数
- 检查请求和回答的 token 数。
- 在响应对象上使用
usageMetadata属性。 其中包括:prompt_token_count:仅输入的 token 数candidates_token_count:仅输出的 token 数(不包括思考 token)thoughts_token_count:用于生成回答的任何思考 token 的 token 数total_token_count:输入和输出(包括任何思考 token)的总 token 数
在流式输出时,
usageMetadata属性仅出现在流的最后一个块中。对于中间块,值为nil。
请注意上述选项的以下几点:
- 它们不会统计输入图片的数量,也不会统计视频或音频输入文件中的秒数。不过,每种模态的令牌数量将与这些值相关。
- 输入 token 数包括提示(文本和任何输入文件)以及任何系统指令和工具。
- 输出 token 数量不包含任何思考 token;这些 token 会在单独的字段中提供。
- 请参阅本页面后面的与每种类型的请求相关的其他信息。
这些选项的价格
调用
countTokens:调用countTokens(Count Tokens API)不会产生任何费用。Count Tokens API 的最大配额为每分钟 3,000 个请求 (RPM)。使用
usageMetadata属性:此属性始终作为响应的一部分返回,不会产生任何令牌或费用。
其他信息
下面提供了有关处理特定类型请求的一些其他信息。
统计文本输入 token
无其他信息。
统计多轮(聊天)token
使用聊天功能时,请注意以下有关调用 countTokens 的事项:
- 如果您使用聊天记录调用
countTokens,则会返回聊天中两个角色的总令牌数 (total_tokens)。 - 如需了解下一个对话轮次的大小,您需要在调用
countTokens时将其附加到历史记录中。
统计多模态输入 token 数量
请注意以下几点关于计算包含多模态输入的令牌数的事项:
- 您可以选择分别对文本和文件调用
countTokens。 - 无论您是以内嵌数据还是使用网址提供文件,这两种令牌计数选项都会得出相同的令牌数量。
图片输入文件
图片输入文件会根据其尺寸转换为 token:
- 两个维度均小于或等于 384 像素的图片输入:每张图片计为 258 个 token。
- 如果图片输入在某个或两个维度上较大:系统会根据需要将每张图片剪裁并缩放为 768x768 像素的图块,然后将每个图块计为 258 个 token。
视频和音频输入文件
视频和音频输入文件会以以下固定费率转换为 token:
- 视频:每秒 263 个 token
- 音频:每秒 32 个 token
文档(例如 PDF)输入文件
PDF 输入文件被视为图片,因此 PDF 文件的每页都会以与图片相同的方式进行词元化。