Google Cloud Vision API logo

Google Cloud Vision API

Google Cloud Vision API

Google Cloud 的图像分析 API:标签、OCR、文档 OCR、人脸属性、地标、Logo、对象定位、安全审核、裁剪、Web 检测共 11 个 feature,按 feature × 图片数计费

访问站点 ↗文档 ↗健康巡检 13 小时前
适合什么时候用

11 个标准 feature 一次请求叠加调用:LABEL_DETECTION、TEXT_DETECTION、DOCUMENT_TEXT_DETECTION、FACE_DETECTION、LANDMARK_DETECTION、LOGO_DETECTION、OBJECT_LOCALIZATION、IMAGE_PROPERTIES、SAFE_SEARCH_DETECTION、CROP_HINTS、WEB_DETECTION(按 feature 数累加计费,但只走一次网络往返)

先注意什么

不做人脸识别(identification)——只返回 face landmarks 与情绪 likelihood(joy、sorrow、anger、surprise),不返回身份。需要 1:1 / 1:N 人脸匹配要换 AWS Rekognition 或自建 ArcFace

第一步先查

打开 cloud.google.com/vision,在 GCP 项目里启用 Cloud Vision API 并绑定结算账户。本地用 `gcloud auth application-default login` 生成 ADC 凭据,CI/CD 下发 service account JSON。安装 @google-cloud/vision(Node.js)或 google-cloud-vision(Python),首请求建议直接打 LABEL_DETECTION 验证一张图的实际计费(feature 数 × 图片数 = units)。PDF/扫描件直接走 DOCUMENT_TEXT_DETECTION + files:asyncBatchAnnotate,别用 TEXT_DETECTION 处理多页文档。

认证
oauth
CORS
不支持
HTTPS
注册
需要
延迟
166 ms
协议
REST, gRPC
计费
freemium

可用率 · 30 天窗口

巡检: 30可用率: 93%平均延迟: 493ms
01

关于这个 API

Cloud Vision API 是 Google Cloud 在图像理解层面的核心服务,提供 11 个标准 feature:LABEL_DETECTION(开放词表的物体/场景标签)、TEXT_DETECTION(自然场景 OCR)、DOCUMENT_TEXT_DETECTION(文档/手写 OCR,输出含 block / paragraph / word / symbol 层级结构)、FACE_DETECTION(人脸 landmark + 情绪 likelihood,不做身份识别)、LANDMARK_DETECTION(地标识别)、LOGO_DETECTION(品牌 logo)、OBJECT_LOCALIZATION(带 bounding box 的对象检测)、IMAGE_PROPERTIES(主色调与 crop hints)、SAFE_SEARCH_DETECTION(adult / spoof / medical / violence / racy 五维 likelihood)、CROP_HINTS(智能裁剪建议)、WEB_DETECTION(reverse image search + best-guess label)。计费按 feature × 图片数:一张图启用 LABEL_DETECTION + TEXT_DETECTION 就是 2 units。每个 feature 每月前 1,000 units 免费;1,001 ~ 5,000,000 units 区间,多数 feature 是 $1.50 / 1,000 units,OBJECT_LOCALIZATION $2.25,WEB_DETECTION $3.50,CROP_HINTS $0.60;超过 5M units 后,TEXT_DETECTION、DOCUMENT_TEXT_DETECTION、FACE / LANDMARK / LOGO 等降到 $0.60,LABEL_DETECTION 降到 $1.00。请求端点有三个层级:v1/images:annotate(同步,单批最多 16 张图)、v1/images:asyncBatchAnnotate(异步,结果写 GCS)、v1/files:annotate 与 v1/files:asyncBatchAnnotate(PDF/TIFF,同步 5 页上限,异步最多 2,000 页/文档)。图像输入支持三种:内嵌 base64(HTTP payload 上限 10MB)、GCS URI(单文件 20MB)、HTTP/HTTPS URL(仅做演示)。默认 project quota 是 1,800 req/min,更高并发要在 Cloud Quotas 控制台申请上调。认证走 Google Cloud 标准栈:ADC / service account JSON / OAuth bearer / 受限的 API key。客户端覆盖 7 种语言:C#、Go、Java、Node.js、PHP、Python、Ruby。常见踩坑两个:第一,新手习惯按"请求次数"估成本,但 Vision 是按 feature × 图片,叠 3 个 feature 就是 3× 成本——估预算前先把 feature 组合定死;第二,多页 PDF 千万别用 TEXT_DETECTION 一页一页跑同步请求,正解是 DOCUMENT_TEXT_DETECTION + files:asyncBatchAnnotate,让 Google 一次跑完写 GCS。需要 1:N 人脸识别的场景,Vision 做不了,得换 AWS Rekognition 或自建模型。

02

你可以做什么

  • 1文档 OCR 流水线:用 DOCUMENT_TEXT_DETECTION 把扫描合同、发票、手写笔记转成结构化文本,PDF/TIFF 走 files:asyncBatchAnnotate,结果落 GCS 再做后处理
  • 2UGC 安全审核:SAFE_SEARCH_DETECTION 返回 adult / spoof / medical / violence / racy 五个维度的 likelihood(UNLIKELY ~ VERY_LIKELY),上传链路里做 fail-closed 拦截
  • 3电商商品图打标:LABEL_DETECTION + OBJECT_LOCALIZATION 配合返回类目标签和 bounding box,再用 PRODUCT_SEARCH 建商品库做反向以图搜图
03

优劣对比

优点

  • 11 个标准 feature 一次请求叠加调用:LABEL_DETECTION、TEXT_DETECTION、DOCUMENT_TEXT_DETECTION、FACE_DETECTION、LANDMARK_DETECTION、LOGO_DETECTION、OBJECT_LOCALIZATION、IMAGE_PROPERTIES、SAFE_SEARCH_DETECTION、CROP_HINTS、WEB_DETECTION(按 feature 数累加计费,但只走一次网络往返)
  • 价格阶梯随用量阶梯下降:以 LABEL_DETECTION 为例,1K 免费、1K~5M 区间每 1,000 张 $1.50、5M+ 降到 $1.00;TEXT_DETECTION 与 DOCUMENT_TEXT_DETECTION 5M+ 降到 $0.60
  • 图像输入三选一:base64 内嵌(payload 上限 10MB)、GCS URI(gs://bucket/path,单文件上限 20MB)、HTTP/HTTPS URL(仅做演示,生产不要依赖)。PDF/TIFF 走 files: 端点,最大 2,000 页/文档

注意事项

  • 不做人脸识别(identification)——只返回 face landmarks 与情绪 likelihood(joy、sorrow、anger、surprise),不返回身份。需要 1:1 / 1:N 人脸匹配要换 AWS Rekognition 或自建 ArcFace
  • 同步 annotate 单批最多 16 张图;PDF/TIFF 走 files:annotate 同步上限 5 页,超出要切到 files:asyncBatchAnnotate(结果异步落 GCS)
  • WEB_DETECTION 与 OBJECT_LOCALIZATION 单价高(5M 以内分别是 $3.50 与 $2.25 / 1,000 units),是叠加 feature 时最先吃预算的两个;不需要就别启用
04

官方快速开始

在官方文档查看快速开始:cloud.google.com

05

快速开始

打开 cloud.google.com/vision,在 GCP 项目里启用 Cloud Vision API 并绑定结算账户。本地用 `gcloud auth application-default login` 生成 ADC 凭据,CI/CD 下发 service account JSON。安装 @google-cloud/vision(Node.js)或 google-cloud-vision(Python),首请求建议直接打 LABEL_DETECTION 验证一张图的实际计费(feature 数 × 图片数 = units)。PDF/扫描件直接走 DOCUMENT_TEXT_DETECTION + files:asyncBatchAnnotate,别用 TEXT_DETECTION 处理多页文档。

06

常见问题

Google Cloud Vision API 有免费额度吗?+

有。每个 feature 每月前 1,000 units 免费,11 个标准 feature 各算各的。一个 unit = 一个 feature 应用到一张图,所以同一张图启用 LABEL_DETECTION + TEXT_DETECTION 会扣两个 feature 各自的免费额度。PRODUCT_SEARCH 与 CELEBRITY_RECOGNITION(白名单)走独立计费模型。

Vision API 能做人脸识别吗?+

不能。FACE_DETECTION 只返回 face landmark(眼、鼻、嘴等坐标)和情绪 likelihood(joy / sorrow / anger / surprise),不返回身份信息,也不支持 1:1 / 1:N 人脸匹配。Google 在合规策略上明确不提供人脸识别能力。需要识别身份就用 AWS Rekognition 的 Face Compare / SearchFacesByImage,或自建 ArcFace / FaceNet。

处理多页 PDF 该用哪个端点?+

用 DOCUMENT_TEXT_DETECTION + v1/files:asyncBatchAnnotate。这个端点单文档最多 2,000 页,输入和输出都走 GCS URI,提交后返回一个 long-running operation 名,结果异步写到指定的 GCS 输出目录里(每批最多 100 页一个 JSON 文件)。同步的 files:annotate 只支持 5 页以内,超出就会拒绝;TEXT_DETECTION 是给自然场景图设计的,处理文档时段落和换行结构会丢。

一次请求叠加多个 feature 会便宜吗?+

只省网络往返时间,不省钱。同一张图启用 N 个 feature 就计 N 个 units,每个 feature 走各自的价格档。所以"反正都调了就多选几个 feature"是错的;按业务实际需要勾选 feature 才是最省的策略。

07

技术细节

CORS: NoHTTPS: Yes注册: Yes开源: No
认证方式
oauth
计费
freemium
速率限制
Default project quota: 1,800 requests/minute; synchronous annotate accepts up to 16 images per request, files:annotate (PDF/TIFF) up to 5 pages per request; async batch supports up to 2,000 pages per document with output written to GCS
免费额度
Per-feature monthly free units: first 1,000 units/month free for each feature. A unit = one feature applied to one image, so an annotate request with LABEL_DETECTION + TEXT_DETECTION on one image bills 2 units. PRODUCT_SEARCH and CELEBRITY_RECOGNITION (allow-listed) have separate pricing models.
协议
REST, gRPC
SDK
C#, Go, Java, Node.js, PHP, Python, Ruby
响应时间
166 ms
上次巡检
2026/6/26 06:23:30
08

接口端点

从 OpenAPI spec 自动解析。显示 8 / 8 个未弃用端点。

POST
/v1p1beta1/{parent}/files:annotateprojects
parent:path*
POST
/v1p1beta1/{parent}/files:asyncBatchAnnotateprojects
parent:path*
POST
/v1p1beta1/{parent}/images:annotateprojects
parent:path*
POST
/v1p1beta1/{parent}/images:asyncBatchAnnotateprojects
parent:path*
POST
/v1p1beta1/files:annotatefiles
POST
/v1p1beta1/files:asyncBatchAnnotatefiles
POST
/v1p1beta1/images:annotateimages
POST
/v1p1beta1/images:asyncBatchAnnotateimages
09

标签

10

更多来自 Google 的 API