Skip to content

Baoyu Danger Gemini Web

Verified

Generates images and text via reverse-engineered Gemini Web API. Supports text generation, image generation from prompts, reference images for vision input,...

129 downloads
$ 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.

  1. Agent Execution Instructions:
  2. Determine this SKILL.md file's directory path as `SKILL_DIR`
  3. Script path = `${SKILL_DIR}/scripts/<script-name>.ts`
  4. 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`
  1. Flow:
  2. Check if consent file exists with `accepted: true` and `disclaimerVersion: "1.0"`
  3. If valid consent exists → print warning with `acceptedAt` date, proceed
  4. If no consent → show disclaimer, ask user via `AskUserQuestion`:
  5. - "Yes, I accept" → create consent file with ISO timestamp, proceed
  6. - "No, I decline" → output decline message, stop
  7. 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?
Generates images and text via reverse-engineered Gemini Web API. Supports text generation, image generation from prompts, reference images for vision input,...
What platforms support Baoyu Danger Gemini Web?
Baoyu Danger Gemini Web is available on Claude Code, OpenClaw.
What are the use cases for Baoyu Danger Gemini Web?
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.

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.