使用Vecel搭建一个获取图片主色调的API

发布于 2023-08-11  981 次阅读


不少网站前端可能都有获取图片主题色调,然后以此完成页面渲染主题色调的需求,但是网站开发者所使用的图床可能没有此功能。那么如何使用Vecel自建一个获取图片主色调的API呢?
Github-Card

如果可以的话点个Star(´▽`ʃ♡ƪ) 谢谢啦

获取MongoDB账号

  1. 前往MongoDB注册MongoDB账号
  2. 创建免费 MongoDB 数据库,区域推荐选择 AWS / N. Virginia (us-east-1)
  3. 在 Clusters 页面点击 CONNECT,按步骤设置允许所有 IP 地址的连接(为什么?open in new window),创建数据库用户,并记录数据库连接字符串,请将连接字符串中的 <password> 修改为数据库密码。

部署至Vercel

  • 点击Deploy以部署
  • 你需要添加几个环境变量(请参考以下配置)
  • 配置好之后就可以使用啦,API地址为vecel给出的url/api?img=图像地址
    比如https://img.tianli0.top/api?img=https://avatars.githubusercontent.com/u/19169144
配置项说明
USE_MONGODB设置为true 以启用MONGODB
MONGO_URImongodb地址(前面获取到的),数据库连接字符串,请将连接字符串中的 <password> 修改为数据库密码。
MONGO_DBmongodb数据库名,默认为Cluster0
ALLOWED_REFERERS允许的refer域名,支持通配符,如果有多个地址可以用英文半角,隔开

注意:如果你的图像做的有鉴权,可能不能正常获取。

这里提供一个公开的API地址https://img.tianli0.top/api?img=

API返回示例

{
"RGB": "#cbb0b0"
}