Gemini обрабатывают входные и выходные данные в единицах, называемых токенами.
Токены могут представлять собой отдельные символы, например z, или целые слова, например cat. Длинные слова разбиваются на несколько токенов. Набор всех токенов, используемых моделью, называется словарем, а процесс разбиения текста на токены – токенизацией.
Для моделей Gemini токен соответствует примерно четырем символам. 100 токенов – это примерно 60–80 слов на английском языке.
У каждой модели есть максимальное количество токенов, которое она может обработать в запросе и ответе. Зная количество токенов в запросе, вы можете понять, превышен ли лимит. Кроме того, стоимость запроса частично определяется количеством входных и выходных токенов, поэтому умение их подсчитывать может быть полезным.
Поддерживаемые модели
gemini-3.1-pro-previewgemini-3.8-flash(а также более старые версииgemini-3.7-flash,gemini-3.6-flashиgemini-3.5-flash)gemini-3.5-flash-lite(и более ранние версии, напримерgemini-3.1-flash-lite)gemini-3-pro-image(также известна как Nano Banana Pro)gemini-3.1-flash-image(также известна как Nano Banana 2)gemini-3.1-flash-lite-image(также известна как Nano Banana 2 Lite)gemini-3.1-flash-tts-preview
Эта функция поддерживается моделями Gemini 2.5 общего назначения и для создания изображений, но все они устарели.
Варианты подсчета токенов
Все входные и выходные данные для Gemini API токенизируются, включая текст, файлы изображений и другие нетекстовые модальности. Вот как можно подсчитывать токены:
- Проверяйте количество токенов только в запросах (перед отправкой их модели).
- Вызовите функцию
countTokens, прежде чем отправлять запрос модели. В результате будет возвращено следующее:total_tokens– количество токенов только для входных данных.
- Проверьте количество токенов в запросах и ответах.
- Получите доступ к атрибуту
usageMetadataв объекте ответа. К ним относятся:prompt_token_count– количество токенов только во входных данных.candidates_token_count– количество токенов только в выходных данных (без учета токенов мышления).thoughts_token_count– количество токенов мышления, использованных для создания ответа.total_token_count– общее количество токенов как для входных, так и для выходных данных (включая любые токены размышлений).
При потоковой передаче данных атрибут
usageMetadataпоявляется только в последнем фрагменте потока. Для промежуточных фрагментов это значение составляетnil.
Обратите внимание на следующие моменты:
- Они не будут учитывать количество входных изображений или секунд в видео- или аудиофайлах. Однако количество токенов для каждой из этих модальностей будет соотноситься с этими значениями.
- Количество входных токенов включает запрос (текст и любые входные файлы), а также системные инструкции и инструменты.
- Число выходных токенов не включает токены размышлений. Они указаны в отдельном поле.
- Ознакомьтесь с дополнительной информацией для каждого типа запроса ниже на этой странице.
- Модели Gemini Live API не поддерживают
countTokens. Кроме того, Firebase AI Logic пока не поддерживает атрибутusageMetadataв ответах от моделей Live API, но скоро это изменится.
Цены на эти варианты
Вызов
countTokens: за вызовcountTokens(Count Tokens API) плата не взимается. Максимальная квота для Count Tokens API составляет 3000 запросов в минуту.Атрибут
usageMetadataвсегда возвращается в составе ответа и не требует дополнительных токенов или оплаты.
Дополнительная информация
Ниже приведена дополнительная информация о работе с запросами определенных типов.
Как подсчитать токены для ввода текста
Дополнительная информация отсутствует.
Как подсчитывать токены в многоходовых диалогах (чатах)
При использовании чата для звонков countTokens учитывайте следующее:
- Если вы вызовете функцию
countTokensс историей чата, она вернет общее количество токенов из обеих ролей в чате (total_tokens). - Чтобы понять, насколько большим будет следующий ход, нужно добавить его в историю при вызове
countTokens.
Как подсчитать токены мультимодальных входных данных
При подсчете токенов с мультимодальным вводом учитывайте следующее:
- Вы можете отдельно вызвать
countTokensдля текста и файла. - При любом способе подсчета токенов вы получите одинаковое количество токенов, независимо от того, предоставите ли вы файл как встроенные данные или с помощью его URL.
Входные файлы изображений
Входные файлы изображений преобразуются в токены на основе их размеров:
- Изображения, обе стороны которых не превышают 384 пикселя, считаются как 258 токенов.
- Если изображение больше по одной или обеим сторонам, оно обрезается и масштабируется до размера 768 x 768 пикселей, а затем каждый фрагмент считается как 258 токенов.
Входные видео- и аудиофайлы
Входные видео- и аудиофайлы преобразуются в токены по следующим фиксированным тарифам:
- Видео: 263 токена в секунду
- Аудио: 32 токена в секунду.
Входные файлы документов (например, PDF).
Входные PDF-файлы обрабатываются как изображения, поэтому каждая страница PDF-файла токенизируется так же, как изображение.