The interface is localized. Skill descriptions and documents are machine-translated by AI into your language; code, commands, paths and technical terms stay in the original, and the author's document governs.
Explore skills
Data & research · SKILL.md

image-well

image-well

Search and download images from 12 APIs in parallel (Openverse, Pexels, Pixabay, Met Museum, NASA, Rijksmuseum, Wikimedia Commons, Unsplash, Smithsonian, Europeana, Iconify, Pollinations AI). Supports license filtering, presets (military, museum, stock), cached results, and bulk download with metadata sidecars. Triggers on find images, stock photos, public …

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill documentation

GitHub

name: image-well description: "Search and download images from 12 APIs in parallel (Openverse, Pexels, Pixabay, Met Museum, NASA, Rijksmuseum, Wikimedia Commons, Unsplash, Smithsonian, Europeana, Iconify, Pollinations AI). Supports license filtering, presets (military, museum, stock), cached results, and bulk download with metadata sidecars. Triggers on find images, stock photos, public domain artwork, museum images, CC-licensed, NASA photos, icons."

Image Well

Search and download images from 12 sources through a single CLI. Four sources work with zero API keys (Openverse, Wikimedia, Met Museum, NASA). Additional sources activate when keys are set.

Quick Start

# Search across all no-key sources
uv run ~/.claude/skills/image-well/scripts/well.py search "ancient Minoan fresco"

# Use a preset for domain-specific searches
uv run ~/.claude/skills/image-well/scripts/well.py search "F-35 fighter jet" --preset military

# Download results with metadata sidecars
uv run ~/.claude/skills/image-well/scripts/well.py search "sunset" --format download --output ./images/

# Check which sources are available
uv run ~/.claude/skills/image-well/scripts/well.py sources

# Visual HTML preview — opens in browser, no context pollution
uv run ~/.claude/skills/image-well/scripts/well.py search "bronze statue" --format html

# Output as JSON for piping
uv run ~/.claude/skills/image-well/scripts/well.py search "cat" --format json

Sources

TierSourceKey RequiredLicense
1Openverse (800M+)NoCC variants
1Wikimedia CommonsNoCC variants
1Met Museum (375k)NoCC0
1NASA (140k)NoPublic Domain
2PexelsPEXELS_API_KEYPexels License
2PixabayPIXABAY_API_KEYPixabay License
2Rijksmuseum (700k)RIJKSMUSEUM_API_KEYCC0
2UnsplashUNSPLASH_ACCESS_KEYUnsplash License
3SmithsonianNoCC0
3Europeana (50M+)EUROPEANA_API_KEYMixed
3Iconify (275k icons)NoVarious
3Pollinations AINoFree Use (AI gen)

Add Tier 2 keys to ~/.config/env/secrets.env for expanded coverage.

Presets

PresetSourcesUse Case
militarynasa, wikimedia, smithsonianDefense/military imagery
museummet, rijksmuseum, smithsonianArt, antiquities, historical
texturewikimedia, pollinationsGame dev, 3D materials
stockpexels, pixabay, unsplashEditorial photography
all-freeopenverse, wikimedia, met, nasa, smithsonianAll no-key sources

Options

--sources NAME [...]    Specific sources to search
--preset NAME           Use a preset group
--limit N               Max results per source (default: 10)
--license LICENSE       Filter: cc0, cc-by, cc-by-sa, any
--format FORMAT         table, json, download, urls, html, tunnel
--output DIR            Download directory (default: ./well-images/)
--no-cache              Skip result cache
--timeout N             Per-source timeout in seconds (default: 15)
--quiet                 Suppress progress output

Workflows

Source images for a project

# Search, review in table, then download the good ones
uv run well.py search "Mediterranean landscape" --preset stock --format json > results.json
# Review results.json, then download specific URLs

Build an image corpus

# Download CC0 images for a research project
uv run well.py search "Bronze Age pottery" --preset museum --license cc0 --format download --output ./corpus/

Pipe to image-forge for processing

# Search, download, then resize with image-forge
uv run well.py search "sunset" --format download --output ./raw/
# Then use image-forge skill to process downloaded images

Cache

Results are cached for 24 hours at ~/.cache/image-well/.

uv run well.py cache stats    # Show cache size
uv run well.py cache clear    # Clear all cached results
Saved skills