Images
The CLI can fetch images for your activities from multiple sources. These images appear on your map pins and in exports.
Image Sources
The CLI fetches images in the following priority order:
| Source | Priority | API Key | Notes |
|---|---|---|---|
| CDN Defaults | 1 (highest) | None | Free, pre-cached category images |
| Google Places | 2 | GOOGLE_MAPS_API_KEY | Actual photos of the place |
| Wikipedia | 3 | None | Free, for well-known places |
| Pixabay | 4 (lowest) | PIXABAY_API_KEY | Free API, category-based search |
Usage
Images are fetched automatically during the analyze pipeline. You can also run the
image fetcher separately:
chat-to-map fetch-image-urls chat.zipOptions
| Flag | Description |
|---|---|
| --no-image-cdn | Skip CDN defaults, fetch all from APIs |
| --skip-pixabay | Skip Pixabay image search |
| --skip-wikipedia | Skip Wikipedia image lookup |
| --skip-google-places | Skip Google Places photos |
| --json [file] | Output as JSON (to file or stdout) |
| -n, --max-results <num> | Max results to display (default: 10) |
| -a, --all | Show all activities with images |
CDN Default Images
To minimize API calls and costs, the CLI uses pre-cached category images from our CDN by default. These cover common categories like restaurants, hikes, beaches, museums, etc.
If you want more specific images (actual photos of the places), use the --no-image-cdn flag to fetch from Google Places, Wikipedia, or Pixabay:
chat-to-map fetch-image-urls chat.zip --no-image-cdnAPI Keys
Google Places (Optional)
If you already have a GOOGLE_MAPS_API_KEY for geocoding, the same key works for
Places photos. Make sure the "Places API" is enabled in your Google Cloud Console.
Pixabay (Optional)
Pixabay offers a free API with generous rate limits. Sign up to get an API key:
- Create an account at pixabay.com
- Go to API documentation
- Copy your API key
export PIXABAY_API_KEY="your-key-here"Image Caching
Like all API responses, fetched image URLs are cached locally. Running the command again won't
make duplicate API calls. Use --no-cache to force a refresh.