unsplash-image
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.
How do I install this agent skill?
npx skills add https://github.com/openclaudia/openclaudia-skills --skill unsplash-imageIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill searches for and downloads images from Unsplash, optionally adding text overlays using the Pillow library. It stores its API key in a standard environment file. While functional, it accepts untrusted user input for search queries and image titles, which represents a surface for indirect prompt injection.
- Socketpass
No alerts
- Snykwarn
Risk: MEDIUM · 1 issue
What does this agent skill do?
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(containsUNSPLASH_CLIENT_ID)
Quick Usage
Search and download a random matching image
python ~/.agents/tools/unsplash-search.py \
--query "nature landscape" \
--output ./image.jpg
With orientation filter
python ~/.agents/tools/unsplash-search.py \
--query "coffee shop" \
--orientation landscape \
--output ./coffee.jpg
With text overlay (title and subtitle)
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
python ~/.agents/tools/unsplash-search.py \
--query "sunset" \
--list
Pick the first result instead of random
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:
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.fullorurls.raw.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/openclaudia/openclaudia-skills/unsplash-image">View unsplash-image on skillZs</a>