MediaLayer

Media matching API and search platform

Media matching API and search platform

Compare images, videos, and audio with Match API, or index large media libraries with MediaLayer Search for 1-to-many similarity search.

Start with Match API on RapidAPI →
URL-based input JSON responses Image / Video / Audio
POST/video/match
{
  "source_url": "https://example.com/source.mp4",
  "target_url": "https://example.com/target.mp4"
}
200Response
{
  "match": true,
  "confidence": "high",
  "similarity_score": 0.88
}

The problem

Duplicate media is hard to detect across images, videos, and audio.

The same creative gets re-uploaded, re-encoded, cropped, watermarked, or trimmed before it lands back in your platform. Pixel hashes miss near-duplicates. Manual review queues do not scale with volume. And stitching together format-specific tools for image, video, and audio turns a one-line check into a pipeline.

How it works

Three steps from URL to match decision

  1. 1

    Provide source URL

    Send the URL of the source media you want to compare. http(s) only.

  2. 2

    Provide target URL

    Send the URL of the target media. The API downloads both server-side — no upload pipeline on your end.

  3. 3

    Receive structured response

    Get back a similarity score, confidence label, and matched segments where applicable.

API example

Two URLs in. One JSON envelope out.

The request shape is the same for image, video, and audio. The response carries everything you need for a match decision.

cURL/image/match
curl -X POST https://api.medialayer.ai/image/match \
  -H "Content-Type: application/json" \
  -d '{
    "source_url": "https://example.com/source.jpg",
    "target_url": "https://example.com/target.jpg"
  }'
200application/json
{
  "match": true,
  "confidence": "high",
  "similarity_score": 0.92,
  "processing_time_ms": 42,
  "media_type": "image",
  "matched_segments": []
}
FieldTypeDescription
matchbooleanWhether the two media items pass the similarity threshold.
confidencestring"high", "medium", "low", or "none".
similarity_scorenumber (0–1)Continuous score for ranking and tunable thresholds.
processing_time_msintegerServer-side processing time, excluding download.
matched_segmentsarrayAligned start/end timestamps for audio and video. Empty for images.

Security & trust

Built with backend integration in mind

Operational guarantees that matter when you embed media matching into a workflow you operate.

URL validation

Only http and https URLs are accepted. Malformed URLs and missing hostnames are rejected up front.

SSRF protection

DNS-resolved IPs of every URL — and every redirect target — are checked against private, loopback, link-local, and cloud metadata ranges.

File size & duration limits

Per-request caps on bytes (15 MB image / 50 MB audio / 100 MB video) and duration (300 s audio / 180 s video) prevent runaway processing.

Safe demo limits

The website playground is rate-limited per visitor and isolated from production traffic. Production access is metered through RapidAPI.

MediaLayer Search

Need to search a media library?

MediaLayer Search indexes your image, video, and audio library so you can find duplicates and near-matches across millions of assets with a single query.

Explore MediaLayer Search