How do I find the full video from a clip?
Take one clear frame from the clip and search with it as an image. Where you search depends on where the full video lives. If it is on the public web, a reverse image search engine is the tool. If it is in a library you own, index that library into short segments with an image-capable embedding model, and the frame returns the source video and the second it came from.
This page covers both, with a request you can run against a public footage library, the results of four test frames, and what to do when the clip was edited.
When the full video is on the public web
1. Pick the frame. Pause on a moment with something distinctive in it: a face, a sign, a logo, an unusual setting. Skip transitions and motion blur. 2. Screenshot it at the largest size the player allows. 3. Run a reverse image search. Google Lens, Bing Visual Search and TinEye all take an image. They search images on web pages, so they work best when the full video's thumbnail or a still from it appears somewhere. 4. Use the other clues. A watermark, a username in the corner, on-screen text or a line of dialogue can be searched as text. Put quoted speech in quotes. 5. Try two or three frames if the first finds nothing. A different moment may match a different thumbnail.
These engines search the web's images; none of them searches inside every video on the web. For a library you control, the approach below finds the moment itself.
When the full video is in your own library
Index once, then search with a frame:
1. Cut each video into short segments (6 seconds here). 2. Embed each segment with a model that also embeds images into the same space. 3. Store each vector with its video and start and end times. 4. Embed the query frame and return the nearest segments, keeping the best one per video.
The request below sends a frame, taken 14 seconds into a Pexels clip of someone tying their shoelaces, to the public footage library behind the footage intelligence template: 67 clips cut into 6-second segments and embedded with Google's Vertex multimodal embedding model. It needs no API key.
curl -s -X POST https://api.mixpeek.com/v1/public/retrievers/footage-intelligence-frame-search/execute \
-H 'Content-Type: application/json' \
-d '{"inputs":{"image_url":"https://storage.googleapis.com/mixpeek-gtm-assets/footage-intelligence/frames/pexels-3804690-t14.jpg"},"pagination":{"method":"offset","page_number":1,"page_size":3}}'import requests
r = requests.post(
"https://api.mixpeek.com/v1/public/retrievers/footage-intelligence-frame-search/execute",
json={
"inputs": {"image_url": "https://storage.googleapis.com/mixpeek-gtm-assets/footage-intelligence/frames/pexels-3804690-t14.jpg"},
"pagination": {"method": "offset", "page_number": 1, "page_size": 3},
},
timeout=30,
)
r.raise_for_status()
for m in r.json()["results"]:
print(f'{m["start_time"]:5.1f}s to {m["end_time"]:5.1f}s score {m["score"]:.4f} {m["title"]} {m["source_page"]}')13.0s to 19.0s score 0.9145 Person tying shoelaces https://www.pexels.com/video/person-tying-shoelaces-3804690/ 7.0s to 13.0s score 0.6014 A man on the starting line of a running track https://www.pexels.com/video/a-man-on-the-starting-line-of-a-running-track-8533122/ 0.0s to 7.0s score 0.5303 Close up on make up pallette and brushes https://www.pexels.com/video/close-up-on-make-up-pallette-and-brushes-10835749/
How reliable is it?
Four frames from four clips, each searched against the whole library:
| Frame taken from | Top result | Segment returned | Score | Next best score |
|---|---|---|---|---|
| Person tying shoelaces, at 14 s | Same clip | 13 to 19 s | 0.91 | 0.60 |
| Soccer players on a field, at 20 s | Same clip | 18.5 to 25 s | 0.90 | 0.67 |
| People protesting on a street, at 3 s | Same clip | 0 to 7 s | 0.94 | 0.54 |
| Racing cars drifting, at 9 s | Same clip | 0 to 7 s | 0.90 | 0.55 |
| A photo from outside the library | An unrelated clip | 0.48 |
All four frames found their own video first, with a wide gap to the next result. Three landed in the segment that holds the frame and the drifting frame landed one segment early, so read the returned time as within a few seconds. The photo from outside the library still returned results, because a search always returns its nearest matches, and its best score was 0.48. In this library, a top score near 0.9 with a gap of 0.2 or more meant a true source, and a top score under 0.5 meant the source was not there. Calibrate those numbers on your own library before relying on them.
What if the clip was cropped, flipped or re-edited?
Re-encoded, resized or recompressed clips usually still match, because embeddings compare content and ignore the exact pixels. Heavy crops, captions over the picture, mirroring and color grading lower the score. Search with several frames from different moments and keep the video that most of them agree on; one bad frame then cannot decide the answer.
When you need exact copies at platform scale, such as finding every re-upload of your film on social platforms, fingerprinting services fit better. They match exact copies, and some match audio as well. See the best reverse video search tools for Pex, Audible Magic, ACRCloud and Videntifier, and how reverse video search works for the difference between fingerprints and embeddings.
Frequently asked questions
Can I find a full movie or show from a short clip?
Screenshot a frame with a recognizable face or setting and run it through Google Lens or another reverse image search; film stills and posters are widely indexed. Quoted dialogue searched as text often works too. Downloading the full video is a separate question that depends on who holds the rights.
Can Google search with a video clip?
Google Lens searches with an image. Take a screenshot of the clip and search with that.
Can I search my own videos with a screenshot?
Yes, once the videos are indexed into segments with a model that embeds images and video into the same space. The example above does exactly that against a public library, and the footage intelligence template deploys the same kind of index for your own footage.
Does it give the exact timestamp?
It returns the segment, so precision equals segment length: 6 seconds in the example. Shorter segments point more precisely and cost more to index.