技能详情(站内镜像,无评论)
许可证:MIT-0
MIT-0 ·免费使用、修改和重新分发。无需归因。
版本:v1.0.0
统计:⭐ 0 · 27 · 1 次当前安装 · 1 次历史总安装
⭐ 0
安装量(当前) 1
🛡 VirusTotal :良性 · OpenClaw :可疑
Package:cs995279497-byte/chen-nano-banana-pro
安全扫描(ClawHub)
- VirusTotal :良性
- OpenClaw :可疑
OpenClaw 评估
技能的代码和说明与其图像生成目的相匹配,但存在多个打包和元数据不一致(未声明的GEMINI_API_KEY和UV要求、不匹配的元数据、硬编码路径) ,在安装前需要谨慎。
目的
该 Python 脚本实现了基于 Gemini 的图像生成和编辑功能,使用了 google-genai 和 Pillow,功能与名称/描述相符。然而,技能元数据声明没有指定任何必需的环境变量或二进制文件,而 SKILL.md 文件和脚本却需要 API 密钥(GEMINI_API_KEY 或 --api-key),并且 SKILL.md 文件还要求存在 'uv' 运行器。这种声明的需求与实际运行时需求之间的不匹配……
说明范围
SKILL.md提供专注的运行时工作流程(通过提示、可选输入图像、将PNG保存为CWD )。这些说明不会请求Gemini API密钥以外的不相关文件或凭据。次要问题:示例和技能标题包含硬编码的绝对路径(例如,/Users/apple/...和~/.codex/... ) ,并且SKILL.md指示从用户的CWD运行以保存位置—两者都是需要注意的打包/使用怪癖,但不是固有的……
安装机制
不存在安装规范(仅指令和脚本文件)。没有远程下载或提取步骤。脚本列出了依赖项( google-genai、pillow ) ,但它们不会自动安装;这是低安装风险,但意味着用户必须自己安装依赖项。
证书
该脚本确实需要一个 Gemini API 密钥(GEMINI_API_KEY 或 --api-key),其大小与镜像生成量成正比。但注册表元数据声明不需要任何环境变量,而 SKILL.md 和脚本却需要 GEMINI_API_KEY,这造成了不一致。脚本没有请求其他无关的凭据。另请注意,该技能需要有权限将镜像文件写入选定的工作目录。
持久
技能不会始终标记为: true ,并且不会请求持久的座席范围权限。它只在当前工作目录中写入生成的图像(并创建父目录) ;它不会修改其他技能或全局配置。
安装(复制给龙虾 AI)
将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。
请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「Chen Nano Banana Pro」。简介:使用Nano Banana Pro ( Gemini 3 Pro图像)生成/编辑图像。支持文本到图像、编辑和1K/2K/4K分辨率。。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/cs995279497-byte/chen-nano-banana-pro/SKILL.md
(来源:yingzhi8.cn 技能库)
SKILL.md
---
name: chen-nano-banana-pro
description: Generate/edit images with Nano Banana Pro (Gemini 3 Pro Image). Supports text-to-image, edits, and 1K/2K/4K resolution.
command: uv run /Users/apple/.openclaw/workspace/skills/nano-banana-pro/scripts/generate_image.py
---
# Nano Banana Pro Image Generation & Editing
Generate new images or edit existing ones using Google's Nano Banana Pro API (Gemini 3 Pro Image).
## Usage
Run the script using absolute path (do NOT cd to skill directory first):
**Generate new image:**
```bash
uv run ~/.codex/skills/nano-banana-pro/scripts/generate_image.py --prompt "your image description" --filename "output-name.png" [--resolution 1K|2K|4K] [--api-key KEY]
```
**Edit existing image:**
```bash
uv run ~/.codex/skills/nano-banana-pro/scripts/generate_image.py --prompt "editing instructions" --filename "output-name.png" --input-image "path/to/input.png" [--resolution 1K|2K|4K] [--api-key KEY]
```
**Important:** Always run from the user's current working directory so images are saved where the user is working, not in the skill directory.
## Default Workflow (draft → iterate → final)
Goal: fast iteration without burning time on 4K until the prompt is correct.
- Draft (1K): quick feedback loop
- `uv run ~/.codex/skills/nano-banana-pro/scripts/generate_image.py --prompt "<draft prompt>" --filename "yyyy-mm-dd-hh-mm-ss-draft.png" --resolution 1K`
- Iterate: adjust prompt in small diffs; keep filename new per run
- If editing: keep the same `--input-image` for every iteration until you’re happy.
- Final (4K): only when prompt is locked
- `uv run ~/.codex/skills/nano-banana-pro/scripts/generate_image.py --prompt "<final prompt>" --filename "yyyy-mm-dd-hh-mm-ss-final.png" --resolution 4K`
## Resolution Options
The Gemini 3 Pro Image API supports three resolutions (uppercase K required):
- **1K** (default) - ~1024px resolution
- **2K** - ~2048px resolution
- **4K** - ~4096px resolution
Map user requests to API parameters:
- No mention of resolution → `1K`
- "low resolution", "1080", "1080p", "1K" → `1K`
- "2K", "2048", "normal", "medium resolution" → `2K`
- "high resolution", "high-res", "hi-res", "4K", "ultra" → `4K`
## API Key
The script checks for API key in this order:
1. `--api-key` argument (use if user provided key in chat)
2. `GEMINI_API_KEY` environment variable
If neither is available, the script exits with an error message.
## Preflight + Common Failures (fast fixes)
- Preflight:
- `command -v uv` (must exist)
- `test -n "$GEMINI_API_KEY"` (or pass `--api-key`)
- If editing: `test -f "path/to/input.png"`
- Common failures:
- `Error: No API key provided.` → set `GEMINI_API_KEY` or pass `--api-key`
- `Error loading input image:` → wrong path / unreadable file; verify `--input-image` points to a real image
- “quota/permission/403” style API errors → wrong key, no access, or quota exceeded; try a different key/account
## Filename Generation
Generate filenames with the pattern: `yyyy-mm-dd-hh-mm-ss-name.png`
**Format:** `{timestamp}-{descriptive-name}.png`
- Timestamp: Current date/time in format `yyyy-mm-dd-hh-mm-ss` (24-hour format)
- Name: Descriptive lowercase text with hyphens
- Keep the descriptive part concise (1-5 words typically)
- Use context from user's prompt or conversation
- If unclear, use random identifier (e.g., `x9k2`, `a7b3`)
Examples:
- Prompt "A serene Japanese garden" → `2025-11-23-14-23-05-japanese-garden.png`
- Prompt "sunset over mountains" → `2025-11-23-15-30-12-sunset-mountains.png`
- Prompt "create an image of a robot" → `2025-11-23-16-45-33-robot.png`
- Unclear context → `2025-11-23-17-12-48-x9k2.png`
## Image Editing
When the user wants to modify an existing image:
1. Check if they provide an image path or reference an image in the current directory
2. Use `--input-image` parameter with the path to the image
3. The prompt should contain editing instructions (e.g., "make the sky more dramatic", "remove the person", "change to cartoon style")
4. Common editing tasks: add/remove elements, change style, adjust colors, blur background, etc.
## Prompt Handling
**For generation:** Pass user's image description as-is to `--prompt`. Only rework if clearly insufficient.
**For editing:** Pass editing instructions in `--prompt` (e.g., "add a rainbow in the sky", "make it look like a watercolor painting")
Preserve user's creative intent in both cases.
## Prompt Templates (high hit-rate)
Use templates when the user is vague or when edits must be precise.
- Generation template:
- “Create an image of: <subject>. Style: <style>. Composition: <camera/shot>. Lighting: <lighting>. Background: <background>. Color palette: <palette>. Avoid: <list>.”
- Editing template (preserve everything else):
- “Change ONLY: <single change>. Keep identical: subject, composition/crop, pose, lighting, color palette, background, text, and overall style. Do not add new objects. If text exists, keep it unchanged.”
## Output
- Saves PNG to current directory (or specified path if filename includes directory)
- Script outputs the full path to the generated image
- **Do not read the image back** - just inform the user of the saved path
## Examples
**Generate new image:**
```bash
uv run ~/.codex/skills/nano-banana-pro/scripts/generate_image.py --prompt "A serene Japanese garden with cherry blossoms" --filename "2025-11-23-14-23-05-japanese-garden.png" --resolution 4K
```
**Edit existing image:**
```bash
uv run ~/.codex/skills/nano-banana-pro/scripts/generate_image.py --prompt "make the sky more dramatic with storm clouds" --filename "2025-11-23-14-25-30-dramatic-sky.png" --input-image "original-photo.jpg" --resolution 2K
```