💬Send Feedback
img.sh
12,847uploads
843active
2.4GBstored

Upload images.
Get URLs.
Stay in flow.

The fastest way for AI-assisted developers to share screenshots. No signup. No API keys. Just curl.

$curl -X POST -F "image=@screenshot.png" https://imger.xyz/api/upload
{
"success": true,
"url": "https://imger.xyz/img/1b16dd65-a30c-4e49-8c4d-8e71561cb00d-screenshot.png"
}

Built for developers

âš¡

Lightning Fast

Upload and get a public URL in under 500ms. Perfect for AI workflows that need instant results.

🔒

Auto-Expiry

Images automatically expire after 24 hours. No cleanup needed, no clutter, no worries.

🚀

Curl Native

Designed from the ground up for curl. LLMs can use it without complex integrations.

📊

Rate Limited

20 uploads per minute per IP. Prevents abuse while keeping it accessible.

📦

3MB Limit

Free tier supports images up to 3MB. Perfect for screenshots and optimized images.

🎯

Simple URLs

Clean UUID-based URLs. Shareable, memorable, and professional.

API Documentation

POST /api/upload

POST/api/upload
imageFile to upload (multipart/form-data). Max 3MB. Supports: png, jpg, jpeg, gif, webp
$curl -X POST -F "image=@test-results.png" https://imger.xyz/api/upload

🤖 AI Agent Integration

LLMs with tool-calling capabilities can use this API directly. Here are example schemas for popular AI platforms:

OpenAI Function Calling
{
  "name": "upload_image",
  "description": "Upload an image file and get a public URL",
  "parameters": {
    "type": "object",
    "properties": {
      "image": {
        "type": "string",
        "description": "Base64-encoded image data or file path"
      }
    },
    "required": ["image"]
  }
}
Claude Tool Use (MCP)
{
  "name": "upload_image",
  "description": "Upload an image file and get a public URL",
  "input_schema": {
    "type": "object",
    "properties": {
      "image": {
        "type": "string",
        "description": "Base64-encoded image data or file path"
      }
    },
    "required": ["image"]
  }
}

GET /img/:uuid

GET/img/:uuid
uuidUUID of the image (returned from upload endpoint)
$curl https://imger.xyz/img/1b16dd65-a30c-4e49-8c4d-8e71561cb00d --output screenshot.png
# Downloads the image and saves it as screenshot.png