Gemini TG Image Gen

ReviewAudited by ClawScan on May 10, 2026.

Overview

The skill mostly matches its image-to-Telegram purpose, but it should be reviewed because it can fetch unvalidated model-returned URLs and its Telegram send pattern may upload stale local images.

Review before installing. If you use it, provide a scoped OpenRouter key, verify the Telegram target, avoid sensitive prompts, and consider modifying the workflow to validate downloaded image URLs, send only the exact returned file paths, and clean up temporary files.

Findings (4)

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

Telegram could receive stale or unintended images from previous runs if they match the wildcard.

Why it was flagged

The send step uses a wildcard in a shared temp directory rather than the exact current-run path printed by the script.

Skill content
message action=send channel=telegram media="/root/.openclaw/workspace/tmp/openrouter_image_*.png" caption="Generated: <prompt>"
Recommendation

Send only the exact path or paths returned by the script for the current request, preferably from a per-run directory, and delete generated files after sending.

What this means

A crafted or unexpected model response could make the agent fetch arbitrary URLs from its environment and then place the downloaded content into the Telegram workflow.

Why it was flagged

The script accepts HTTP(S) URLs from the model/provider response and downloads them without an allowlist, private-network blocking, content-type checks, or size limits.

Skill content
if token.startswith("http://") or token.startswith("https://"):
    urls.append(token)
...
r = requests.get(url, timeout=60)
Recommendation

Only accept expected image outputs, validate MIME type and size, reject localhost/private-network destinations, and prefer provider-supplied data:image URLs or allowlisted image hosts.

What this means

Using the skill may consume OpenRouter credits or quota, and prompts are sent under the configured account.

Why it was flagged

The skill needs an OpenRouter credential to call the image model; this is purpose-aligned but gives the skill access to the user's OpenRouter account/quota.

Skill content
Read API key from env: `OPENROUTER_API_KEY`.
Recommendation

Use a revocable, least-privilege OpenRouter key where possible, monitor usage, and declare the required environment variable in metadata.

What this means

Prompts, captions, and generated images may be visible to the provider and Telegram recipients.

Why it was flagged

The workflow intentionally sends prompt-derived content to OpenRouter and then sends the generated image, with the prompt as caption, to Telegram.

Skill content
Use OpenRouter model `google/gemini-2.5-flash-image`.
...
Send the image to Telegram using the `message` tool
Recommendation

Avoid sensitive prompts or private data, and verify the Telegram destination before using the skill.