| name | nano-banana-pro-openrouter |
| description | Deterministic OpenRouter image generation adapter for Nano Banana Pro / Gemini image models. Use as skill_exec when a meta-skill needs local image files and structured IMAGE_READY records without spawning an LLM agent. |
| description_zh | 针对Nano Banana Pro / Gemini图像模型的确定性OpenRouter图像生成适配器。当元技能需要本地图片文件和结构化的IMAGE_READY记录且不想启动LLM代理时,作为skill_exec使用。 |
| user-invocable | false |
| disable-model-invocation | true |
| homepage | https://clawhub.ai/skills/nano-banana-pro-openrouter |
| provenance | {"origin":"clawhub-mit0","license":"MIT-0","upstream_url":"https://clawhub.ai/skills/nano-banana-pro-openrouter","maintained_by":"OpenSquilla"} |
| metadata | {"opensquilla":{"risk":"high","capabilities":["network-write","filesystem-write"],"requires":{"bins":"[Truncated]","env":"[Truncated]","config":"[Truncated]"}}} |
| entrypoint | {"command":"python {baseDir}/scripts/openrouter_image.py","args":["--model","{{ with.model | default('google/gemini-3-pro-image-preview') }}","--output-dir","{{ with.output_dir }}","--filename","{{ with.filename | default('image.png') }}","--resolution","{{ with.resolution | default('1K') }}","--max-images","{{ with.max_images | default('6') }}","--local-path-prefix","{{ with.local_path_prefix | default('project/assets/images') }}"],"env":{"OPENSTARRY_CODE_META_CAPABILITY_LEASE_REQUIRED":"1"},"stdin":"{{ with.payload | default(with.prompt | default(inputs.user_message)) }}","parse":"text","timeout":300} |
Nano Banana Pro OpenRouter Adapter
This skill is a deterministic adapter around OpenRouter image generation. It is
intended for meta-skill skill_exec use, not as an open-ended agent surface.
Contract
- During MetaSkill execution, accepts only the parent-resolved, process-local
provider lease. The credential, endpoint, and proxy never enter
with, argv,
the plan, or persisted run data. Direct standalone CLI use may still provide
OPENROUTER_API_KEY.
- Does not read
.env files, prompt for credentials, print credentials, or
write credentials to disk.
- Uses only the model, base URL, output directory, and local path prefix passed
by the caller.
- Saves generated image bytes under the supplied output directory.
- Emits one
IMAGE_READY: JSON line per saved image.
- A missing/invalid required MetaSkill lease exits 78 before any provider
submission. Provider failures after submission emit
IMAGE_GENERATION_FAILED
with exit 0 so the webpage can bind a replacement slot without auto-replay.
Meta-Skill Payload Mode
When stdin is JSON containing media_slots, image_slots, slots, or
page_outline, the adapter generates image slots and preserves already
downloaded images. Structured slots are preferred over free-form outline text:
{
"requirement_framing": "...",
"media_slots": {"slots": [{"slot_id": "hero-visual", "modality": "image"}]},
"page_outline": "..."