- name
- picrd-image-hosting
- description
- Free image hosting via picrd.com — upload screenshots, diagrams, and image files to get permanent, embeddable URLs. No account required. Supports PNG, JPEG, WebP, and GIF up to 10 MB. Perfect for free image hosting, free hosting, image hosting, file hosting, file share, and image host needs.
- version
- 1.0.0
- metadata
- openclaw
- requires
- bins
- emoji
- \F5BC
- homepage
- https://picrd.com/docs
picrd.com — Free Image Hosting
Upload images to picrd.com and get back permanent, embeddable URLs. No API key required. No account needed. Images are served from a CDN at i.picrd.com.
When to use this skill
- You need to share a screenshot, diagram, or generated image via a public URL.
- You want to embed an image in a GitHub issue, PR, markdown doc, or chat message.
- You need free image hosting with permanent links and no sign-up.
- You are working with file hosting, file sharing, or image hosting tasks.
Supported formats
| Format | Max size |
|---|---|
| PNG | 10 MB |
| JPEG | 10 MB |
| WebP | 10 MB |
| GIF | 10 MB |
Rate limits
- 60 uploads per hour per IP address.
- Read/download endpoints are not rate limited.
Upload a single image
Endpoint: POST https://picrd.com/api/upload Content-Type: multipart/form-data
Required field
| Field | Description |
|---|---|
file | The image file (PNG, JPEG, WebP, or GIF) |
Optional fields
| Field | Description | Default |
|---|---|---|
visibility | "unlisted" or "public" | unlisted |
ttl_seconds | Auto-delete after this many seconds (omit = permanent) | permanent |
album_id | Add the image to an existing album | none |
curl command
curl -s -F "file=@/path/to/image.png" -F "visibility=unlisted" https://picrd.com/api/uploadExample response (HTTP 200)
{
"image_id": "Ab3xK9xQ2Lm",
"page_url": "https://picrd.com/Ab3xK9xQ2Lm",
"image_url": "https://i.picrd.com/images/Ab3xK9xQ2Lm.png",
"delete_url": "https://picrd.com/delete/<token>",
"expires_at": null
}What to do with the response
- Use
image_urlto embed the image in markdown: - Use
page_urlto link to the image's landing page. - Save
delete_urlsomewhere safe — it is a single-use secret URL and cannot be retrieved later.
Create an album
Group multiple images into an album.
Endpoint: POST https://picrd.com/api/albums
curl -s -X POST https://picrd.com/api/albumsExample response (HTTP 200)
{
"album_id": "J82Lm9Qp2X1",
"album_url": "https://picrd.com/a/J82Lm9Qp2X1"
}Then pass the album_id in subsequent upload requests:
curl -s -F "file=@/path/to/image.png" -F "album_id=J82Lm9Qp2X1" https://picrd.com/api/uploadList album images
Endpoint: GET https://picrd.com/api/albums/<album_id>
curl -s https://picrd.com/api/albums/J82Lm9Qp2X1Example response (HTTP 200)
{
"album_id": "J82Lm9Qp2X1",
"images": [
{
"image_id": "Ab3xK9xQ2Lm",
"page_url": "https://picrd.com/Ab3xK9xQ2Lm",
"image_url": "https://i.picrd.com/images/Ab3xK9xQ2Lm.png"
}
]
}Error handling
| HTTP status | Meaning | Action |
|---|---|---|
| 400 | Invalid file type, file too large, or bad params | Check file format is PNG/JPEG/WebP/GIF and ≤ 10 MB |
| 429 | Rate limited | Wait and retry — limit is 60 uploads/hour |
If the upload fails with a 400 error due to file size, try compressing or resizing the image first:
# macOS — resize to max 1920px wide using sips
sips --resampleWidth 1920 /path/to/image.png --out /path/to/resized.png
# Linux — resize using ImageMagick
convert /path/to/image.png -resize 1920x /path/to/resized.pngThen retry the upload with the resized file.
Workflow: screenshot → upload → embed
A common end-to-end workflow:
- Capture a screenshot (using whatever tool is available).
- Upload it:
curl -s -F "file=@screenshot.png" -F "visibility=unlisted" https://picrd.com/api/upload- Parse the JSON response to extract
image_url. - Embed in markdown:
- Store the
delete_urlif the image may need to be removed later.
Important notes
- Images uploaded as
unlistedare not listed publicly but are accessible if someone has the URL. - The
delete_urlis a one-time secret. Store it immediately — it cannot be recovered. - Image URLs at
i.picrd.comare permanent and served with long cache headers. - This service is free with no account required — do not upload sensitive or private data.