web-ai-image-generation

# Web AI 生图

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "web-ai-image-generation" with this command: npx skills add henryczq/web-ai-image-generation

Web AI 生图

当用户需要通过 Gemini、ChatGPT 等网页端 AI 服务生成图片时,使用这个 skill。

能力说明

这个 skill 通过浏览器自动化打开真实的 Gemini / ChatGPT 网页,复用浏览器 profile 中的登录态,提交生图提示词,等待图片生成,并把图片保存到本地目录。

适合以下场景:

  • 不直接调用 Gemini / OpenAI 图片 API,而是复用网页端账号能力。
  • 自动生成 AI 封面图、营销图、短视频封面或其他提示词图片。
  • 需要复用网页登录状态,减少重复登录。
  • 需要处理 blob: 图片、Google 托管图片或 ChatGPT estuary/content 图片下载。

文件结构

web-ai-image-generation/
├── SKILL.md
├── DEPENDENCIES.md
├── requirements.txt
└── scripts/
    └── ai_image_playwright.py

说明:

  • scripts/ai_image_playwright.py:命令行脚本,包含 Gemini / ChatGPT 生图、等待、下载逻辑。
  • requirements.txt:Python 包依赖。
  • DEPENDENCIES.md:Python、Playwright、浏览器和系统环境安装说明。

默认目录

默认输出到当前 skill 目录下的运行时目录。默认 profile 和输出目录为:

skills/web-ai-image-generation/.runtime/profile
skills/web-ai-image-generation/.runtime/output

重要说明

浏览器通过 Playwright 的 launch_persistent_context() 启动 persistent context,并复用指定用户数据目录中的登录态。

首次使用全新 profile 时,需要在弹出的浏览器里手动登录 Gemini 和/或 ChatGPT。后续运行会自动复用该 profile 中保存的登录状态。

安装依赖

详见 DEPENDENCIES.md

快速安装:

python -m pip install -r requirements.txt
python -m playwright install chromium

命令行用法

Gemini 生图

python scripts/ai_image_playwright.py \
  --platform gemini \
  --prompt "一张竖屏 3:4 的短视频封面,主题是 AI 自动剪辑" \
  --output-dir ./output

ChatGPT 生图

python scripts/ai_image_playwright.py \
  --platform chatgpt \
  --prompt "一张电影海报风格的 AI 短视频封面" \
  --output-dir ./output

使用内置封面提示词构造

如果不传 --prompt,可以传 --title--description,脚本会自动构造短视频封面提示词:

python scripts/ai_image_playwright.py \
  --platform gemini \
  --title "AI 自动剪辑教程" \
  --description "如何用 AI 自动生成短视频" \
  --output-dir ./output

指定独立登录态目录

python scripts/ai_image_playwright.py \
  --platform chatgpt \
  --prompt "一张科技感产品海报" \
  --profile-dir ~/.ai-image-playwright/chatgpt-profile \
  --output-dir ./output

工作流概览

1. 启动浏览器

  • 使用 playwright.async_api.async_playwright()
  • 通过 launch_persistent_context() 启动 Chromium persistent context。
  • 当前实现使用 headless=False,需要桌面环境。
  • 默认优先尝试 /usr/bin/google-chrome,不存在则回退到 Playwright Chromium。
  • 启动后根据平台打开 Gemini 或 ChatGPT。
  • 如果跳转到登录页,会等待用户在浏览器中手动登录。

2. Gemini 生图流程

  • 打开 https://gemini.google.com/app
  • 尝试点击生图入口,支持 制作图片生成图片Create imageGenerate image 等文本。
  • 将提示词输入到 Gemini 的富文本输入框。
  • 点击发送按钮或按 Enter
  • 轮询页面中的大尺寸图片,判断图片是否生成完成。
  • 下载图片时优先处理:
    • blob: 图片:通过页面内 Canvas 提取。
    • googleusercontent.com / gstatic.com 图片:通过 Playwright request 下载。

3. ChatGPT 生图流程

  • 打开 https://chatgpt.com/
  • 尝试点击生图入口,支持 生成图片Create imageGenerate image 等文本。
  • 将提示词输入到 ChatGPT composer。
  • 点击发送按钮或按 Enter
  • 轮询页面中的图片候选,识别生成图。
  • ChatGPT 生成图常见特征:
    • URL 包含 chatgpt.com/backend-api/estuary/content
    • alt 包含 已生成图片
    • CSS class 包含特定图片布局特征。
    • ChatGPT 域名下的大尺寸图片。
  • 下载 estuary/content 图片时使用 page.request.get(),这样可以携带当前 Playwright context 的登录 cookie。
  • 如果 HTTP 下载失败,则尝试 Canvas 提取。

提示词规则

脚本支持两种提示词来源。

1. 直接传入完整提示词

如果传入 --prompt,脚本会原样发送该提示词,不做改写:

python scripts/ai_image_playwright.py \
  --platform gemini \
  --prompt "生成一张 3:4 竖屏封面,主题是 AI 自动剪辑,科技感,标题清晰"

2. 使用标题和描述自动构造封面提示词

如果不传 --prompt,脚本会使用 --title--description 调用内置 build_prompt() 构造提示词。

当前模板含义是:

  • 要求生成短视频竖屏封面图。
  • 比例为 3:4。
  • 主题来自 --title
  • 如果有 --description,会补充视频内容说明。
  • 要求标题文字必须清晰醒目,并包含原始标题。
  • 要求适合手机信息流。
  • 要求构图自然、有设计感、高清高质量。
  • 明确禁止生成 APP 界面、手机边框、点赞评论按钮、状态栏或导航栏。

模板生成的提示词大致如下:

请为短视频生成一张竖屏封面图片(3:4比例),主题是:{title}。{desc_part}

要求:标题文字必须清晰醒目并包含:'{title}';画面适合手机信息流;构图自然、有设计感、高清高质量;不要包含 APP 界面、手机边框、点赞评论按钮、状态栏或导航栏。

图片下载与保存

默认输出目录在当前 skill 文件夹下:

skills/web-ai-image-generation/.runtime/output

也可以通过 --output-dir 指定其他目录。

保存流程:

  1. 生图完成后,脚本扫描页面中的所有 img
  2. 根据平台筛选生成图片候选:
    • Gemini:优先选择尺寸大于约 400x400 的大图。
    • ChatGPT:优先识别 chatgpt.com/backend-api/estuary/content已生成图片、大尺寸 ChatGPT 图片等候选。
  3. 最多取最新 4 张候选图。
  4. 按平台和序号保存为 JPEG 文件。

文件名示例:

  • gemini_image_1.jpg
  • gemini_image_2.jpg
  • chatgpt_image_1.jpg
  • chatgpt_image_2.jpg

下载策略:

  • ChatGPT 的 chatgpt.com/backend-api/estuary/content 图片使用 page.request.get() 下载,可以携带当前登录 cookie。
  • Gemini 的 googleusercontent.com / gstatic.com 图片也使用 page.request.get() 下载。
  • 如果图片是 blob:,或 HTTP 下载失败,会尝试在页面内用 Canvas drawImage() 提取,再通过 toDataURL('image/jpeg', 0.95) 转为 JPEG base64,最后在 Python 端解码写入文件。
  • 文件小于约 10KB 会被认为无效并删除。

脚本运行成功后会在标准输出打印保存的图片路径。

调用建议

如果要在其他流程里调用这个 skill:

  1. 传入平台、提示词、输出目录、profile 目录。
  2. 由外部流程决定如何使用生成后的图片。
  3. 不要把 API Key 或账号凭据写入脚本。
  4. platform 做严格校验,只允许 geminichatgpt

常见问题

找不到“制作图片”或“生成图片”

可能原因:

  • 网页语言与选择器不匹配。
  • Gemini / ChatGPT UI 更新。
  • 当前账号没有生图入口。

处理建议:

  • 增加更多语言的选择器。
  • 截图确认页面状态。
  • 检查账号是否具备生图能力。

页面生成了图片但下载失败

可能原因:

  • 图片跨域导致 Canvas 读取失败。
  • 图片 URL 需要登录 cookie。
  • 图片 URL 规则发生变化。

处理建议:

  • ChatGPT 图片优先使用 page.request.get()
  • Gemini 增加更多图片域名白名单。
  • 必要时使用页面截图作为兜底方案。

一直等待直到超时

可能原因:

  • 没有成功切换到生图模式。
  • 提示词触发安全策略。
  • 页面出现错误提示,但代码没有识别。

处理建议:

  • 检查页面错误文案。
  • 增加对“生成失败”“无法生成”等状态的检测。
  • 调整等待策略,不只依赖图片数量稳定。

后续优化建议

  • 增加截图和 HTML dump,便于排查 UI 变化。
  • 把等待逻辑改成“生成中状态消失 + 图片出现”。
  • 对无桌面服务器支持 xvfb 或验证 headless 模式。
  • 将平台识别、图片识别、下载逻辑拆成更小的可测试函数。

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Nexlink

🔗 NexLink — Enterprise Connector for Nextcloud, Exchange & YouTube. Built by Firma de AI. Email, calendar, tasks, file management, document understanding, t...

Registry SourceRecently Updated
General

Prompt Wizard

Generate high-quality English prompts for ChatGPT Image 2. Use when user wants to create AI image prompts, needs GPT-Image-2 prompt writing help, describes a...

Registry SourceRecently Updated
General

delete discord message in bulk

Use when user requests deleting multiple Discord messages or channel cleanup. Triggers on phrases like: - "delete [X] messages" - "purge [X] messages" - "cle...

Registry SourceRecently Updated
General

Report Expert

生成 HTML 报告页面并部署到 Cloudflare Pages 站点。涵盖设计系统、页面结构、索引管理、iframe 内嵌查看、自动部署全流程。触发词:写报告、发布报告、部署报告、生成报告页面、report publisher、报告专家、升级报告专家、更新报告技能、发布技能升级。

Registry SourceRecently Updated