Image moderation

Google Cloud Vision SafeSearch: How Image Moderation Works

Use SafeSearch as a signal, not as your whole moderation system.

Understand the API response, map likelihoods to product actions, and know when a policy and workflow layer is required.

What SafeSearch actually returns

SafeSearch Detection analyzes an image and returns five categorical likelihoods: adult, spoof, medical, violence, and racy. Each field uses an ordered enum from UNKNOWN through VERY_LIKELY. That is useful for screening uploads, but it is not the same as a single safe or unsafe verdict.

  • • adult: nudity, pornography, or sexual activity signals
  • • spoof: whether the image may have been manipulated to appear offensive or funny
  • • medical: medical imagery that may need a different product policy
  • • violence: death, serious harm, or injury signals
  • • racy: suggestive poses, clothing, or sensitive-body-area signals

A production decision needs another layer

A marketplace, social app, and private medical community may all choose different actions for the same likelihood. Keep the provider output as evidence, then apply a product policy that can allow, hold for review, or block. Store the original decision and the policy version so operators can explain what happened later.

  • • Set category-specific thresholds instead of one global cutoff.
  • • Use review for borderline content rather than silently deleting it.
  • • Keep an appeal path and an audit record for consequential blocks.
  • • Moderate text, video, and user behavior separately when those surfaces exist.

SafeSearch pricing and operational limits

Google currently describes Vision pricing per image and per feature, with the first 1,000 units each month free. SafeSearch can be free when paired with Label Detection, or billed independently at the rates shown on Google Cloud’s pricing page. Budget for the image volume, any additional Vision features, Cloud Storage, and the operational work of turning scores into decisions. Google also cautions that fetching externally hosted image URLs can fail, so production systems should prefer controlled storage or upload bytes directly.

When Vettly is the better fit

SafeSearch is a strong building block when you only need Google’s image likelihoods. Vettly becomes useful when the product needs one policy surface across text, images, and video, explicit allow/review/block actions, provider flexibility, audit trails, and an operator workflow. You can still keep SafeSearch as a provider signal inside a broader moderation policy.

What it detects

  • • Adult and racy image signals
  • • Violence and gore signals
  • • Spoof and manipulated-image signals
  • • Medical imagery
  • • Image upload and post-generation flows
  • • Policy-specific review queues

Why developers choose Vettly

  • • Provider signals are kept separate from product decisions
  • • Category-specific thresholds reduce blunt blocking
  • • Review and appeals handle borderline cases
  • • Text, image, and video policies can share one workflow
Example request
bash
POST https://vision.googleapis.com/v1/images:annotate
Authorization: Bearer GOOGLE_CLOUD_ACCESS_TOKEN
x-goog-user-project: YOUR_PROJECT_ID
Content-Type: application/json
{
"requests": [
{
"image": { "source": { "imageUri": "gs://bucket/image.jpg" } },
"features": [{ "type": "SAFE_SEARCH_DETECTION" }]
}
]
}
Example response
json
{
"responses": [
{
"safeSearchAnnotation": {
"adult": "UNLIKELY",
"spoof": "VERY_UNLIKELY",
"medical": "VERY_UNLIKELY",
"violence": "LIKELY",
"racy": "POSSIBLE"
}
}
]
}

SafeSearch compared with Vettly

SafeSearch gives you five image likelihoods. Vettly is the policy and operations layer around moderation signals: decisions, workflows, auditability, and coverage beyond image-only detection.

Compare Google Cloud Vision with Vettly

Primary references

Get an API key

Start making decisions in minutes with a Developer plan and clear upgrade paths.

Get an API key