引言

先上地址:

ImgAnt 是我自己做的一个图床,已经断断续续折腾了一段时间,现在已经可以正常给我自己写博客和做笔记用了,顺便也开放给其他人用。这篇文章就把我做这个项目的初衷、目前支持的功能、以及一些我自己觉得好用的点,简单介绍一下。

为什么自己又做一个图床

我之前一直在用一些免费图床,踩过的坑大概这几种:

  • 今天还能用,过两个月突然把外链全挂了,博客里的老图全部变成 X
  • 只支持匿名上传,传完想删除都找不到入口
  • 想换一个自己的域名作为图片地址,发现根本不支持
  • 想接到自己写的小工具里批量上传,没有像样的 API

ImgAnt 就是为了解决我自己这几个问题做的。它既保留了「打开网页就能拖进去传一张」这种最快的用法,也支持注册账户之后做相册管理、接 API、甚至绑定自己的域名走 HTTPS。

匿名用户:拖进去就能传

最基本的用法,打开 imgant.com,把图片拖进页面,或者直接 Cmd + V 粘贴,就能传。

  • 支持 WebP / PNG / JPG / GIF
  • 上传完可以一键复制 URL / Markdown / HTML / BBCode
  • 上传历史保存在浏览器本地,换台电脑就看不见了,这是有意的

对于只是偶尔发张图的场景,根本不需要登录。

套餐划分

需要先说明一下,ImgAnt 目前分四档:

  • Free(免费):匿名或注册,走 Imgur 通道上传
  • Air($1.99/月):Imgur 通道 + 云端历史 + 相册 + 删除能力
  • Pro($3.99/月):100GB 自有存储、云端历史、相册、删除、API Key、原图直链
  • Pro+($8.99/月):500GB 自有存储、高级图片处理、水印、自定义域名

这里有个坑要提醒一下:注册一个 Free 账户,其实和匿名使用几乎没有区别。Free 账户可以登录,但看不了自己的上传历史(后端直接 403),不能建相册,不能删除已上传的图片,也不能创建 API Key。换句话说,Free 这一档只是「能登录进去看看」,真正让账户体系发挥价值的起点是 Air

这是我故意这样设计的。图床最贵的不是存储本身,而是「长期稳定地把图留着」的责任。所以我不想让免费账户在我这边产生任何需要兜底的存储,Free 用户的图直接走 Imgur,我只做前端转发。Air 开始才会真正接管图片的生命周期(历史、删除、相册)。

Air 及以上解锁的功能

  • 相册分组、筛选、归档
  • 云端上传历史(Free 这边历史只存浏览器 localStorage,换台电脑就没了)
  • 删除云端图片
  • Pro 开始:API Key 管理,用 X-API-Key/api/v1/api-upload 批量传图
  • Pro 开始:默认返回 Cloudflare 前置的原图直链,不再走转发
  • Pro 开始:相册邀请别人加入,区分「只读」和「可上传」权限
  • Pro+ 独占:绑定自己的域名走 HTTPS,以及高级图片处理(这个下面会专门讲)

高级处理是 Pro+ 专属的,入口是带参数的图片 URL:

1
/:storage_key?format=jpeg|png|webp&quality=1-100&width=&height=&watermark=&watermark_pos=

比如我想把一张图裁成 800 宽、转成 WebP、质量 80,就可以直接在 URL 里加参数,不用本地再跑一遍工具。

自定义域名

这个功能是我自己最想要的。很多图床之所以不敢重度用,就是因为一旦换图床,老链接全部失效。ImgAnt 上 Pro+ 可以把图片挂到自己的域名下,配置也非常丝滑。

对我来说,这意味着即使将来 ImgAnt 被我自己关掉,我只要改一条 DNS,就能把图片全部迁到别处,老链接不会挂。

API 接口

账户页里可以创建 API Key,拿到之后请求:

1
2
3
curl -X POST https://api.imgant.com/api/v1/api-upload \
  -H "X-API-Key: YOUR_KEY" \
  -F "file=@./a.png"

返回里会有直链,可以直接塞到自己的小工具、脚本、Alfred workflow 里。我自己就是用这个接口把一些截图工作流连上了。

Mac 客户端

除了网页,我还做了一个 Mac 客户端,下载地址在 imgant.com/download。它的定位很简单:

  • 状态栏常驻
  • 截图或拖进去自动上传
  • 上传完直接把 Markdown 链接塞进剪贴板

对于写博客的人来说,这一步会比「打开网页 → 拖上去 → 复制」省很多次跳转。

写在最后

这个项目目前还在持续迭代中,我自己在重度用,意味着遇到问题我会比任何用户都更早发现。如果你也有类似的困扰——想要一个不会突然跑路、支持自己域名、可以接 API 的图床,欢迎去 imgant.com 试试,有问题可以给我发邮件。