先声明我们的立场:我们是 Geonode,卖代理,而这正是自建方案的一项输入。诚实的框架是:自建路线并不显然更便宜,因为无头浏览器会拉取页面上的每张图片、每种字体和每段脚本,所以一次渲染后的截图所搬运的数据量,比一次 HTTP 请求高出一个数量级。在按量计费的带宽上,这笔成本是真实的——人们拿月费订阅去对比「直接跑 Playwright」时,忘的往往就是这个。下面有账,而且并不总对我们有利。
这些服务到底是什么
往下看,每个截图 API 都是带 HTTP 接口的无头 Chrome 集群。你发送一个 URL 和一些参数;浏览器渲染页面;你拿回 PNG、JPEG、WebP 或 PDF。
因此差异是运维层面的,而不是视觉层面的:
规模下的可靠性 — 有足够的浏览器在跑,能吃下流量而不排队。 渲染保真选项 — 整页捕获、视口尺寸、设备模拟、等待条件。 拦截与清理 — 关掉 cookie 横幅、隐藏元素、屏蔽广告和追踪器。 地理渲染 — 从特定国家捕获,本质是套着截图 API 外衣的代理能力。 交付 — 直接响应、S3 上传、CDN URL、webhooks。 缓存 — 对同一 URL 的重复请求是否还要计费。
最后这一点值得尽早标出,因为它会大幅改变经济账。如果场景是链接预览缩略图,缓存结果就能服务大部分请求,真正要紧的是每个唯一 URL 的有效成本。
核实定价后的选项
来自各厂商自己的定价页,核对于 2026 年 9 月。承诺前请再核实。
| 服务 | 免费档 | 入门付费 | 中档 | 超量 |
|---|---|---|---|---|
| ScreenshotOne | 每月 100 次,全部功能 | $17/月 — 2,000 | $79/月 — 10,000 | $0.009 → $0.004 |
| Urlbox | 7 天试用,无需绑卡 | $19/月 — 2,000 | $49/月 — 5,000 | 每 1,000 次 $9.50 → $3 |
| Browserless | 每月 1,000 单位 | $25/月 — 20,000 单位 | $140/月 — 180,000 单位 | $0.0020 → $0.0015/单位 |
ScreenshotOne 的定价最直白。每月 $17 对应 2,000 张截图,$79 对应 10,000 张,$259 对应 50,000 张,超量单价随规模从 $0.009 降到 $0.004。按年付费相当于免两个月。
免费档出奇地好——每月 100 张截图,可用全部功能,无需绑卡——意味着你评估的是真正产品,而不是阉割版。配额规则也值得知道:「only screenshots that are successfully rendered... and not served from cache count toward your quota」。失败的渲染和缓存命中不计费,这对有重复的工作负载会实质改变有效单价。
功能分层也合理:$17 套餐包含 PDF 渲染、多种输出格式、整页捕获、缓存、S3 上传、webhooks 和 stealth 模式。IP 地理位置选择——地理渲染——出现在 $79 的 Growth 档,同时还有滚动截图和视频生成。
Urlbox 按每千次渲染计价,低端更贵:每月 $19 对应 2,000 次,合每千次 $9.50;每月 $49 对应 5,000 次,合每千次 $9.80。量大后单价明显改善——每月 $99 对应 15,000 次,合每千次 $6.60;每月 $498 的 Business 套餐在 $495 底价之上按每千次 $3 计。
选择前要核对的一点:整页截图、JavaScript 渲染以及 emoji/字体支持要到 Hi-Fi 档及以上才解锁,不在入门套餐。如果你需要这些——而整页和 JavaScript 覆盖了大多数真实场景——$19 档并不是你真正要买的套餐。较低三档提供七天试用且无需绑卡。
Browserless 是另一个碰巧也能截图的产品。它卖的是浏览器时间而不是图片:「a 'Unit' is a block of browser time of up to 30 seconds per browser connection」。所以每月 $25 的 20,000 单位大约是 166 小时浏览器时间,可用于截图、抓取、生成 PDF、表单自动化,或任何你能驱动的事。
套餐从免费档 1,000 单位、2 个并发浏览器,到每月 $25 对应 20,000 单位、15 并发,再到每月 $140 对应 180,000 单位、40 并发,以及每月 $350 对应 500,000 单位、100 并发——均按年计费。值得注意的是,免费档包含代理和验证码求解,大多数免费档做不到。
当截图只是多项浏览器自动化任务之一时,选 Browserless。当图片就是全部需求时,选专用截图 API,因为那时你付的是更简单的接口,以及更容易预测的按张计价。
自建成本账
多数文章跳过的对比,这里老实算。
自己跑 Playwright 要付三样东西:算力、带宽,还有你的时间。
算力。 一台能稳定跑无头 Chrome 的小型云实例大概每月 $20–40。并发受内存限制——每个浏览器上下文在页面加载后会占几百兆——所以 4 GB 实例可以比较舒服地同时跑四到五个渲染。
带宽。 这是人们漏掉的项。一份 HTML 只有 200 KB 的页面,在拉取每张图片、字体、追踪脚本和视频预加载后,可能传输 3–4 MB。每月 10,000 张截图就是 30–40 GB。直接从云实例出去,响应侧的 egress 很小,ingress 通常免费——所以在自有基础设施上,这主要是时间成本而不是金钱成本。
经由按量计费的代理,它就是金钱成本,而且不小。按住宅代理 $0.79/GB 的费率——我们的数字,来自我们的定价页,核对于 2026 年 9 月——同样 10,000 张截图仅带宽就要大约 $24–32,还要加上算力。对比 ScreenshotOne 每月 $79、含 10,000 张且含地理渲染,通过住宅代理自建并不是看起来那样的省钱。
拦截资源会大幅改变这笔账。 中止图片、字体和媒体能砍掉大部分流量——但如果交付物就是截图,你就不能拦截图片,而这恰恰是省钱空间不存在的情况。
你的时间是最大项,也最难定价。 容器里装浏览器、内存限制、僵尸进程、非拉丁文字体包、重试逻辑、并发管理,以及这一切的持续维护。半天能出第一张能用的截图;要做到无人值守跑一年,要多得多。
诚实的阈值:
每月几千张以下: 用服务。免费档可能就够,付费入门套餐也比实例便宜。
几千到几万张: 金钱上大致打平,服务在时间上赢。如果你已经因为别的原因在跑浏览器基础设施,再考虑自建。
几十万张及以上: 自建在成本上赢,那时你也已经具备相应运维能力。这也是 Browserless 模型作为中间路径变得有意思的地方——别人的浏览器,你的自动化代码。
任何依赖地理的场景: 仔细比较。带内置位置选择的服务,可能比自己拼渲染加住宅代理更便宜,工作量也肯定更少。
无论哪条路都要把截图拍好
把能用的捕获和不能用的捕获分开的那些参数,在服务和自建代码里是一样的。
等待某个元素,永远不要等固定延时。 三秒 sleep 在糟糕的日子太短,在顺利的日子又浪费,而且失败是间歇性的——最糟的一种。等待一个你知道页面就绪时会出现的选择器,更快也更可靠。每个认真的服务都暴露这一点;确认你选的那家有。
不要等待 network idle。 带分析信标、websocket 或轮询的页面永远安静不下来,于是 network-idle 条件只会超时。这会不断坑人,症状也很典型——捕获刚好耗尽超时时间然后失败——见过一次就认得。
有意设置视口。 默认通常是 1280 或 1920 宽,响应式站点在两者下渲染不同。如果你要跨时间比较截图,视口必须固定,否则每次比较都是噪声。
关掉动画。 任何进行中的 CSS 过渡都会让每次捕获得到不同图像。对视觉对比来说,这是最大的单一伪差异来源。
整页捕获前先滚动。 首屏之外的懒加载图片在页面第一次稳定时还没被请求,所以对未滚动页面做整页截图,该有图的地方会是空白。滚到底,等,滚回去,再捕获。
处理粘性页头。 带 position: fixed 的元素在拼接整页捕获里行为难料——常见的是沿图像向下重复。注入 CSS 在捕获期间把它们改成 absolute 就能修好,多数服务正因为这个暴露了注入 CSS 的方式。
按任务选格式。 PNG 无损且大;质量 80 的 JPEG 体积只是零头,对多数内容肉眼难辨;WebP 居中。用于缩略图和人工审阅,PNG 往往买的是没人看得见的精度。用于像素对比则不然。
选择前该核对什么
比任何价目表都更耐用的标准。
免费档让你测到真东西吗? ScreenshotOne 每月 100 张、全功能开启,是真正的评估;把你需要的功能排除在外的试用则不是。
你需要的功能在你付得起的套餐上吗? Urlbox 的分层是警示例子——整页和 JavaScript 渲染不在入门套餐,而这两者多数人默认是标配。
失败和缓存命中怎么计费? ScreenshotOne 两者都不计入配额。别家不一定。只要工作负载有重复,这项比标价更重要。
能否指定渲染地理位置? 如果你需要看页面在另一个国家长什么样,核对它出现在哪一档。这是被转售的代理能力,定价也按这个来。
有哪些等待条件? 页面还没加载完就截的图没有价值。等选择器远比等固定秒数可靠,而且并非每家服务都提供。
能否拦截或隐藏元素? 除非有东西关掉 cookie 横幅,否则每张截图都会带上它。内置拦截省得你为每个站点写选择器。
峰值时会怎样? 并发限制才是生产环境咬人的约束。Browserless 按套餐明确写出;对你考虑的任何服务都核对其等价项。
什么时候不该用截图 API
答案完全是另一回事的那些情况。
当你要的是数据,不是图片。 价格的截图,是你随后还得从图像里读出来的价格。如果价值在内容里,就抽取内容——选择器和结构化数据更便宜、更快,而且机器可读。
当你要的是自己内容的 PDF。 把你自己的 HTML 渲成 PDF 是本地操作。绕到外部服务去渲染你生成的文档,是不必要的延迟和不必要的成本。
当这是一次性的。 浏览器有截图功能。操作系统也有。
当你需要对你控制的页面拍很多截图。 构建时一步生成一次,比每次请求打一次 API 更便宜,也从运行路径里拿掉一个外部依赖。
当站点禁止这样做。 自动化访问就是自动化访问,不论输出是不是图像,服务条款与工具无关。
常见问题
什么是截图 API?
一种托管服务:接收 URL,返回渲染后的图像。底层是带 HTTP 接口的无头浏览器集群,所以差异在可靠性、渲染选项、地理捕获和交付,而不是图像质量。
截图 API 要多少钱?
ScreenshotOne 每月 $17 对应 2,000 张,$79 对应 10,000 张。Urlbox 每月 $19 对应 2,000 次渲染,更高档每千次单价更好。Browserless 卖的是浏览器时间——每月 $25 对应 20,000 单位,一个单位最多 30 秒浏览器时间。
有没有免费的截图 API?
ScreenshotOne 每月提供 100 张截图,全功能且无需绑卡。Browserless 有 1,000 单位的免费档,含代理和验证码求解。Urlbox 在较低档提供七天试用且无需绑卡。
该用截图 API 还是 Playwright?
每月几千张以下用服务,因为入门套餐比实例便宜。几十万张以上自建,经济账会反过来。中间地带金钱上大致打平,服务在维护时间上赢。
为什么截图是空白或不完整的?
通常是时序问题:捕获发生在页面渲染完成之前。等待特定元素,而不是固定延时。懒加载图片可能还需要先滚动再捕获,整页模式对粘性页头也有自己的怪癖。
能从特定国家截图吗?
可以,前提是服务提供位置选择——但要核对它出现在哪一档,因为这通常是付费功能。这是被转售的代理能力,所以要对比自己通过住宅代理跑浏览器的成本。
如何从截图里去掉 cookie 横幅?
多数服务提供按选择器拦截或隐藏元素,有些还有内置横幅关闭。自建时,你可以点击关掉,或在捕获前注入 CSS 隐藏。无论哪种,都需要有意处理——否则每张截图都会带一个。
截图 API 能处理重度 JavaScript 的站点吗?
它们用真实浏览器渲染,所以原则上可以——但要核对档位。例如 Urlbox 在 Hi-Fi 才解锁 JavaScript 渲染和整页捕获,而不是入门套餐。可用的等待条件比渲染引擎更重要。
总结
这里的每家服务都用同一套浏览器引擎渲染,所以选择关乎运维和定价,而不是图像质量。
真正要紧的定价问题不是标价。失败和缓存命中是否计入配额,对有效成本的影响大于每张单价。你需要的功能——整页捕获、JavaScript 渲染、地理选择——是否在你付得起的档上,值得在承诺前核对,因为这个品类的分层并不统一。而限制峰值的是并发上限,不是月度配额。
关于自建,诚实的算术没有看起来那么好看。算力便宜,你的时间不便宜;如果渲染必须经过按量计费的代理,浏览器拉取每个资源的带宽成本会抹掉大部分差距——更讽刺的是,为了省钱你唯一不能拦截的就是图片,因为图片才是目的。
每月几千张以下,用服务,多半还能用免费档。几十万张以上,自己跑。中间地带,决定你有多想拥有浏览器基础设施,因为那才是真正的问题,金钱上接近平手。
