{"templateId":"api_docs","sharedDataIds":{"apiDocsStore":"api-docs-@l10n/zh-CN/reference/makeup_vto.yaml","sidebar":"sidebar-@l10n/zh-CN/reference/sidebars.yaml"},"props":{"definitionId":"@l10n/zh-CN/reference/makeup_vto.yaml","settings":{"baseUrlPath":"/zh-cn/reference/makeup_vto"},"disableAutoScroll":true,"seo":{"title":"AI 美妆虚拟试妆","description":"YouCam API documentation by Perfect Corp. Learn how to use Skin analysis API, Virtual try-on API, Image editing API, and Video generative AI APIs.","siteUrl":"https://docs.perfectcorp.com","keywords":"AI Skin Analysis, AI Clothes, AI Hairstyle, AI Outfits","image":"/assets/favicon.cd6fa4d833b2a573b3c6dae68386b293da205b203402cb0c97b80bd2acc07ea2.8351e24f.png"},"dynamicMarkdocComponents":[],"metadata":{"type":"openapi","title":"AI 美妆虚拟试妆","version":"","description":"# 概览\nAI 妆效接口提供一套强大、逼真到位的虚拟化妆体验，背后是我们取得专利的脸部分析技术。这项服务能让您的应用把真实感十足的妆效套到用户提供的自拍照上，自定义程度前所未有。\n\n**主要特性：**\n*   **逼真到位的渲染：** 采用突破性的 3D 脸部 AI 技术，做出最真实的妆容变化。\n*   **专利技术：** 由不抖动、不卡顿的深度学习算法驱动，各种年龄、各种肤色都调优到位。\n*   **即时精准：** 超精准的脸部追踪，各种光线条件下都跟得上。\n*   **还原真实：** 准确还原现实商品的色彩、质地（从哑光到金属感）与妆效呈现。\n\n* 核心概念\n\n   * 色彩混合\n我们的 AI 用深度学习准确匹配现实彩妆商品的颜色。消费者看到的虚拟颜色就是他们打算购买的商品的真实颜色，这一点可以放心。\n\n   * 质地与妆效还原\n这项技术能模拟真实的质地与妆效，带来准确度极高的上妆体验。从哑光到金属感、从珠光到缎光，AI 依靠先进算法即时把这些效果流畅渲染出来。\n\n   * 光线平衡\n智能 3D AI 引擎会检测用户照片或视频画面中的光线条件，并对图像做校正，让上妆效果贴近真实；不论什么环境，结果都稳定、高质量。\n\n---\n\n## 接入指南\n\nAI 美妆虚拟试妆服务以异步任务的方式运行。您要先提供图片 URL 与要套用的特效清单，发起妆效处理任务；服务器会响应一个 `task_id`。之后定期轮询状态接口，取回最终结果或错误信息。\n\n*   **接口地址：** `/v2.0/task/makeup-vto`\n*   **鉴权：** 所有请求都需要 `Authorization: Bearer <TOKEN>`\n*   **流程：**\n    1.  **准备自拍照：** 上传一张脸部图片，或使用已有的文件 URL。\n    1.  **发起任务（`POST`）：** 提交您的图片 id/URL 与妆效配置。\n    1.  **取得 Task ID：** 从响应中取回 `task_id`。\n    1.  **轮询状态（`GET`）：** 用 `task_id` 查看任务状态，持续轮询直到 `task_status` 为 `\"success\"` 或 `\"error\"`。\n\n\n* API Playground\n\n用官方演练场交互式地体验和测试接口：\n\n**API Playground：**\n[http://yce.makeupar.com/api-console/en/api-playground/ai-makeup-virtual-try-on/](http://yce.makeupar.com/api-console/en/api-playground/ai-makeup-virtual-try-on/)\n\n---\n\n* 鉴权\n- 请在请求头中以 **Bearer Token** 方式带上您的 API 密钥：\n    ```\n    Authorization: Bearer <API Key>\n    ```\nAPI Key 可在 https://yce.makeupar.com/api-console/en/api-keys/ 获取。\n\n* 1. 上传自拍照\n  源图有两种提供方式：\n\n  - **使用已有的公开图片 URL**\n    不必上传，发起 AI 任务时直接提供一个可公开访问的图片 URL 也可以。\n\n  - **通过 File 接口上传**\n    接口地址：\n    ```\n    POST /s2s/v2.0/file\n    ```\n    这会返回一个 `file_id`，供后续执行任务时使用。\n\n    - ***重要***：只调用 File 接口并不等于上传了文件。您必须**手动把文件上传到 File 接口响应中给出的那个 URL**，那个 URL 就是您的上传目标，务必确认文件已成功传过去，再继续往下做。<br></br>\n    调用 AI 接口之前，请确认文件已上传成功。先用 File 接口取到一个上传 URL，把文件上传到该位置。上传完成后，您会在响应中收到一个 ***file_id***，调用与该文件相关的 AI 功能时就用它。\n\n      > **警告：** 请注意，若未把文件上传到 File 接口响应中给出的 URL，调用 AI 接口时会得到 500 Server Error / unknown_internal_error 或 404 Not Found 错误。\n\n\n* 2. 发起妆效任务\n\n`POST /s2s/v2.0/task/makeup-vto`\n\n在指定图片上发起一次新的虚拟上妆任务。该接口为异步接口，响应会返回一个 `task_id`。\n\n   * 请求头\n\n| 请求头 | 取值 |\n|--------|-------|\n| Content-Type | `application/json` |\n| Authorization | `Bearer YOUR_API_KEY` |\n\n   * 请求体示例\n```json\n{\n  \"src_file_url\": \"https://plugins-media.makeupar.com/strapi/assets/sample_Image_1_202b6bf6e6.jpg\",\n  \"effects\": [\n    {\n      \"category\": \"blush\",\n      \"pattern\": { \"name\": \"2colors6\" },\n      \"palettes\": [\n        { \"color\": \"#FF0000\", \"texture\": \"matte\", \"colorIntensity\": 50 },\n        { \"color\": \"#F2A53E\", \"texture\": \"matte\", \"colorIntensity\": 50 }\n      ]\n    },\n    {\n      \"category\": \"eye_liner\",\n      \"pattern\": { \"name\": \"3colors5\" },\n      \"palettes\": [\n        { \"color\": \"#000000\", \"texture\": \"matte\", \"colorIntensity\": 50 },\n        { \"color\": \"#BA0656\", \"texture\": \"matte\", \"colorIntensity\": 50 },\n        { \"color\": \"#089085\", \"texture\": \"matte\", \"colorIntensity\": 50 }\n      ]\n    }\n  ],\n  \"version\": \"1.0\"\n}\n```\n\n   * 请求体 Schema\n\n| 字段 | 类型 | 说明 |\n|-------|------|---------|\n| `src_file_url` | 字符串（URL） | 待处理自拍图片的可公开访问 URL。 |\n| `effects` | Effect 数组 | 要套用的妆效对象数组。详见 [妆效 Schema](#makeup-effect-schemas)。 |\n| `version` | 字符串 | 特效参数的接口版本，使用 `\"1.0\"`。 |\n\n   * 成功响应（`200 OK`）\n返回一个包含任务标识的 JSON 对象。\n\n**响应体 Schema：**\n```json\n{\n  \"status\": 200,\n  \"data\": {\n    \"task_id\": \"<string>\"\n  }\n}\n```\n\n**响应示例：**\n```json\n{\n  \"status\": 200,\n  \"data\": {\n    \"task_id\": \"grH0CvsgXuAIHLUzD0V1Ol34hoet3R1tvdbtiVHrDb6_UqCLKIejAIajwxrhOAfe\"\n  }\n}\n```\n\n   * 错误响应（`400 Bad Request`、`401 InvalidApiKey` 等）\n返回标准错误对象，并以 message 说明失败原因。\n\n**错误响应示例：**\n```json\n{\n  \"status\": 400,\n  \"error\": \"The operation could not be completed\",\n  \"error_code\": \"CreditInsufficiency\"\n}\n```\n\n---\n\n* 3. 取得任务状态与结果\n\n`GET /s2s/v2.0/task/makeup-vto/<task_id>`\n\n取得进行中或已完成任务的当前状态与结果。\n\n   * 请求头\n\n| 请求头 | 取值 |\n|--------|-------|\n| Authorization | `Bearer YOUR_API_KEY` |\n\n   * 路径参数\n\n| 参数 | 类型 | 说明 |\n|-----------|------|---------|\n| task_id | 字符串 | 发起任务接口返回的标识。 |\n\n   * 成功响应（`200 OK`）\n返回一个 JSON 对象，包含任务状态；若已完成，还包含结果。\n\n**响应体 Schema：**\n```json\n{\n  \"data\": {\n    \"task_status\": \"<string>\", // 'success', 'error', or a processing state (e.g., 'queued', 'processing')\n    \"results\": [ // present only when task_status is 'success'\n      {\n        \"download_url\": \"<string>\" // URL to download the processed image\n      }\n    ],\n    \"failure_reason\": \"<string>\" // present only when task_status is 'error'\n  }\n}\n```\n\n**成功响应示例：**\n```json\n{\n  \"status\": 200,\n  \"data\": {\n    \"task_status\": \"success\",\n    \"results\": {\n      \"url\": \"https://s3.storage.prod/processed/image_123.jpg?token=...\"\n    }\n  }\n}\n```\n\n**引擎错误响应示例：**\n接口查询已成功送达，但在执行 AI 任务的过程中发生错误。\n```json\n{\n  \"status\": 200,\n  \"data\": {\n    \"task_status\": \"error\",\n    \"error\": \"exceed_max_filesize\",\n    \"error_message\": \"string\",\n  }\n}\n```\n  > 请注意，无论查询错误还是引擎错误，只要发生错误就不消耗点数。\n\n**进行中响应示例：**\n```json\n{\n  \"status\": 200,\n  \"data\": {\n    \"task_status\": \"running\"\n  }\n}\n```\n\n   * 错误响应\n*   `404 InvalidTaskId`：`task_id` 不存在或无效。\n*   `401 InvalidApiKey`：API 密钥无效或缺失。\n*   `500 TaskTimeout`：任务已成功完成或已失败，且超过保留期。\n\n**查询错误响应示例：**\n```json\n{\n  \"status\": 401,\n  \"error_code\": \"InvalidApiKey\"\n}\n```\n  > 请注意，无论查询错误还是引擎错误，只要发生错误就不消耗点数。\n\n---\n\n## 输入与输出\n* 妆效 Schema\n\n本节定义 AI 妆效任务请求体的完整结构与限制。每个特效都是顶层 `effects` 数组中的一个对象。\n\n* 特效容器（顶层）\n\n```json\n{\n  \"version\": \"1.0\",\n  \"effects\": []                    // array<Effect> — Contains makeup effect objects\n}\n```\n\n* 妆效类别\n\n   * `skin_smooth`\n```json\n{\n  \"category\": \"skin_smooth\",           // string, const \"skin_smooth\"\n  \"skinSmoothStrength\": 50,            // integer, range: 0..100\n  \"skinSmoothColorIntensity\": 50       // integer, range: 0..100\n}\n```\n  > **注意！** 请求中若未包含 ``skin_smooth`` 特效，AI 妆效引擎会自动套用默认的美肤强度 50。\n  希望只上妆、不做磨皮时，把所有 ``skinSmoothStrength`` 与 ``skinSmoothColorIntensity`` 参数设为 0。不过为了最佳效果与最高质量的混合，建议保留默认的美肤设置。\n\n   * `blush`\n```json\n{\n  \"category\": \"blush\",                 // string, const \"blush\"\n  \"pattern\": {                         // object\n    \"name\": \"\"                         // string — MUST equal a `label` from blush.json\n  },\n  \"palettes\": [                        // array<BlushPalette>, minItems: (see colorNum in pattern)\n    {\n      \"color\": \"#ff0000\",              // string, hex color \"#RRGGBB\"\n      \"texture\": \"matte\",              // string, enum [\"matte\",\"satin\",\"shimmer\"]\n      \"glowStrength\": 50,              // integer, range: 0..100 — REQUIRED if texture=\"satin\"\n      \"shimmerColor\": \"#fc288f\",       // string, hex color \"#RRGGBB\" — REQUIRED if texture=\"shimmer\"\n      \"shimmerDensity\": 50,            // integer, range: 0..100 — REQUIRED if texture=\"shimmer\"\n      \"colorIntensity\": 50             // integer, range: 0..100\n    }\n  ]\n}\n```\n\n**完整图案清单：**\nhttps://plugins-media.makeupar.com/wcm-saas/patterns/blush.json\n\n**彩妆图案类别一览：**\n```json\n[\n  {\n    \"category\": \"1 color\",\n    \"label\": \"1color1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/483/a53cd4f4-43b6-4e19-b85a-ec7a95c6a47f.jpg\",\n    \"tags\": [\n      { \"id\": 100, \"name\": \"Blush 3D\" },\n      { \"id\": 103, \"name\": \"Oblong\" }\n    ],\n    \"colorNum\": 1\n  },\n  {\n    \"category\": \"2 colors\",\n    \"label\": \"2colors1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/147/a8d86a4b-8aa0-48d7-a716-63ec78dfb30b.jpg\",\n    \"tags\": [\n      { \"id\": 100, \"name\": \"Blush 3D\" }\n    ],\n    \"colorNum\": 2\n  },\n  {\n    \"category\": \"3 colors\",\n    \"label\": \"3colors1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/734/af8b625b-ae3a-4211-9413-f22c16a5f174.jpg\",\n    \"tags\": [\n      { \"id\": 100, \"name\": \"Blush 3D\" },\n      { \"id\": 104, \"name\": \"Round\" }\n    ],\n    \"colorNum\": 3\n  }\n]\n```\n\n\n   * `bronzer`\n```json\n{\n  \"category\": \"bronzer\",               // string, const \"bronzer\"\n  \"pattern\": { \"name\": \"\" },           // object — name MUST equal a `label` from bronzer.json\n  \"palettes\": [\n    { \"color\": \"#ff0000\", \"colorIntensity\": 50 }  // hex color, int range: 0..100\n  ]\n}\n```\n\n**完整图案清单：**\nhttps://plugins-media.makeupar.com/wcm-saas/patterns/bronzer.json\n\n**彩妆图案类别一览：**\n```json\n[\n  {\n    \"category\": \"Bronzer\",\n    \"label\": \"Bronzer1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/SkuCustomImage/guest/973/22ff2c07-d584-4ae6-8281-c095cd121a52.jpg\",\n    \"tags\": [],\n    \"colorNum\": 1\n  }\n]\n```\n\n   * `concealer`\n```json\n{\n  \"category\": \"concealer\",             // string, const \"concealer\"\n  \"palettes\": [\n    {\n      \"color\": \"#ff0000\",              // string, hex color \"#RRGGBB\"\n      \"colorIntensity\": 50,            // integer, range: 0..100\n      \"colorUnderEyeIntensity\": 50,    // integer, range: 0..100\n      \"coverageLevel\": 50              // integer, range: 0..100\n    }\n  ]\n}\n```\n\n   * `contour`\n```json\n{\n  \"category\": \"contour\",               // string, const \"contour\"\n  \"pattern\": { \"name\": \"\" },           // object — name MUST equal a `label` from contour.json\n  \"palettes\": [\n    { \"color\": \"#ff0000\", \"colorIntensity\": 50 }  // hex color, int range: 0..100\n  ]\n}\n```\n\n**完整图案清单：**\nhttps://plugins-media.makeupar.com/wcm-saas/patterns/contour.json\n\n**彩妆图案类别一览：**\n```json\n[\n  {\n    \"category\": \"Heart face\",\n    \"label\": \"HeartFace2\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/731/49a1b3b9-b393-4bf4-b486-1493fe468436.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Invtriangle\",\n    \"label\": \"Invtriangle1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/858/a94c8cca-5f8c-4b8b-a02d-94edb6a4ad7f.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Oval face\",\n    \"label\": \"OvalFace6\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/SkuCustomImage/guest/906/644368a3-7eee-4ad9-829e-e2b3d4320fec.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Round face\",\n    \"label\": \"RoundFace4\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/106/3e455b5f-7e2d-46f7-8627-dc137051c144.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Triangle face\",\n    \"label\": \"TriangleFace2\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/528/18765180-c254-4411-a25c-c1d78f5c3d77.jpg\",\n    \"tags\": []\n  }\n]\n```\n\n   * `eyebrows`\n```json\n{\n  \"category\": \"eyebrows\",              // string, const \"eyebrows\"\n  \"pattern\": {\n    \"type\": \"shape\",                   // string, enum [\"shape\",\"color\"], default: \"shape\"\n    \"name\": \"\",                        // string, required when type=\"shape\" — label from eyebrows.json\n    \"curvature\": 0,                    // integer, range: -100..100 (shape only)\n    \"thickness\": 0,                    // integer, range: -100..100 (shape only)\n    \"definition\": 0                    // integer, range: 0..100 (shape only)\n  },\n  \"palettes\": [\n    {\n      \"color\": \"#ff0000\",              // string, hex color \"#RRGGBB\"\n      \"colorIntensity\": 50,            // integer, range: 0..100\n      \"texture\": \"matte\",              // string, enum [\"matte\",\"shimmer\"]\n      \"shimmerColor\": \"#fc288f\",       // string, hex color \"#RRGGBB\" — REQUIRED if texture=\"shimmer\"\n      \"shimmerIntensity\": 50,          // integer, range: 0..100 — REQUIRED if texture=\"shimmer\"\n      \"shimmerSize\": 50,               // integer, range: 0..100 — REQUIRED if texture=\"shimmer\"\n      \"shimmerDensity\": 50             // integer, range: 0..100 — REQUIRED if texture=\"shimmer\"\n    }\n  ]\n}\n```\n\n**完整图案清单：**\nhttps://plugins-media.makeupar.com/wcm-saas/patterns/eyebrows.json\n\n**彩妆图案类别一览：**\n```json\n[\n  {\n    \"category\": \"Arrow\",\n    \"label\": \"Arrow1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/SkuCustomImage/guest/490/1fb96bf9-979e-4327-a8c4-8c503f541f1a.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Curved\",\n    \"label\": \"Curved1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/SkuCustomImage/guest/389/1ccb300e-c7ed-4995-920e-7d1bf8da1fad.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Drama\",\n    \"label\": \"Drama2\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/SkuCustomImage/guest/196/5fb14bec-553d-4841-bba7-ca7e5e27c12e.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"High Arch\",\n    \"label\": \"HighArch1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/SkuCustomImage/guest/609/7a8676dc-6f6a-4b12-aab0-c50328e448c5.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Original\",\n    \"label\": \"Original2\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/300/123551e9-ca94-4732-89ed-5b3866678555.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Soft Arch\",\n    \"label\": \"SoftArch1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/121/2552ebf0-2705-43f7-b295-4fac21e18009.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Straight\",\n    \"label\": \"Straight1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/1/7734e777-8e51-41f1-abaf-205f0ed5e3b4.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Thin\",\n    \"label\": \"Thin1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/734/6ee10843-a251-4aa0-9183-db7f981d714d.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Upward\",\n    \"label\": \"Upward4\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/751/76578317-f475-49c7-bd96-910ccad617ef.jpg\",\n    \"tags\": []\n  }\n]\n```\n\n   * `eye_liner`\n```json\n{\n  \"category\": \"eye_liner\",             // string, const \"eye_liner\"\n  \"pattern\": { \"name\": \"\" },           // object — name MUST equal a label from eyeliner.json\n  \"palettes\": [\n    {\n      \"color\": \"#ff0000\",              // string, hex color \"#RRGGBB\"\n      \"texture\": \"matte\",              // string, enum [\"matte\",\"shimmer\",\"metallic\"]\n      \"shimmerColor\": \"#fc288f\",       // string, hex color \"#RRGGBB\" — REQUIRED if texture in [\"shimmer\",\"metallic\"]\n      \"shimmerIntensity\": 50,          // integer, range: 0..100 — REQUIRED if texture in [\"shimmer\",\"metallic\"]\n      \"metallicIntensity\": 50,         // integer, range: 0..100 — REQUIRED if texture=\"metallic\"\n      \"colorIntensity\": 50             // integer, range: 0..100\n    }\n  ]\n}\n```\n\n**完整图案清单：**\nhttps://plugins-media.makeupar.com/wcm-saas/patterns/eyeliner.json\n\n**彩妆图案类别一览：**\n```json\n[\n  {\n    \"category\": \"2 colors\",\n    \"label\": \"2colors1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/419/71d9429a-dc08-4e80-9c46-6e55631ef766.jpg\",\n    \"tags\": [\n      {\n        \"id\": 28,\n        \"name\": \"Drama\"\n      }\n    ],\n    \"colorNum\": 2\n  },\n  {\n    \"category\": \"3 colors\",\n    \"label\": \"3colors2\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/208/056aa6cd-8678-470c-b111-b7653d7ddf93.jpg\",\n    \"tags\": [\n      {\n        \"id\": 28,\n        \"name\": \"Drama\"\n      }\n    ],\n    \"colorNum\": 3\n  },\n  {\n    \"category\": \"1 color\",\n    \"label\": \"Arabic3\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/SkuCustomImage/guest/726/1919aad4-21a2-493a-a5f8-48bc99a61ba5.jpg\",\n    \"tags\": [\n      {\n        \"id\": 26,\n        \"name\": \"Arabic\"\n      }\n    ],\n    \"colorNum\": 1\n  }\n]\n```\n\n   * `eye_shadow`\n```json\n{\n  \"category\": \"eye_shadow\",            // string, const \"eye_shadow\"\n  \"pattern\": { \"name\": \"\" },           // object — name MUST equal a label from eyeshadow.json\n  \"palettes\": [\n    {\n      \"color\": \"#ff0000\",              // string, hex color \"#RRGGBB\"\n      \"texture\": \"matte\",              // string, enum [\"matte\",\"shimmer\",\"metallic\"]\n      \"shimmerColor\": \"#fc288f\",       // string, hex color \"#RRGGBB\" — REQUIRED if texture in [\"shimmer\",\"metallic\"]\n      \"shimmerIntensity\": 50,          // integer, range: 0..100 — REQUIRED if texture in [\"shimmer\",\"metallic\"]\n      \"metallicIntensity\": 50,         // integer, range: 0..100 — REQUIRED if texture=\"metallic\"\n      \"colorIntensity\": 50             // integer, range: 0..100\n    }\n  ]                                    // minItems: (see colorNum in pattern)\n}\n```\n\n**完整图案清单：**\nhttps://plugins-media.makeupar.com/wcm-saas/patterns/eyeshadow.json\n\n**彩妆图案类别一览：**\n```json\n[\n  {\n    \"category\": \"1 color\",\n    \"label\": \"1color1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/188/0322c4f9-e54d-4a6b-8072-6bb76560121a.jpg\",\n    \"tags\": [\n      {\n        \"id\": 12,\n        \"name\": \"Artistic\"\n      },\n      {\n        \"id\": 14,\n        \"name\": \"Dream\"\n      },\n      {\n        \"id\": 15,\n        \"name\": \"Trend\"\n      }\n    ],\n    \"colorNum\": 1\n  },\n  {\n    \"category\": \"2 colors\",\n    \"label\": \"2colors1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/938/3348211c-1b83-4ab2-9c6a-ce06e4aa3528.jpg\",\n    \"tags\": [\n      {\n        \"id\": 1,\n        \"name\": \"Fan shape\"\n      },\n      {\n        \"id\": 8,\n        \"name\": \"Only upper lid\"\n      }\n    ],\n    \"colorNum\": 2\n  },\n  {\n    \"category\": \"3 colors\",\n    \"label\": \"3colors1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/542/55e1b0fd-b888-47ff-bd3a-3dc1af2a7b69.jpg\",\n    \"tags\": [\n      {\n        \"id\": 1,\n        \"name\": \"Fan shape\"\n      },\n      {\n        \"id\": 8,\n        \"name\": \"Only upper lid\"\n      }\n    ],\n    \"colorNum\": 3\n  },\n  {\n    \"category\": \"4 colors\",\n    \"label\": \"4colors1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/429/29cd5839-464b-4a7a-a5c1-c7b40e9464d7.jpg\",\n    \"tags\": [\n      {\n        \"id\": 4,\n        \"name\": \"Closed banana\"\n      },\n      {\n        \"id\": 10,\n        \"name\": \"Whole eye\"\n      }\n    ],\n    \"colorNum\": 4\n  },\n  {\n    \"category\": \"5 colors\",\n    \"label\": \"5colors1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/2/824dcf7c-1273-4a30-8f1f-2137926057d6.jpg\",\n    \"tags\": [\n      {\n        \"id\": 4,\n        \"name\": \"Closed banana\"\n      },\n      {\n        \"id\": 10,\n        \"name\": \"Whole eye\"\n      }\n    ],\n    \"colorNum\": 5\n  }\n]\n```\n\n   * `eyelashes`\n```json\n{\n  \"category\": \"eyelashes\",             // string, const \"eyelashes\"\n  \"pattern\": { \"name\": \"\" },           // object — name MUST equal a label from eyelashes.json\n  \"palettes\": [\n    { \"color\": \"#ff0000\", \"colorIntensity\": 50 }  // hex color, int range: 0..100\n  ]\n}\n```\n\n**完整图案清单：**\nhttps://plugins-media.makeupar.com/wcm-saas/patterns/eyelashes.json\n\n**彩妆图案类别一览：**\n```json\n[\n  {\n    \"category\": \"Artistic\",\n    \"label\": \"Artistic1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/146/7a8ed606-1c27-4d91-9320-c40a904f621f.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Natural\",\n    \"label\": \"Natural1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/SkuCustomImage/guest/287/cd5cae75-a1b3-48f8-8537-e6e259213901.png\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Upper&Lower\",\n    \"label\": \"Upper&Lower1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/18/2689ea2d-725e-4fa0-8563-df874ae1a83f.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Upper\",\n    \"label\": \"Upper1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/982/c99bf74e-545f-4da7-a314-f3bd84b82156.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"UpperDense\",\n    \"label\": \"UpperDense1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/SkuCustomImage/guest/888/452ec863-f0a8-40e7-aa33-31c0c39f57e2.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Winged\",\n    \"label\": \"Winged1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/SkuCustomImage/guest/825/36ab3859-eae5-49e4-9d97-161698bbb8bb.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Wispies\",\n    \"label\": \"Wispies1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/SkuCustomImage/guest/722/a2a727f6-748c-41e7-8ac0-c9c57c18c05a.png\",\n    \"tags\": []\n  }\n]\n```\n\n   * `foundation`\n```json\n{\n  \"category\": \"foundation\",            // string, const \"foundation\"\n  \"palettes\": [\n    {\n      \"color\": \"#ff0000\",              // string, hex color \"#RRGGBB\"\n      \"colorIntensity\": 50,            // integer, range: 0..100\n      \"glowIntensity\": 50,             // integer, range: 0..100\n      \"coverageIntensity\": 50          // integer, range: 0..100\n    }\n  ]\n}\n```\n\n   * `highlighter`\n```json\n{\n  \"category\": \"highlighter\",           // string, const \"highlighter\"\n  \"pattern\": { \"name\": \"\" },           // object — name MUST equal a label from highlighter.json\n  \"palettes\": [\n    {\n      \"color\": \"#ff0000\",              // string, hex color \"#RRGGBB\"\n      \"glowIntensity\": 50,             // integer, range: 0..100\n      \"shimmerIntensity\": 50,          // integer, range: 0..100\n      \"shimmerDensity\": 50,            // integer, range: 0..100\n      \"shimmerSize\": 50,               // integer, range: 0..100\n      \"colorIntensity\": 50             // integer, range: 0..100\n    }\n  ]\n}\n```\n\n**完整图案清单：**\nhttps://plugins-media.makeupar.com/wcm-saas/patterns/highlighter.json\n\n**彩妆图案类别一览：**\n```json\n[\n  {\n    \"category\": \"Heart face\",\n    \"label\": \"HeartFace4\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/246/6ca40279-79cc-4918-b48a-64306009b365.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Invtriangle\",\n    \"label\": \"Invtriangle2\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/7/6b0b9760-612c-4319-bd81-855d262d8e89.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Oblong\",\n    \"label\": \"Oblong11\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/862/b7279f4e-edf2-43f3-8156-561fe5a52ec3.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Oval face\",\n    \"label\": \"OvalFace2\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/369/91097a05-9fd2-43cb-82e9-dd45e72b613b.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Round face\",\n    \"label\": \"RoundFace3\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/520/2d3ccbe2-36c3-43df-9e78-4c2c931fa431.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Square face\",\n    \"label\": \"SquareFace3\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/989/2959777b-19ca-4f4a-a023-3c8927191497.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Triangle face\",\n    \"label\": \"TriangleFace3\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/customer/guest/SkuCustomImage/765/221c1f12-c621-4567-a8ee-1433038ee8a2.jpg\",\n    \"tags\": []\n  }\n]\n```\n\n   * `lip_color`\n```json\n{\n  \"category\": \"lip_color\",             // string, const \"lip_color\"\n  \"shape\": {                           // object — driven by lipshape.json\n    \"name\": \"original\"                 // string — MUST equal a `label` from lipshape.json\n  },\n  \"morphology\": {                      // optional object\n    \"fullness\": 50,                    // integer, range: 0..100 (default: 0)\n    \"wrinkless\": 50                    // integer, range: 0..100 (default: 0)\n  },\n  \"palettes\": [                        // minItems depends on style; often ≥1\n    {\n      \"color\": \"#ff0000\",              // string, hex color \"#RRGGBB\"\n      \"texture\": \"matte\",              // string, enum [\"matte\",\"gloss\",\"holographic\",\"metallic\",\"satin\",\"sheer\",\"shimmer\"]\n      \"colorIntensity\": 50,            // integer, range: 0..100\n      \"gloss\": 50,                     // int, range: 0..100 — REQUIRED if texture in [\"gloss\",\"holographic\",\"metallic\",\"sheer\",\"shimmer\"]\n      \"shimmerColor\": \"#ff0000\",       // string, hex color \"#RRGGBB\" — REQUIRED if texture in [\"holographic\",\"metallic\",\"shimmer\"]\n      \"shimmerIntensity\": 50,          // integer, range: 0..100 — REQUIRED if texture in [\"holographic\",\"metallic\",\"shimmer\"]\n      \"shimmerDensity\": 50,            // integer, range: 0..100 — REQUIRED if texture in [\"holographic\",\"metallic\",\"shimmer\"]\n      \"shimmerSize\": 50,               // integer, range: 0..100 — REQUIRED if texture in [\"holographic\",\"metallic\",\"shimmer\"]\n      \"transparencyIntensity\": 50      // integer, range: 0..100 — REQUIRED if texture in [\"gloss\",\"sheer\",\"shimmer\"]\n    }\n  ],\n  \"style\": {\n    \"type\": \"full\",                    // string, enum [\"full\",\"ombre\",\"twoTone\"]\n    \"innerRatio\": 50,                  // int, range: 0..100 — REQUIRED if type=\"ombre\"\n    \"featherStrength\": 50              // int, range: 0..100 — REQUIRED if type=\"ombre\"\n  }\n}\n```\n\n**完整形状清单：**\nhttps://plugins-media.makeupar.com/wcm-saas/shapes/lipshape.json\n\n**彩妆图案类别一览：**\n```json\n[{\n        \"category\": \"general\",\n        \"label\": \"original\",\n        \"thumbnail\": \"https://plugins-media.makeupar.com/wcm-saas/images/lipshapes/original.png\",\n        \"tags\": [\n        ]\n    }, {\n        \"category\": \"general\",\n        \"label\": \"heart-shaped\",\n        \"thumbnail\": \"https://plugins-media.makeupar.com/wcm-saas/images/lipshapes/heart-shaped.jpg\",\n        \"tags\": [\n        ]\n    }, {\n        \"category\": \"general\",\n        \"label\": \"m-shaped\",\n        \"thumbnail\": \"https://plugins-media.makeupar.com/wcm-saas/images/lipshapes/m-shaped.jpg\",\n        \"tags\": [\n        ]\n    }, {\n        \"category\": \"general\",\n        \"label\": \"petal\",\n        \"thumbnail\": \"https://plugins-media.makeupar.com/wcm-saas/images/lipshapes/petal.jpg\",\n        \"tags\": [\n        ]\n    }, {\n        \"category\": \"general\",\n        \"label\": \"plump\",\n        \"thumbnail\": \"https://plugins-media.makeupar.com/wcm-saas/images/lipshapes/plump.jpg\",\n        \"tags\": [\n        ]\n    }, {\n        \"category\": \"general\",\n        \"label\": \"pouty\",\n        \"thumbnail\": \"https://plugins-media.makeupar.com/wcm-saas/images/lipshapes/pouty.jpg\",\n        \"tags\": [\n        ]\n    }, {\n        \"category\": \"general\",\n        \"label\": \"smile\",\n        \"thumbnail\": \"https://plugins-media.makeupar.com/wcm-saas/images/lipshapes/smile.jpg\",\n        \"tags\": [\n        ]\n    }, {\n        \"category\": \"general\",\n        \"label\": \"vintage\",\n        \"thumbnail\": \"https://plugins-media.makeupar.com/wcm-saas/images/lipshapes/vintage.jpg\",\n        \"tags\": [\n        ]\n    }\n]\n```\n\n   * `lip_liner`\n```json\n{\n  \"category\": \"lip_liner\",             // string, const \"lip_liner\"\n  \"pattern\": { \"name\": \"\" },           // object — name MUST equal a label from lipliner.json\n  \"palettes\": [\n    {\n      \"color\": \"#ff0000\",              // string, hex color \"#RRGGBB\"\n      \"texture\": \"matte\",              // string, enum [\"matte\",\"satin\"]\n      \"colorIntensity\": 50,            // integer, range: 0..100\n      \"thickness\": 50,                 // integer, range: 0..100\n      \"smoothness\": 50                 // integer, range: 0..100\n    }\n  ]\n}\n```\n\n**完整图案清单：**\nhttps://plugins-media.makeupar.com/wcm-saas/patterns/lipliner.json\n\n**彩妆图案类别一览：**\n```json\n[\n  {\n    \"category\": \"Large & Full\",\n    \"label\": \"Large&Full1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/SkuCustomImage/guest/417/7ac66cb2-2c7b-451c-8284-cc77791b7001.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Larger Lower\",\n    \"label\": \"LargerLower1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/SkuCustomImage/guest/878/84b2ef48-3af4-4851-86d2-b01d10db82b2.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Larger Upper\",\n    \"label\": \"LargerUpper1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/SkuCustomImage/guest/867/674f9f4c-7961-462e-8cc9-9a8acaad4168.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Natural\",\n    \"label\": \"Natural1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/SkuCustomImage/guest/258/7533c08a-cc9c-45ab-9294-5d5a8114037d.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Rosebud\",\n    \"label\": \"Rosebud1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/SkuCustomImage/guest/47/eb95e91f-6ef1-41f7-bc4f-aecd7d780c42.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Small\",\n    \"label\": \"Small1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/SkuCustomImage/guest/396/6b78e461-24a6-4c6d-afb4-88beb71f1732.jpg\",\n    \"tags\": []\n  },\n  {\n    \"category\": \"Wider\",\n    \"label\": \"Wider1\",\n    \"thumbnail\": \"https://app-cdn-01.makeupar.com/console/SkuCustomImage/guest/867/21f92b70-72b5-4a57-b4d7-81c5cce757a6.jpg\",\n    \"tags\": []\n  }\n]\n```\n\n---\n\n## 请求示例\n\n以下是一份完整、可用的 `effectJson` 参数，一次套用多项妆效。\n\n```json\n{\n  \"version\": \"1.0\",\n  \"effects\": [\n    {\n      \"category\": \"skin_smooth\",\n      \"skinSmoothStrength\": 55,\n      \"skinSmoothColorIntensity\": 45\n    },\n    {\n      \"category\": \"blush\",\n      \"pattern\": { \"name\": \"2colors1\" },\n      \"palettes\": [\n        {\n          \"color\": \"#e19f9f\",\n          \"texture\": \"matte\",\n          \"colorIntensity\": 60,\n          \"shimmerColor\": \"#d63252\",\n          \"shimmerDensity\": 50\n        },\n        {\n          \"color\": \"#c98a8a\",\n          \"texture\": \"satin\",\n          \"glowStrength\": 40,\n          \"colorIntensity\": 70\n        }\n      ]\n    },\n    {\n        \"category\": \"lip_color\",\n        \"shape\": { \"name\": \"plump\" },\n        \"morphology\": { \"fullness\": 30, \"wrinkless\": 25 },\n        \"style\": { \"type\": \"full\" },\n        \"palettes\": [\n            {\n                \"color\": \"#e11c43\",\n                \"texture\": \"gloss\",\n                \"colorIntensity\": 80,\n                \"gloss\": 75\n            }\n        ]\n    }\n  ]\n}\n```\n在这个示例中，`blush` 使用 `blush.json` 里的 `2colors1` 图案，该图案需要恰好两个色盘。`lip_color` 特效使用 `lipshape.json` 里的 `plump` 形状。\n\n## 文件规格与错误码\n* 支持的格式与尺寸\n\n|AI 功能|支持尺寸|支持文件大小|支持格式|\n|  ----  | ----  | ----  | ----  |\n|AI 美妆虚拟试妆|长边 < 1920，脸部宽度 >= 100|< 10MB|jpg/jpeg/png|\n\n* 错误码\n\n|错误码|说明|\n|  ----  | ----  |\n|error_below_min_image_size|源图尺寸小于下限（要求：宽 >= 100px，高 >= 100px）\n|error_exceed_max_image_size|源图尺寸超过上限（要求：宽 < 1920px，高 < 1080px）\n|error_face_position_invalid |请确保整张脸在画面中完整可见|\n|error_face_position_too_small|检测到的人脸太小，请靠近相机|\n|error_face_position_out_of_boundary|人脸过大，或部分超出画面边界，请调整位置|\n|error_face_angle_invalid|脸部角度不太对。正脸拍摄时，头部偏离正向请在 10 度以内；侧脸拍摄时，角度应大于 15 度|\n\n* 运行环境与依赖\n\n| 示例代码语言 / 工具 | 建议运行时版本 |\n|---|---|\n| cURL | - bash >= 3.2</br>   - curl >= 7.58 (modern TLS/HTTP support)</br>   - jq >= 1.6 (robust JSON parsing) |\n| Node.js (JavaScript) | Node >= 18 (for global fetch) |\n| JavaScript | - Chrome / Edge >= 80</br>   - Firefox >= 74</br>   - Safari >= 13.1 |\n| PHP | PHP >= 7.4 (for modern TLS/compat), ext-curl (recommended) or allow_url_fopen=On + ext-openssl, ext-json |\n| Python | Python >= 3.10 (for f-strings), requests >= 2.20.0 |\n| Java | Java 11+ (for HttpClient), Jackson Databind >= 2.12.0 |\n\n---\n\n## JS Camera Kit\n{% partial file=\"/_partials/js-camera-kit.md\" /%}\n\n---\n\n## 点数消耗\n\n| AI 功能 | 消耗点数 |\n|---|---|\n| AI 美妆虚拟试妆 V1.0 | 1 |\n\n---\n"},"compilationErrors":[],"markdown":{"partials":{"_partials/js-camera-kit.md":{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"level":1},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"JavaScript Camera Kit SDK Documentation"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":0},"end":{"line":1}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":0},"end":{"line":1}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":0},"end":{"line":1}}},{"$$mdtype":"Node","attributes":{"content":"version: v2.5\n"},"children":[{"$$mdtype":"Node","attributes":{"content":"version: v2.5\n"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":1},"end":{"line":4}}}],"type":"fence","location":{"file":"_partials/js-camera-kit.md","start":{"line":1},"end":{"line":4}}},{"$$mdtype":"Node","attributes":{"level":2},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Overview"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":4},"end":{"line":5}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":4},"end":{"line":5}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":4},"end":{"line":5}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"The "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":6},"end":{"line":7}}},{"$$mdtype":"Node","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"JavaScript Camera Kit"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":6},"end":{"line":7}}}],"type":"strong","location":{"file":"_partials/js-camera-kit.md","start":{"line":6},"end":{"line":7}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" provides a complete in-browser camera solution designed for high-accuracy face-based imaging tasks. It handles camera permissions, real-time face detection, automatic quality validation (lighting, pose, angle, distance), and guided capture UI flows."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":6},"end":{"line":7}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":6},"end":{"line":7}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":6},"end":{"line":7}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"This module is optimized for "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":8},"end":{"line":9}}},{"$$mdtype":"Node","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"AI-driven image analysis"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":8},"end":{"line":9}}}],"type":"strong","location":{"file":"_partials/js-camera-kit.md","start":{"line":8},"end":{"line":9}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":", such as:"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":8},"end":{"line":9}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":8},"end":{"line":9}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":8},"end":{"line":9}}},{"$$mdtype":"Node","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"AI Skin Analysis (SD/HD)"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":9},"end":{"line":10}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":9},"end":{"line":10}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":9},"end":{"line":10}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"AI Face Tone Analysis"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":10},"end":{"line":11}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":10},"end":{"line":11}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":10},"end":{"line":11}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Hair-related Analysis"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":11},"end":{"line":12}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":11},"end":{"line":12}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":11},"end":{"line":12}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Virtual Try-On (Ring, Wrist, Necklace, etc.)"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":12},"end":{"line":13}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":12},"end":{"line":13}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":12},"end":{"line":14}}}],"type":"list","location":{"file":"_partials/js-camera-kit.md","start":{"line":9},"end":{"line":14}}},{"$$mdtype":"Node","attributes":{"level":3},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Key Features"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":14},"end":{"line":15}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":14},"end":{"line":15}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":14},"end":{"line":15}}},{"$$mdtype":"Node","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Permission Handling:"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":15},"end":{"line":16}}}],"type":"strong","location":{"file":"_partials/js-camera-kit.md","start":{"line":15},"end":{"line":16}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" Automatic management of webcam access."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":15},"end":{"line":16}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":15},"end":{"line":16}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":15},"end":{"line":16}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Quality Validation:"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":16},"end":{"line":17}}}],"type":"strong","location":{"file":"_partials/js-camera-kit.md","start":{"line":16},"end":{"line":17}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" Real-time monitoring of face position, lighting, and angle."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":16},"end":{"line":17}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":16},"end":{"line":17}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":16},"end":{"line":17}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Multi-Step Flows:"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":17},"end":{"line":18}}}],"type":"strong","location":{"file":"_partials/js-camera-kit.md","start":{"line":17},"end":{"line":18}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" Support for complex capture requirements (e.g., multi-angle hair capture)."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":17},"end":{"line":18}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":17},"end":{"line":18}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":17},"end":{"line":18}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Flexible Output:"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":18},"end":{"line":19}}}],"type":"strong","location":{"file":"_partials/js-camera-kit.md","start":{"line":18},"end":{"line":19}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" Supports both "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":18},"end":{"line":19}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"base64"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":18},"end":{"line":19}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" and "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":18},"end":{"line":19}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"blob"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":18},"end":{"line":19}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" image formats."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":18},"end":{"line":19}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":18},"end":{"line":19}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":18},"end":{"line":20}}}],"type":"list","location":{"file":"_partials/js-camera-kit.md","start":{"line":15},"end":{"line":20}}},{"$$mdtype":"Node","attributes":{},"children":[],"type":"hr","location":{"file":"_partials/js-camera-kit.md","start":{"line":20},"end":{"line":21}}},{"$$mdtype":"Node","attributes":{"level":2},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Installation"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":22},"end":{"line":23}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":22},"end":{"line":23}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":22},"end":{"line":23}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Include the SDK via CDN in your HTML "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":24},"end":{"line":25}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"<head>"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":24},"end":{"line":25}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" or before the closing "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":24},"end":{"line":25}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"<body>"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":24},"end":{"line":25}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" tag. Once loaded, the SDK installs a global "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":24},"end":{"line":25}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"YMK"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":24},"end":{"line":25}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" object."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":24},"end":{"line":25}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":24},"end":{"line":25}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":24},"end":{"line":25}}},{"$$mdtype":"Node","attributes":{"content":"<script src=\"https://plugins-media.makeupar.com/v2.5-camera-kit/sdk.js\"></script>\n","language":"html"},"children":[{"$$mdtype":"Node","attributes":{"content":"<script src=\"https://plugins-media.makeupar.com/v2.5-camera-kit/sdk.js\"></script>\n"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":26},"end":{"line":29}}}],"type":"fence","location":{"file":"_partials/js-camera-kit.md","start":{"line":26},"end":{"line":29}}},{"$$mdtype":"Node","attributes":{},"children":[],"type":"hr","location":{"file":"_partials/js-camera-kit.md","start":{"line":30},"end":{"line":31}}},{"$$mdtype":"Node","attributes":{"level":2},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Quick Start Example"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":32},"end":{"line":33}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":32},"end":{"line":33}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":32},"end":{"line":33}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"The following example demonstrates how to initialize the kit, open the camera, and handle captured images."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":34},"end":{"line":35}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":34},"end":{"line":35}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":34},"end":{"line":35}}},{"$$mdtype":"Node","attributes":{"content":"<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Camera Kit Sample</title>\n    <style>\n      #YMK-module { margin: 20px 0; }\n      img { width: 150px; margin: 5px; border: 1px solid #ccc; }\n    </style>\n  </head>\n  <body>\n\n    <!-- Initialization Script -->\n    <script>\n      // Define async init entry point\n      window.YMKAsyncInit = function() {\n        YMK.addEventListener('loaded', function() {\n          console.log('Module fully loaded and ready');\n        });\n\n        YMK.addEventListener('faceDetectionCaptured', function(capturedResult) {\n          const container = document.getElementById('captured-results');\n          container.innerHTML = '';\n\n          // Handle multiple images if returned (e.g., multi-angle capture)\n          for (const item of capturedResult.images) {\n            const img = document.createElement('img');\n            // Handle both base64 strings and Blob objects\n            img.src = typeof item.image === 'string' \n              ? item.image \n              : URL.createObjectURL(item.image);\n            container.appendChild(img);\n          }\n        });\n      };\n\n      function openCameraKit() {\n        YMK.init({\n          faceDetectionMode: 'makeup',\n          imageFormat: 'base64',\n          language: 'enu'\n        });\n        YMK.openCameraKit();\n      }\n    </script>\n\n    <!-- Load SDK -->\n    <script src=\"https://plugins-media.makeupar.com/v2.5-camera-kit/sdk.js\"></script>\n\n    <!-- UI Elements -->\n    <button onclick=\"openCameraKit()\">Open Camera Kit</button>\n\n    <!-- Mandatory Mount Point -->\n    <div id=\"YMK-module\"></div>\n\n    <h3>Captured Results:</h3>\n    <div id=\"captured-results\"></div>\n  </body>\n</html>\n","language":"html"},"children":[{"$$mdtype":"Node","attributes":{"content":"<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Camera Kit Sample</title>\n    <style>\n      #YMK-module { margin: 20px 0; }\n      img { width: 150px; margin: 5px; border: 1px solid #ccc; }\n    </style>\n  </head>\n  <body>\n\n    <!-- Initialization Script -->\n    <script>\n      // Define async init entry point\n      window.YMKAsyncInit = function() {\n        YMK.addEventListener('loaded', function() {\n          console.log('Module fully loaded and ready');\n        });\n\n        YMK.addEventListener('faceDetectionCaptured', function(capturedResult) {\n          const container = document.getElementById('captured-results');\n          container.innerHTML = '';\n\n          // Handle multiple images if returned (e.g., multi-angle capture)\n          for (const item of capturedResult.images) {\n            const img = document.createElement('img');\n            // Handle both base64 strings and Blob objects\n            img.src = typeof item.image === 'string' \n              ? item.image \n              : URL.createObjectURL(item.image);\n            container.appendChild(img);\n          }\n        });\n      };\n\n      function openCameraKit() {\n        YMK.init({\n          faceDetectionMode: 'makeup',\n          imageFormat: 'base64',\n          language: 'enu'\n        });\n        YMK.openCameraKit();\n      }\n    </script>\n\n    <!-- Load SDK -->\n    <script src=\"https://plugins-media.makeupar.com/v2.5-camera-kit/sdk.js\"></script>\n\n    <!-- UI Elements -->\n    <button onclick=\"openCameraKit()\">Open Camera Kit</button>\n\n    <!-- Mandatory Mount Point -->\n    <div id=\"YMK-module\"></div>\n\n    <h3>Captured Results:</h3>\n    <div id=\"captured-results\"></div>\n  </body>\n</html>\n"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":36},"end":{"line":98}}}],"type":"fence","location":{"file":"_partials/js-camera-kit.md","start":{"line":36},"end":{"line":98}}},{"$$mdtype":"Node","attributes":{},"children":[],"type":"hr","location":{"file":"_partials/js-camera-kit.md","start":{"line":99},"end":{"line":100}}},{"$$mdtype":"Node","attributes":{"level":2},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Prerequisites"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":101},"end":{"line":102}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":101},"end":{"line":102}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":101},"end":{"line":102}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"To ensure successful integration, the following requirements must be met:"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":103},"end":{"line":104}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":103},"end":{"line":104}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":103},"end":{"line":104}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Requirement"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":105},"end":{"line":106}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":105},"end":{"line":106}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":105},"end":{"line":106}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":105},"end":{"line":106}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":105},"end":{"line":106}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":105},"end":{"line":106}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":105},"end":{"line":106}}}],"type":"thead","location":{"file":"_partials/js-camera-kit.md","start":{"line":105},"end":{"line":106}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Browser Support"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":107},"end":{"line":108}}}],"type":"strong","location":{"file":"_partials/js-camera-kit.md","start":{"line":107},"end":{"line":108}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":107},"end":{"line":108}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":107},"end":{"line":108}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Must support "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":107},"end":{"line":108}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"getUserMedia"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":107},"end":{"line":108}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" API."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":107},"end":{"line":108}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":107},"end":{"line":108}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":107},"end":{"line":108}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":107},"end":{"line":108}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"HTTPS"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":108},"end":{"line":109}}}],"type":"strong","location":{"file":"_partials/js-camera-kit.md","start":{"line":108},"end":{"line":109}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":108},"end":{"line":109}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":108},"end":{"line":109}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Required on most browsers for webcam access (except localhost)."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":108},"end":{"line":109}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":108},"end":{"line":109}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":108},"end":{"line":109}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":108},"end":{"line":109}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Mount Point"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":109},"end":{"line":110}}}],"type":"strong","location":{"file":"_partials/js-camera-kit.md","start":{"line":109},"end":{"line":110}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":109},"end":{"line":110}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":109},"end":{"line":110}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"A "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":109},"end":{"line":110}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"<div id=\"YMK-module\"></div>"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":109},"end":{"line":110}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" is mandatory for rendering the UI."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":109},"end":{"line":110}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":109},"end":{"line":110}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":109},"end":{"line":110}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":109},"end":{"line":110}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Async Init"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":110},"end":{"line":111}}}],"type":"strong","location":{"file":"_partials/js-camera-kit.md","start":{"line":110},"end":{"line":111}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":110},"end":{"line":111}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":110},"end":{"line":111}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"You must define "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":110},"end":{"line":111}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"window.YMKAsyncInit"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":110},"end":{"line":111}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" before the SDK loads."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":110},"end":{"line":111}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":110},"end":{"line":111}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":110},"end":{"line":111}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":110},"end":{"line":111}}}],"type":"tbody","location":{"file":"_partials/js-camera-kit.md","start":{"line":107},"end":{"line":111}}}],"type":"table","location":{"file":"_partials/js-camera-kit.md","start":{"line":105},"end":{"line":111}}},{"$$mdtype":"Node","attributes":{},"children":[],"type":"hr","location":{"file":"_partials/js-camera-kit.md","start":{"line":112},"end":{"line":113}}},{"$$mdtype":"Node","attributes":{"level":2},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Integration Guide"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":114},"end":{"line":115}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":114},"end":{"line":115}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":114},"end":{"line":115}}},{"$$mdtype":"Node","attributes":{"level":3},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Step 1: Initialize the Module"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":116},"end":{"line":117}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":116},"end":{"line":117}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":116},"end":{"line":117}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Call "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":117},"end":{"line":118}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"YMK.init()"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":117},"end":{"line":118}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" before calling "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":117},"end":{"line":118}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"YMK.openCameraKit()"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":117},"end":{"line":118}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":117},"end":{"line":118}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":117},"end":{"line":118}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":117},"end":{"line":118}}},{"$$mdtype":"Node","attributes":{"content":"YMK.init({\n  faceDetectionMode: 'makeup', // Detection flow\n  imageFormat: 'base64',       // Output format\n  language: 'enu'              // UI Language\n});\n","language":"javascript"},"children":[{"$$mdtype":"Node","attributes":{"content":"YMK.init({\n  faceDetectionMode: 'makeup', // Detection flow\n  imageFormat: 'base64',       // Output format\n  language: 'enu'              // UI Language\n});\n"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":119},"end":{"line":126}}}],"type":"fence","location":{"file":"_partials/js-camera-kit.md","start":{"line":119},"end":{"line":126}}},{"$$mdtype":"Node","attributes":{"level":3},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Step 2: Add Event Handlers"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":127},"end":{"line":128}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":127},"end":{"line":128}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":127},"end":{"line":128}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Register listeners for camera events and capture results."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":128},"end":{"line":129}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":128},"end":{"line":129}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":128},"end":{"line":129}}},{"$$mdtype":"Node","attributes":{"content":"YMK.addEventListener('faceQualityChanged', function(q) {\n  console.log('Quality updated:', q);\n});\n","language":"javascript"},"children":[{"$$mdtype":"Node","attributes":{"content":"YMK.addEventListener('faceQualityChanged', function(q) {\n  console.log('Quality updated:', q);\n});\n"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":130},"end":{"line":135}}}],"type":"fence","location":{"file":"_partials/js-camera-kit.md","start":{"line":130},"end":{"line":135}}},{"$$mdtype":"Node","attributes":{"level":3},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Step 3: Open Camera Kit"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":136},"end":{"line":137}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":136},"end":{"line":137}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":136},"end":{"line":137}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"This displays the UI, opens the webcam, and begins real-time monitoring."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":137},"end":{"line":138}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":137},"end":{"line":138}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":137},"end":{"line":138}}},{"$$mdtype":"Node","attributes":{"content":"YMK.openCameraKit();\n","language":"javascript"},"children":[{"$$mdtype":"Node","attributes":{"content":"YMK.openCameraKit();\n"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":139},"end":{"line":142}}}],"type":"fence","location":{"file":"_partials/js-camera-kit.md","start":{"line":139},"end":{"line":142}}},{"$$mdtype":"Node","attributes":{"level":3},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Step 4: Receive Captured Results"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":143},"end":{"line":144}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":143},"end":{"line":144}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":143},"end":{"line":144}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Images arrive via the "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":144},"end":{"line":145}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"faceDetectionCaptured"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":144},"end":{"line":145}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" event."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":144},"end":{"line":145}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":144},"end":{"line":145}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":144},"end":{"line":145}}},{"$$mdtype":"Node","attributes":{"content":"YMK.addEventListener('faceDetectionCaptured', function(result) {\n  console.log(result.images);\n});\n","language":"javascript"},"children":[{"$$mdtype":"Node","attributes":{"content":"YMK.addEventListener('faceDetectionCaptured', function(result) {\n  console.log(result.images);\n});\n"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":146},"end":{"line":151}}}],"type":"fence","location":{"file":"_partials/js-camera-kit.md","start":{"line":146},"end":{"line":151}}},{"$$mdtype":"Node","attributes":{"level":3},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Step 5: Close Module"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":152},"end":{"line":153}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":152},"end":{"line":153}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":152},"end":{"line":153}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Clean up resources when done."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":153},"end":{"line":154}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":153},"end":{"line":154}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":153},"end":{"line":154}}},{"$$mdtype":"Node","attributes":{"content":"YMK.close();\n","language":"javascript"},"children":[{"$$mdtype":"Node","attributes":{"content":"YMK.close();\n"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":155},"end":{"line":158}}}],"type":"fence","location":{"file":"_partials/js-camera-kit.md","start":{"line":155},"end":{"line":158}}},{"$$mdtype":"Node","attributes":{},"children":[],"type":"hr","location":{"file":"_partials/js-camera-kit.md","start":{"line":159},"end":{"line":160}}},{"$$mdtype":"Node","attributes":{"level":2},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"API Reference"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":161},"end":{"line":162}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":161},"end":{"line":162}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":161},"end":{"line":162}}},{"$$mdtype":"Node","attributes":{"level":3},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"YMK.init(args)"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":163},"end":{"line":164}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":163},"end":{"line":164}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":163},"end":{"line":164}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Configures module appearance, detection mode, language, and capture format."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":164},"end":{"line":165}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":164},"end":{"line":165}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":164},"end":{"line":165}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Argument"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Type"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Default"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}}],"type":"thead","location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"faceDetectionMode"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"string"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Detection flow to use (see "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}},{"$$mdtype":"Node","inline":true,"attributes":{"href":"#section/Detection-Modes"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Detection Modes"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}}],"type":"link","location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" below)."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"\"skincare\""},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"width"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"number"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Pixel width of module container ("},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"300–1920"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":")."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"360"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" (≥500px) or "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"screen width"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"height"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"number"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Pixel height of module container ("},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"300–1920"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":")."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"480"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" (≥500px) or "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"min(screen.height, innerHeight)"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"language"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"string"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"UI Language code ("},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"chs"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":", "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"cht"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":", "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"deu"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":", "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"enu"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":", "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"esp"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":", "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"fra"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":", "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"jpn"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":", "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"kor"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":", "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"ptb"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":", "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"ita"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":", "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"mon "},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":")."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"\"enu\""},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"imageFormat"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"string"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Format returned via "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"faceDetectionCaptured"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"\"base64\""},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"disableCameraResolutionCheck"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"boolean"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Allow running even if webcam does not meet required resolution."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"false"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"hideFlipCameraButton"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"boolean"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Controls visibility of the flip front/back camera button if the device supports it."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"false"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"countingDuration"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"number"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Controls the countdown milliseconds when camera quality check meets criteria before auto-capture."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"800"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"qualityLevel"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"string"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Controls the camera quality check setting, with options of  "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"relaxed"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":", "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"moderate"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":", or "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"strict"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"relaxed"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"qualityOverrides"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"object"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Configure detailed parameters for camera quality verification."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"See "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}},{"$$mdtype":"Node","inline":true,"attributes":{"href":"#section/Camera-Kit-Quality-Configuration"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Camera Kit Quality Configuration"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}}],"type":"link","location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"videoQuality"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"string"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Configure the output quality to "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"720p"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":", "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"1080p"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":", or "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"1920p"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":". 720p corresponds to 1280 × 720, 1080p to 1920 × 1080, and 1920p to 2560 × 1920. This setting is supported only for "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"skincare"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" and "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"hdskincare"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"720p"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}}],"type":"tbody","location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":179}}}],"type":"table","location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":179}}},{"$$mdtype":"Node","attributes":{"level":3},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Methods"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":180},"end":{"line":181}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":180},"end":{"line":181}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":180},"end":{"line":181}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Method"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":182},"end":{"line":183}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":182},"end":{"line":183}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":182},"end":{"line":183}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":182},"end":{"line":183}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":182},"end":{"line":183}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":182},"end":{"line":183}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":182},"end":{"line":183}}}],"type":"thead","location":{"file":"_partials/js-camera-kit.md","start":{"line":182},"end":{"line":183}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"YMK.openCameraKit()"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":184},"end":{"line":185}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":184},"end":{"line":185}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":184},"end":{"line":185}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Opens the module and begins detection."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":184},"end":{"line":185}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":184},"end":{"line":185}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":184},"end":{"line":185}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":184},"end":{"line":185}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"YMK.close()"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":185},"end":{"line":186}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":185},"end":{"line":186}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":185},"end":{"line":186}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Closes module and camera."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":185},"end":{"line":186}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":185},"end":{"line":186}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":185},"end":{"line":186}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":185},"end":{"line":186}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"YMK.addEventListener(event, callback)"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":186},"end":{"line":187}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":186},"end":{"line":187}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":186},"end":{"line":187}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Registers event callbacks. Returns an "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":186},"end":{"line":187}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"EventListenerIdentifier"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":186},"end":{"line":187}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":186},"end":{"line":187}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":186},"end":{"line":187}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":186},"end":{"line":187}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":186},"end":{"line":187}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"YMK.removeEventListener(id)"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":187},"end":{"line":188}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":187},"end":{"line":188}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":187},"end":{"line":188}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Removes listener by identifier."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":187},"end":{"line":188}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":187},"end":{"line":188}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":187},"end":{"line":188}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":187},"end":{"line":188}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"YMK.isLoaded()"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":188},"end":{"line":189}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":188},"end":{"line":189}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":188},"end":{"line":189}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Returns whether livestream or photo is drawn on canvas ("},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":188},"end":{"line":189}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"boolean"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":188},"end":{"line":189}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":")."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":188},"end":{"line":189}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":188},"end":{"line":189}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":188},"end":{"line":189}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":188},"end":{"line":189}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"YMK.pause()"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":189},"end":{"line":190}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":189},"end":{"line":190}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":189},"end":{"line":190}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Pauses the webcam stream."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":189},"end":{"line":190}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":189},"end":{"line":190}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":189},"end":{"line":190}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":189},"end":{"line":190}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"YMK.resume(restartWebcam)"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":190},"end":{"line":191}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":190},"end":{"line":191}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":190},"end":{"line":191}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Resumes webcam after pause."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":190},"end":{"line":191}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":190},"end":{"line":191}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":190},"end":{"line":191}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":190},"end":{"line":191}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"YMK.getInfo()"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":191},"end":{"line":192}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":191},"end":{"line":192}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":191},"end":{"line":192}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Returns current module info (e.g., "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":191},"end":{"line":192}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"{ fps: 30 }"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":191},"end":{"line":192}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":")."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":191},"end":{"line":192}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":191},"end":{"line":192}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":191},"end":{"line":192}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":191},"end":{"line":192}}}],"type":"tbody","location":{"file":"_partials/js-camera-kit.md","start":{"line":184},"end":{"line":192}}}],"type":"table","location":{"file":"_partials/js-camera-kit.md","start":{"line":182},"end":{"line":192}}},{"$$mdtype":"Node","attributes":{},"children":[],"type":"hr","location":{"file":"_partials/js-camera-kit.md","start":{"line":194},"end":{"line":195}}},{"$$mdtype":"Node","attributes":{"level":3},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Camera Kit Quality Configuration"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":196},"end":{"line":197}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":196},"end":{"line":197}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":196},"end":{"line":197}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Camera Kit provides configurable quality parameters to control face detection and skin analysis behavior. These parameters allow developers to fine-tune detection strictness while maintaining consistency across web and native SDK implementations."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":198},"end":{"line":199}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":198},"end":{"line":199}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":198},"end":{"line":199}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"To simplify configuration, Camera Kit includes three predefined presets:"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":200},"end":{"line":201}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":200},"end":{"line":201}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":200},"end":{"line":201}}},{"$$mdtype":"Node","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"RELAXED"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":202},"end":{"line":203}}}],"type":"strong","location":{"file":"_partials/js-camera-kit.md","start":{"line":202},"end":{"line":203}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":": Optimized for usability with minimal restrictions"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":202},"end":{"line":203}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":202},"end":{"line":203}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":202},"end":{"line":203}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"MODERATE"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":203},"end":{"line":204}}}],"type":"strong","location":{"file":"_partials/js-camera-kit.md","start":{"line":203},"end":{"line":204}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":": Balanced between usability and accuracy"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":203},"end":{"line":204}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":203},"end":{"line":204}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":203},"end":{"line":204}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"STRICT"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":204},"end":{"line":205}}}],"type":"strong","location":{"file":"_partials/js-camera-kit.md","start":{"line":204},"end":{"line":205}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":": Optimized for maximum detection accuracy"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":204},"end":{"line":205}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":204},"end":{"line":205}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":204},"end":{"line":206}}}],"type":"list","location":{"file":"_partials/js-camera-kit.md","start":{"line":202},"end":{"line":206}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"All custom configurations must meet or exceed the minimum requirements defined by the "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":206},"end":{"line":207}}},{"$$mdtype":"Node","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"RELAXED"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":206},"end":{"line":207}}}],"type":"strong","location":{"file":"_partials/js-camera-kit.md","start":{"line":206},"end":{"line":207}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" preset."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":206},"end":{"line":207}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":206},"end":{"line":207}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":206},"end":{"line":207}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Camera Kit Quality Configuration supports both "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":208},"end":{"line":209}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"skincare"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":208},"end":{"line":209}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" and "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":208},"end":{"line":209}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"hdskincare"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":208},"end":{"line":209}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":208},"end":{"line":209}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":208},"end":{"line":209}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":208},"end":{"line":209}}},{"$$mdtype":"Node","attributes":{},"children":[],"type":"hr","location":{"file":"_partials/js-camera-kit.md","start":{"line":209},"end":{"line":210}}},{"$$mdtype":"Node","attributes":{"level":3},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Preset Behavior"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":211},"end":{"line":212}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":211},"end":{"line":212}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":211},"end":{"line":212}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Preset"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":213},"end":{"line":214}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":213},"end":{"line":214}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":213},"end":{"line":214}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":213},"end":{"line":214}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":213},"end":{"line":214}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":213},"end":{"line":214}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":213},"end":{"line":214}}}],"type":"thead","location":{"file":"_partials/js-camera-kit.md","start":{"line":213},"end":{"line":214}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"RELAXED"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":215},"end":{"line":216}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":215},"end":{"line":216}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":215},"end":{"line":216}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Less strict validation for smoother user experience"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":215},"end":{"line":216}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":215},"end":{"line":216}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":215},"end":{"line":216}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":215},"end":{"line":216}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"MODERATE"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":216},"end":{"line":217}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":216},"end":{"line":217}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":216},"end":{"line":217}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Balanced validation for most use cases"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":216},"end":{"line":217}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":216},"end":{"line":217}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":216},"end":{"line":217}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":216},"end":{"line":217}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"STRICT"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":217},"end":{"line":218}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":217},"end":{"line":218}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":217},"end":{"line":218}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Tight validation for high accuracy scenarios"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":217},"end":{"line":218}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":217},"end":{"line":218}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":217},"end":{"line":218}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":217},"end":{"line":218}}}],"type":"tbody","location":{"file":"_partials/js-camera-kit.md","start":{"line":215},"end":{"line":218}}}],"type":"table","location":{"file":"_partials/js-camera-kit.md","start":{"line":213},"end":{"line":218}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"When using "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":219},"end":{"line":220}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"qualityOverrides"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":219},"end":{"line":220}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":", you may specify only the parameters you want to change. Unspecified parameters fall back to the active preset defaults."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":219},"end":{"line":220}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":219},"end":{"line":220}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":219},"end":{"line":220}}},{"$$mdtype":"Node","attributes":{},"children":[],"type":"hr","location":{"file":"_partials/js-camera-kit.md","start":{"line":221},"end":{"line":222}}},{"$$mdtype":"Node","attributes":{"level":3},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Configuration Object"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":223},"end":{"line":224}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":223},"end":{"line":224}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":223},"end":{"line":224}}},{"$$mdtype":"Node","attributes":{"content":"{\n  \"face_ratio_lower_threshold\": 0.55,\n  \"face_ratio_upper_threshold\": 1,\n  \"face_left_boundary_lower_threshold\": 0,\n  \"face_left_boundary_upper_threshold\": 1,\n  \"face_right_boundary_lower_threshold\": 0,\n  \"face_right_boundary_upper_threshold\": 1,\n  \"face_top_boundary_lower_threshold\": 0,\n  \"face_top_boundary_upper_threshold\": 1,\n  \"face_bottom_boundary_lower_threshold\": 0,\n  \"face_bottom_boundary_upper_threshold\": 1,\n  \"pitch_lower_threshold\": -20,\n  \"pitch_upper_threshold\": 10,\n  \"yaw_lower_threshold\": -15,\n  \"yaw_upper_threshold\": 15,\n  \"roll_lower_threshold\": -15,\n  \"roll_upper_threshold\": 15,\n  \"lighting_lower_threshold\": 0.55,\n  \"lighting_upper_threshold\": 0.8,\n  \"lighting_uneven_threshold\": 0.2\n}\n","language":"json"},"children":[{"$$mdtype":"Node","attributes":{"content":"{\n  \"face_ratio_lower_threshold\": 0.55,\n  \"face_ratio_upper_threshold\": 1,\n  \"face_left_boundary_lower_threshold\": 0,\n  \"face_left_boundary_upper_threshold\": 1,\n  \"face_right_boundary_lower_threshold\": 0,\n  \"face_right_boundary_upper_threshold\": 1,\n  \"face_top_boundary_lower_threshold\": 0,\n  \"face_top_boundary_upper_threshold\": 1,\n  \"face_bottom_boundary_lower_threshold\": 0,\n  \"face_bottom_boundary_upper_threshold\": 1,\n  \"pitch_lower_threshold\": -20,\n  \"pitch_upper_threshold\": 10,\n  \"yaw_lower_threshold\": -15,\n  \"yaw_upper_threshold\": 15,\n  \"roll_lower_threshold\": -15,\n  \"roll_upper_threshold\": 15,\n  \"lighting_lower_threshold\": 0.55,\n  \"lighting_upper_threshold\": 0.8,\n  \"lighting_uneven_threshold\": 0.2\n}\n"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":225},"end":{"line":248}}}],"type":"fence","location":{"file":"_partials/js-camera-kit.md","start":{"line":225},"end":{"line":248}}},{"$$mdtype":"Node","attributes":{},"children":[],"type":"hr","location":{"file":"_partials/js-camera-kit.md","start":{"line":249},"end":{"line":250}}},{"$$mdtype":"Node","attributes":{"level":3},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Parameters"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":251},"end":{"line":252}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":251},"end":{"line":252}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":251},"end":{"line":252}}},{"$$mdtype":"Node","attributes":{"level":4},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Face Ratio Control"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":253},"end":{"line":254}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":253},"end":{"line":254}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":253},"end":{"line":254}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Controls the acceptable proportion of the detected face."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":255},"end":{"line":256}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":255},"end":{"line":256}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":255},"end":{"line":256}}},{"$$mdtype":"Node","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Measurement basis:"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":257},"end":{"line":258}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":257},"end":{"line":258}}},{"$$mdtype":"Node","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Landscape mode: vertical ratio"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":258},"end":{"line":259}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":258},"end":{"line":259}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":258},"end":{"line":259}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Portrait mode: horizontal ratio"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":259},"end":{"line":260}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":259},"end":{"line":260}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":259},"end":{"line":261}}}],"type":"list","location":{"file":"_partials/js-camera-kit.md","start":{"line":258},"end":{"line":261}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":257},"end":{"line":261}}}],"type":"list","location":{"file":"_partials/js-camera-kit.md","start":{"line":257},"end":{"line":261}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Parameter"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Allowed Range"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Preset Defaults"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}}],"type":"thead","location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"face_ratio_lower_threshold"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Minimum face ratio"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"0.55 to 1.0"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"STRICT 0.75, MODERATE 0.65, RELAXED 0.55"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"face_ratio_upper_threshold"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Maximum face ratio"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"1.0"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"1.0 (all presets)"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"tbody","location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":265}}}],"type":"table","location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":265}}},{"$$mdtype":"Node","attributes":{},"children":[],"type":"hr","location":{"file":"_partials/js-camera-kit.md","start":{"line":266},"end":{"line":267}}},{"$$mdtype":"Node","attributes":{"level":4},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Face Boundary Control"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":268},"end":{"line":269}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":268},"end":{"line":269}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":268},"end":{"line":269}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Defines how close the face can be to the frame edges."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":270},"end":{"line":271}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":270},"end":{"line":271}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":270},"end":{"line":271}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Parameter"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Allowed Range"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Default"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}}],"type":"thead","location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"face_left_boundary_lower_threshold"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Left boundary minimum"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"0.0 to 1.0"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"0.0"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"face_left_boundary_upper_threshold"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Left boundary maximum"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"0.0 to 1.0"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"1.0"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"face_right_boundary_lower_threshold"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Right boundary minimum"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"0.0 to 1.0"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"0.0"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"face_right_boundary_upper_threshold"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Right boundary maximum"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"0.0 to 1.0"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"1.0"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"face_top_boundary_lower_threshold"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Top boundary minimum"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"0.0 to 1.0"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"0.0"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"face_top_boundary_upper_threshold"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Top boundary maximum"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"0.0 to 1.0"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"1.0"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"face_bottom_boundary_lower_threshold"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Bottom boundary minimum"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"0.0 to 1.0"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"0.0"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"face_bottom_boundary_upper_threshold"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Bottom boundary maximum"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"0.0 to 1.0"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"1.0"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}}],"type":"tbody","location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":282}}}],"type":"table","location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":282}}},{"$$mdtype":"Node","attributes":{},"children":[],"type":"hr","location":{"file":"_partials/js-camera-kit.md","start":{"line":283},"end":{"line":284}}},{"$$mdtype":"Node","attributes":{"level":4},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Head Pose Angle Control"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":285},"end":{"line":286}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":285},"end":{"line":286}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":285},"end":{"line":286}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Controls allowable head orientation."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":287},"end":{"line":288}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":287},"end":{"line":288}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":287},"end":{"line":288}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Parameter"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Allowed Range"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Preset Defaults"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"thead","location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"pitch_lower_threshold"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Minimum pitch angle"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"-20 to 10"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"STRICT -10, MODERATE -15, RELAXED -20"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"pitch_upper_threshold"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Maximum pitch angle"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"-20 to 10"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"STRICT 0, MODERATE 5, RELAXED 10"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"yaw_lower_threshold"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Minimum yaw angle"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"-15 to 15"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"STRICT -5, MODERATE -10, RELAXED -15"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"yaw_upper_threshold"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Maximum yaw angle"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"-15 to 15"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"STRICT 5, MODERATE 10, RELAXED 15"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"roll_lower_threshold"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Minimum roll angle"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"-15 to 15"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"STRICT -5, MODERATE -10, RELAXED -15"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"roll_upper_threshold"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Maximum roll angle"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"-15 to 15"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"STRICT 5, MODERATE 10, RELAXED 15"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}}],"type":"tbody","location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":297}}}],"type":"table","location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":297}}},{"$$mdtype":"Node","attributes":{},"children":[],"type":"hr","location":{"file":"_partials/js-camera-kit.md","start":{"line":298},"end":{"line":299}}},{"$$mdtype":"Node","attributes":{"level":4},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Lighting Control"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":300},"end":{"line":301}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":300},"end":{"line":301}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":300},"end":{"line":301}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Defines acceptable lighting quality and uniformity."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":302},"end":{"line":303}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":302},"end":{"line":303}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":302},"end":{"line":303}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Parameter"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Allowed Range"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Preset Defaults"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}}],"type":"thead","location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"lighting_lower_threshold"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Minimum lighting level"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"0.55 to 1.0"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"STRICT 0.8, MODERATE 0.7, RELAXED 0.55"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"lighting_upper_threshold"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Maximum lighting level"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"0.8 to 1.0"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"STRICT 0.9, MODERATE 0.85, RELAXED 0.8"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"lighting_uneven_threshold"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Maximum luma difference between eyes"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"0.0 to 0.2"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"STRICT 0.1, MODERATE 0.15, RELAXED 0.2"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"tbody","location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":309}}}],"type":"table","location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":309}}},{"$$mdtype":"Node","attributes":{},"children":[],"type":"hr","location":{"file":"_partials/js-camera-kit.md","start":{"line":310},"end":{"line":311}}},{"$$mdtype":"Node","attributes":{"level":3},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Validation Rules"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":312},"end":{"line":313}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":312},"end":{"line":313}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":312},"end":{"line":313}}},{"$$mdtype":"Node","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Custom values must not be less restrictive than RELAXED preset values."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":314},"end":{"line":315}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":314},"end":{"line":315}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":314},"end":{"line":315}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Only specified fields in "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":315},"end":{"line":316}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"qualityOverrides"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":315},"end":{"line":316}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" are applied."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":315},"end":{"line":316}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":315},"end":{"line":316}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":315},"end":{"line":316}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"All unspecified parameters default to the selected preset."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":316},"end":{"line":317}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":316},"end":{"line":317}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":316},"end":{"line":319}}}],"type":"list","location":{"file":"_partials/js-camera-kit.md","start":{"line":314},"end":{"line":319}}},{"$$mdtype":"Node","attributes":{},"children":[],"type":"hr","location":{"file":"_partials/js-camera-kit.md","start":{"line":319},"end":{"line":320}}},{"$$mdtype":"Node","attributes":{"level":2},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Detection Modes"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":321},"end":{"line":322}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":321},"end":{"line":322}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":321},"end":{"line":322}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Configure the "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":323},"end":{"line":324}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"faceDetectionMode"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":323},"end":{"line":324}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" in "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":323},"end":{"line":324}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"YMK.init()"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":323},"end":{"line":324}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" to suit your specific use case."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":323},"end":{"line":324}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":323},"end":{"line":324}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":323},"end":{"line":324}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Mode"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":325},"end":{"line":326}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":325},"end":{"line":326}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":325},"end":{"line":326}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":325},"end":{"line":326}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":325},"end":{"line":326}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":325},"end":{"line":326}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":325},"end":{"line":326}}}],"type":"thead","location":{"file":"_partials/js-camera-kit.md","start":{"line":325},"end":{"line":326}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"makeup"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":327},"end":{"line":328}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":327},"end":{"line":328}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":327},"end":{"line":328}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Standard camera mode for virtual cosmetic try-on."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":327},"end":{"line":328}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":327},"end":{"line":328}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":327},"end":{"line":328}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":327},"end":{"line":328}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"skincare"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":328},"end":{"line":329}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":328},"end":{"line":329}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":328},"end":{"line":329}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Standard skin analysis mode, close-up face capture. Support AI Skin Analysis and AI Skin Simulation."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":328},"end":{"line":329}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":328},"end":{"line":329}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":328},"end":{"line":329}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":328},"end":{"line":329}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"hdskincare"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":329},"end":{"line":330}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":329},"end":{"line":330}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":329},"end":{"line":330}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"High-definition capture for AI skin analysis using webcams with a minimum resolution of 2560 pixels on the longer side, subject to device support."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":329},"end":{"line":330}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":329},"end":{"line":330}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":329},"end":{"line":330}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":329},"end":{"line":330}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"shadefinder"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":330},"end":{"line":331}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":330},"end":{"line":331}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":330},"end":{"line":331}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Skin Tone Analysis front-face capture."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":330},"end":{"line":331}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":330},"end":{"line":331}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":330},"end":{"line":331}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":330},"end":{"line":331}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"facereshape"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":331},"end":{"line":332}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":331},"end":{"line":332}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":331},"end":{"line":332}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"AI Face Reshape capture and AI Face Lift."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":331},"end":{"line":332}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":331},"end":{"line":332}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":331},"end":{"line":332}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":331},"end":{"line":332}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"hairlength"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":332},"end":{"line":333}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":332},"end":{"line":333}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":332},"end":{"line":333}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Full hair-length capture (from a distance)."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":332},"end":{"line":333}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":332},"end":{"line":333}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":332},"end":{"line":333}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":332},"end":{"line":333}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"hairfrizziness"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":333},"end":{"line":334}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":333},"end":{"line":334}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":333},"end":{"line":334}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"3-phase capture: front, right-turn, left-turn."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":333},"end":{"line":334}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":333},"end":{"line":334}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":333},"end":{"line":334}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":333},"end":{"line":334}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"hairtype"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":334},"end":{"line":335}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":334},"end":{"line":335}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":334},"end":{"line":335}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Same 3-phase multi-angle capture flow."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":334},"end":{"line":335}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":334},"end":{"line":335}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":334},"end":{"line":335}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":334},"end":{"line":335}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"hairdensity"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":335},"end":{"line":336}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":335},"end":{"line":336}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":335},"end":{"line":336}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"A 45‑degree downward head‑angle photograph."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":335},"end":{"line":336}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":335},"end":{"line":336}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":335},"end":{"line":336}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":335},"end":{"line":336}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"ring"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":336},"end":{"line":337}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":336},"end":{"line":337}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":336},"end":{"line":337}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Hand capture for ring virtual try‑on."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":336},"end":{"line":337}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":336},"end":{"line":337}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":336},"end":{"line":337}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":336},"end":{"line":337}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"wrist"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":337},"end":{"line":338}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":337},"end":{"line":338}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":337},"end":{"line":338}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Wrist capture for watch or bracelet virtual try‑on."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":337},"end":{"line":338}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":337},"end":{"line":338}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":337},"end":{"line":338}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":337},"end":{"line":338}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"necklace"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":338},"end":{"line":339}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":338},"end":{"line":339}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":338},"end":{"line":339}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Selfie capture for necklace try-on."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":338},"end":{"line":339}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":338},"end":{"line":339}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":338},"end":{"line":339}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":338},"end":{"line":339}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"earring"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":339},"end":{"line":340}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":339},"end":{"line":340}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":339},"end":{"line":340}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Selfie capture for earring virtual try-on."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":339},"end":{"line":340}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":339},"end":{"line":340}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":339},"end":{"line":340}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":339},"end":{"line":340}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"teethwhiten"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":340},"end":{"line":341}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":340},"end":{"line":341}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":340},"end":{"line":341}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Front‑facing selfie that detects whether teeth are visible; photo taken only when detected."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":340},"end":{"line":341}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":340},"end":{"line":341}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":340},"end":{"line":341}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":340},"end":{"line":341}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"nail"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":341},"end":{"line":342}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":341},"end":{"line":342}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":341},"end":{"line":342}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Hand capture for nails virtual try‑on."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":341},"end":{"line":342}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":341},"end":{"line":342}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":341},"end":{"line":342}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":341},"end":{"line":342}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"comprehensive"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":342},"end":{"line":343}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":342},"end":{"line":343}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":342},"end":{"line":343}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Photo to be used simultaneously for AI Makeup, AI Skin Analysis, and AI Facial Attributes & Ratio Analysis."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":342},"end":{"line":343}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":342},"end":{"line":343}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":342},"end":{"line":343}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":342},"end":{"line":343}}}],"type":"tbody","location":{"file":"_partials/js-camera-kit.md","start":{"line":327},"end":{"line":343}}}],"type":"table","location":{"file":"_partials/js-camera-kit.md","start":{"line":325},"end":{"line":343}}},{"$$mdtype":"Node","attributes":{},"children":[],"type":"hr","location":{"file":"_partials/js-camera-kit.md","start":{"line":344},"end":{"line":345}}},{"$$mdtype":"Node","attributes":{"level":2},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Events Reference"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":346},"end":{"line":347}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":346},"end":{"line":347}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":346},"end":{"line":347}}},{"$$mdtype":"Node","attributes":{"level":3},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Lifecycle & Status Events"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":348},"end":{"line":349}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":348},"end":{"line":349}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":348},"end":{"line":349}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Event"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":350},"end":{"line":351}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":350},"end":{"line":351}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":350},"end":{"line":351}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":350},"end":{"line":351}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":350},"end":{"line":351}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":350},"end":{"line":351}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":350},"end":{"line":351}}}],"type":"thead","location":{"file":"_partials/js-camera-kit.md","start":{"line":350},"end":{"line":351}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"opened"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":352},"end":{"line":353}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":352},"end":{"line":353}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":352},"end":{"line":353}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Module opened."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":352},"end":{"line":353}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":352},"end":{"line":353}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":352},"end":{"line":353}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":352},"end":{"line":353}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"loading"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":353},"end":{"line":354}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":353},"end":{"line":354}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":353},"end":{"line":354}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Loading progress (0–100)."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":353},"end":{"line":354}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":353},"end":{"line":354}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":353},"end":{"line":354}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":353},"end":{"line":354}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"loaded"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":354},"end":{"line":355}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":354},"end":{"line":355}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":354},"end":{"line":355}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Camera stream loaded onto canvas."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":354},"end":{"line":355}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":354},"end":{"line":355}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":354},"end":{"line":355}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":354},"end":{"line":355}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"closed"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":355},"end":{"line":356}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":355},"end":{"line":356}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":355},"end":{"line":356}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Module closed."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":355},"end":{"line":356}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":355},"end":{"line":356}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":355},"end":{"line":356}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":355},"end":{"line":356}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"faceDetectionStarted"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":356},"end":{"line":357}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":356},"end":{"line":357}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":356},"end":{"line":357}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"User enters the detection UI."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":356},"end":{"line":357}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":356},"end":{"line":357}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":356},"end":{"line":357}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":356},"end":{"line":357}}}],"type":"tbody","location":{"file":"_partials/js-camera-kit.md","start":{"line":352},"end":{"line":357}}}],"type":"table","location":{"file":"_partials/js-camera-kit.md","start":{"line":350},"end":{"line":357}}},{"$$mdtype":"Node","attributes":{"level":3},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Camera Events"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":358},"end":{"line":359}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":358},"end":{"line":359}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":358},"end":{"line":359}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Event"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":360},"end":{"line":361}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":360},"end":{"line":361}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":360},"end":{"line":361}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":360},"end":{"line":361}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":360},"end":{"line":361}}}],"type":"th","location":{"file":"_partials/js-camera-kit.md","start":{"line":360},"end":{"line":361}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":360},"end":{"line":361}}}],"type":"thead","location":{"file":"_partials/js-camera-kit.md","start":{"line":360},"end":{"line":361}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"cameraOpened"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":362},"end":{"line":363}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":362},"end":{"line":363}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":362},"end":{"line":363}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Webcam opened successfully."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":362},"end":{"line":363}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":362},"end":{"line":363}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":362},"end":{"line":363}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":362},"end":{"line":363}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"cameraClosed"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":363},"end":{"line":364}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":363},"end":{"line":364}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":363},"end":{"line":364}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Webcam closed."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":363},"end":{"line":364}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":363},"end":{"line":364}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":363},"end":{"line":364}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":363},"end":{"line":364}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"cameraFailed"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Permission denied or no webcam found. Error codes include "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"\"error_resolution_unsupported\""},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":", "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"\"error_permission_denied\""},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":", "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"\"error_access_failed\""},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"unsupportedResolution"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":365},"end":{"line":366}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":365},"end":{"line":366}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":365},"end":{"line":366}}},{"$$mdtype":"Node","attributes":{"align":"left"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Fired when the device resolution does not meet the minimum requirements for the selected mode."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":365},"end":{"line":366}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":365},"end":{"line":366}}}],"type":"td","location":{"file":"_partials/js-camera-kit.md","start":{"line":365},"end":{"line":366}}}],"type":"tr","location":{"file":"_partials/js-camera-kit.md","start":{"line":365},"end":{"line":366}}}],"type":"tbody","location":{"file":"_partials/js-camera-kit.md","start":{"line":362},"end":{"line":366}}}],"type":"table","location":{"file":"_partials/js-camera-kit.md","start":{"line":360},"end":{"line":366}}},{"$$mdtype":"Node","attributes":{"level":3},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Detection Events"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":367},"end":{"line":368}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":367},"end":{"line":368}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":367},"end":{"line":368}}},{"$$mdtype":"Node","attributes":{"level":4},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"faceQualityChanged"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":369},"end":{"line":370}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":369},"end":{"line":370}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":369},"end":{"line":370}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Fires continuously during detection as quality metrics update."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":370},"end":{"line":371}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":370},"end":{"line":371}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":370},"end":{"line":371}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Example Payload:"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":372},"end":{"line":373}}}],"type":"strong","location":{"file":"_partials/js-camera-kit.md","start":{"line":372},"end":{"line":373}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":372},"end":{"line":373}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":372},"end":{"line":373}}},{"$$mdtype":"Node","attributes":{"content":"{\n  \"hasFace\": true,\n  \"position\": \"good\",\n  \"frontal\": \"good\",\n  \"lighting\": \"ok\"\n}\n","language":"json"},"children":[{"$$mdtype":"Node","attributes":{"content":"{\n  \"hasFace\": true,\n  \"position\": \"good\",\n  \"frontal\": \"good\",\n  \"lighting\": \"ok\"\n}\n"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":373},"end":{"line":381}}}],"type":"fence","location":{"file":"_partials/js-camera-kit.md","start":{"line":373},"end":{"line":381}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Field Definitions:"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":382},"end":{"line":383}}}],"type":"strong","location":{"file":"_partials/js-camera-kit.md","start":{"line":382},"end":{"line":383}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":382},"end":{"line":383}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":382},"end":{"line":383}}},{"$$mdtype":"Node","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"hasFace"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":383},"end":{"line":384}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":": ("},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":383},"end":{"line":384}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"boolean"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":383},"end":{"line":384}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":") Whether a face is detected."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":383},"end":{"line":384}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":383},"end":{"line":384}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":383},"end":{"line":384}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"position"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":": ("},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"string"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":") Face distance/size quality ("},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"\"good\""},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":", "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"\"notgood\""},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":", "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"\"toosmall\""},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":", "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"\"outofboundary\""},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":")."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"frontal"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":385},"end":{"line":386}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":": ("},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":385},"end":{"line":386}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"string"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":385},"end":{"line":386}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":") Whether user is facing forward ("},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":385},"end":{"line":386}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"\"good\""},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":385},"end":{"line":386}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":", "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":385},"end":{"line":386}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"\"notgood\""},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":385},"end":{"line":386}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":")."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":385},"end":{"line":386}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":385},"end":{"line":386}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":385},"end":{"line":386}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"lighting"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":386},"end":{"line":387}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":": ("},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":386},"end":{"line":387}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"string"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":386},"end":{"line":387}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":") Lighting strength ("},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":386},"end":{"line":387}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"\"good\""},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":386},"end":{"line":387}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":", "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":386},"end":{"line":387}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"\"ok\""},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":386},"end":{"line":387}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":", "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":386},"end":{"line":387}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"\"notgood\""},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":386},"end":{"line":387}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":")."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":386},"end":{"line":387}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":386},"end":{"line":387}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":386},"end":{"line":388}}}],"type":"list","location":{"file":"_partials/js-camera-kit.md","start":{"line":383},"end":{"line":388}}},{"$$mdtype":"Node","attributes":{"level":4},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"faceDetectionCaptured"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":388},"end":{"line":389}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":388},"end":{"line":389}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":388},"end":{"line":389}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Fired "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":389},"end":{"line":390}}},{"$$mdtype":"Node","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"after"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":389},"end":{"line":390}}}],"type":"strong","location":{"file":"_partials/js-camera-kit.md","start":{"line":389},"end":{"line":390}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" all required face quality validation checks have passed and the Camera Kit has successfully completed the capture workflow. Depending on the mode, this may contain one or multiple images."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":389},"end":{"line":390}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":389},"end":{"line":390}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":389},"end":{"line":390}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Example Payload:"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":391},"end":{"line":392}}}],"type":"strong","location":{"file":"_partials/js-camera-kit.md","start":{"line":391},"end":{"line":392}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":391},"end":{"line":392}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":391},"end":{"line":392}}},{"$$mdtype":"Node","attributes":{"content":"{\n  \"mode\": \"makeup\",\n  \"images\": [\n    {\n      \"phase\": 0,\n      \"image\": \"data:image/jpeg;base64,...\",\n      \"width\": 500,\n      \"height\": 500\n    }\n  ]\n}\n","language":"json"},"children":[{"$$mdtype":"Node","attributes":{"content":"{\n  \"mode\": \"makeup\",\n  \"images\": [\n    {\n      \"phase\": 0,\n      \"image\": \"data:image/jpeg;base64,...\",\n      \"width\": 500,\n      \"height\": 500\n    }\n  ]\n}\n"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":392},"end":{"line":405}}}],"type":"fence","location":{"file":"_partials/js-camera-kit.md","start":{"line":392},"end":{"line":405}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Image Object Fields:"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":406},"end":{"line":407}}}],"type":"strong","location":{"file":"_partials/js-camera-kit.md","start":{"line":406},"end":{"line":407}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":406},"end":{"line":407}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":406},"end":{"line":407}}},{"$$mdtype":"Node","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"phase"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":407},"end":{"line":408}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":": ("},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":407},"end":{"line":408}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"integer"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":407},"end":{"line":408}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":") Zero-based index representing the capture step."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":407},"end":{"line":408}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":407},"end":{"line":408}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":407},"end":{"line":408}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"image"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":408},"end":{"line":409}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":": ("},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":408},"end":{"line":409}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"string"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":408},"end":{"line":409}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" | "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":408},"end":{"line":409}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"Blob"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":408},"end":{"line":409}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":") The captured image data."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":408},"end":{"line":409}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":408},"end":{"line":409}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":408},"end":{"line":409}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"width"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":409},"end":{"line":410}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":": ("},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":409},"end":{"line":410}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"integer"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":409},"end":{"line":410}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":") Pixel width of the captured image."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":409},"end":{"line":410}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":409},"end":{"line":410}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":409},"end":{"line":410}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"height"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":410},"end":{"line":411}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":": ("},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":410},"end":{"line":411}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"integer"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":410},"end":{"line":411}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":") Pixel height of the captured image."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":410},"end":{"line":411}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":410},"end":{"line":411}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":410},"end":{"line":412}}}],"type":"list","location":{"file":"_partials/js-camera-kit.md","start":{"line":407},"end":{"line":412}}},{"$$mdtype":"Node","attributes":{},"children":[],"type":"hr","location":{"file":"_partials/js-camera-kit.md","start":{"line":412},"end":{"line":413}}},{"$$mdtype":"Node","attributes":{"level":2},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Configuration Notes"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":414},"end":{"line":415}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":414},"end":{"line":415}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":414},"end":{"line":415}}},{"$$mdtype":"Node","attributes":{"level":3},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Quality Requirements"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":416},"end":{"line":417}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":416},"end":{"line":417}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":416},"end":{"line":417}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"To ensure successful capture:"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":417},"end":{"line":418}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":417},"end":{"line":418}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":417},"end":{"line":418}}},{"$$mdtype":"Node","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Distance:"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":418},"end":{"line":419}}}],"type":"strong","location":{"file":"_partials/js-camera-kit.md","start":{"line":418},"end":{"line":419}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" Ensure correct face distance (not too zoomed in/out)."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":418},"end":{"line":419}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":418},"end":{"line":419}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":418},"end":{"line":419}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Angle:"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":419},"end":{"line":420}}}],"type":"strong","location":{"file":"_partials/js-camera-kit.md","start":{"line":419},"end":{"line":420}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" Ensure frontal face angle."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":419},"end":{"line":420}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":419},"end":{"line":420}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":419},"end":{"line":420}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Lighting:"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":420},"end":{"line":421}}}],"type":"strong","location":{"file":"_partials/js-camera-kit.md","start":{"line":420},"end":{"line":421}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" Provide sufficient lighting (avoid shadows or dark environments)."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":420},"end":{"line":421}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":420},"end":{"line":421}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":420},"end":{"line":422}}}],"type":"list","location":{"file":"_partials/js-camera-kit.md","start":{"line":418},"end":{"line":422}}},{"$$mdtype":"Node","attributes":{"level":3},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Multi-Phase Capture"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":422},"end":{"line":423}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":422},"end":{"line":423}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":422},"end":{"line":423}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Modes like "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":423},"end":{"line":424}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"hairtype"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":423},"end":{"line":424}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" or "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":423},"end":{"line":424}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"hairfrizziness"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":423},"end":{"line":424}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" require multiple steps:"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":423},"end":{"line":424}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":423},"end":{"line":424}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":423},"end":{"line":424}}},{"$$mdtype":"Node","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Front face"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":424},"end":{"line":425}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":424},"end":{"line":425}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":424},"end":{"line":425}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Turn right"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":425},"end":{"line":426}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":425},"end":{"line":426}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":425},"end":{"line":426}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Turn left"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":426},"end":{"line":427}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":426},"end":{"line":427}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":426},"end":{"line":428}}}],"type":"list","location":{"file":"_partials/js-camera-kit.md","start":{"line":424},"end":{"line":428}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Ensure your event handling logic accounts for multiple images in the "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":428},"end":{"line":429}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"faceDetectionCaptured"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":428},"end":{"line":429}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" result array."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":428},"end":{"line":429}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":428},"end":{"line":429}}}],"type":"paragraph","location":{"file":"_partials/js-camera-kit.md","start":{"line":428},"end":{"line":429}}},{"$$mdtype":"Node","attributes":{"level":3},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Advanced Configuration"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":430},"end":{"line":431}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":430},"end":{"line":431}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":430},"end":{"line":431}}},{"$$mdtype":"Node","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Flip Button:"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":431},"end":{"line":432}}}],"type":"strong","location":{"file":"_partials/js-camera-kit.md","start":{"line":431},"end":{"line":432}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" Use "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":431},"end":{"line":432}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"hideFlipCameraButton: true"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":431},"end":{"line":432}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" to enforce a specific camera orientation if your UX requires it."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":431},"end":{"line":432}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":431},"end":{"line":432}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":431},"end":{"line":432}}},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Capture Delay:"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":432},"end":{"line":433}}}],"type":"strong","location":{"file":"_partials/js-camera-kit.md","start":{"line":432},"end":{"line":433}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" Adjust "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":432},"end":{"line":433}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"countingDuration"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":432},"end":{"line":433}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":" (default "},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":432},"end":{"line":433}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":"800"},"children":[],"type":"code","location":{"file":"_partials/js-camera-kit.md","start":{"line":432},"end":{"line":433}}},{"$$mdtype":"Node","inline":true,"attributes":{"content":") to give users more time to review the capture before auto-submission occurs."},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":432},"end":{"line":433}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":432},"end":{"line":433}}}],"type":"item","location":{"file":"_partials/js-camera-kit.md","start":{"line":432},"end":{"line":434}}}],"type":"list","location":{"file":"_partials/js-camera-kit.md","start":{"line":431},"end":{"line":434}}},{"$$mdtype":"Node","attributes":{"level":3},"children":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Minimum Recommended Quality"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":434},"end":{"line":435}}}],"type":"inline","location":{"file":"_partials/js-camera-kit.md","start":{"line":434},"end":{"line":435}}}],"type":"heading","location":{"file":"_partials/js-camera-kit.md","start":{"line":434},"end":{"line":435}}},{"$$mdtype":"Node","attributes":{"content":"const minQuality = {\n  hasFace: true,\n  area: \"good\",\n  frontal: \"good\",\n  lighting: \"ok\"\n};\n","language":"javascript"},"children":[{"$$mdtype":"Node","attributes":{"content":"const minQuality = {\n  hasFace: true,\n  area: \"good\",\n  frontal: \"good\",\n  lighting: \"ok\"\n};\n"},"children":[],"type":"text","location":{"file":"_partials/js-camera-kit.md","start":{"line":435},"end":{"line":443}}}],"type":"fence","location":{"file":"_partials/js-camera-kit.md","start":{"line":435},"end":{"line":443}}}],"type":"document"}},"variables":{"rbac":{"teams":["anonymous"]},"user":{},"remoteAddr":{"hostname":"docs.perfectcorp.com","port":4000,"ipAddress":"216.73.216.199"},"lang":"zh-CN","env":{"PUBLIC_REDOCLY_BRANCH_NAME":"master"}}},"pagePropGetterError":{"message":"","name":""}},"slug":"/zh-cn/reference/makeup_vto","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}