TinEye

About Products Solutions Labs

Has TinEye been useful to you? If so, please donate! x

Who created that image?

TinEye wants to help attribute any image to its original author.

TinEye

Connect

One of our goals at TinEye is to connect images to their authors and facilitate attribution. And growing the TinEye index is an important step in that direction. Today our index is over 2 billion images. We are continuing to grow the TinEye index by crawling and adding partner image collections.

To date we have added image collections from F1 Online, ID Image Direkt, iStockphoto, Getty Images, Masterfile, Photoshelter, Wikipedia and many more. We will continue to receive partner image collections by hard drive. However, to make it easier to have your image collection included in the TinEye index, we are introducing beta support for imagemap files.

Please note that for the duration of our TinEye imagemap beta, submission priority will be given to:

  • stock photography and editorial image collections
  • art and illustration collections available for licensing
  • archival and historical image collections
  • creative commons image collections

If you manage such a website, you can become a TinEye content partner by creating and submitting an imagemap file to TinEye.

What is an imagemap?

An imagemap is a file that you create that lists all the images on your website. In order for TinEye to crawl all your images, it's critical that you create this file to tells us were they are and give us additional information about the the images.

Imagemaps are modelled after the standard sitemap format (see wikipedia.org/wiki/Sitemaps and www.sitemaps.org) that are used by millions of websites to help search engines crawl their pages. Imagemaps allow you to list the authors and keywords associated with each image.

How do I submit images to TinEye?

To have your images added to the TinEye index, you must create one or more XML imagemap files.

Full details about creating your imagemap file can be found below. Once you are ready, fill out the
TinEye imagemap registration form to let us know where to find your imagemap for review.

The XML Imagemap File Format

Each image in your imagemap file must have:

  • A unique ID for the image
  • A single URL for the page that displays the image (a link to this page will be displayed by TinEye)
  • An image URL, for us to download an unwatermarked version of the image. The image should be no less than 300 pixels on a side, and should not be more than 1600

The image URL may be https for security, and may require a username and password for basic HTTP authentication. If this is the case, you must supply us with the username and password when you register your imagemap. The image URL and the original unwatermarked image will not be displayed on the TinEye website. However, all images you supply will be sized down and visibly watermarked for display on TinEye.

Your imagemap file may also include:

  • An author name (the name of the person who actually created the image, and to whom the image can be attributed)
  • An author ID (the unique ID used on your site for that author name)
  • The image's full width and height (which are displayed below the result thumbnail on TinEye)
  • The image size in bytes (which is displayed below the result thumbnail on TinEye)
  • Image keywords (described later)

Your imagemap file(s) must be encoded using UTF-8 for any non-ASCII characters, using Unicode character codes.

TinEye can show search results sorted by image size. The image width, height and size to display on TinEye may be provided in your imagemap. If omitted, the image width, height and size displayed on TinEye are read from the image you provide.

Images may have associated keywords, perhaps in various languages. Each keyword or phrase is separated from others by a comma. There should be no other punctuation, including quotation marks. Phrases are taken whole, so single keywords must be separated by commas. The language code is mandatory, and may be just the language (e.g., 'en') or language and region (e.g., 'zh-TW'). Script and other subtags may not be included.

An imagemap file for "example.com" might look like this:

<?xml version="1.0" encoding="UTF-8"?>
<tineye-list
   creation-date="2010-04-20T11:48:43.0Z"
   xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
   xs:noNamespaceSchemaLocation="http://www.tineye.com/contributing/imagemap.xsd">
   <image>
      <id>SN0982345</id>
      <page-url>http://www.example.com/image/SN0982345</page-url>
      <image-url>https://comps.example.com/comp/SN0982345.jpg</image-url>
      <author-info>
         <author-id>jdoe</author-id>
         <author-name>Jane Doe</author-name>
      </author-info>
      <keywords lang='en'>cat, sun, sleep</keywords>
   </image>
   <image>
      <id>SN08972345</id>
      <page-url>http://www.example.com/image/SN08972345</page-url>
      <image-url>https://comps.example.com/comp/SN08972345.jpg</image-url>
      <author-info>
         <author-id>jdoe2</author-id>
         <author-name>Jack Doe</author-name>
      <author-info>
      <metadata>
         <width>12000</width>
         <height>8000</height>
         <file-size>12373020</file-size>
      </metadata>
      <keywords lang='en-US'>dog, fire plug, sidewalk</keywords>
      <keywords lang='en-GB'>dog, fire hydrant, pavement</keywords>
      <keywords lang='de'>hund, hydrant, b&#252;rgersteig</keywords>
   </image>
</tineye-list>

The elements of each image must appear in the order shown above.

Note that the width and height specified above describe the largest image available for your customers to download, not the image referenced in the 'image-url' element.

If all the images in an imagemap have the same author, you can move that information out of the image elements, like this:

<?xml version="1.0" encoding="UTF-8"?>
<tineye-list
   creation-date="2010-04-20T11:48:43.0Z"
   xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
   xs:noNamespaceSchemaLocation="http://www.tineye.com/contributing/imagemap.xsd">

   <author-info>
      <author-id>jdoe</author-id>
      <author-name>Jane Doe</author-name>
   </author-info>

   <image>
      <id>SN0982345</id>
      <page-url>http://www.example.com/image/SN0982345</page-url>
      <image-url>https://comps.example.com/comp/SN0982345.jpg</image-url>
      <keywords lang='en'>cat, sun, sleep</keywords>
   </image>

   <image>
      <id>SN08972345</id>
      <page-url>http://www.example.com/image/SN08972345</page-url>
      <image-url>https://comps.example.com/comp/SN08972345.jpg</image-url>
      <metadata>
         <width>12000</width>
         <height>8000</height>
         <file-size>12373020</file-size>
      </metadata>
      <keywords lang='en-US'>dog, fire plug, sidewalk</keywords>
      <keywords lang='en-GB'>dog, fire hydrant, pavement</keywords>
      <keywords lang='de'>hund, hydrant, b&#252;rgersteig</keywords>
   </image>
</tineye-list>

As before, the author elements and the elements inside the image elements must appear in the order shown.

If you find that your imagemap is going to be larger than 500MB, you can split the images accross several imagemap files. The URLs for the imagemaps can then be put in a metamap XML file for us to download.

The metamap file for "example.com" might look like this:

<?xml version="1.0" encoding="UTF-8"?>
<tineye-metamap
   update-date="2010-04-20T11:40:13Z"
   xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
   xs:noNamespaceSchemaLocation="http://www.tineye.com/contributing/metamap.xsd">

   <imagemap creation-date="2010-04-20T11:48:43Z">https://www.example.com/tineye/imagemap0001.xml</imagemap>
   <imagemap creation-date="2010-05-02T16:19:32Z">https://www.example.com/tineye/imagemap0002.xml</imagemap>
</tineye-metamap>

Imagemap Validation

To validate your XML file(s) you can use xmllint. If your file is not valid, the error messages can be rather cryptic, but it will at least show the line of the file where there is a problem.

If you have xmllint installed then you can do this on your own machine:

# for your image map:
xmllint --schema http://www.tineye.com/contributing/imagemap.xsd --noout <path to imagemap file>

# for your meta map:
xmllint --schema http://www.tineye.com/contributing/metamap.xsd --noout <path to metamap file>

Updates

To contribute more images to TinEye after your initial XML imagemap submission(s) you can add new image entries to your existing imagemaps or make a new imagemap and add it to your metamap (and create a metamap if you don't have one already). You should never have more than one metamap and all imagemaps must be included in the metamap.

Submitting your imagemap

Register to submit your imagemap.