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.

Hosted MCP Server

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

Installs into Claude Code, Codex, Cursor and more

Documentation

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.

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"}'

Upload a file from disk:

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.

Limits and rules

  • Free, no sign-up and no key. 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.
  • 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 has no keys. 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. 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.

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

No. CORS is not supported, so a browser blocks calls from other websites. 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.