Install
openclaw skills install web-ai-image-generation自动通过浏览器复用 Gemini 或 ChatGPT 登录态,提交提示词生成图片并下载保存到本地指定目录。
openclaw skills install web-ai-image-generation当用户需要通过 Gemini、ChatGPT 等网页端 AI 服务生成图片时,使用这个 skill。
这个 skill 通过浏览器自动化打开真实的 Gemini / ChatGPT 网页,复用浏览器 profile 中的登录态,提交生图提示词,等待图片生成,并把图片保存到本地目录。
适合以下场景:
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
python scripts/ai_image_playwright.py \
--platform gemini \
--prompt "一张竖屏 3:4 的短视频封面,主题是 AI 自动剪辑" \
--output-dir ./output
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
playwright.async_api.async_playwright()。launch_persistent_context() 启动 Chromium persistent context。headless=False,需要桌面环境。/usr/bin/google-chrome,不存在则回退到 Playwright Chromium。https://gemini.google.com/app。制作图片、生成图片、Create image、Generate image 等文本。Enter。blob: 图片:通过页面内 Canvas 提取。googleusercontent.com / gstatic.com 图片:通过 Playwright request 下载。https://chatgpt.com/。生成图片、Create image、Generate image 等文本。Enter。chatgpt.com/backend-api/estuary/content。alt 包含 已生成图片。estuary/content 图片时使用 page.request.get(),这样可以携带当前 Playwright context 的登录 cookie。脚本支持两种提示词来源。
如果传入 --prompt,脚本会原样发送该提示词,不做改写:
python scripts/ai_image_playwright.py \
--platform gemini \
--prompt "生成一张 3:4 竖屏封面,主题是 AI 自动剪辑,科技感,标题清晰"
如果不传 --prompt,脚本会使用 --title 和 --description 调用内置 build_prompt() 构造提示词。
当前模板含义是:
--title。--description,会补充视频内容说明。模板生成的提示词大致如下:
请为短视频生成一张竖屏封面图片(3:4比例),主题是:{title}。{desc_part}
要求:标题文字必须清晰醒目并包含:'{title}';画面适合手机信息流;构图自然、有设计感、高清高质量;不要包含 APP 界面、手机边框、点赞评论按钮、状态栏或导航栏。
默认输出目录在当前 skill 文件夹下:
skills/web-ai-image-generation/.runtime/output
也可以通过 --output-dir 指定其他目录。
保存流程:
img。400x400 的大图。chatgpt.com/backend-api/estuary/content、已生成图片、大尺寸 ChatGPT 图片等候选。文件名示例:
gemini_image_1.jpggemini_image_2.jpgchatgpt_image_1.jpgchatgpt_image_2.jpg下载策略:
chatgpt.com/backend-api/estuary/content 图片使用 page.request.get() 下载,可以携带当前登录 cookie。googleusercontent.com / gstatic.com 图片也使用 page.request.get() 下载。blob:,或 HTTP 下载失败,会尝试在页面内用 Canvas drawImage() 提取,再通过 toDataURL('image/jpeg', 0.95) 转为 JPEG base64,最后在 Python 端解码写入文件。10KB 会被认为无效并删除。脚本运行成功后会在标准输出打印保存的图片路径。
如果要在其他流程里调用这个 skill:
platform 做严格校验,只允许 gemini 和 chatgpt。可能原因:
处理建议:
可能原因:
处理建议:
page.request.get()。可能原因:
处理建议:
xvfb 或验证 headless 模式。