Upload. Host. Build.

Free image hosting and a developer API.

Drop an image in the browser or send it from your code. You get a public link back straight away, plus an API, per-project keys and signed webhooks when you're ready to build on it.

JPG, PNG, WEBP, GIF up to 10 MB. No card needed.

Upload preview

Made for people who just need the link

No editors, feeds or upsells. It does one job and gets out of the way.

  • Public links that just work

    Every upload gets a short page link and a direct file link, ready for websites, chats, docs and issue trackers.

  • An API you can read in five minutes

    Four endpoints, JSON in and out, and examples in cURL, PHP, JavaScript and Python.

  • One key per project

    Give your website, app and bot their own keys, each with its own limits, usage stats and webhook.

  • See what's happening

    Requests, uploads, bandwidth and delivery logs are in your dashboard, straight from your real activity.

From file to link in seconds

The same flow whether you click or call the API.

  1. 1

    Upload

    Drag files into the browser, or POST them to the API with your key.

  2. 2

    We check and store

    Real image validation, a random filename and safe storage on our servers.

  3. 3

    You get the URL

    The public link comes back in the same response. No polling, no waiting.

  4. 4

    Embed or manage

    Paste it anywhere, or find the image later in your library.

A developer API without the ceremony

Authenticate with a Bearer key, send a file, get JSON. That's the whole integration.

  • POST/api/v1/images/uploadUpload an image
  • GET/api/v1/imagesList your images
  • GET/api/v1/images/{id}Get one image
  • DELETE/api/v1/images/{id}Delete an image
Read the documentation
curl -X POST https://imghost.mgamer.online/api/v1/images/upload \
  -H "Authorization: Bearer hostaura-YOUR_API_KEY" \
  -F "image=@photo.png"
Response · 201 Created
{
  "success": true,
  "image": {
    "id": "img_a8F92kQx",
    "url": "https://imghost.mgamer.online/i/a8F92kQx",
    "filename": "photo.webp",
    "mime_type": "image/webp",
    "size": 284512,
    "width": 1920,
    "height": 1080
  }
}

Drop it into what you're building

If it can make an HTTPS request, it can host images here.

Your websiteUser picks an image
Image APIValidates and stores it
URL in the responseSave it or show it
WebhookOptional server event
  • PHP websites
  • JavaScript apps
  • Python apps
  • Telegram bots
  • Mobile and backend apps
  • Any HTTP client

Webhooks, when your server wants to know

The API answers immediately with the image URL. If you also want a server-side notification, every key can have its own webhook.

  • Signed with HMAC. Verify the X-Webhook-Signature header with your secret.
  • Retried automatically. Failed deliveries are retried with backoff and logged.
  • Optional. No URL? We generate a hosted endpoint you can read events from.
Webhook request
POST /webhook HTTP/1.1
X-Webhook-ID: evt_Kx81mPq02JdVhT4zLw9a
X-Webhook-Event: image.uploaded
X-Webhook-Timestamp: 1789812271
X-Webhook-Signature: sha256=9f2c…e41a

{
  "event": "image.uploaded",
  "success": true,
  "image": {
    "id": "img_a8F92kQx",
    "url": "https://imghost.mgamer.online/i/a8F92kQx",
    "filename": "photo.webp",
    "size": 284512,
    "width": 1920,
    "height": 1080
  }
}

A dashboard that stays out of the way

Library, keys, webhooks and analytics in one calm place. (Illustration with sample data)

Careful where it counts

Boring, sensible security so you don't have to think about it.

  • Real image validation

    Files are checked by content, not just by name. Filenames are never trusted and every file gets a random one.

  • Keys are stored as hashes

    We can't read your API keys back. Terminate one and it stops working immediately.

  • Domain and IP restrictions

    Limit a key to your website or your server, enforced by the API on every request.

  • Signed, bounded webhooks

    HMAC signatures, timeouts, capped retries, and no deliveries to private network addresses.

Free, with fair limits

The service is free to use. These limits keep it fast and fair for everyone.

Upload size
10 MB
JPG, PNG, WEBP, GIF
Storage
1 GB
per account
Bandwidth
50 GB
per month
API rate
60/min
per API key
API keys
10
active per account

Questions, answered

Is it really free?

Yes. There are no paid plans. Storage, bandwidth and request limits exist to keep the service fast for everyone.

Are my images private?

Links are public: anyone who has a link can view that image. They aren't listed or searchable, and the pages ask search engines not to index them. Don't upload anything you need to keep private.

Can I use the API from the browser?

Yes. Create a key with a domain restriction for your site and call the API from your front-end code. For servers and bots, use an IP restriction and keep the key in an environment variable.

What happens if I terminate an API key?

It stops working immediately and every request that uses it gets a 401 response. Your images stay where they are. Keys can't be edited, so create a new one if you need different settings.

Do I need to set up webhooks?

No. The upload response already contains the image URL. Webhooks are optional notifications for your server, and if you don't provide a URL we generate a hosted endpoint for the key.

Which formats are supported?

JPG, PNG, WEBP, GIF, up to 10 MB each.

Start hosting images in a minute

Create a free account, upload your first image and grab an API key when you need one.