# img.pro > Image sharing API. Upload an image, get a shareable link. One request to start, no account required. ## Quick Start Upload a file: ```bash curl -X POST https://api.img.pro/v1/upload -F "file=@photo.jpg" ``` Import from a URL: ```bash curl -X POST https://api.img.pro/v1/import \ -H "Content-Type: application/json" \ -d '{"url": "https://example.com/photo.jpg"}' ``` Response: ```json { "id": "abc123", "link": "https://img.pro/abc123", "extension": "jpeg", "width": 1920, "height": 1080, "expires_at": 1706659200, "upgrade": { "type": "register", "url": "https://img.pro/auth/register?from_cta=api", "message": "Sign up for permanent storage, larger files (70 MB), and higher limits", "label": "Create Account" } } ``` - `link` — canonical viewer page; share, embed, or append `?format=webp&brightness=1.1` for transforms - `extension` — output file extension after format normalization (HEIC stored as JPG returns `"jpg"`) - Anonymous uploads expire in 30 days, max 20 MB per file, and are rate-limited per IP. Sign up for an API key to remove the cap. ## Sign Up & Get a Key Create an account at https://img.pro/auth/register, then create an API key from the dashboard at https://img.pro/keys. Use it in requests: ```bash curl -X POST https://api.img.pro/v1/upload \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "file=@photo.jpg" \ -F "caption=Hero shot from launch day" ``` Authenticated uploads land permanently on your account. Use `caption` for free-text descriptions. ## Image Transforms The `link` field is the canonical viewer URL. Append query parameters to apply transforms inline: - `https://img.pro/abc123?format=webp` — convert format (jpg | webp | avif | png | gif) - `https://img.pro/abc123?brightness=1.1&contrast=1.05` — color/tone (brightness, contrast, gamma, saturation; multipliers centered at 1, omit for no change) - `https://img.pro/abc123?blur=20` — gaussian blur (1–250) - `https://img.pro/abc123?sharp=3` — unsharp mask (sharp 0–10) - `https://img.pro/abc123?rotate=90` — clockwise rotation (90, 180, or 270) - `https://img.pro/abc123?flip=h` — mirror (h, v, or hv) - `https://img.pro/abc123?segment=foreground&format=png` — remove background, transparent PNG - `https://img.pro/abc123?segment=foreground&background=white&format=jpg` — replace background with a solid color - `https://img.pro/abc123?metadata=none` — strip EXIF (`copyright` is the default, `none` strips everything, `keep` retains all) - `https://img.pro/abc123?format=webp&saturation=0` — combine For resize / crop / face crop (anything that needs explicit dimensions), use the dashboard tools at https://img.pro/tools — each outputs a link with the dimensions baked in. See https://img.pro/api/transforms for the full parameter reference. ## Plans | Plan | Uploads/mo | Storage | Retention | Price | |------|-----------|---------|-----------|-------| | Anonymous | Rate-limited per IP | Shared | 30 days | Free | | Free | 100/mo | 5 GB | Permanent | Free | | Pro | 1,000/mo | 50 GB | Permanent | $19/mo | | Scale | 10,000/mo | 500 GB | Permanent | $49/mo | | Max | 100,000/mo | 5 TB | Permanent | $199/mo | ## Error Handling Every error includes an `action` object telling you what to do: - `action.type: "upgrade"` — quota reached, show `action.url` to user (signed, one-click) - `action.type: "wait"` — rate limited, retry after `action.seconds` ## Full Reference - Complete API reference: https://img.pro/llms-full.txt - Interactive docs: https://img.pro/api - AI agents guide: https://img.pro/api/ai-agents - OpenAPI spec: https://img.pro/openapi.yaml