nanobanana-openrouter

PassAudited by ClawScan on May 10, 2026.

Overview

This appears to be a coherent OpenRouter image-generation skill, with expected notes around API-key use, sending prompts/images to OpenRouter, and running Python dependencies via uv.

This skill looks safe for its stated purpose if you trust OpenRouter and are comfortable sending your prompts and selected images there. Before using it, set your OpenRouter key securely, avoid pasting sensitive keys into chat when possible, and avoid using confidential images unless provider data handling is acceptable.

Findings (3)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

A user's OpenRouter key may be used to make paid or quota-consuming image-generation requests.

Why it was flagged

The skill requires an OpenRouter credential, which can affect the user's provider account, quota, and billing. This is disclosed and purpose-aligned, but the registry metadata lists no primary credential or required env var.

Skill content
The script checks for API key in this order:
1. `--api-key` argument ...
2. `OPENROUTER_KEY` environment variable
Recommendation

Use a least-privileged OpenRouter key where possible, prefer the environment variable over pasting keys in chat or command lines, and monitor provider usage.

What this means

Prompts and any selected input images are shared with OpenRouter and the underlying model provider.

Why it was flagged

For editing, the script base64-encodes the selected input image and sends it with the prompt to OpenRouter. This matches the stated image-editing purpose, but it is still a third-party data flow.

Skill content
url = "https://openrouter.ai/api/v1/chat/completions" ... "image_url": { "url": pil_image_to_data_url(args.input_image) } ... {"type": "text", "text": args.prompt}
Recommendation

Do not use private, confidential, or regulated images/prompts unless you are comfortable with OpenRouter's and the model provider's data handling terms.

What this means

Running the skill may install or use current compatible versions of requests and Pillow from the Python package ecosystem.

Why it was flagged

The uv script metadata declares lower-bound dependencies rather than pinned versions. This is common for lightweight scripts, but it means future package resolution can vary.

Skill content
# dependencies = [
#     "requests>=2.31.0",
#     "pillow>=10.0.0",
# ]
Recommendation

Run in a trusted environment, and consider pinning or locking dependency versions if reproducibility or supply-chain control is important.