# compretend **Repository Path**: mirrors_mikeal/compretend ## Basic Information - **Project Name**: compretend - **Description**: Web application building blocks power by ML. - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-09 - **Last Updated**: 2026-07-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Compretend Web application building blocks power by ML. This repo contains: * An API service. * WebComponents that rely on the API service. ## Usage Include compretend on your web page. ```html ``` Now you can add compretend elements to your page. ```html ``` The above example will place an image on the page centered around the faces detected in the image. ## Detection Currently available detection APIs are: * **faces**: Front and profile faces detection. * **people**: Detection of people by full body, upper torso, and lower torso. ## Components Compretend components have many properties. These properties can be set as element attributes or with JavaScript. ```javascript let elem = document.querySelector('compretend-image') elem.crop = "faces" elem.width = 320 ``` ### Displays an image. Image data can be set by either specifying the "src" attribute or setting the "data" property to an ArrayBuffer or Blob. * **src**: URL to remote image. Can be on any publicly available server. * **data**: ArrayBuffer or Blob representing image data. * **crop**: String for detection method. * Detected attributes in the image will be centered within the constraints set of width/height. If width/height are not set the image is cropped around the detected elements. * **width**: Image element width. * **height**: Image element height. * **scaled**: Scale image down to the specific dimensions (height and width). Defaults to false. * **margin**: Ads margin to a cropped and scaled image. ## REST API All APIs require a `body`. This can be an HTTP PUT/POST body **or** it can be a querystring identifier (hash or remote URL). ### /images/detect/faces Accepts only the `body` argument. Return JSON of all facial detections. ### /images/detect/people Accepts only the `body` argument. Return JSON of all people detections. ### /images/generate Returns generated image data as PNG. Accepts the following querystring parameters: * **body**: Hash or remote URL. Optionally defined as a PUT/POST body. * **crop**: Detection method to use for crop boundary detection. `faces` and `people` currently implemented. * **width**: Image element width. * **height**: Image element height. * **scaled**: Scale image down to the specific dimensions (height and width). Defaults to false. * **margin**: Ads margin to a cropped and scaled image. ### /images/bounds Returns JSON data describing the crop boundaries for the given query. Accepts the following querystring parameters: * **body**: Hash or remote URL. Optionally defined as a PUT/POST body. * **crop**: Detection method to use for crop boundary detection. `faces` and `people` currently implemented. * **width**: Image element width. * **height**: Image element height. * **scaled**: Scale image down to the specific dimensions (height and width). Defaults to false. * **margin**: Ads margin to a cropped and scaled image.