BasePic

Upload an image from a URL or base64 and get share links, then rotate, crop, resize, compress or convert it. Hosted remote server, no account or API key.

เซิร์ฟเวอร์ MCP แบบโฮสต์

npx add-mcp 'https://basepic.com/mcp'

ติดตั้งลง Claude Code, Codex, Cursor และอื่นๆ

เอกสาร

Upload an image with one command

Send the image in a form field named image — free, no API key and no sign-up:

curl -F "image=@photo.jpg" https://basepic.com/api/v1/images

The answer (status 201, JSON) has image_url, the direct link to the image, and page_url, a page to share. The field can also hold a link to an image (-F "image=https://…") or base64. Optional fields: filename and expires_in_days (1, 7, 30 or 365). A form upload takes images up to 16 MB; for up to 50 MB send the image itself as the request body (REST API).

Connect an AI assistant (MCP)

BasePic is an MCP server. Add this address as a remote MCP server (custom connector) in Claude or any MCP client — no key needed:

https://basepic.com/mcp

The assistant gets four tools:

  • upload_image — from a public url or image_base64; returns links, an id and a delete_key.
  • edit_image — id + operations (and optional format, quality, max_kb); returns a new image with its own links.
  • get_image — links and details of an image.
  • delete_image — with the delete_key.

A file on your computer: BasePic cannot open a local path or a file:// link, so an assistant that can run commands uploads the file with the form above — curl -F "image=@photo.jpg" https://basepic.com/api/v1/images — and gives the returned id to edit_image.

Ask it, for example: “Upload this photo to BasePic, rotate it 90 degrees, make it black and white under 200 KB and give me the link.”

ChatGPT (custom GPT Actions)

In a custom GPT, add an Action and import the OpenAPI schema from:

https://basepic.com/openapi.json

REST API

Upload from a link:

curl -X POST https://basepic.com/api/v1/images \
  -H 'Content-Type: application/json' \
  -d '{"url": "https://example.com/photo.jpg"}'

Or send the image itself as the request body (up to 50 MB):

curl -X POST 'https://basepic.com/api/v1/images?filename=photo.jpg' \
  -H 'Content-Type: image/jpeg' --data-binary @photo.jpg

The answer (status 201):

{
  "id": "vqSvesFU",
  "name": "photo.jpg",
  "width": 4032, "height": 3024, "size_bytes": 2232999,
  "page_url": "https://basepic.com/vqSvesFU",
  "image_url": "https://basepic.com/vqSvesFU/photo.jpg",
  "download_url": "https://basepic.com/vqSvesFU/photo.jpg?download=1",
  "delete_key": "9f2c…"
}

Edit it — rotate, resize to 1080 px wide, sepia, at most 200 KB. The result is a new image; the original stays:

curl -X POST https://basepic.com/api/v1/images/vqSvesFU/edit \
  -H 'Content-Type: application/json' \
  -d '{"operations": [{"op": "rotate", "degrees": 90},
                  {"op": "resize", "width": 1080},
                  {"op": "sepia"}],
       "format": "jpeg", "max_kb": 200}'

Screenshots: a ready ShareX custom uploader uploads every screenshot through this API and copies the link.

Get details, download, delete:

curl https://basepic.com/api/v1/images/vqSvesFU
curl -L -o edited.jpg 'https://basepic.com/vqSvesFU/photo.jpg?download=1'
curl -X DELETE https://basepic.com/api/v1/images/vqSvesFU -H 'X-Delete-Key: 9f2c…'

Edit operations

opParametersWhat it does
rotate"degrees": 90 | 180 | 270 | -90Turn clockwise (-90 = counter-clockwise)
flip"direction": "horizontal" | "vertical"Mirror the image
crop"aspect": "1:1" or "x", "y", "width", "height"Centered crop to a ratio, or an exact area in pixels
resize"width" and/or "height", or "percent", or "megapixels"Keeps proportions; fits inside width × height
grayscale—Black & white
sepia—Warm brown, old-photo look
brightness"value": -100 … 100Darker or lighter
contrast"value": -100 … 100Less or more contrast
warm / cool—Warmer (yellow) or cooler (blue) colors
invert—Negative
blur"radius": 1 … 10Soften
sharpen—Crisper edges

Up to 20 operations, applied in order. Options: format (jpeg, png, webp), quality (1–100), max_kb (1 KB = 1,000 bytes; best quality that fits; smaller dimensions if needed). Errors come back as {"error": "…"} with an HTTP status.

Plans

PlanPriceLimitsAuthentication
Free — website, website plugin, Windows app, ShareX, REST API$0Per IP address: 60 uploads or edits per hour, 300 per day and 2 GB per day; 20 uploads from a link per hour and 100 per day. Files up to 2 GB; images for the API up to 50 MB (a form upload up to 16 MB).None
Free account — REST API with your API key; uploads appear in My uploads$0Same as Free: per IP address.Authorization: Bearer with your API key (optional)
AI connectors — Claude, ChatGPT (MCP, GPT Actions)$0One shared limit per service: 300 uploads or edits per hour, 1,500 per day and 2 GB per day; 100 uploads from a link per hour and 500 per day.None — recognised by the service's addresses

Every plan is free, and the same limits apply to every way of uploading. Auto-delete: add expires_in_days (1, 7, 30 or 365) to an upload and the answer carries expires_at; without it the image stays until it is deleted.

curl -X POST 'https://basepic.com/api/v1/images?filename=photo.jpg&expires_in_days=7' \
  -H 'Content-Type: image/jpeg' --data-binary @photo.jpg

API key (optional): with a free account, open My uploads, choose API key → Create API key and send it in the Authorization header. Uploads and edits made with it appear in My uploads. The key is shown once; Regenerate key replaces it. A wrong or deleted key gets status 401.

curl -X POST 'https://basepic.com/api/v1/images?filename=photo.jpg' \
  -H 'Authorization: Bearer bp_…' \
  -H 'Content-Type: image/jpeg' --data-binary @photo.jpg

Limits and rules

  • Free, no sign-up and no key needed (an API key from a free account is optional). Per IP address: 60 uploads or edits per hour, 300 per day and 2 GB per day; 20 uploads from a link per hour and 100 per day. Images up to 50 MB; a form upload (curl -F) up to 16 MB.
  • Claude and ChatGPT (connectors and GPT Actions) call BasePic from their own servers, so all their users share one limit per service: 300 uploads or edits per hour, 1,500 per day and 2 GB per day; 100 uploads from a link per hour and 500 per day.
  • CORS: not supported — call the API from a server, a script or an MCP client, not from JavaScript in a web page.
  • Uploads are private: not listed anywhere and hidden from search engines. Only people with a link can see them.
  • GPS location is removed from photos. Edited images carry no camera data.
  • Upload only images you have the right to share.

API questions

Do I need an API key?

No. The API is free and works without a key. Limits are per IP address: 60 uploads or edits per hour, 300 per day and 2 GB per day; 20 uploads from a link per hour and 100 per day. An optional API key from a free BasePic account adds your API uploads to My uploads; the limits stay the same. Claude and ChatGPT call BasePic from their own servers, so all their users share one limit per service: 300 uploads or edits per hour, 1,500 per day and 2 GB per day; 100 uploads from a link per hour and 500 per day.

Coming from the imgbb or freeimage.host API?

Send the same form to https://basepic.com/api/v1/images: the field image (imgbb) or source (freeimage.host) works, with a file, a link or base64, and name sets the file name. No key is needed; a key field or parameter is ignored. The answer is BasePic’s own JSON, not theirs: the direct link is image_url (data.url at imgbb), the page to share is page_url, and delete_key deletes the image. Auto-delete is expires_in_days (1, 7, 30 or 365), not expiration in seconds. A form upload takes images up to 16 MB; send the image itself as the request body for up to 50 MB.

Can I call the API from JavaScript in a web page?

No. CORS is not supported, so a browser blocks calls from other websites, and a form sent from another website gets status 415. Call the API from a server, a script or an MCP client. Only https://basepic.com/openapi.json can be read from a browser.

How do I connect Claude?

Add a custom connector in Claude with the address https://basepic.com/mcp. Claude then gets the tools upload_image, edit_image, get_image and delete_image.

How do I use it from ChatGPT?

In a custom GPT, add an Action and import the schema from https://basepic.com/openapi.json. ChatGPTs that support MCP connectors can use https://basepic.com/mcp instead.

Does editing change the original image?

No. Every edit creates a new image with its own links. The original stays exactly as it was.

Which formats can be edited?

JPG, PNG, WebP and GIF (the first frame). HEIC, AVIF, TIFF and RAW images can be uploaded and shared, but not edited by the API.