Skip to content

Fashion Tagging

This page describes API for generic fashion tagging service. The API follows the general rules of Ximilar API as described in Section First steps. This service API has only one endpoint running at this URL:

https://api.ximilar.com/tagging/fashion/v2/tags

Please, see page API Calls and Credits for exact prices for individual API calls. The Fashion Tagging uses a chain of recognition models to tag each image, that's why the cost is higher than a simple image classification.

Contact us before using this service

In order to get access to the Fashion Photo Tagging service, please register at https://app.ximilar.com and then contact us at tech@ximilar.com to make the service accessible for your Ximilar account.

Tagging endpoint: /v2/tags

Given a list of image records, this method returns tags as predicted by the Fashion Tagging services, together with probabilities (the level of certainty) for each of these tags.

What is category and tags?

The workflow for identifying tags work in this way:

  1. First we detect the main fashion type of the product on the image (category field).
  2. Based on this knowledge we decide which tagger we use for generating appropriate tags. If you already know to which category given image belongs then you should specify it in the record.

Taxonomy of Fashion Tagging

Category Tags
any object Men, Women, Children
Clothing/Upper Tunics, Blouses, Vests, Pullovers, Pullovers/Cardigans, Shirts, T-Shirts, Polo-Shirts, Sweatshirts, Hoods, Sweatjackets, Tops, Turtlenecks, Sleeves short, Sleeves long, Sleeves 3/4, Sleeveless
Clothing/Pants Pants, 3/4 Pants, Leggings, Sweat Pants, Jeans, Pantsuits Pants, Suit Trousers, Pyjama Pants, Swimming Pants, Beach Pants
Clothing/Shorts Shorts, Jean Shorts, Beach & Swim Shorts
Clothing/Dresses Tunics, Evening dresses, Blouse dresses, Wedding Dresses, Cocktail Dresses, Sheath dresses, Jersey Dresses, Maxi Dresses, Midi dresses, Mini Dresses, Sundresses, Knit dresses, Lace dresses, Social Dresses, Sleeveless
Clothing/Jackets Outdoor Jackets, Suit Jackets, Tuxedos, Blazers, Jean Jackets, Leather Jackets, Windstoppers, Winter Jackets, Pea coats
Clothing/Coats Pea coats, Duffle coats, Short coats, Fur coats, Trench coats, Wool coats, Raincoats & Ponchos, Pelerine
Clothing/Skirts Balloon skirts, Pencil & Crash skirts, Denim skirts, Maxi skirts, Midi skirts, Miniskirts, Wrap skirts, Beach skirts, Sarongs
Clothing/Full body dress Nightdresses, Negligees, Pyjamas, Bathrobes, Costumes for home, Kimonos, Overalls
Clothing/Underwear/Bras Bras, Bikini Bras, Bustiers, Sport Bras
Clothing/Underwear/Panties Panties, Bikini Panties
Clothing/Underwear/Bodies Bodies, Bustiers, Monokinis, Negligees
Clothing/Underwear/Underpants Underpants, Boxers, Boxer swimwear
Clothing/Underwear/Socks Socks, Stockings, Knee socks, Low cut socks, Toesocks
Clothing/Underwear/Tights Leggings, Tights, Fishnet Stockings, Wool tights, Swimming pants
Clothing/Hijab
Baby Clothes Bodysuit, Romper suits & overalls, Baby pants
Bags/Handbags Shoulder bags & shoppers, Top handles, Baguette bags, Beauty cases
Bags/Purses and Wallets Purses, Clutches, Wallets, Phone cases
Bags/Sports Bags
Bags/Business Bags Briefcases, Notebook cases, Messenger bags
Bags/Backpacks College bags, School backpacks, Camera backpacks, Notebook backpacks, Hiking backpacks
Bags/Luggage Suitcases, Travel bags, Backpack trolleys
Bags/Bum Bags
Footwear Slippers, Ballerinas, Boots, Boots/Motorcycle boots, Boots/Snow Boots, Boots/Ladies' High Boots, Boots/Rubber boots, Boots/Ski boots, Boots/Snowboard boots, Hiking footwear, Sport shoes, Sneakers, Business Shoes, Loafers, Moccasins, Mules, Pumps, Heels (middle and high), Sandals, Formal shoes (ladies), Flip-flops, Crocs, Slip-ons, Leather shoes
Accessories/Jewellery
Accessories/Accessories Scarf
Accessories/Belts
Accessories/Eyewear Sunglasses, Glasses
Accessories/Gloves Knitted gloves, Leather gloves, Sport gloves, Cotton gloves, Lace gloves
Accessories/Hats & Caps Hats, Winter Caps, Flat Caps, Baseball Caps
Accessories/Smartphone
Accessories/Ties
Accessories/Watch Watch dark dial, Watch digital, Watch gem, Watch golden, Watch leather strap, Watch light dial, Watch nylon strap, Watch rubber strap, Watch satin strap, Watch silver/steel, Watch smart, Watch sport, Watch analog, Watch wooden

Parameters:

  • records: list of photos to predict the tags for
    • must contain either of _url or _base64 field - see section image data for details
    • each record can contain category field which defines name of the main fashion object on the photo

$ curl https://api.ximilar.com/tagging/fashion/v2/tags -H "Content-Type: application/json" -H "Authorization: Token __API_TOKEN__" -d '{
    "records": [
        { "_url": "https://bit.ly/2IymQJv" },
        {"_base64": "/9j/4AAQSkZJR...", "_id": "image_id"}
    ]
}'

Returns:

  • HTTP error code 2XX, if the method was OK and other HTTP error code, if the method failed.
  • Body of the response is a JSON object (map) with the following fields:
    • status - a JSON map with a status of the method processing. It contains these subfields:
      • code - a numeric code of the operation status; it follows the concept of HTTP status codes (2XX, 4XX). Specific codes are described for each type of answer (or operation) (see below).
      • text - a text describing the status code
      • error_description - in case of the processing ended with error (codes 4XX), this field contains a detailed description of the error; this might include Java stack traces.
    • Example of statuses that can be returned:
      "status": {"code": 200, "text": "OK"}
      "status": {"code": 402, "text": "aborted by error", error_description="..."}
      "status": {"code": 500, "text": "unknown error", "error_description": "..."}
    • statistics - a map of various statistics about the processing. The only statistic included every time is
      • processing time - time of actual processing of the query [in seconds]
    • records - JSON array with the input records, each record enriched by field "_tags" and "category"

CLICK TO SHOW JSON RESULT

{
    "records": [{"_url": "__URL_PATH__",
                 "_status": {"code": 200, 'text': "OK"},
                 "_tags": [
                    {"id": "a9931d70-58a7-4266-8e72-aa772a0d0c09",
                     "name": "Outdoor Jackets",
                     "prob": 0.98647},
                    {"id": "12764bd8-f160-4cf8-92ad-03030a6fb0d2",
                     "name": "Windstoppers",
                     "prob": 0.98528},
                    {"id": "6bb47cee-d981-4001-a02c-0448761e566a",
                     "name": "Clothing/Jackets_Men",
                     "prob": 0.57432},
                    {"id": "93b97ae3-6fbe-41eb-add2-6fcc96b24701",
                     "name": "Clothing/Jackets_Women",
                     "prob": 0.08246},
                    {"id": "10667728-053a-4722-bb13-dc407401be08",
                     "name": "Winter Jackets",
                     "prob": 0.0034},
                    {"id": "d1df94c1-4e8c-4f2d-9cc1-e3e1bc9f93dd",
                     "name": "Suit Jackets",
                     "prob": 6e-05},
                    {"id": "47055a45-864c-4d6d-8766-3426928e8592",
                     "name": "Leather Jackets",
                     "prob": 3e-05},
                    {"id": "6501949-cb63-4caf-9b90-317739b98b19",
                     "name": "Jean Jackets",
                     "prob": 0.0}],
                "category": "Clothing/Jackets"
                }],
    "statistics": {"processing time": 0.1807096004486084},
    "status": {"code": 200, "text": "OK"}
}

Things to note

  • Please, note that the "_base64" data is not returned. Use "_id" or any other field to identify your image.
  • Each of the tag contains probability of tag present on the image. All the tags are based on the main product type which is present in "category" field.

Service status check: /v2/ping

Description: returns a basic information about the service
No parameters
Example:

$ curl https://api.ximilar.com/tagging/fashion/v2/ping

CLICK TO SHOW JSON RESULT

{
   "info" : "Ximilar fashion-tagging service",
   "statistics" : {
      "processing time" : 0.002
   },
   "status" : {
      "text" : "OK",
      "code" : 200
   }
}