Gemini-API: неофициальная Python-обёртка для Google Gemini

Что это такое и для кого

HanaokaYuzu/Gemini-API (пакет gemini-webapi на PyPI) — это асинхронная Python-библиотека, созданная методом реверс-инжиниринга веб-приложения Google Gemini. Проект позволяет разработчикам взаимодействовать с Gemini программно, используя вместо официального API-ключа куки-файлы браузера.

«A reverse-engineered asynchronous Python wrapper for the Google Gemini web app (formerly Bard).»
— официальное описание проекта на GitHub

Целевая аудитория:

  • Python-разработчики, которым нужен доступ к функциям Gemini (генерация изображений, видео, Deep Research), недоступным или ограниченным в официальном API.
  • Исследователи и энтузиасты, изучающие возможности LLM без оформления платного аккаунта.
  • Авторы ботов, скриптов и автоматизаций на базе Google-аккаунта.
  • Разработчики, которых не устраивают ограничения официального SDK.
⚠ Важно понимать
Это неофициальный проект, не поддерживаемый Google. Он работает через куки-файлы аккаунта и может перестать функционировать при изменении внутреннего API веб-приложения. Использование может нарушать Условия обслуживания Google.

Как это работает: архитектура


graph TD
    A[Браузер пользователя] -->|Логин на gemini.google.com| B[Google Gemini Web App]
    B -->|Куки: __Secure-1PSID, __Secure-1PSIDTS| C[gemini-webapi клиент]
    C -->|Асинхронный HTTP-запрос| D[Внутренний API Gemini]
    D -->|JSON-ответ| C
    C -->|Структурированный объект| E[Ваш Python-код]
    C -->|Авто-обновление куки| C

Библиотека эмулирует браузерную сессию, автоматически обновляя куки в фоне, пока процесс активен.


Установка и аутентификация

Требуется Python 3.10 или выше.

# Базовая установка
pip install gemini-webapi

# С поддержкой автоимпорта куки из браузера
pip install gemini-webapi[browser]

Получение куки вручную:

  1. Перейдите на https://gemini.google.com и войдите в аккаунт Google.
  2. Нажмите F12 → вкладка Network → обновите страницу.
  3. Кликните любой запрос, скопируйте значения __Secure-1PSID и __Secure-1PSIDTS.
import asyncio
from gemini_webapi import GeminiClient

async def main():
    client = GeminiClient(
        secure_1psid="ВАШЕ_ЗНАЧЕНИЕ_PSID",
        secure_1psidts="ВАШЕ_ЗНАЧЕНИЕ_PSIDTS",
    )
    await client.init()
    response = await client.generate_content("Объясни квантовую запутанность простыми словами")
    print(response.text)

asyncio.run(main())
💡 Авто-обновление куки
После успешной инициализации библиотека автоматически обновляет __Secure-1PSIDTS в фоновом режиме — вам не нужно вручную следить за сроком действия сессии. Для контейнерных окружений (Docker) рекомендуется смонтировать volume для хранения куки между перезапусками.

Ключевые возможности

1. Генерация и сохранение изображений

async def main():
    response = await client.generate_content("Нарисуй закат над морем в стиле импрессионизма")
    for i, image in enumerate(response.images):
        await image.save(path="output/", filename=f"sunset_{i}.png", verbose=True)

asyncio.run(main())

2. Расширения: Gmail, YouTube и другие

async def main():
    # Обращение к Gmail через расширение
    r1 = await client.generate_content("@Gmail Что в последнем письме в моём ящике?")
    print(r1)

    # Обращение к YouTube
    r2 = await client.generate_content("@Youtube Последние видео от канала Veritasium")
    print(r2)

asyncio.run(main())

3. Deep Research через CLI

# Отправить задачу на исследование
python cli.py --cookies-json cookies.json research send --prompt "Тренды рынка AI-чипов 2025"

# Проверить статус (используйте chat ID из шага 1)
python cli.py --cookies-json cookies.json research check c_abc123

# Получить финальный отчёт
python cli.py --cookies-json cookies.json research get c_abc123 --output report.md

4. Стриминг ответов

async def main():
    async for chunk in client.generate_content_stream("Напиши длинное эссе о будущем ИИ"):
        print(chunk.text, end="", flush=True)

asyncio.run(main())

Полный список возможностей

ФункцияОписание
Persistent CookiesАвтообновление куки в фоне, оптимизировано для always-on сервисов
Image GenerationГенерация и редактирование изображений через естественный язык
Video & AudioНативная генерация видео и аудио/музыки
Deep ResearchПолный воркфлоу: создание плана, опрос статуса, получение результата
System PromptКастомизация системного промпта через Gemini Gems
Extension SupportПоддержка расширений: YouTube, Gmail и другие
Classified OutputsКатегоризация текста, изображений, видео и аудио в ответе
Streaming ModeСтриминг с выдачей частичных ответов по мере генерации
CLI ToolАвтономный инструмент командной строки

Тарифы и цены

Сама библиотека gemini-webapiбесплатная (MIT-лицензия, open-source). Стоимость определяется уровнем вашего Google-аккаунта:

Уровень доступаСтоимостьЧто даёт
Google-аккаунт (бесплатный)$0Доступ к Gemini Flash, базовые лимиты
Google AI Pro~$19.99/месРасширенные лимиты, Gemini 2.5 Pro
Google AI Ultra~$124.99/3 месGemini 3.1 Pro, Deep Think, Veo 3.1

Важный нюанс: в апреле 2026 Google ограничил бесплатный доступ — Pro-модели теперь требуют платной подписки или платного API-ключа. Бесплатный тариф ограничен только Flash и Flash-Lite моделями.

ℹ Не путайте с официальным API
gemini-webapi использует куки браузера, а не официальный API-ключ Google. Это означает полное отсутствие дополнительных токен-расходов — всё лимитируется вашим аккаунтом Gemini, как если бы вы работали в веб-интерфейсе.

Плюсы и минусы

✅ Плюсы❌ Минусы
Бесплатное использование при наличии Google-аккаунтаНеофициальный статус — может сломаться в любой момент
Доступ к генерации изображений, видео и аудиоТребует ручного получения куки при первом запуске
Поддержка Deep Research и Gemini GemsНарушает ToS Google (риск блокировки аккаунта)
Асинхронный дизайн (asyncio), подходит для highloadКуки привязаны к конкретному аккаунту (не масштабируется)
Автообновление сессии в фонеОграничения доступны только для аккаунтов 18+ и поддерживаемых регионов
Поддержка расширений (Gmail, YouTube)Один мейнтейнер — риски с долгосрочной поддержкой
Docker-friendly с volume для кукиНет SLA и гарантий стабильности
CLI из коробкиНе подходит для production-систем с высокими требованиями к надёжности

Сравнение с альтернативами

Параметрgemini-webapi (HanaokaYuzu)google-genai (официальный SDK)dsdanielpark/Gemini-API
ТипРеверс-инжинирингОфициальныйРеверс-инжиниринг
АутентификацияКуки браузераAPI-ключКуки браузера
Asyncio✅ Полностью✅ Полностью❌ Синхронный
Генерация изображений (Imagen)✅ Через веб-интерфейс✅ Через официальный API⚠️ Частично
Генерация видео/аудио✅ (Veo, платно)
Deep Research
Расширения (Gmail/YouTube)⚠️ Ограниченно
Стриминг
Стабильность⚠️ Может сломаться✅ Высокая⚠️ Заброшен (автор отсылает к HanaokaYuzu)
ЦенаБесплатно (аккаунт)От $0.10/1M токеновБесплатно (аккаунт)
ЛицензияMITApache 2.0MIT
Активная разработка
📝 Когда выбрать официальный SDK
Если вы строите production-сервис с требованиями к надёжности, SLA, или обрабатываете данные пользователей — выбирайте официальный google-genai. Он поддерживает модели Gemini 2.5 Pro/Flash и имеет предсказуемые лимиты. Стоимость от $0.10 за 1M токенов (Flash-Lite) до $2.50 за 1M токенов (Gemini 2.5 Flash).

Вердикт

HanaokaYuzu/Gemini-API — технически впечатляющий проект, открывающий доступ к возможностям, которых нет в официальном API: Deep Research, расширения Gmail/YouTube, генерация видео через веб-интерфейс — всё это «из коробки», бесплатно, через куки браузера. Асинхронная архитектура и автообновление сессии делают библиотеку удобной для автоматизаций и ботов.

Однако обратная сторона очевидна: это не официальный инструмент. Google может изменить внутреннее API в любой момент, а использование куки-аутентификации несёт риски для вашего аккаунта.

Кому подойдёт:

  • 🟢 Исследователям и энтузиастам для экспериментов
  • 🟢 Разработчикам прототипов и pet-проектов
  • 🟢 Авторам личных ботов и автоматизаций
  • 🔴 Не подходит для production-сервисов и коммерческих продуктов

Рейтинг

КритерийОценка
Функциональность⭐⭐⭐⭐⭐ 5/5
Простота установки⭐⭐⭐⭐ 4/5
Стабильность⭐⭐⭐ 3/5
Безопасность для продакшена⭐⭐ 2/5
Итого7 / 10