Media Verification Workflow (n8n)
Investigative Tools

Media Verification Workflow (n8n)

Skip to main content
< All Topics
Print

Media Verification Workflow (n8n)

Pattern: Viral content triage — trigger → reverse search → geolocation analysis → assessment report

Skills used: media-verification-specialist, geolocation-verification-specialist, ai-document-analysis


[Webhook Trigger] → [Compose Verification Plan] → [Reverse Image Search]
    → [Metadata Extraction] → [Geolocation Analysis] → [Assessment Report]

  {
    "media_url": "https://example.com/image.jpg",
    "claim": "Photo shows protest at City Hall on May 10, 2026",
    "source_post_url": "https://twitter.com/user/status/123456"
  }

  {
    "question": "Verify the authenticity and claimed location/time of this media: {{ $json.claim }}",
    "context": "Source URL: {{ $json.source_post_url }}"
  }

  {
    "message": "Analyze this image for geolocation clues. Identify visible landmarks, signage, vegetation, architecture, sun position/shadows, and any other location indicators. Provide a confidence assessment: exact location / city-level / region-level / insufficient evidence. Image URL: {{ $json.media_url }}",
    "persona": "investigator"
  }

  {
    "claim": "original claim text",
    "verification_status": "verified | disputed | inconclusive",
    "location_assessment": {
      "confidence": "city-level",
      "identified_location": "Atlanta, GA",
      "evidence": ["visible CNN Center signage", "Peachtree Street intersection"],
      "provenance": "AI-inferred"
    },
    "temporal_assessment": {
      "confidence": "date-level",
      "evidence": ["shadow angle consistent with May afternoon"],
      "provenance": "AI-inferred (Estimated)"
    },
    "earliest_known_post": "URL and timestamp from reverse search",
    "metadata_findings": "EXIF summary or 'metadata stripped'",
    "recommended_next_steps": ["field verification", "contact original poster"],
    "provenance_notice": "Location and temporal assessments are AI-inferred and require field verification"
  }

## Workflow overview

## Node chain

### 1. Webhook Trigger

Type: Webhook (POST)

Path: /webhook/media-verification

Body schema:

### 2. Compose Verification Plan

Type: HTTP Request

Method: POST

URL: {{ $vars.PATRIOT_API_URL }}/investigate/workflow

Body:

Purpose: Get a structured verification plan from Claude.

### 3. Reverse Image Search

Type: Code node (JavaScript)

Purpose: Check the image against known reverse image search services:

– Google Lens (via URL parameter)

– TinEye API (if configured)

– Yandex Images (via URL parameter)

Output: Earliest known appearance date, alternative sources, and any modifications detected.

Note: Fully automated reverse image search may require commercial API access (TinEye). Manual steps can be flagged for analyst action.

### 4. Metadata Extraction

Type: Code node or HTTP Request to Tika

Purpose: Extract EXIF data from the image:

– Camera model, timestamp, GPS coordinates (if present)

– Software modification history

– Compression artifacts suggesting re-saves

Note: Many social media platforms strip EXIF data. Absence of metadata is expected and should not be interpreted as evidence of manipulation.

### 5. Geolocation Analysis

Type: HTTP Request (to Claude chat for analysis)

Method: POST

URL: {{ $vars.PATRIOT_API_URL }}/chat/message

Body:

Output: Location assessment with confidence level and supporting evidence.

### 6. Assessment Report

Type: Respond to Webhook

Body:

Confidence levels

Level Meaning Action
Exact GPS coordinates or unique landmark identified Report with (Verified)
City-level Multiple consistent urban indicators Report with (Estimated)
Region-level Vegetation, architecture, or language clues Report with (Estimated) — needs corroboration
Insufficient No reliable indicators Report “Location cannot be determined from available evidence”

When to use

  • Verifying viral social media images or videos
  • Fact-checking claims about protest locations or sizes
  • Investigating potentially manipulated media
  • Assessing the provenance of leaked documents or screenshots
Was this article helpful?
0 out of 5 stars
5 Stars 0%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
5
Please Share Your Feedback
How Can We Improve This Article?
Table of Contents