immich-apiConnect to self-hosted Immich instances to manage photos, albums, users, search media, upload/download files, and handle jobs via REST API.
Install via ClawdBot CLI:
clawdbot install ninjazan420/immich-apiWindows (PowerShell):
$env:IMMICH_URL = "https://your-immich-instance.com"
$env:IMMICH_API_KEY = "your-api-key-here"
Linux/macOS (bash):
export IMMICH_URL="https://your-immich-instance.com"
export IMMICH_API_KEY="your-api-key-here"
Generate API Key in Immich: User Profile → API Keys → Create API Key
python scripts/upload_photos.py --url "https://your-immich.com" --api-key "your-key" --folder ./photos
python scripts/download_album.py --url "https://your-immich.com" --api-key "your-key" --album-id "abc123" --output ./downloads
# Test connection
curl -H "x-api-key: $IMMICH_API_KEY" "$IMMICH_URL/api/server-info/ping"
{IMMICH_URL}/api
# List albums
curl -H "x-api-key: $IMMICH_API_KEY" "$IMMICH_URL/api/albums"
# Create album
curl -X POST -H "x-api-key: $IMMICH_API_KEY" -H "Content-Type: application/json" \
-d '{"albumName":"My Album"}' "$IMMICH_URL/api/albums"
# Get album assets
curl -H "x-api-key: $IMMICH_API_KEY" "$IMMICH_URL/api/albums/{albumId}"
# Get all assets (paginated)
curl -H "x-api-key: $IMMICH_API_KEY" "$IMMICH_URL/api/assets?limit=100"
# Upload asset
curl -X POST -H "x-api-key: $IMMICH_API_KEY" \
-F "file=@/path/to/photo.jpg" \
"$IMMICH_URL/api/assets"
# Get thumbnail
curl -H "x-api-key: $IMMICH_API_KEY" \
"$IMMICH_URL/api/assets/{assetId}/thumbnail?format=jpeg" -o thumb.jpg
# Get original file
curl -H "x-api-key: $IMMICH_API_KEY" \
"$IMMICH_URL/api/assets/{assetId}/original" -o original.jpg
# List users
curl -H "x-api-key: $IMMICH_API_KEY" "$IMMICH_URL/api/users"
# Get current user
curl -H "x-api-key: $IMMICH_API_KEY" "$IMMICH_URL/api/user/me"
# Search assets
curl -X POST -H "x-api-key: $IMMICH_API_KEY" -H "Content-Type: application/json" \
-d '{"query":"beach","take":10}' "$IMMICH_URL/api/search/assets"
# List libraries
curl -H "x-api-key: $IMMICH_API_KEY" "$IMMICH_URL/api/libraries"
# Scan library
curl -X POST -H "x-api-key: $IMMICH_API_KEY" \
"$IMMICH_URL/api/libraries/{libraryId}/scan"
# Get job statuses
curl -H "x-api-key: $IMMICH_API_KEY" "$IMMICH_URL/api/jobs"
# Trigger job (e.g., thumbnail generation)
curl -X POST -H "x-api-key: $IMMICH_API_KEY" -H "Content-Type: application/json" \
-d '{"jobName":"thumbnail-generation","force":true}' "$IMMICH_URL/api/jobs"
Use the bundled scripts in scripts/ for complex operations:
upload_photos.py - Bulk upload photosdownload_album.py - Download entire albumsync_library.py - Sync external librarySee references/api-endpoints.md for complete endpoint reference.
Generated Mar 1, 2026
Photographers can automate the upload of photos from shoots directly to their Immich instance, ensuring immediate backup and organization. This reduces manual effort and prevents data loss by integrating with camera tethering software or post-processing workflows.
Families can use this skill to create shared albums, upload photos from events, and manage access for different members. It enables easy organization and retrieval of memories without relying on third-party cloud services, enhancing privacy and control.
Small businesses, such as marketing agencies or real estate firms, can organize and search assets like product photos or property images. It streamlines workflows by allowing bulk uploads, tagging, and retrieval through API calls, improving team collaboration.
Researchers can upload and manage visual data from experiments or field studies, using the API to catalog and retrieve images. This supports data integrity and sharing within teams, with features like library scanning to keep archives up-to-date.
Offer a managed service that integrates Immich with other platforms like CRM or CMS systems, handling API connections and automation for clients. Revenue comes from subscription fees based on usage tiers and support services.
Develop custom scripts or applications for enterprises needing tailored photo management workflows, such as automated backups or media processing pipelines. Charge project-based fees or ongoing maintenance contracts.
Provide training sessions and consulting services to help organizations set up and optimize their Immich instances, including API usage and integration best practices. Revenue is generated through hourly rates or packaged workshops.
💬 Integration Tip
Use environment variables for secure API key management in production, and test connections with the ping endpoint before implementing complex workflows to ensure reliability.
Use the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation.
Connect to 100+ APIs (Google Workspace, Microsoft 365, GitHub, Notion, Slack, Airtable, HubSpot, etc.) with managed OAuth. Use this skill when users want to...
Build, debug, and deploy websites using HTML, CSS, JavaScript, and modern frameworks following production best practices.
YouTube Data API integration with managed OAuth. Search videos, manage playlists, access channel data, and interact with comments. Use this skill when users want to interact with YouTube. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway).
Scaffold, test, document, and debug REST and GraphQL APIs. Use when the user needs to create API endpoints, write integration tests, generate OpenAPI specs, test with curl, mock APIs, or troubleshoot HTTP issues.
Search for jobs across LinkedIn, Indeed, Glassdoor, ZipRecruiter, Google Jobs, Bayt, Naukri, and BDJobs using the JobSpy MCP server.