Beta Version
Welcome to Pixyle's API Documentation! This is your guide to easily adding our advanced visual AI technology to your digital assets. Whether you're improving your online store or refining your digital content, Pixyle's API gives developers like you the power to tap into the benefits of AI with ease.
To get started with integrating Pixyle's AI-driven e-commerce solutions, simply contact us today to get your user credentials and begin transforming your digital journey.
Overview of Products and Solutions
Pixyle AI provides a variety of tools to enhance your online presence:
Bounding Box Detection:
Gain granular insights into fashion images with Pixyle.ai's bounding box detection feature. Our solution accurately identifies and locates fashion objects within images, providing precise coordinates for each object. Whether it's detecting clothing items, accessories, or footwear, the bounding box detection enables detailed analysis and annotation of fashion imagery.
Automatic Tagging:
Effortlessly categorize and classify fashion objects in images with Pixyle.ai's automatic tagging solution. By leveraging machine learning algorithms, our system assigns relevant tags and attributes to each fashion item detected in the image. From colors and patterns to clothing types and styles, automatic tagging streamlines catalog management and enhances product discovery for retailers and e-commerce platforms.
Label Recognition:
Identify and extract valuable information from fashion labels with Pixyle.ai's label recognition capability. Our solution analyzes images to recognize and interpret the labels attached to clothing items, accessories, and other fashion products. By extracting tags and metadata from labels, businesses can enrich product data, improve search relevance, and enhance customer engagement.
Optimized Site Search Tags:
Enrich inventory with precise AI-generated tags from a 20,000+ attribute lexicon. Simplify shopping with multiple different search terms and improve result relevance with customer-specific language. By adding these type of tags, businesses can significantly improve search relevance, and enhance customer engagement.
Title Generation:
Craft compelling and descriptive titles for fashion products with Pixyle.ai's title generation feature. Our solution analyzes the visual attributes and characteristics of fashion objects in images to generate informative and engaging titles automatically. From brand names and product types to key features and styles, title generation streamlines content creation and enhances product presentation for online retailers and fashion platforms.
Description Generation:
Create compelling and informative descriptions for fashion products with Pixyle.ai's description generation solution. Our system analyzes the visual content of fashion images to generate detailed and engaging descriptions that highlight key features, materials, and styling cues. From sizing information to care instructions, description generation enhances product listings and improves the overall shopping experience for consumers.
Automatic Rescale:
Resize images seamlessly to fit different screens and devices, ensuring a consistent and user-friendly presentation. contact us
ShotType Detection:
Identify different types of shots in images, making it easier to analyze and edit content for better storytelling. contact us
Background Removal:
Easily remove backgrounds from images to create clean and professional visuals that highlight the subject. contact us
Similar Recommendations:
Offer personalized product suggestions based on visual similarities, boosting engagement and sales. contact us
Visual Search:
Let users search for products using images, making their shopping experience more intuitive and enjoyable. contact us
With Pixyle's API and these innovative features, you have the tools to create exceptional digital experiences that captivate and delight your audience. Start exploring today and leverage the full potential of visual AI in your digital catalogs.
Overview:
The Enhanced Tagging feature in our system provides an additional layer of intelligence to the tagging process by leveraging accompanying text data associated with the images. By analyzing the textual context provided along with the images, the system extracts relevant keywords and phrases to enhance the accuracy and richness of the generated tags.
How it Works:
When utilizing the Enhanced Tagging setting, the system examines the text associated with the images, such as captions, descriptions, or any textual metadata provided alongside the image data. It then employs natural language processing (NLP) techniques to identify significant terms and concepts that can contribute to a more comprehensive understanding of the image content.
By default, this setting is disabled. Therefore, please inform your designated contact person at Pixyle that you intend to include additional data with the images and request them to enable the Enhanced Tagging setting.
Benefit:
Improved Tagging Accuracy: By incorporating textual context, the system can capture nuanced details and context-specific information, resulting in more precise and relevant tags for the images.
Impacts:
• Bounding box: With this setting on the system will be able to detect and localize the main product more accurate
• Automatic tagging: With this setting on the system will produce more accurate tags
• Optimized Site Search Tags: With this setting on the system will produce more accurate Optimized Site Search tags
• Title Generation: With this setting on the system will produce more accurate titles
• Description Generation: With this setting on the system will produce more accurate descriptions
With Pixyle's API and these innovative features, you have the tools to create exceptional digital experiences that captivate and delight your audience. Start exploring today and leverage the full potential of visual AI in your digital catalogs.
Fashion item:
Fashion item is any article or accessory of clothing, footwear, or other wearable items.
Primary Product:
Primary Product is the main fashion item that is recognized by Pixyle.ai models. This is the product that is being sold in the image(s), and it's the main item for which data should be generated.
Primary Image:
Primary image is the one of the product images that is detected as the best image representation of the primary product.
Collection:
A collection is a data structure that is used to group multiple products together. Also known as datasets.
Collection processing:
Involves bulk processing of a collection of products. The system accepts a file containing multiple products, processing each one sequentially upon upload. Results for each product are available as soon as its processing is completed.
Real-time processing:
Is processing of one image or one product at a time and the results are immediately available for further processing.
Taxonomy:
Represents a hierarchical classification system and it consists of a structured set of tags that are used to classify images based on their visual characteristics, content, or attributes. The taxonomy is relevant only for Automatic Tagging and Label Recognition and it represents in which structure the generated data will be returned.
Tag:
Refers to a label or keyword assigned to images or items for the purpose of categorization, classification, or organizing data. A tag can be a category or an attribute.
Confidence Score:
Is a numerical value that represents the level of certainty or confidence in the accuracy or reliability of a prediction made by the model.
Verification Process:
Represents the Human-in-the-loop (HITL) concept. It is a process in which the human is reviewing the AI generated data and approves it or corrects it.
When a verification process of a product is done, means that the data is reviewed by human and it’s available for further usage. Wherever possible, we recommend having a human review outputs prior to their implementation in practice.
To connect with Pixyle API environment and use our services you will need credentials. To receive credentials please contact us. You will then receive an email from Pixyle with information of your new account and option to set up a password in within next 24 hours. Once you set your account, you can use those credentials to authenticate either to:
• Pixyle API
• Or Pixyle Dashboard. You can read how to use Pixyle AI services via Pixyle Dashboard here.
There are no specific system requirements or dependencies needed for successful integration with the Pixyle API.
Base URL:
Base URLs:
Main API URL:
Authentication API URL:
Integration Resources:
• Integration Sequence Diagram Flow: Details on how the integration process should proceed.
• Authentication Endpoints: Includes code samples for authenticating with the Pixyle API.
• Error Handling: Explanation of custom errors that may occur during integration.
• Main API Endpoints: Includes code samples for accessing the main functionalities of the Pixyle API.
• Additional Resources: Further assistance for integration-related questions or issues.
Feel free to contact us if you have any questions or need assistance with the integration process.
Authentication Request
Access/Permanent Token
Upload/Create Collection Request
System starts with processing all products with all active features
[If you need to retrieve the data for all products simultaneously]
Wait until processed_products_percentage = 100.0
Get Complete Data Request
Export generated data in CSV / JSON file
[If you need to retrieve the data for each product individually]
Patch Update Product Request
Update the generated data & verify a product
Collection Processing (Basic flow)
Real-time processing
Authentication Request
Access/Permanent Token
Bearer Token
OAuth 2.0 Bearer Token authenticates requests on behalf of your app.
This authentication method requires for you to pass a Bearer Token with your request, which you can generate by using your email and already set-up password. Below you can find obtain/revoke token endpoints.
Here is an example of what a request looks like with a fake Bearer Token:
Obtain a token
POST /token
Obtain a token, that you can use as an authorization for the rest of the endpoints. The endpoint allows you to obtain an access or a permanent token, and you can set this by using a flag in the request body.
Headers
None
Parameters
None
Body
Parameters:
None
Body:
email:
(string) The email for the account with which you want to authorize
password:
(string) The password for the account with which you want to authorize. If the account is still not set up with password please refer to the email you receive from us and finalize the set-up using our dashboard
permanent_login:
(boolean) A flag that represents if you want to obtain a permanent token. By default is false.
Body:
Response
Returns a JSON object with the following properties:
access_token:
(string) The access token that you can use to authorize in Pixyle API
expires_in:
(int) Time in seconds, in which the access token will expire. False if permanent_login is true.
Request:
Response:
DELETE /revoke_access
Use this endpoint to revoke and invalidate a token. Once a token is revoked it can’t be used for as an authorization for Pixyle API.
Headers
Authorization Bearer access_token
Parameters
None
Body
None
Response
Upon successful revoke of the token, the endpoint returns a JSON object with a confirmation message:
Headers:
Authorization Bearer access_token
Parameters:
N
Body:
None
Response:
Upon successful revoke of the token, the endpoint returns a JSON object with a confirmation message:
msg:
(string) A message that confirms that the token is revoked
Request:
Request:
If you need to update your password, or you forgot your password, feel free to use our dashboard.
Upload Rate: Users are limited to uploading one collection per second.
Simultaneous Processing: Each user can have a maximum of 10 collections processing simultaneously.
Upload Rate: Users are limited to uploading two products per second.
These limitations are designed to ensure efficient use of resources and maintain optimal performance for all users.
If you have specific use cases that require higher throughput, please contact our support team at support@pixyle.ai.
Check out a handy list of possible errors neatly organized by API. We've made sure to explain each error in a friendly way to make your experience smooth and hassle-free.
If you need to update your password, or you forgot your password, feel free to use our dashboard.
Errors:
Check out a handy list of possible errors neatly organized by API. We've made sure to explain each error in a friendly way to make your experience smooth and hassle-free.
Authentication API
Main API
Collections
Main API
Products in collections / Real-time processing products
Pixyle.ai offers a powerful API that enables developers to integrate cutting-edge image recognition and capabilities into their applications. Leveraging state-of-the-art machine learning algorithms, Pixyle.ai empowers developers to build advanced image-based solutions for e-commerce, retail, inventory management, and more.
The solutions are accessible through the real-time and the collection processing mode:
• Real-time processing mode - This mode is tailored for handling single products providing instantly processing the request with minimal latency, Its essential for use cases like applications that requires instant rendering of the data that we provide.
• Collection processing mode - This mode is tailored for handling extensive products collections where instant response is not required. This approach is suitable for use cases where the data can be later filtered, manipulated, exported at once or product by product.
Process a product
POST /products
This endpoint allows you to upload a single product to the Pixyle API and immediately receive a response with the generated data. Each product will be processed with all features that are active for your account. Once the product is processed and response is retrieved you aren’t able to perform any changes on the data or delete the product itself.
We automatically delete the products after 6 months.
If you upload more than one image for the product (image_url_2..8), the system will process all of them and the results will be generated based on all images.
If the ‘category’ field is filled with a category from Pixyle’s taxonomy, the system will localize and focus on that specific fashion item. Please note that at present, our system exclusively supports categories listed in Pixyle’s taxonomy. If you input a category that Pixyle does not support into the 'category' field, the product will still be processed. However, an error will be saved for that product, advising you to review and either add or correct the category accordingly.
The remaining optional fields, as well as any additional ones, do not affect the generated data by default. However, there is an option available that can significantly enhance the tagging process. Please refer to the overview of the Enhanced Tagging setting for more information.
Note that the system doesn’t check for duplicate SKUs in this processing mode, so each successful request will be charged.
Headers
Authorization Bearer access_token
Parameters
This endpoint allows you to get specific product and its result from a processed collection.
Headers:
• Authorization Bearer access_token
Parameters:
None
Body
Type: application/json
Required:
product:
(dict) Dict that holds the information for the product that should be processed.
sku:
(string) The SKU of the product
image_url_1:
(string) URL of an image of a product
Optional (they can be left empty):
image_url_2..8:
(string) URL of an image of a product
category:
(string) Category of a product
title:
(string) A title of a product
description:
(string) A description of a product
Response
Returns a JSON object with the following properties:
Body
None
Response
Returns a JSON object with the following properties:
errors:
(list) A list of error objects associated with the product
sku:
(string) The SKU of the product
result:
(list) A list with result object for each detected fashion item in the images
detection_id:
(int) The unique Pixyle Detection ID for this fashion item
primary_image:
(string) An image from the products list of images which is detected as a primary image of the product
extra_images:
(list) A list of extra images for the product
primary_detection:
(boolean) A boolean flag that indicates if the detected item is the primary product
features:
(list) A list that contains objects for each feature result
•
feature_name:
(string) The name of the feature that this result is for
•
feature_result:
An object/list that represents the result of this feature
•
For
"bounding_box":
Contains the top-left (x_min, y_min) and bottom-right (x_max, y_max) corners of the bounding box
◦
x_min:
(float) Represents the minimum value of the x-coordinate in the bounding box
◦
y_min:
(float) Represents the minimum value of the y-coordinate in the bounding box
◦
x_max:
(float) Represents the minimum value of the x-coordinate in the bounding box
◦
y_max:
(float) Represents the minimum value of the y-coordinate in the bounding box
•
For
"automatic_tagging":
Contains an array of objects representing different types of generated tags
◦
tags_type:
(string) Indicates the type of the generated tags
◦
tags:
(list) A list of objects representing individual tags associated with the tags_type
·
value
:
(string) Represents generated tag
·
score
:
(float) Indicates the confidence score associated with the generated tag
•
For
"label_recognition":
Contains an array of objects representing different types of generated tags
◦
tags_type:
(string) Indicates the type of the generated tags
◦
tags:
(list) A list of objects representing individual tags associated with the tags_type
·
value
:
(string) Represents generated tag
·
metadata
:
Additional metadata associated with a tag
‣
meta_key
:
(string) Represents the key of the metadata
‣
meta_value
:
(string) Represents the value of the metadata
•
For
"title_generation",
and
"description_generation":
Contains an array of objects representing the generated data in different languages.
◦
value:
(string) Represents the generated title/description
◦
language:
(string) Represents the language of the generated title/description
•
For
"optimized_site_search_tags":
Contains an array of strings representing the optimized site search tags.
Request:
Response:
Upload a collection
POST /collections
This endpoint allows you to upload collections of products in either CSV or JSON format.
The uploaded file should contain information about one or multiple products. Please refer to the examples provided below for the appropriate structure of the CSV and JSON files.
• Example CSV file
• Example JSON file
Please note that all products in the file must have the mandatory fields, otherwise will result in an unsuccessful upload.
If the ‘category’ field is filled with a category from Pixyle’s taxonomy, the system will localize and focus on that specific fashion item. Please note that at present, our system exclusively supports categories listed in Pixyle’s taxonomy. If you input a category that Pixyle does not support into the 'category' field, the product will still be processed. However, an error will be saved for that product, advising you to review and either add or correct the category accordingly.
If you upload more than one image for the product (image_url_2..8), the system will process all of them and the results will be generated based on all images.
The remaining optional fields, as well as any additional ones, do not affect the generated data by default. However, there is an option available that can significantly enhance the tagging process. Please refer to the overview of the Enhanced Tagging setting for more information.
Upon successful upload, you will receive an immediate confirmation. In the background the system will start with the processing and all products will be processed with all solutions that are active for your account.
Please note that in case of duplicate SKUs within the collection, the system will only process the first occurrence, disregarding subsequent duplicates.
Headers
Authorization Bearer access_token
Parameters
None
Body
Type: multipart/form-data
Headers
• Authorization Bearer access_token
Parameters
• None
Body
Type: multipart/form-data
file:
(binary) A CSV or JSON file that consists of multiple products.
Response
Returns a JSON object with the following properties:
Response
Returns a list of JSON objects with the following properties:
id:
(string) The unique ID for the uploaded collection in the Pixyle system. You should use this as a reference ID for all other functionalities related for the collection
name:
(string) The name of the collection, it will inherit from the file name that was used to create the collection
product_count:
(int) A number that shows how many products are inside the collection
image_count:
(int) A number that shows how many images are inside the collection
created_at:
(string) A timestamp that shows when was the collection created
Request:
Response:
GET /collections/{id}
You can check the status of the collection and it’s information on this endpoint, using the previously provided ID.
Headers:
• Authorization Bearer access_token
Parameters:
You can retrieve the status and information of the collection by accessing this endpoint and providing the previously provided ID.
Headers
Authorization Bearer access_token
Parameters
id:
The unique ID for the uploaded collection in the Pixyle system, that the user wants to check the status for
Body
None
Response
Returns a JSON object with the following properties:
Body:
None
Response:
Returns a JSON object with the following properties:
id:
The unique ID for the uploaded collection in the Pixyle system.
name:
(string) The name of the collection, it will inherit from the file name that was used to create the collection
product_count:
(int) A number that shows how many products are inside the collection
processed_products_percentage:
(float) A percentage number that shows how many products are processed inside the collection
verified_products_percentage:
(float) A percentage number that shows how many products are verified inside the collection
created_at:
(string) A timestamp that shows when was the collection created
updated_at:
(string) A timestamp that shows when was the collection last updated
error_count:
(int) A number that shows how many errors are in the collection
errors:
(list) An array of errors
Request:
Response:
PATCH /collections/{id}
This endpoint allows you to rename an uploaded collection in the Pixyle system by providing the unique ID of the collection and the new name.
Headers
Authorization Bearer access_token
Parameters
id:
The unique ID of the uploaded collection to be renamed
Body
Type: application/json
Required:
name:
(string) The new name of the collection. The name must adhere to the following rules:
• Cannot contain special characters.
• Must not be empty.
• Must not exceed 128 characters.
Response
Upon successful renaming of the collection, the endpoint returns a JSON object with a confirmation message:
message:
A message that confirms that the collection was successfully renamed.
Request:
Response:
DELETE /collections/{id}
This endpoint allows you to delete an uploaded collection from the Pixyle system by providing the unique ID of the collection.
Headers
Authorization Bearer access_token
Parameters
id:
The unique ID of the collection to be deleted from the Pixyle system.
Body
None
Response
Upon successful deletion of the collection, the endpoint returns a JSON object with a confirmation message:
message:
A message that confirms that the collection was successfully deleted.
Request:
Response:
GET /collections?page={}&size={}
This endpoint retrieves a list of all collections that have been processed or are being processed in your account, with support for pagination.
Headers:
• Authorization Bearer access_token
Parameters:
This endpoint retrieves a list of all collections that have been processed or are being processed in your account, with support for pagination.
Headers
Authorization Bearer access_token
Parameters
page:
Number of current page used to calculate the offset. Defaults to 1 if missing.
size:
Number of collections to be displayed on each page. Defaults to 7 if missing. The maximum value can be 20.
Body
None
Response
Returns a JSON object with the following properties:
Body:
None
Response:
Returns a JSON object with the following properties:
meta:
(dict) The unique ID for the uploaded collection in the Pixyle system
page:
(int) The page number that was requested
size:
(int) The size number that was requested
total_pages:
(int) The number of total pages that this pagination has
size:
(int) The total number of collections that the user has
result:
(list) A list of objects for each entity
id:
(int) The unique ID for the uploaded collection in the Pixyle system
name:
(string) The name of the collection, it will inherit from the file name that was used to create the collection
product_count:
(int) A number that indicates how many products are inside the collection
processed_products_percentage:
(float) A percentage number that indicates how many products are processed inside the collection
verified_products_percentage:
(float) A percentage number that indicates how many products are verified inside the collection
created_at:
(string) A timestamp that indicates when was the collection created
updated_at:
(string) A timestamp that indicates when was the collection last updated
Request:
Response:
POST /collections/{id}/export/{format}
This endpoints allows you to download all the generated data for all products in a specified collection. The data can be downloaded in a CSV or a JSON file.
Even if your collection isn't fully processed, this endpoint will provide data for all the products that have been processed up to the moment you make the request.
Headers
Authorization Bearer access_token
Parameters
id:
The unique ID for the uploaded collection in the Pixyle system, the data to be downloaded belongs to
format:
The format of the file in which the data should be returned
Body
None
Response
Returns a JSON or CSV file
Request:
Response:
POST /collections/{id}/products
This endpoint allows you to add products in an already created collection.
Headers
Authorization Bearer access_token
Parameters
This endpoint allows you to add products in an already created collection.
Headers:
• Authorization Bearer access_token
Parameters:
id:
The unique ID of the collection to which new products will be added
Body:
Type: multipart/form-data
Body
Type: multipart/form-data
file:
(binary) A CSV or JSON file that consists of multiple products. Please refer to this block for file requirements.
Response
Returns a JSON object with the following properties:
Response:
Returns a JSON object with the following properties:
id:
(string) The unique ID for the upgraded collection in the Pixyle system
name:
(string) The name of the collection, it will stay the same
product_count:
(int) An updated number that indicates how many products are inside the collection + the number of products that are added
image_count:
(int) An updated number that indicates how many images are inside the collection + the number of images that are added
created_at:
(string) A timestamp that indicates when was the original collection created
updated_at:
(string) A timestamp that indicates when was the collection last updated
Request:
Response:
GET /collections/{id}/products?page={}&size={}
This endpoint retrieves a paginated list of products from a specified collection.
Headers:
• Authorization Bearer access_token
Parameters:
This endpoint retrieves a paginated list of products from a specified collection.
Headers
Authorization Bearer access_token
Parameters
id:
The unique ID of the uploaded collection in the Pixyle system, that you want to retrieve products.
Pagination query parameters:
Pagination query parameters:
page:
Number of current page used to calculate the offset. Defaults to 1 if missing.
size:
Number of product to be displayed on each page. Defaults to 10 if missing. The maximum value can be 50.
sort_by:
A value according to which the product should be sorted in the response. Possible values:
- updated_at
• updated_at
order:
The order of the sorting. Possible values:
- asc (default)
- desc
• asc (default)
• desc
Body:
None
Response
Returns a JSON object with the following properties:
Body
None
Response
Returns a JSON object with the following properties:
meta:
(dict) A dict that keeps meta data regarding the response
page:
(int) The page number that was requested
size:
(int) The size number that was requested
total_pages:
(int) The number of total pages that this pagination has
total:
(int) The total number of products that are present in this collection
result:
(list) A list of objects for each product
sku:
(string) The SKU of the product
image_url_1:
(string) The image_url_1 of the product
verified:
(boolean) A flag that indicates if the product is verified
processed:
(boolean) A flag that indicates if the products is processed
verified_product_percentage:
(float) A number that indicates the percentage of verification completed for the product
Request:
Response:
GET /collections/{id}/products/{sku}
This endpoint allows you to get specific product and its result from a processed collection.
Headers
Authorization Bearer access_token
Parameters
This endpoint allows you to get specific product and its result from a processed collection.
Headers:
• Authorization Bearer access_token
Parameters:
id:
The unique ID for the uploaded collection in the Pixyle system, that the product belongs to
sku:
The SKU of the product
Body
None
Response
Returns a JSON object with the following properties:
Body
None
Response
Returns a JSON object with the following properties:
sku:
(string) The SKU of the product
errors:
(list) A list of error objects associated with the product
verified:
(boolean) A flag that indicates if the complete product is verified
result:
(list) A list with result object for each detected fashion item in the images
verified_product_percentage:
(float) A number that indicates the percentage of verification completed for the product
primary_image:
(string) An image from the products list of images which is detected as a primary image of the product
extra_images:
(list) A list of extra images for the product
primary_detection:
(boolean) A boolean flag that indicates if the detected item is the primary product
detection_id:
(int) The unique Pixyle Detection ID for this fashion item
features:
(list) A list that contains objects for each feature result
•
feature_name:
(string) The name of the feature that this result is for
•
verified:
(boolean) A flag that shows if this feature result is verified for this product
•
feature_result:
An object/list that represents the result of this feature
•
For
"bounding_box":
Contains the top-left (x_min, y_min) and bottom-right (x_max, y_max) corners of the bounding box
◦
x_min:
(float) Represents the minimum value of the x-coordinate in the bounding box
◦
y_min:
(float) Represents the minimum value of the y-coordinate in the bounding box
◦
x_max:
(float) Represents the minimum value of the x-coordinate in the bounding box
◦
y_max:
(float) Represents the minimum value of the y-coordinate in the bounding box
•
For
"automatic_tagging":
Contains an array of objects representing different types of generated tags
◦
tags_type:
(string) Indicates the type of the generated tags
◦
tags:
(list) A list of objects representing individual tags associated with the tags_type
·
value
:
(string) Represents generated tag
·
score
:
(float) Indicates the confidence score associated with the generated tag
•
For
"label_recognition":
Contains an array of objects representing different types of generated tags
◦
tags_type:
(string) Indicates the type of the generated tags
◦
tags:
(list) A list of objects representing individual tags associated with the tags_type
·
value
:
(string) Represents generated tag
·
metadata
:
Additional metadata associated with a tag
‣
meta_key
:
(string) Represents the key of the metadata
‣
meta_value
:
(string) Represents the value of the metadata
•
For
"title_generation",
and
"description_generation":
Contains an array of objects representing the generated data in different languages.
◦
value:
(string) Represents the generated title/description
◦
language:
(string) Represents the language of the generated title/description
•
For
"optimized_site_search_tags"
Contains an array of strings representing the optimized site search tags.
Request:
Response:
DELETE /collections/{id}/products/{sku}
This endpoint allows you to delete a product from a collection.
Headers:
• Authorization Bearer access_token
Parameters:
This endpoint allows you to delete a product from a collection.
Headers
Authorization Bearer access_token
Parameters
id:
The unique ID for the uploaded collection in the Pixyle system, that the product to be deleted, belongs to
sku:
The SKU of the product to be deleted
Body
None
Response
Upon successful deletion of the product, the endpoint returns a JSON object with a confirmation message:
Body:
N
Response:
Upon successful deletion of the product, the endpoint returns a JSON object with a confirmation message:
message:
(str) A message that confirms that the product was successfully deleted.
Request:
Response:
PATCH /collections/{id}/products/{sku}
This endpoint allows you to update the generated data for a processed product from a collection. The process of update of the generated data is perceived as a Human verification step, which means that either the human approves the generated data or corrects it. This means that the data is reviewed by human and it’s free for usage.
Only the generated data for the primary product can be updated and marked as verified.
Headers
Authorization Bearer access_token
Parameters
This endpoint allows you to update the generated data for a processed product from a collection. The process of update of the generated data is perceived as a Human verification step, which means that either the human approves the generated data or corrects it. This means that the data is reviewed by human and it’s free for usage.
Only the generated data for the primary product can be updated and marked as verified.
Headers:
• Authorization Bearer access_token
Parameters:
id:
The unique ID for the uploaded collection in the Pixyle system, that the product to be updated, belongs to
sku:
The SKU of the product to be updated
Body
Upon successful deletion of the product, the endpoint returns a JSON object with a confirmation message:
Body
Only the data that should be updated, should be present in the body.
feature_name:
(string) The name of the feature that the updated data is for
verified:
(boolean) A flag that shows the new verified state for this feature (it should always be true)
feature_result:
An object/list that represents the updated data of this feature. If no data should be updated and you just want to confirm the generated data, you should not include this key at all.
•
For
"bounding_box":
◦
x_min:
(float) The new value
◦
y_min:
(float) The new value
◦
x_max:
(float) The new value
◦
y_max:
(float) The new value
•
For
"automatic_tagging":
◦
tags_type:
(string) Indicates the type of the generated tag that should be updated
◦
tags:
(list) A list of objects representing individual tags that should be updated, associated with the tags_type
·
old_value:
(string) Represents the old generated tag that should be updated (null, if you want to add a tag)
·
new_value
:
(string) Represents the new value of the generated tag (null, if you want to delete a tag)
•
For
"label_recognition":
◦
tags_type:
(string) Indicates the type of the generated tag that should be updated
◦
tags_type:
(list) A list of objects representing individual tags associated with the tags_type
·
old_value
:
(string) Represents the old generated tag that should be updated (null, if you want to add a tag)
·
new_value
:
(string) Represents the new value of the generated tag (null, if you want to delete a tag)
·
value
:
(string) Represents the value of the generated tags on which you only want to update the metadata, but not the tag itself
·
new_metadata
:
The new metadata that should be associated with the tag
‣
meta_key
:
(string) Represents the key of the metadata
‣
meta_value:
(string) Represents the value of the metadata
•
For
"title_generation",
and
"description_generation":
◦
new_value:
(string) Represents the new title/description
◦
language:
(float) Represents the language of the generated title/description
•
For
"optimized_site_search_tags"
Contains the complete updated array of the optimized site search tags.
Response
Returns a JSON object with the following properties:
Response
Returns a JSON object with the following properties:
message:
(string) Confirmation message that the update was successful
updated_products:
(list) List of one object with the new state of the updated product
sku:
(string) The SKU of the product
verified:
(boolean) A flag that indicates if the complete product is verified
result:
(list) A list with result object with the new state of the primary product
•
verified_product_percentage:
(float) A number that indicates the percentage of verification completed for the product
•
primary_image:
(string) An image from the products list of images which is detected as a primary image of the product
•
features
(list) A list that contains objects for each feature result
◦
feature_name:
(string) The name of the feature that this result is for
◦
verified:
(boolean) A flag that shows if this feature result is verified for this product
Request:
Create/Update metadata on present value example:
Delete metadata on present value example:
Create metadata on new value example:
Response:
GET /analytics?start_date={}&end_date={}
This endpoint retrieves comprehensive analytics data, providing insights into various metrics such as product performance, user engagement, and overall platform usage.
Headers
Authorization Bearer access_token
Parameters
This endpoint retrieves comprehensive analytics data, providing insights into various metrics such as product performance, user engagement, and overall platform usage.
Headers:
• Authorization Bearer access_token
Parameters:
start_date:
Specifies the starting date from which the analytics data should be retrieved (Format: YYYY-MM-DD)
end_date:
Specifies the ending date from which the analytics data should be retrieved (Format: YYYY-MM-DD)
last24_h:
A flag that represents if the time-frame for the analytics data is 24 hours. If set to true, the response contains analytics for the last 24 hours (Values: true, false)
features:
A list of features for which the user wants to filter the products
Body
None
Response
Returns a JSON object with the following properties:
Body:
None
Response:
Returns a JSON object with the following properties:
time_series_features_data:
(list) A list of objects with time-series analytics for each feature
timestamp:
(date) Represents the date/hour for which the analytics are returned
feature_name:
(string) Represents the name of the feature for which the analytics are returned
processed_listings_count:
(int) Indicates how many products were processed with that feature
data_points_count:
(int) Indicates how many data points the AI generated for that feature
processing_time_seconds:
(int) Indicates how much time the AI spent on processing
time_series_overall_data:
(list) A list of objects with overall time-series analytics
timestamp:
(date) Represents the date/hour for which the analytics are returned
upload_listings_count:
(int) Indicates the number of products that were uploaded
processed_listings_count:
(int) Indicates the number of products that were processed
data_points_count:
(int) Indicates how many data points the AI generated
processing_time_seconds:
(int) Indicates how much time the AI spent on processing
overall_data:
(dict) A dict that holds the overall analytics
manual_avg_processing_time:
(bigint) Represents how much time it would take to manually assign data points to the processed products (in seconds)
ai_processing_time:
(int) Represents how much time it took the AI to assign data points to the processed products (in seconds)
processed_listings_count:
(int) Indicates how many products were processed
data_points_count:
(int) Indicates how many data points the AI generated
time_saved:
(float) Indicates how much time you will save by using Pixyle services (per collection) (in seconds)
verification_data:
(dict) A dict that holds the verification analytics
verified_products_count:
(int) Indicates the number of verified products
verified_data_points_count:
(int) Indicates the number of verified data points
verified_data_points_percentage:
(float) Represents the percentage of data points that are verified, relative to the total number of data points
correct_data_points_count:
(int) Indicates the number of verified data points that are AI generated and approved by the user
correct_data_points_percentage:
(float) Represents the percentage of data points that are verified, AI-generated and approved by the user, relative to the total number of data points
updated_data_points:
(dict) A dict that holds the updated data points analysis
•
added_data_points_count:
(int) Indicates the number of verified data points that are added by the user
•
modified_data_points_count:
(int) Indicates the number of data points that have been generated by AI but changed by the user
•
deleted_data_points_count:
(int) Indicates the number of data points that have been deleted by the user
Request:
Response:
Welcome to the user guide for the Pixyle.ai Dashboard! This guide is designed to help you navigate and utilize the features of our dashboard effectively. Whether you're a beginner or an experienced user, this guide will provide you with the necessary information to make the most out of your dashboard experience.
Introduction
The Pixyle.ai dashboard serves as a platform and central hub for uploading and/or accessing data related to your organization and the features you have decided to use. It provides a step by step guide for all supported features. If it is something interesting to you but you still haven’t had that feature available, please get in contact with us.
Logging In:
Please contact us in order to access the dashboard. You will then receive an email from Pixyle with information of your new account and option to set up a password in within next 24 hours. Once you set your account, for the future sign in use those credentials. If you haven’t receive the email please check all folders including spam.
If you try to use the link after 24 hours you will be informed that the link has expired and you will receive new email from Pixyle.ai with new link.
In case you forgot your password, use forget password option. You will receive email with code that you need to insert it and after that you will receive link to reset the password.
Navigating the Dashboard:
Once logged in, you'll see a navigation menu that allow you to access different sections of the dashboard on one side and your analytics or home page on the other side.
The available options are:
• Add new collection
• Analytics
• Collections
Widgets:
In the analytics page allows you to have visual representation of data through various charts and graphs to help you gain insights quickly regarding your current work status as well as value that Pixyle.ai brings to your business.
Toggle to display or hide the graphical representation depicting the quantity of products processed within the specified timeframe.
Utilize time filters to tailor the data showcased on the dashboard, either by selecting from predefined timeframes or opting for a custom timeframe of your choice
To upload a collection along with images for processing, you have two options: either use the "+" button located in the top of the menu bar, or “+ New Collection” button in the 'Collections' option, which is the third choice in the menu bar.
You can upload files in either CSV or JSON format containing lists of images, each file having a maximum size of 32 MB. Below the upload option, you'll find example files in both JSON and CSV formats, which serve as helpful references to expedite your utilization of Pixyle.ai's features. In case you experience an error you can check the respective error reference here.
After uploading your collection, you will be redirected to the 'All Collections' page, where you can access the following:
• A comprehensive list of all collections, whether uploaded recently or previously.
• Each collection's name can be updated by clicking the 'Edit' option located in the right corner of the collection title.
• A display of several images from each collection, aiding in easy recognition, along with the total number of images in the collection.
• The processing status of each collection.
• The progress of its validation, if you are utilizing this feature.
• The timestamp indicating when the collection was last updated.
• An option to add additional images to the collection.Lastly, additional options specific to each collection.
As additional option, in the menu represented by three dots in the right corner, you can access several options:
• Check for any errors or warnings that may have occurred during processing.
• Once processing is completed, export the results in the required file format.
• Additionally, you have the option to delete the collection if it's no longer needed.
With click on collection name you will be redirected to the inside of the collection. If you are using validation option you will see for each images the status of content validation. In the top row you will find statistics of that collection containing valuable information.
From this screen, you can perform the following actions:
1. Utilize filters to locate specific images within the collection.
2. Sort the collection by various criteria.
3. Review the generated values for a single image.
4. Initiate bulk verification for a desired sample of images.
1. To view specific images or results from a particular feature used in the collection, navigate to the filter tab and select your desired criteria. You can filter by date, categories, verification status, and the features utilized.
2. In addition, you have the option to sort the images within the collection according to various criteria.
3. The Product Page provides an overview of all supported features, including those you've enabled. At the top of the page, you'll find shortcuts to all available features, indicating which ones are enabled and which ones you haven't selected yet.
In the main tags section, you'll find tags generated by our Automatic Tagging AI solution. If you're using the verification option, you can assess the accuracy of these tags and make updates as necessary. Clicking the 'Verify' button saves any changes made.
In the optimized site search tags section, you'll find more tags generated by the AI solution which are optimized for site search and are following your customer search language. They are derived from the tags listed in the 'Main Tags' section. Here, you have the flexibility to delete or add tags as needed. Moreover, any modifications made to tags in the 'Main Tags' section allow you to regenerate the entire 'Optimized Site Search Tags' section, ensuring their alignment.
Towards the top of the page, you'll find the title and description generated by AI using the tags generated for the product. If translation is available, you can select a different language, and below the initially generated title and description, you'll see the translated version.
To make changes, simply click on the text to enter edit mode. Click 'Verify Changes' to save any modifications. If you're unsatisfied with the generated title or description, you can regenerate them.
Another available option is label tags, which are generated by our label recognition AI solution.
If all generated values are correct, you can use the option to verify all changes made on the page.
For easy navigation between products, you'll find a navigation bar above the main image, allowing you to select the next desired image.
4. To streamline the verification process of generated data, we offer the bulk verification option.
Once you've selected the filter criteria for the data you wish to verify, you'll be presented with multiple images and their associated values on a single screen.
From here, you have the choice to either verify all directly or edit individual values before verification
Congratulations! You are now equipped with the knowledge to navigate and utilize the dashboard effectively. We hope this user guide enhances your experience and helps you derive valuable insights and value. If you have any further questions or need assistance, don't hesitate to reach out to us. Happy dashboarding!
We Value Your Feedback: Your feedback is essential for us to continually improve the dashboard. Please contact us and share any suggestions or feature requests with us so that we can enhance your dashboard experience.
The model fills in only the relevant attributes that are present in Pixyle’s standard taxonomy based on the taxonomy hierarchy. This means if the model detects a skirt, it will fill in only the skirt's relevant attributes (eg. it will not fill in sleeve length or neckline type).
Yes, we can set our platform to detect every fashion item present in an image and assign specific attributes for each of those items. Another option is to set up the platform to detect only one (the biggest item) in the image.
Yes, you can send us your feedback on the results in three ways:
1.) Validate images through our dashboard manually, one by one. This feedback will be sent to our system automatically;
2.) Validate images on your side (eg. if you already using a tool to create, update and insert the products in the system), and then send us the feedback through API on our verification endpoint;
3.) Do a manual analysis with any file type (CSV/JSON/XLS), and send us the file. We will then consolidate it and use the feedback to improve the model.
We have a limit of 30MB for the size of the CSV for the request payload. You will receive the “We are unable to process this file” message due to the bigger size of the CSV file. We do not have a limit on the number of rows, but we recommend not more than 100k for better organization and maintenance.
The product SKU is a unique object for each product in the dataset. In case of duplicate SKUs within the collection, the system will only process the first occurrence, disregarding subsequent duplicates.
Collection upload - By default, you can upload a maximum of 1 collection per second.
Product upload - By default, you can upload a maximum of 2 products per second.
Please contact us if you need higher throughput.
Mapping represents an exercise where we associate each element of your taxonomy with one or more elements of our taxonomy.
This means that you will get the categories and attributes in your naming and in your structure.The taxonomy mapping is done at the beginning of the collaboration.
Yes, we take the security of your data very seriously. Here's how we ensure its safety:
Encryption: We use HTTPS (Hypertext Transfer Protocol Secure) for all communication between your application and our servers. This ensures that data transmitted over the network is encrypted and protected from unauthorized access.
Hosting on Google Cloud: Our servers are hosted on Google Cloud, which provides robust security measures and infrastructure to safeguard your data. Google Cloud adheres to industry-leading security standards and compliance certifications to protect your data against unauthorized access, breaches, and data loss.
In addition to these measures, we regularly review and update our security practices to stay ahead of emerging threats and ensure the ongoing safety and integrity of your data.
The Time Saved metric is calculated by comparing the time required for manual data input with the time spent by Pixyle AI services to generate the data. For instance, according to industry standards, generating a product title manually may take around 150 seconds, whereas Pixyle AI can produce the same title in just 4 seconds. This indicates a time savings of 146 seconds or more than 2 minutes per product.
• The Pixyle v1.0.0 currently supports these features:
◦ Bounding Box
◦ Automatic Tagging
◦ Label Recognition
◦ Title Generation
◦ Description Generation
◦ Optimized Site Search Tags
• The verification process on primary products in collection is available for these features:
◦ Automatic Tagging
◦ Label Recognition
◦ Title Generation
◦ Description Generation
◦ Optimized Site Search Tags
• Option to receive title and description in multiple languages
• Option to add new tags for the label recognition feature
• Comprehensive analytics
Features
• All mentioned features are supported by the API.
• The verification process on primary products in collection is available also for:
◦ Bounding Box
• The collection processing mode is available
• The real-time processing mode is available
• Option to create/upgrade/rename/delete a collection
• Option to export the results for a collection
• Option to view the errors for products in a collection
• Option to verify primary product per feature
• Option to delete primary product (and it’s non-primary products) from a collection
• Analytics filtering options
◦ date
Improvements
None
Bug fixes
None
Features
• All mentioned features are supported on the dashboard.
• Only the collection processing mode is available
• Option to create/upgrade/rename/delete a collection
• Option to export the results for a collection
• Option to view the errors for products in a collection
• Option to verify primary product per feature
• Option to delete primary product (and it’s non-primary products) from a collection
• Products filtering options:
◦ date
◦ verification status
◦ category
◦ feature
• Products sorting options:
◦ updated_at date
◦ created_at date
• Products ordering options:
◦ ascending
◦ descending
• Analytics filtering options
◦ date
• Option to review changes in the verification process
• Option to re-generate title and description
• Option to re-generate Optimized Site Search Tags
• Option to search by product SKU
Improvements
None
Bug fixes
None