cd /news/ai-products/show-hn-nanoui-a-small-native-macos-… · home topics ai-products article
[ARTICLE · art-120057] src=github.com ↗ pub= topic=ai-products verified=true sentiment=· neutral

Show HN: NanoUI – A small native macOS app for generating images with OpenRouter

Dexter Lagan released NanoUI, a free, open-source native macOS app for Apple Silicon that generates images via OpenRouter's Image API, supporting 16 models including Nano Banana 2, GPT Image 2, and FLUX.2 Pro. The SwiftUI app offers per-model resolution, aspect ratio, quality controls, reference-image uploads (up to 14 for Nano Banana 2), multi-image generation (up to 10), and 1:1 zoom, with an unsigned build available on GitHub.

read3 min views1 publishedSep 3, 2026
Show HN: NanoUI – A small native macOS app for generating images with OpenRouter
Image: Michielbdejong (auto-discovered)

A small native macOS app (Apple Silicon) for generating images with OpenRouter's Image API. Written in SwiftUI, no external dependencies.

16 image models— Nano Banana 1 / 2 / Pro / Lite, GPT Image 1 / 2, GPT-5 Image, GPT-5.4 Image 2, FLUX.2 Pro, Seedream 4.5, Grok Imagine 2.0, Qwen Image 3, Recraft V4, Riverflow V2.5 Pro, MAI Image 2.5 Pro, Krea 2 LargePer-model controls— resolution (512

4K

), aspect ratio, and quality pickers appear only when the selected model supports themReference images— image-to-image editing with a per-model upload cap (up to 14 for Nano Banana 2); thumbnails with one-click removal** Multi-image generation**—n

stepper for models that support it (up to 10)Zoom toggle— results are fitted to the window by default; click an image to switch to 1:1 pixel zoom (scrollable), click again to fit backSave as…— per-image save panel with the correct file extension** API key**— read fromOPENROUTER_API_KEY

when set; otherwise a key can be pasted in-app and optionally saved withRemember on this Mac(stored in plaintext under~/Library/Preferences/local.nanoui.app.plist

; unchecking the toggle deletes it)

Download the latest NanoUI-macos-arm64.zip

from Releases, unzip, and drag NanoUI.app

to your Applications folder.

The build is unsigned — on first launch, right-click the app in Finder and choose Open, then confirm. Launching it from the terminal also works:

OPENROUTER_API_KEY=sk-or-... open /Applications/NanoUI.app
  • Pick a model from the dropdown (defaults to Nano Banana 2). - Optionally set resolution, aspect ratio, and quality for the selected model.
  • Click Add to upload up to 14 reference images (the counter shows the model's limit). - Type a prompt and hit Generate. - Click the result to toggle between fit-to-window and 1:1 zoom. Use Save Image… to export.

Requirements: macOS 14+, Xcode Command Line Tools (xcode-select --install

), Apple Silicon.

swift run

./build-app.sh

The app targets the dedicated Image API (POST /api/v1/images

). Parameters used: model

, prompt

, n

, resolution

, aspect_ratio

, quality

, and input_references

(base64 data URLs). Per-model capabilities (allowed resolution/aspect values, reference limits, max n

) are hardcoded in Sources/NanoUI/OpenRouterService.swift

from OpenRouter's Image Models API discovery data.

Model Resolution Max refs Max n Quality
Nano Banana 2 (google/gemini-3.1-flash-image )
512, 1K, 2K, 4K 14 1
Nano Banana (google/gemini-2.5-flash-image )
3 1
Nano Banana Pro (google/gemini-3-pro-image )
1K, 2K, 4K 14 1
Gemini 3.1 Flash Lite Image 1K 14 1
GPT Image 2 (openai/gpt-image-2 )
16 10 auto/low/medium/high
GPT Image 1 16 10 auto/low/medium/high
GPT-5 Image 16 10 auto/low/medium/high
GPT-5.4 Image 2 16 10 auto/low/medium/high
FLUX.2 Pro 8 1
Seedream 4.5 1K, 2K, 4K 14 10
Grok Imagine 2.0 1K, 2K 3 1 low/medium
Qwen Image 3 1K, 2K 4 6
Recraft V4 1 6
Riverflow V2.5 Pro 1K, 2K, 4K 10 1
MAI Image 2.5 Pro 1 1
Krea 2 Large 1K 1 1

Full parameter set for the default model, per OpenRouter's discovery API:

resolution

:512

,1K

,2K

,4K

aspect_ratio

:1:1

,1:4

,1:8

,2:3

,3:2

,3:4

,4:1

,4:3

,4:5

,5:4

,8:1

,9:16

,16:9

,21:9

input_references

: 0–14 imagesn

: 1seed

: boolean (not exposed in the UI)

Package.swift                      Swift package definition
Sources/NanoUI/NanoUIApp.swift     App entry point
Sources/NanoUI/ContentView.swift   UI: model picker, references, prompt, results
Sources/NanoUI/OpenRouterService.swift  Image API client + model catalog
build-app.sh                       Builds the release .app bundle
icon.svg                           App icon source (vector)
icon-512x512.png / Icon.icns       App icon raster and macOS icon bundle

MIT © 2026 Dexter Santucci

── more in #ai-products 4 stories · sorted by recency
── more on @dexter lagan 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-nanoui-a-sma…] indexed:0 read:3min 2026-09-03 ·