Upload images to Imgur for free hosting. Use this skill when you need to upload images and get public URLs for sharing or embedding in articles.
Install
npx skillscat add vm0-ai/vm0-skills/imgur Install via the SkillsCat registry.
SKILL.md
Imgur Image Hosting
Imgur is a free image hosting service. Upload images and get URLs for sharing, embedding in articles, or using in documentation.
When to Use
- Upload images to get shareable URLs
- Host images for blog posts or documentation
- Get image URLs for use in Markdown content
- Anonymous image uploads (no account needed)
Prerequisites
Set the following environment variable:
export IMGUR_CLIENT_ID=your_client_idGet your Client ID from: https://api.imgur.com/oauth2/addclient
When registering:
- Authorization type: "OAuth 2 authorization without a callback URL"
- You only need the Client ID for anonymous uploads
Important: When using
$VARin a command that pipes to another command, wrap the command containing$VARinbash -c '...'. Due to a Claude Code bug, environment variables are silently cleared when pipes are used directly.bash -c 'curl -s "https://api.example.com" -H "Authorization: Bearer $API_KEY"'
How to Use
Upload Local Image
curl -X POST https://api.imgur.com/3/image -H "Authorization: Client-ID ${IMGUR_CLIENT_ID}" -F "image=@/path/to/image.png"Upload from URL
curl -X POST https://api.imgur.com/3/image -H "Authorization: Client-ID ${IMGUR_CLIENT_ID}" -F "image=https://example.com/image.png" -F "type=url"Upload Base64
curl -X POST https://api.imgur.com/3/image -H "Authorization: Client-ID ${IMGUR_CLIENT_ID}" -F "image=$(base64 -i /path/to/image.png)" -F "type=base64"Optional Parameters
| Parameter | Description |
|---|---|
| title | Image title |
| description | Image description |
| name | Filename |
curl -X POST https://api.imgur.com/3/image -H "Authorization: Client-ID ${IMGUR_CLIENT_ID}" -F "image=@screenshot.png" -F "title=My Screenshot" -F "description=Screenshot from my app"Response
{
"data": {
"id": "abc123",
"link": "https://i.imgur.com/abc123.png",
"deletehash": "xyz789"
},
"success": true,
"status": 200
}Key fields:
data.link- Public URL to use in Markdown:data.deletehash- Save this to delete the image later
Delete Image
Replace <your-deletehash> with the deletehash from the upload response:
curl -X DELETE https://api.imgur.com/3/image/<your-deletehash> -H "Authorization: Client-ID ${IMGUR_CLIENT_ID}"Rate Limits
- ~12,500 requests/day
- ~1,250 uploads/day (uploads cost 10 credits)
- Headers show remaining:
X-RateLimit-ClientRemaining
Guidelines
- Save deletehash: Store it if you need to delete images later
- Anonymous uploads: Images are not tied to any account
- Supported formats: JPEG, PNG, GIF, APNG, TIFF, BMP, PDF, XCF, WebP
- Max file size: 20MB for images, 200MB for GIFs
API Reference
- Documentation: https://apidocs.imgur.com/
- Register App: https://api.imgur.com/oauth2/addclient