免费图库 API 对比:Unsplash、Pexels、Pixabay、Openverse 与 Pexafy

十四项标准,五个 API,每个数字都取自各服务商的官方文档:免费方案到底给了你什么,哪些条款会在生产环境中反噬,以及每个方案——包括 Pexafy——在什么场景下并不适合。

一位开发者在夜间面对两块布满代码的屏幕工作。
图片来自 Unsplash

你需要在产品里用上可免费使用的图片。最直接的做法,是去 Unsplash、Pexels 或 Pixabay 申请一把 API 密钥然后上线。 两周后你会发现没人拿来做对比的那部分:在有人工审核通过之前,你的应用被卡在每小时 50 次请求; 一家服务商禁止外链,另一家要求每次下载都发一次追踪调用 —— 而你的搜索结果好不好, 完全取决于多年前某个陌生人打了什么标签。

这个页面,就是我们当初开始做 Pexafy 时希望能看到的对比:配额换算成同一单位、 真正会在生产环境中卡住你的条款,以及每个 API 能做什么、不能做什么。所有竞品数据都来自服务商自己的文档, 文末附有链接。我们也会坦率说明哪些场景下 Pexafy 并不是正确答案。

对比表

五个选项,十四项指标。Unsplash、Pexels 和 Pixabay 是各自拥有 API 的单一图库。 Openverse 和 Pexafy 属于聚合器 —— 一次检索多个图库 —— 而这恰恰是大多数对比文章悄悄略过的区别。

UnsplashAPI PexelsAPI PixabayAPI Openverse聚合器 Pexafy聚合器
免费配额 50 次/小时(演示模式) 200 次/小时
20,000 次/月
100 次/分钟 无需密钥(有限流) 5,000 次/月
更高档位 需人工审核后开通1 按需申请 按需申请(完整 API) 注册应用 $5/月起 · 25,000 次请求
密钥签发 即时(仅演示模式) 即时 即时 无需 即时 无需信用卡
上线前应用审核 必须 否 仅完整 API 需要 否 无
是否要求署名依 API 条款 摄影师 + Unsplash 显著位置链接 Pexels + 署名 须标明图片来源 依各来源许可(CC BY 等) 不要求2
下载追踪调用 必须 每次下载都要 否 否 否 否
图片外链 必须 允许 不允许 需缓存 24 小时 链接至来源 允许 + CDN 缩略图
搜索匹配依据 关键词与标签 关键词与标签 关键词与标签 关键词与元数据 含义 语义
整句查询 结果变差 结果变差 最多 100 个字符 结果变差 500 字符 —— 让结果更好
以图搜图 否 否 否 否 是 + “相似图片”
查询语言 lang 参数(测试版) 28 种区域设置 26 种语言代码 以英语为主 100+ 种,同一索引
单次请求覆盖图库数 1 1 1 多个(CC 来源) 9
响应结构 自有格式 自有格式 自有格式 统一格式 统一格式 + 署名文本
面向 AI 智能体的 MCP 服务器 无官方版本 无官方版本 无官方版本 无官方版本 有 托管,OAuth 2.1

资料来源:各服务商公开文档,核对日期 2026 年 8 月 14 日 —— 链接见文末 参考资料。发现有信息过时? 告诉我们,我们会更正。

配额:看单位,别只看数字

配额对比往往是这类文章翻车的地方,因为这四个 API 在四种不同的时间窗口里,统计着四种不同的东西。 换算成同一个单位 —— 用户真正看到的一次搜索 —— 排序就变了:

免费方案文档标注折合每小时一次请求能换来什么
Unsplash50 次/小时(演示模式)50一个图库,关键词排序
Pexels200 次/小时 · 20,000 次/月200一个图库,关键词排序
Pixabay100 次/分钟6,000一个图库,关键词排序
Pexafy5,000 次/月 · 20 次/分钟1,200(峰值)9 个图库,语义排序,已去重,统一结构

实话实说:如果你要的是针对单一图库的纯请求量,Pixabay 每分钟 100 次是本页最慷慨的免费档位, 我们不会装作不是。它给不了你的是覆盖面。要自己从三个图库拼出同样的结果集, 代价不是一次请求 —— 而是三次,外加围绕它们的一切:

实现“一次搜索横跨 3 个图库”直连各 APIPexafy
需管理的账号与 API 密钥31
需等待的审核1(Unsplash)0
每次用户搜索的 HTTP 调用数31
需遵守的限流窗口3(小时、小时、分钟)1
需归一化的 JSON 结构31
合并、去重与重排逻辑由你编写并维护已内置
需遵守的条款套数31
跨图库的相关性3 套独立关键词排序,拼接而成一次排序,一套分值

真正重要的单位。一次 Pexafy 请求 = 跨 9 个图库的一次语义搜索, 去重后合并为一份排序列表。用各家自己的 API,同样一次面向用户的搜索要花掉 3 到 5 次调用, 外加那层合并逻辑 —— 那是你要写、要测、并且要永远为之付出维护成本的代码。

上线之后才会发现的规则

配额都写在广告里,条款则不然。以下四条最常迫使团队重写代码 —— 全部公开可查,也全部容易被忽略:

  1. Unsplash:生产权限由人工决定。应用默认处于演示模式,限制为每小时 50 次请求。 要提额,你需要提交截图、标题和描述,并且你的应用必须切实遵守使用规范 —— 包括浏览与下载数据上报。 在有人批准之前,每小时 50 次就是你的上限,哪怕是生产环境、面对真实用户。
  2. Unsplash:下载追踪调用。每当你的应用下载一张照片,你还必须调用 /photos/:id/download 接口。这不是可选项,而是规范的一部分, 而且是每一条保存图片的代码路径里都得记住的第二次往返请求。
  3. Pixabay:不得长期外链,且需缓存 24 小时。长期使用必须把图片下载到你自己的服务器上, API 响应也必须缓存 24 小时。这意味着存储、一层缓存和一套失效策略 —— 在你展示第一张照片之前,就先得搭基础设施。
  4. 所有服务商:署名规则不等于许可规则。照片许可确实以宽松著称, 但 API 条款 会附加自己的义务 —— 在显著位置回链 Pexels、 给摄影师和 Unsplash 署名、向用户标明 Pixabay 图片的来源。 要读 API 条款,而不只是许可页面。

Pexafy 的立场,直说:你的密钥在第一次调用时就能用,没有应用审核,没有强制的追踪接口,也没有缓存义务。 我们的 API 条款不要求署名 —— 而每条结果依然附带现成的 attribution 字符串(HTML 与纯文本两种), 因为给摄影师署名是好做法,我们宁愿把它变成一行代码,而不是一件麻烦事。 当然,来源图库自身的许可始终适用。

本页除 Pexafy 之外的每个 API,都是拿你的词去匹配挂在照片上的词 —— 标签、标题、描述。 Pexafy 比较的是含义:你的句子和每张图片都会被转换成数值指纹,最接近的那些被返回。 这在生产环境里会立刻带来两个结果。

第一:你没主动要求的覆盖面。下面是一次真实的 Pexafy 请求 —— 一条查询,一份排序列表。 看看来源标签:

一棵孤零零的树立在空旷的绿色田野上,头顶是辽阔的蓝天
一次请求,147 ms,前六名里出现了四个不同的图库 —— 而排名第一的结果来自 Picjumbo,这个图库大多数开发者根本不会单独去接。 自己跑一遍这个搜索 →

第二:查询不再是猜关键词的游戏。在标签匹配下,每多写一个词,就多一个标签里很可能没有的东西, 于是你学会了只打 tree field 然后往下翻。语义搜索恰好相反 —— “一棵孤零零的树立在空旷的绿色田野上,头顶是辽阔的蓝天”比“树”是更好的查询, 因为每个细节都让匹配更精准。氛围词(宁静、怀旧、极简)同理, 语言也一样:无论你用中文、英文还是日文写这句话,它都会落到同一个位置,命中同一个索引。 我们在 语义图片搜索 vs 关键词 一文中用真实搜索拆解过这一点。

一套结构,而不是三套

这是最耗工程时间、却从不出现在对比表里的部分。同一个概念 —— “中等尺寸的图片 URL”和“拍摄者是谁” —— 在每个 API 里的命名都不一样:

三个 API,三种结构 —— 表达的却是同样两件事
// Unsplash
results[].urls.regular        results[].user.name
// Pexels
photos[].src.large            photos[].photographer
// Pixabay
hits[].webformatURL           hits[].user

再把尺寸、方向、主色、来源页 URL、许可和分页都乘进去,你得到的就是:每个服务商一个适配器、一层归一化、 一趟去重(同一张照片常常同时存在于多个图库),再加一套重排启发式 —— 通常是几百行代码,还必须跟着三份更新日志同步维护。而在 Pexafy 这里,这一层就是产品本身:

Pexafy —— 一次请求,一种结构,无论来源是谁
curl -H "X-Api-Key: $PEXAFY_KEY" \
  "https://api.pexafy.com/api/v1/search/photos?q=a+lone+tree+in+an+empty+green+field"

{
  "success": true,
  "data": [
    {
      "photo_id": "019e4cd9-6369-70c3-ab2b-0ffd7e7965ad",
      "urls": { "thumb": "…", "small": "…", "regular": "…", "large": "…", "full": "…" },
      "width": 5376, "height": 3584, "orientation": "landscape",
      "color_name": "xanadu", "color_hex": "#697E77",
      "photographer_full_name": "Viktor Hanacek",
      "photographer_url": "https://picjumbo.com/about-viktor-hanacek/",
      "source": "Picjumbo", "license_type": "free",
      "relevance_score": 0.80,
      "alt_description": "A single tree standing in a wide green field",
      "attribution": { "html": "Photo by …", "plain": "Photo by …" }
    }
  ],
  "meta": { "took_ms": 147 }
}

Picjumbo 的照片、Unsplash 的照片和 Pixabay 的照片,字段完全一致。一个可在所有来源之间横向比较的 relevance_score,因为它们是被一起排序的,而不是拼接起来的。还有一个可以直接渲染的 attribution 块。

另外两件其他家都不做的事

1 · 用图片搜索,而不只是用文字

给 Pexafy 一张图片 —— 一个 URL,或者你上传的一张 —— 它会在所有已索引的图库中返回视觉和语义上相似的照片。 你还可以同时用文字来引导(“像这张照片,但要日落时分”)。你可以用它做“相似图片”, 也可以用它为拿不到授权的图片找到免费替代品。Unsplash、Pexels、Pixabay 和 Openverse 都没有提供以图搜图接口。

2 · 一个 MCP 服务器,让 AI 智能体原生搜索图片

Pexafy 在 mcp.pexafy.com/mcp 提供托管的 Model Context Protocol 服务器,支持 OAuth 2.1 —— 把它接到 Claude 或你自己的智能体上, 模型就能自行检索 9 个图库,直接看到内嵌缩略图,并返回带署名的图片。 三个工具:文本搜索、以图搜图、相似图片。其他服务商都没有官方 MCP 服务器; 现有的都是需要你自己托管、自己配密钥的社区封装。 如果你正在做一个需要图片的智能体,这个差别就是整个集成工作的全部。

你到底该用哪个?

一份每一行都由同一个产品胜出的对比,是营销,不是信息。以下是诚实的划分:

  • Pixabay —— 你需要在免费档位上获得单一图库的高频访问,并且能自己托管图片。每分钟 100 次请求在这里无可匹敌。
  • Unsplash —— 你产品的视觉调性专门依赖 Unsplash 的编辑风格,并且你愿意走完应用审核、实现追踪调用。
  • Pexels —— 你想要一个干净的图库,密钥即时到手,每小时额度慷慨,且没有基础设施方面的义务。
  • Openverse —— 你需要商业图库之外的知识共享和公共领域素材,包括博物馆与机构馆藏。
  • Pexafy —— 你想要广度但不想做集成:一把密钥、9 个图库、一套结构、基于含义的排序、以图搜图,以及面向 AI 智能体的 MCP 服务器。或者你是代理公司、CMS,又或是“找到对的图片”本身就是一项功能而非一个页面的 AI 产品。

你也可以两者并用:不少团队保留直连 Unsplash 用于品牌摄影,其余全部交给 Pexafy, 原因恰恰在于试用它只需要一把密钥,且无需任何审核。

参考资料与脚注

1 Unsplash 的文档写明,演示模式的应用限制为每小时 50 次请求, 通过生产审核后限额会被提高。其 API 文档页面公布的生产额度为每小时 1,000 次请求, 而 Unsplash 帮助页面和第三方指南长期以来引用的数字是每小时 5,000 次。 无论哪个数字,都要经过人工审核这道门槛 —— 这才是你规划上线时真正要紧的一点。

2 Pexafy 的 API 条款不要求署名,而且每条结果都自带现成的署名字符串。 每张照片由其原始图库附加的许可,仍然约束你对该照片的使用方式 —— Pexafy 是一个检索他人图库的搜索引擎,并非权利人。

常见问题

哪个免费图库 API 的免费额度最好?
这取决于计量单位。若只面向单一图库、追求纯粹的调用量,Pixabay 最慷慨(每分钟 100 次请求)。Pexels 允许每小时 200 次请求、每月 20,000 次。Unsplash 在人工审核你的应用之前,将未获批准的应用限制在每小时 50 次请求。Pexafy 每月提供 5,000 次请求,但一次请求就是跨多个图库的语义搜索,并以统一 schema 返回——相当于使用各服务商自有 API 时的 3 到 5 次调用外加合并逻辑代码。
在生产环境中使用 Unsplash API 需要审核吗?
需要。Unsplash 应用初始处于 demo 模式,限制为每小时 50 次请求。要提升至生产环境额度,你必须提交应用接受审核,并附上截图、标题和描述,同时遵守 API 指南——包括图片热链接以及调用下载追踪端点。Pexels、Pixabay 和 Pexafy 则会即时发放可用的密钥,无需应用审核。
使用这些 API 时必须署名吗?
API 条款比图片许可协议更严格。Unsplash 要求同时署名摄影师和 Unsplash;Pexels 要求提供指向 Pexels 的醒目链接,并尽可能标注摄影师;Pixabay 要求你向用户说明图片来源。Pexafy 的 API 条款不要求署名,且每条结果都附带现成的 HTML 与纯文本署名字符串——原始图库所附的许可协议仍然适用。
最好的 Unsplash API 替代方案是什么?
如果障碍在于 Unsplash 每小时 50 次请求的 demo 上限、应用审核或强制的下载追踪调用,最接近的直接替代方案是 Pexels API(单一图库、即时获取密钥)和 Pexafy(一个密钥即可在单次语义请求中覆盖 Unsplash、Pexels、Pixabay 及其他免费图库,无需审核,也没有追踪端点)。若需要知识共享(Creative Commons)和机构馆藏内容,请使用 Openverse API。
可以通过 API 用一整句话来搜索图库照片吗?
只有语义引擎才可以。关键词类 API(Unsplash、Pexels、Pixabay、Openverse)会将你的词语与标签匹配,因此查询越长,结果反而越少越差——Pixabay 甚至将查询限制在 100 个字符以内。Pexafy 支持最多 500 个字符并按语义排序,因此描述性的句子会提升结果质量而非削弱它,并支持 100 多种语言。
AI 智能体可以直接搜索图库照片吗?
可以,通过 Pexafy 托管的 MCP(Model Context Protocol)服务器 mcp.pexafy.com/mcp,并以 OAuth 2.1 保护。将其接入 Claude 或你自己的智能体,模型即可自行检索所有已索引的图库——支持文本或图片检索——并返回带署名的照片。Unsplash、Pexels、Pixabay 和 Openverse 均没有官方 MCP 服务器,只有需要你自行托管的社区维护封装。

不必再苦苦寻找关键词。描述你想要的内容即可。

按含义搜索 9M+ 张免费图片 — 支持任何语言,响应不到 100 毫秒。