Baoyu Danger Gemini Web
VerifiedGenerates images and text via reverse-engineered Gemini Web API. Supports text generation, image generation from prompts, reference images for vision input,...
$ Add to .claude/skills/ About This Skill
# Gemini Web Client
Text/image generation via Gemini Web API. Supports reference images and multi-turn conversations.
Script Directory
Important: All scripts are located in the `scripts/` subdirectory of this skill.
- Agent Execution Instructions:
- Determine this SKILL.md file's directory path as `SKILL_DIR`
- Script path = `${SKILL_DIR}/scripts/<script-name>.ts`
- Replace all `${SKILL_DIR}` in this document with the actual path
Script Reference: | Script | Purpose | |--------|---------| | `scripts/main.ts` | CLI entry point for text/image generation | | `scripts/gemini-webapi/*` | TypeScript port of `gemini_webapi` (GeminiClient, types, utils) |
Consent Check (REQUIRED)
Before first use, verify user consent for reverse-engineered API usage.
- Consent file locations:
- macOS: `~/Library/Application Support/baoyu-skills/gemini-web/consent.json`
- Linux: `~/.local/share/baoyu-skills/gemini-web/consent.json`
- Windows: `%APPDATA%\baoyu-skills\gemini-web\consent.json`
- Flow:
- Check if consent file exists with `accepted: true` and `disclaimerVersion: "1.0"`
- If valid consent exists → print warning with `acceptedAt` date, proceed
- If no consent → show disclaimer, ask user via `AskUserQuestion`:
- - "Yes, I accept" → create consent file with ISO timestamp, proceed
- - "No, I decline" → output decline message, stop
- Consent file format: `{"version":1,"accepted":true,"acceptedAt":"<ISO>","disclaimerVersion":"1.0"}`
---
Preferences (EXTEND.md)
Use Bash to check EXTEND.md existence (priority order):
```bash # Check project-level first test -f .baoyu-skills/baoyu-danger-gemini-web/EXTEND.md && echo "project"
# Then user-level (cross-platform: $HOME works on macOS/Linux/WSL) test -f "$HOME/.baoyu-skills/baoyu-danger-gemini-web/EXTEND.md" && echo "user" ```
┌──────────────────────────────────────────────────────────┬───────────────────┐ │ Path │ Location │ ├──────────────────────────────────────────────────────────┼───────────────────┤ │ .baoyu-skills/baoyu-danger-gemini-web/EXTEND.md │ Project directory │ ├──────────────────────────────────────────────────────────┼───────────────────┤ │ $HOME/.baoyu-skills/baoyu-danger-gemini-web/EXTEND.md │ User home │ └──────────────────────────────────────────────────────────┴───────────────────┘
┌───────────┬───────────────────────────────────────────────────────────────────────────┐ │ Result │ Action │ ├───────────┼───────────────────────────────────────────────────────────────────────────┤ │ Found │ Read, parse, apply settings │ ├───────────┼───────────────────────────────────────────────────────────────────────────┤ │ Not found │ Use defaults │ └───────────┴───────────────────────────────────────────────────────────────────────────┘
EXTEND.md Supports: Default model | Proxy settings | Custom data directory
Usage
```bash # Text generation npx -y bun ${SKILL_DIR}/scripts/main.ts "Your prompt" npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "Your prompt" --model gemini-3-flash
# Image generation npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "A cute cat" --image cat.png npx -y bun ${SKILL_DIR}/scripts/main.ts --promptfiles system.md content.md --image out.png
# Vision input (reference images) npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "Describe this" --reference image.png npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "Create variation" --reference a.png --image out.png
# Multi-turn conversation npx -y bun ${SKILL_DIR}/scripts/main.ts "Remember: 42" --sessionId session-abc npx -y bun ${SKILL_DIR}/scripts/main.ts "What number?" --sessionId session-abc
# JSON output npx -y bun ${SKILL_DIR}/scripts/main.ts "Hello" --json ```
Options
| Option | Description | |--------|-------------| | `--prompt`, `-p` | Prompt text | | `--promptfiles` | Read prompt from files (concatenated) | | `--model`, `-m` | Model: gemini-3-pro (default), gemini-3-flash, gemini-3-flash-thinking, gemini-3.1-pro-preview | | `--image [path]` | Generate image (default: generated.png) | | `--reference`, `--ref` | Reference images for vision input | | `--sessionId` | Session ID for multi-turn conversation | | `--list-sessions` | List saved sessions | | `--json` | Output as JSON | | `--login` | Refresh cookies, then exit | | `--cookie-path` | Custom cookie file path | | `--profile-dir` | Chrome profile directory |
Models
| Model | Description | |-------|-------------| | `gemini-3-pro` | Default, latest 3.0 Pro | | `gemini-3-flash` | Fast, lightweight 3.0 Flash | | `gemini-3-flash-thinking` | 3.0 Flash with thinking | | `gemini-3.1-pro-preview` | 3.1 Pro preview (empty header, auto-routed) |
Authentication
First run opens browser for Google auth. Cookies cached automatically.
Supported browsers (auto-detected): Chrome, Chrome Canary/Beta, Chromium, Edge.
Force refresh: `--login` flag. Override browser: `GEMINI_WEB_CHROME_PATH` env var.
Environment Variables
| Variable | Description | |----------|-------------| | `GEMINI_WEB_DATA_DIR` | Data directory | | `GEMINI_WEB_COOKIE_PATH` | Cookie file path | | `GEMINI_WEB_CHROME_PROFILE_DIR` | Chrome profile directory | | `GEMINI_WEB_CHROME_PATH` | Chrome executable path | | `HTTP_PROXY`, `HTTPS_PROXY` | Proxy for Google access (set inline with command) |
Sessions
Session files stored in data directory under `sessions/<id>.json`.
Contains: `id`, `metadata` (Gemini chat state), `messages` array, timestamps.
Extension Support
Custom configurations via EXTEND.md. See Preferences section for paths and supported options.
Use Cases
- Generate images from text prompts using Gemini models without an official API key
- Create image variations by providing reference images alongside text prompts
- Conduct multi-turn conversations with session persistence across invocations
- Use Gemini's vision capabilities to describe or analyze images via reference input
- Generate text with multiple Gemini model variants (Pro, Flash, Thinking)
Pros & Cons
Pros
- +Free to use — no API key or billing required, leverages web session authentication
- +Supports text generation, image generation, vision input, and multi-turn conversations in one tool
- +Includes a consent check workflow to ensure users understand the reverse-engineering risks
Cons
- -Uses a reverse-engineered API — may break without notice when Google changes their web interface
- -Requires a Google account login via Chrome browser which complicates headless environments
- -Violates Google's terms of service which could result in account restrictions
FAQ
What does Baoyu Danger Gemini Web do?
What platforms support Baoyu Danger Gemini Web?
What are the use cases for Baoyu Danger Gemini Web?
100+ free AI tools
Writing, PDF, image, and developer tools — all in your browser.
Next Step
Use the skill detail page to evaluate fit and install steps. For a direct browser workflow, move into a focused tool route instead of staying in broader support surfaces.