Gemini-API: Python-обёртка для веб-приложения Gemini
Обзор HanaokaYuzu/Gemini-API — неофициальной асинхронной Python-библиотеки для доступа к Google Gemini без официального API-ключа.
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.
Как это работает: архитектура
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]
Получение куки вручную:
- Перейдите на
https://gemini.google.comи войдите в аккаунт Google. - Нажмите
F12→ вкладка Network → обновите страницу. - Кликните любой запрос, скопируйте значения
__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 моделями.
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 токенов | Бесплатно (аккаунт) |
| Лицензия | MIT | Apache 2.0 | MIT |
| Активная разработка | ✅ | ✅ | ❌ |
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 |