Image · UGC moderation

Review-photo UGC moderation

Score customer-uploaded review photos for visible manipulation before they're attached to ratings, complaints, or marketplace-listing trust signals. A generated 'photo of the broken product' is the next-gen extortion pattern; the gate catches it before it triggers a chargeback.

Get API key All use cases Docs

Business value

  • Hardens product-review systems against the rising pattern of generated 'evidence photos' attached to one-star reviews and refund requests.
  • Protects sellers from extortion-style refund requests where the 'damaged item' photo is generated.
  • Maintains trust in the review-with-photo signal that buyers weigh heavily in purchase decisions.

Agent job to be done

Be a review-system trust layer. Allow photos that read as authentic phone-camera captures of real items. Hold photos with manipulation cues. Reject photos that are obviously generated alongside review-text signals that suggest extortion.

format: product_reviewintended_use: moderatedomain: UGC review photo moderation

When to call VeracityAPI

On every photo attached to a review submission, refund request, or complaint escalation. Re-run on photo replacements.

What image URL to submit

Public HTTPS image URL for the review photo. The original submission resolution matters — platform-recompressed versions can mask cues.

Decision policy

  • allow: low risk AND submission is consistent with the user's review history.
  • revise: medium risk — prompt the user to upload an additional photo or video showing the same item from a different angle.
  • human_review: high risk, OR review text combined with photo indicates a refund request, OR the user account has prior review-fraud signals.
  • reject: visible heavy manipulation combined with extortion-pattern language ('refund me or this review stays up').

Request template

The exact payload shape this use case sends. The sample below uses representative content for this workflow; substitute your own.

curl https://api.veracityapi.com/v1/analyze \
  -H "Authorization: Bearer $VERACITY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type":"image","content":"https://veracityapi.com/demo/influencer-beauty-tonic.jpg","context":{"format":"product_review","intended_use":"moderate","domain":"UGC review photo moderation"},"store_content":false}'

Automation recipe

  • Review worker receives the submission (text + photos).
  • Score each photo with intended_use=moderate.
  • Aggregate signals with the review text scoring — high-risk photo + extortion language = elevated handling priority.
  • Allow-tagged reviews publish.
  • Held reviews route to a moderator with the evidence pinned and the user's history surfaced.

Evidence spans agents should inspect

  • 'synthetic_damage' — generated 'damaged item' photos with characteristic artifacts
  • 'composite_packaging' — products in 'received-this-broken' packaging contexts that don't render naturally
  • 'metadata_strip' — photos arriving without phone-camera EXIF where it would be expected
  • 'recycled_imagery' — photos that appear on other product reviews across the platform

Policy pseudocode

if (result.recommended_action === "allow") continueWorkflow();
if (result.recommended_action === "revise") rewriteWith(result.evidence, result.recommended_fixes);
if (result.recommended_action === "human_review") queueForHumanReview(result);
if (result.recommended_action === "reject") discardOrRebuild();

KPIs to track

  • % of review photos held for additional verification
  • extortion-pattern detection rate (combined photo + text signals)
  • false-positive rate on legitimate angry reviews (high here = thresholds need recalibration)
  • review-fraud refund-loss avoidance
  • median time-to-publish for clean reviews

What can go wrong

  • Angry customers often take poor-quality phone photos that can trip 'composite_seam' or 'lighting_mismatch' falsely. The gate works best when paired with user-history signals.
  • Phone EXIF stripping by platforms is increasingly common. 'Metadata strip' is a prompt to verify by other means, not proof of manipulation.
  • The bar for rejecting a review is high — review-rejection backlash can be worse than the bad review. Bias toward hold + verify rather than auto-reject.

Cost and latency notes

Image analysis is a flat $0.02 per image. The endpoint accepts HTTPS image URLs, stores no image bytes, and logs only a URL hash plus hostname. Current v0.1 latency is vision-model-bound, so preflight balance and retry carefully.

Agent evaluation checklist