# Run a Skin Analysis V2.1 task. Once you start an AI task, you need to keep polling at given polling_interval to check its status until it shows either success or error because if you don't, the task will time out and when you try to check the status later, you'll get an InvalidTaskId error even if the task did finish successfully and your units will still be consumed. Endpoint: POST /s2s/v2.1/task/skin-analysis Security: BearerAuthenticationV2 ## Request fields (application/json): - `dst_actions` (array, required) The actions for Skin Analysis. There are 2 types of features: HD and SD. You can choose one or more features, either all in SD or all in HD. Note: HD and SD features cannot be mixed. HD features: - hd_redness: Measures skin redness severity. - hd_oiliness: Determines skin oiliness level. - hd_age_spot: Detects age spots and pigmentation. - hd_radiance: Evaluates skin radiance. - hd_moisture: Assesses skin hydration levels. - hd_dark_circle: Analyzes the presence of dark circles under the eyes. - hd_eye_bag: Detects eye bags. - hd_droopy_upper_eyelid: Measures upper eyelid drooping severity. - hd_droopy_lower_eyelid: Measures lower eyelid drooping severity. - hd_firmness: Evaluates skin firmness and elasticity. - hd_texture: Analyzes overall skin texture. - hd_acne: Detects acne presence. - hd_pore: Detects and evaluates pores in different facial regions (forehead, nose, cheek, whole). - hd_wrinkle: Measures the severity of wrinkles in various facial areas (forehead, glabellar, crowfeet, periocular, nasolabial, marionette, whole). - hd_tear_trough: Detects tear trough. - hd_skin_type: Evalutate skin type. SD features: - wrinkle: General wrinkle analysis. - droopy_upper_eyelid: Measures upper eyelid drooping severity. - droopy_lower_eyelid: Measures lower eyelid drooping severity. - firmness: Evaluates skin firmness and elasticity. - acne: Evaluates acne presence. - moisture: Measures skin hydration. - eye_bag: Detects eye bags. - dark_circle_v2: Analyzes dark circles. - age_spot: Detects age spots. - radiance: Evaluates skin brightness. - redness: Measures skin redness. - oiliness: Determines skin oiliness. - pore: Measures pore visibility. - texture: Analyzes overall skin texture. - tear_trough: Detects tear trough. - skin_type: Evalutate skin type. Enum: "hd_wrinkle", "hd_pore", "hd_texture", "hd_acne", "hd_oiliness", "hd_radiance", "hd_eye_bag", "hd_age_spot", "hd_dark_circle", "hd_droopy_upper_eyelid", "hd_droopy_lower_eyelid", "hd_firmness", "hd_moisture", "hd_redness", "hd_tear_trough", "hd_skin_type", "wrinkle", "pore", "texture", "acne", "oiliness", "radiance", "eye_bag", "age_spot", "dark_circle_v2", "droopy_upper_eyelid", "droopy_lower_eyelid", "firmness", "moisture", "redness", "tear_trough", "skin_type" - `miniserver_args` (object) - `miniserver_args.enable_mask_overlay` (boolean) Controls whether the mask is blended onto the image. True returns the overlaid image as a .jpg. False returns the raw mask as a .png. Default is false. - `miniserver_args.enable_dark_background_hd_pore` (boolean) Enable dark background for HD pore visualization - `miniserver_args.color_dark_background_hd_pore` (string) Color for HD pore dark background visualization (hex format) Example: "3D3D3D" - `miniserver_args.opacity_dark_background_hd_pore` (number) Opacity for HD pore dark background visualization Example: 0.4 - `miniserver_args.enable_dark_background_hd_wrinkle` (boolean) Enable dark background for HD wrinkle visualization - `miniserver_args.color_dark_background_hd_wrinkle` (string) Color for HD wrinkle dark background visualization (hex format) Example: "3D3D3D" - `miniserver_args.opacity_dark_background_hd_wrinkle` (number) Opacity for HD wrinkle dark background visualization Example: 0.4 - `format` (string) Response format of the analysis results. Default is 'zip'. - zip: Results will be packaged as a downloadable ZIP file containing a skinanalysisResult folder with score_info.json and all detection result images. The response will include a URL to download the ZIP file. - json: Results will be returned directly in the response body as JSON format. Note: The response schema differs between format=json and format=zip. Enum: "json", "zip" - `pf_camera_kit` (boolean) Example: true ## Response 200 fields (application/json): - `status` (integer) Response status Example: 200 - `data` (object) - `data.task_id` (string) ID of this task. Task result is valid to query by this ID for 24 hours. Example: "grH0CvsgXuAIHLUzD0V1Ol34hoet3R1tvdbtiVHrDb6_UqCLKIejAIajwxrhOAfe" ## Response 400 fields (application/json): - `status` (integer) Response status Example: 500 - `error` (string) Example: "Task execution timed out" ## Response 401 fields (application/json): - `status` (integer) Response status Example: 401 - `error` (string) Example: "Invalid API key" ## Response 429 fields (application/json): - `status` (integer) Response status Example: 429 - `error` (string) Example: "Rate limit exceeded"