visual-design

Installation
SKILL.md

Visual design

Image generation and presentations.

Image generation

Create and edit images from the command line using nanobanana CLI via OpenRouter.

# Install nanobanana CLI
npm install -g @factory/nanobanana

# Configure to use OpenRouter
export NANOBANANA_PROVIDER=openrouter
export OPENROUTER_API_KEY="your-key"

# Generate images
nanobanana generate "company logo" --count=4 --styles=modern,minimal
nanobanana edit photo.png "remove background"
nanobanana icon "settings gear" --style=flat
nanobanana diagram "auth flow" --type=flowchart

Handles: logos, icons, diagrams, patterns, photo restoration, UI assets, visual sequences.

Alternative: Direct OpenRouter API

You can also use OpenRouter directly without the CLI:

import { createOpenRouter } from "@openrouter/ai-sdk-provider";
import { generateText } from "ai";

const openrouter = createOpenRouter({ apiKey: process.env.OPENROUTER_API_KEY });
const MODEL = "google/gemini-2.5-flash-image"; // Nano Banana 2

const { files } = await generateText({
  model: openrouter.chat(MODEL),
  messages: [{ role: "user", content: "Generate a sunset over mountains" }],
  providerOptions: { openrouter: { modalities: ["image", "text"] } },
});

// files[0].base64 contains the image

See: image-generation.md

Helper Scripts

This skill includes TypeScript helper scripts for direct OpenRouter integration:

# Generate images
npx tsx scripts/generate-image.ts "sunset over mountains" --output sunset.png

# Edit images
npx tsx scripts/edit-image.ts photo.png "remove background" --output transparent.png

# Morph multiple images (virtual try-on, style transfer)
npx tsx scripts/morph-images.ts person.png jacket.png "put this jacket on the person"

Scripts are located in ~/.factory/skills/visual-design/scripts/

Presentations

Create slides using Slidev, a markdown-based presentation tool.

npm init slidev@latest
slidev                    # dev server
slidev export --format pptx   # export to PowerPoint
slidev build              # build as hostable SPA

Write slides in markdown, get code highlighting, animations, diagrams, and Vue components.

See: presentations.md and reference-slide-example.md

Installs
1
First Seen
Mar 25, 2026