unsplash-image
Finds free photos from Unsplash to use in your projects and posts.
Installation
Paste this into Claude Code, Cursor, or any agent that can run commands.
SKILL.mdShow the author's original SKILL.md
--- name: unsplash-image description: Search for images on Unsplash and download them. Optionally add text overlay (title/subtitle) to the image. Use when the user asks to find a stock photo, search for an image, get an Unsplash image, or download a photo with text. argument-hint: [search query] allowed-tools: Bash(*), Read, Write --- # Unsplash Image Search & Download Search Unsplash for images, download them, and optionally add text overlay. ## Tool Location - Script: `~/.agents/tools/unsplash-search.py` - Env file: `~/.agents/tools/.env` (contains `UNSPLASH_CLIENT_ID`) ## Quick Usage ### Search and download a random matching image ```bash python ~/.agents/tools/unsplash-search.py \ --query "nature landscape" \ --output ./image.jpg ``` ### With orientation filter ```bash python ~/.agents/tools/unsplash-search.py \ --query "coffee shop" \ --orientation landscape \ --output ./coffee.jpg ``` ### With text overlay (title and subtitle) ```bash python ~/.agents/tools/unsplash-search.py \ --query "technology abstract" \ --output ./cover.png \ --title "My Blog Post Title" \ --subtitle "A short description" ``` ### List results without downloading ```bash python ~/.agents/tools/unsplash-search.py \ --query "sunset" \ --list ``` ### Pick the first result instead of random ```bash python ~/.agents/tools/unsplash-search.py \ --query "mountains" \ --pick first \ --output ./mountains.jpg ``` ## CLI Options | Option | Description | |--------|-------------| | `--query, -q` | **(Required)** Search query string | | `--output, -o` | **(Required unless --list)** Output file path | | `--orientation` | Filter: `landscape`, `portrait`, or `squarish` | | `--color` | Color filter (e.g., `blue`, `green`, `red`, `black_and_white`) | | `--pick` | How to select from results: `random` (default) or `first` | | `--title` | Title text to overlay on the image | | `--subtitle` | Subtitle text to overlay (only used with --title) | | `--list` | List search results instead of downloading | | `--count` | Number of results to fetch, max 30 (default: 30) | ## Text Overlay When `--title` is provided, the script adds a text overlay to the bottom portion of the image with: - Semi-transparent dark background behind the text - White title text with shadow - Gray subtitle text (if provided) - Automatic word wrapping and font sizing **Requires Pillow**: `pip install Pillow` ## Dependencies - `requests` (for API calls and image download) - `Pillow` (only needed if using text overlay with `--title`) Install if needed: ```bash pip install requests Pillow ``` ## Output The script prints: - The download URL - Photographer attribution (required by Unsplash) - The saved file path - Confirmation of text overlay if applied ## Notes - Unsplash API guidelines require attribution. The script prints photographer info. - The script triggers Unsplash's download tracking endpoint as required by their API terms. - Images are downloaded at "regular" quality (1080px width). For higher resolution, modify the script to use `urls.full` or `urls.raw`.
Mirrored from the author's public source. Install counts from the open skills registry.