MediaLayer

Media matching

Duplicate Detection API

MediaLayer is a duplicate detection API that covers images, video, and audio behind one request shape. Send two URLs, get back a similarity score, a confidence label, and aligned matched segments where applicable. Same envelope across every media type — one integration, three endpoints.

What MediaLayer's media matching API does

Most duplicate media detection problems do not have a clean byte-equal answer. Images get re-encoded and watermarked. Videos get re-uploaded with letterboxing or trimmed at the edges. Audio gets transcoded to a lower bitrate or mixed under a voiceover. That whole space is what near duplicate detection has to handle — and where pixel hashes and md5 sums fail.

MediaLayer exposes one consistent surface for that work. Each of the three endpoints — /image/match, /video/match, and /audio/match — takes the same payload (source_url, target_url) and returns the same response shape. The algorithm under each endpoint is tuned for its medium: perceptual feature extraction for images, frame fingerprinting with offset-aware matching for video, and spectral-peak fingerprinting for audio.

Because the request and response shapes are identical, your client code is one wrapper that switches the path. There is no per-endpoint SDK, no separate authentication flow, and no divergent error format. That makes it easy to ship duplicate media detection across your product without three different integrations.

All three endpoints are stateless HTTP — no fingerprint database on your side, no warm-up, no model version pinning. URL validation, redirect handling, size and duration caps, and standardized error envelopes are baked into every endpoint, so production behavior is consistent whether you are calling the image, video, or audio matching API. That uniformity is what makes a single near duplicate detection API practical instead of three loosely-related services.

One request shape across image, video, and audio

The example below shows /image/match; swap the path for /video/match or /audio/match and the request body is unchanged.

REQUEST
POST /image/match
{
  "source_url": "https://example.com/source.jpg",
  "target_url": "https://example.com/candidate.jpg"
}
RESPONSE
{
  "match": true,
  "confidence": "high",
  "similarity_score": 0.93,
  "processing_time_ms": 41,
  "media_type": "image",
  "matched_segments": []
}

For audio and video matches, matched_segments carries aligned start and end timestamps so you can render a timeline of where the overlap occurs. For images it is empty — there is no temporal axis. Either way, the envelope is JSON, predictable, and easy to wire into existing systems.

Use cases for duplicate media detection

Content moderation

Catch re-uploaded media before it propagates across surfaces, regardless of media type.

Marketplace dedupe

Detect listings that recycle the same images or videos across multiple seller accounts.

Ad-tech creative audit

Verify creative ownership and surface duplicate placements at scale across image and video.

Copyright and reuse detection

Identify reused video clips and audio across uploaded user content with timestamped evidence.

Catalog deduplication

Collapse near-duplicate assets — images, videos, or audio — before they hit your storage tier.

Cross-platform monitoring

One integration covers duplicate detection across the formats your product accepts.

A hosted media matching API versus three DIY pipelines

Standing up duplicate media detection in-house usually means three parallel pipelines — perceptual hashing for images, frame fingerprinting for video, and spectral fingerprinting for audio. Each comes with its own decoding stack, format edge cases, index structure, and tuning surface. That is three services, three on- call rotations, and three sets of model or library versions to keep healthy.

MediaLayer collapses that into one HTTP integration. You send two URLs at the right endpoint, you get back a structured JSON response. There is no GPU pool to keep warm, no fingerprint index to shard, and no codec quirks to debug. Engineering hours go into the parts of your product that are actually differentiated.

Per-media-type matching APIs

Looking for a specific media type? Each endpoint has its own dedicated documentation page covering algorithm details, supported formats, and use cases.

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