Бесплатный API — это конкретный тариф с модельными, проектными и региональными условиями, а не бессрочный доступ ко всем нейросетям. Один из документированных вариантов — Free Tier Gemini API для доступных моделей. Ключ сам по себе не говорит, к какому тарифу относится проект.
Эта инструкция посвящена Gemini Free Tier. Ниже показаны два варианта модели внутри него, порядок первого запроса и действия при исчерпании квоты. Платный Zenith рассматривается отдельно: рекламный баннер не означает, что у него подтверждён бесплатный тариф.
Какие варианты подтверждает Google
| Модель, документация прочитана 27.10.2026 | Стандартный текстовый вход и выход Free Tier | Что отдельно ограничено |
|---|---|---|
| gemini-3.1-flash-lite | Free of charge | Квота проекта; context caching недоступен на Free Tier |
| gemini-3.5-flash-lite | Free of charge | Квота проекта; context caching недоступен на Free Tier |
Источник — прайс Google. Доступ зависит от правил аккаунта и поддерживаемой территории. Не переносите нулевую цену обычных токенов на любые инструменты, модели и размеры нагрузки.
Квота принадлежит проекту
Бесплатный уровень Gemini API доступен новым аккаунтам, но только для некоторых моделей и в пределах лимитов конкретной модели. Источник.
Лимиты Gemini API учитываются по проекту, а не по API-ключу; ограничения могут одновременно зависеть от запросов в минуту, входных токенов в минуту и запросов в день. Источник.
Для Gemini API дневная квота RPD сбрасывается в полночь по тихоокеанскому времени, а фактические лимиты зависят от модели и тарифа. Источник.
Условия Gemini Free и Paid различаются не только лимитами: на бесплатном уровне содержимое может использоваться для улучшения продуктов Google, а на платном — нет. Источник.
Создание ещё одного ключа того же проекта не увеличивает его RPM, TPM или RPD. После 429 посмотрите, какой именно предел исчерпан: минутную частоту исправляют ограничением очереди, дневную — ожиданием указанного сброса или осознанным изменением тарифа. Не включайте бесконечный повтор.
Первый запрос в Gemini API
Проект, тариф, ключ —последовательно
- В Google AI Studio откройте Dashboard → Projects и выберите свой проект; для существующего облачного проекта при необходимости используйте Dashboard → Projects → Import projects → выберите Cloud-проект → Import → API Keys.
- Проверьте Billing Tier проекта и модели, отображаемые для вашего аккаунта: gemini-3.1-flash-lite или gemini-3.5-flash-lite — варианты для проверки, не гарантия доступа. Проверьте Rate Limit. Для этого сценария нужен Free Tier и модель, которая действительно отображается и проходит ваш запрос; если её нет, выберите доступную из актуального списка. Ещё один ключ того же проекта квоту не увеличивает.
- Перейдите в API Keys и создайте/выберите ключ именно этого проекта по официальной инструкции.
- Запустите пример ниже, разберите текст/candidates иошибку 429 по лимитам того же проекта. Не утверждайте бесплатность только по наличию ключа.
Следующий пример использует стандартную библиотеку Python. Сохраните gemini_free_first.py и запустите python gemini_free_first.py. Выполнение здесь не производилось.
import getpass
import json
import urllib.error
import urllib.request
import urllib.parse
key = getpass.getpass("Google Gemini API key: ")
model=input("Точный model ID из доступных вашему проекту AI Studio: ").strip().removeprefix("models/")
if not model: raise SystemExit("ID не введён")
request = urllib.request.Request(
"https://generativelanguage.googleapis.com/v1beta/models/"+urllib.parse.quote(model,safe="")+":generateContent",
data=json.dumps({"contents":[{"parts":[{"text":"Ответь одним словом: ok"}]}]}).encode("utf-8"),
headers={"User-Agent":"Comrad404SourceReview/1.0", "x-goog-api-key":key,"content-type":"application/json"}, method="POST")
try:
with urllib.request.urlopen(request, timeout=60) as response:
result = json.load(response)
except urllib.error.HTTPError as error:
print("HTTP", error.code)
print(error.read().decode(errors="replace").replace(key,"[REDACTED]")[:1000])
raise SystemExit(1)
if not isinstance(result,dict) or result.get("error"):
raise SystemExit("Ответ содержит ошибку или неизвестный корневой тип")
candidates=result.get("candidates")
if not isinstance(candidates,list) or not candidates:
raise SystemExit("Нет candidates; проверьте promptFeedback и состояние запроса")
candidate=candidates[0]
if not isinstance(candidate,dict) or candidate.get("finishReason")!="STOP":
raise SystemExit("Ответ не завершён нормально; проверьте finishReason")
parts=candidate.get("content",{}).get("parts",[])
text="".join(p["text"] for p in parts if isinstance(p,dict) and isinstance(p.get("text"),str))
if text.strip()!="ok": raise SystemExit("Ожидаемый текст ok не получен")
print("text_check: OK",text)
print("usageMetadata:",result.get("usageMetadata"))
Условный ожидаемый текст при успешном запуске этого документального шаблона — ok. Он не получен редакцией и зависит от доступного вашему проекту ID. Если candidates отсутствует или модель недоступна, сначала разберите ответ и условия проекта. Не подменяйте Google-ключ ключом стороннего бота, оставляя домен Google.
Цена бесплатного эксперимента и переход на платный
В приведённых строках Free Tier рассматривается только стандартный текстовый вход и текстовый выход; аудио и прочие отдельно тарифицируемые категории в эту смету не входят; это не правило для остальных моделей, инструментов и функций. Это не означает неограниченную пропускную способность. Paid Tier меняет условия. Инструкция Google по биллингу описывает привязку платёжного аккаунта и минимальное пополнение $5 или эквивалент для Prepay. Далее она уточняет, что конкретному аккаунту может предлагаться выбор Prepay/Postpay или временно назначаться Postpay. Смотрите фактический план и условия своего проекта до подтверждения: это переход на платный доступ, а не продление Free Tier.
Zenith — отдельный сервис; его актуальный тарифный статус и доступность модели не проверялись, а следующий пример относится только к историческому снимку каталога от 27.10.2026, не к текущей цене или доступности товара. Например, исторический снимок gpt-6-luna от 27.10.2026 даёт $0,000128 для 4 000 входных и 800 выходных токенов без кэша и комиссий, или $1,28 для 10 000 таких запросов. Это другой провайдер и другой баланс; нулевой тариф Google на него не распространяется.
Когда бесплатный тариф не подходит
Для нагрузки, которой нужны предсказуемая ёмкость, конкретная политика данных или непрерывная работа после исчерпания RPD, сначала сформулируйте эти требования и сравните тарифы по ним. Бесплатность входа не компенсирует потерю обязательной функции и не разрешает отправку приватных документов без проверки условий обработки.
Обучение и хранение запросов — разные настройки
Запись Google от 26.10.2026 относится к новым Paid-проектам Generate Content API: generateContent, streamGenerateContent, batchGenerateContent сохраняют запросы по умолчанию. store=false отключает хранение отдельного запроса; отключение Generate Content API logging в Settings панели Logs and Datasets меняет настройку журналирования. Старые проекты сохраняют прежнее состояние. Эти способы не являются настройкой использования данных для улучшения продуктов и не устанавливают параметры Free Tier.
Пример Google — документированный шаблон, не полученный редакцией live-ответ. Для успеха нужны непустой candidates и ожидаемый текст; при 429 разберите лимит проекта, а при неизвестном ID — модель. Правило хранения с 26.10 относится только к новым Paid Generate Content-проектам; оно не устанавливает настройки Free Tier. Суммы Zenith выше — арифметика исторического каталога, не проверенная текущая публичная цена.
Для сравнения с Paid Standard возьмём официальный gemini-3.1-flash-lite: прайс, прочитанный 27.10.2026, даёт $0,25/$1,50 за миллион обычного текстового входа/выхода. При тех же 4 000/800 без кэша/инструментов:0,004×0,25+0,0008×1,50=$0,0022;10 000 —$22. Нулевой тариф стандартного текстового входа и выхода Free Tier относится к gemini-3.1-flash-lite и gemini-3.5-flash-lite и только при действующих условиях проекта/квоты; отдельно тарифицируемые категории на него не переносятся — например, аудиовход gemini-3.1-flash-lite в том же прайсе имеет отдельную платную ставку $0,50 за миллион токенов. Это правило не распространяется на любой другой API.
Долларовые единицы Zenith: inputCostMicrousdPerMillion=16000 и outputCostMicrousdPerMillion=80000. Это 16 000/1 000 000=$0,016 и 80 000/1 000 000=$0,08 за миллион токенов, не$16/$80. Затем 4 000×0,016/1 000 000 +800×0,08/1 000 000=$0,000128;10 000×0,000128=$1,28. Это историческая смета 27.10.2026, а не текущая цена Gemini илисравнениекачества. Paid-пример Google выше относится только ктекстовому входу/выходу; аудио исключено.
Когда Free Tier подходит, а когда нужен другой тариф
| Проверка до запуска | Результат | Действие |
|---|---|---|
| Нужная модель | Есть у вашего аккаунта с Free Tier и проходит короткий запрос | Можно оценивать Free на своей нагрузке; иначе проверить доступный Paid-вариант или другую модель |
| RPM/TPM/RPD проекта | Плановая нагрузка укладывается во все активные ограничения | Free можно оставить для этой нагрузки; при превышении рассмотреть Paid и проверить его реальные квоты, не считать безлимитным |
| Непрерывность | Допустима остановка после исчерпания лимита | Free возможен; если остановка неприемлема, заранее проверить платную ёмкость и резервирование |
| Политика данных | Условия Free разрешены для входов проекта | Иначе выбрать вариант с подходящими опубликованными условиями и отдельно проверить журналирование |
| Расход | Модель/объём/категории тарификации известны | Для Paid посчитать по его текущим ставкам; нулевая цена обычных Free-токенов не отменяет квоты и условия |
Это процедура выбора по требованиям, не гарантия ёмкости: сохраните дату, проект, модель и показанные лимиты, затем сопоставьте плановые RPM/TPM/RPD с ними. Ошибка 429 требует чтения конкретного лимита и его окна; другой ключ того же проекта не создаёт новую квоту.
Схема raw HTTP-примера — из официального API reference GenerateContent: POST /v1beta/models/{model}:generateContent, содержимое в contents, кандидаты ответа в candidates. STOP означает нормальное завершение, MAX_TOKENS — достижение предела. Поддерживаемый вашим проектом ID выбирается до запуска; тариф и квота по одному имени не устанавливаются.



