From image-production
Generate AI graphics (banners, illustrations, hero images, social cards, etc.) using Fal AI's Nano Banana 2. Use when the user asks to create, generate, or make an image, banner, illustration, graphic, or artwork. Always render at 1K resolution.
npx claudepluginhub danielrosehill/claude-code-plugins --plugin image-productionThis skill uses the workspace's default tool permissions.
Generate AI graphics — banners, hero images, illustrations, social cards, README artwork — using Fal AI's **Nano Banana 2** model via the **nano-tech-diagrams** MCP server.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Generate AI graphics — banners, hero images, illustrations, social cards, README artwork — using Fal AI's Nano Banana 2 model via the nano-tech-diagrams MCP server.
Always use mcp__jungle-shared__nano-tech-diagrams__* (runs on ubuntuvm).
Do not use jungle-local — it claims to accept local filesystem paths but runs in an environment that cannot read the workstation's filesystem, so every local-path call fails with ENOENT. The shared instance is the working path; pair it with the staging endpoint below for any image input.
resolution: "1K". Do not use 0.5K, 2K, or 4K unless the user explicitly overrides. 1K is the standard for this workflow.aspect_ratio for the use case:
21:9 or 16:916:91:12:3 or 9:16download_to (e.g., assets/banner.png, images/hero.png) — don't just leave the fal.media URL floating.output_format to png unless the user asks otherwise.Nano Banana 2 rewards detailed, descriptive prompts. Include:
Keep prompts one dense paragraph rather than a bullet list.
mkdir -p via Bash).mcp__jungle-shared__nano-tech-diagrams__text_to_image with the prompt, aspect ratio, and output_format.fal.media URL. Do not rely on the MCP's download_to parameter — the ubuntuvm process cannot write to the workstation filesystem. Instead, capture the URL and download it yourself:
curl -sSL -o "/absolute/target/path.png" "<fal.media URL>"
Example:
mcp__jungle-shared__nano-tech-diagrams__text_to_image(
prompt="<detailed paragraph>",
aspect_ratio="21:9",
output_format="png"
)
# then: curl -sSL -o /abs/path/banner.png <returned URL>
Local input files must be staged to S3 first — the MCP cannot read local paths directly, but it accepts http(s) URLs.
mcp-staging S3 bucket:
URL=$(s3-stage /local/path/to/input.jpg)
s3-stage returns a presigned GET URL (default 1-hour TTL).mcp__jungle-shared__nano-tech-diagrams__image_to_image with image_path="$URL", plus your prompt, aspect ratio, and output_format. Use dictionary_words for any text that must be spelled correctly.fal.media URL. Download to the target folder:
curl -sSL -o "/absolute/target/path.jpg" "<fal.media URL>"
Staged objects expire after 1 day (bucket lifecycle), so you don't need to clean them up.