# API Reference AI skincare analysis technology harnesses the power of artificial intelligence to analyze various aspects of the skin, from texture and pigmentation to hydration and pore size, with remarkable precision. By employing advanced algorithms and machine learning, AI skin analysis can offer personalized recommendations and skincare routines tailored to an individual's unique skin type and concerns. ## Create a new file. - [POST /s2s/v2.0/file/skin-analysis](https://docs.perfectcorp.com/api_references/skin_analysis/api-reference/paths/~1s2s~1v2.0~1file~1skin-analysis/post.md): To upload a new file, you'll first need to use the File API. It will give you a URL – use that URL to upload your file. Once the upload is finished, you can use the file_id from the same response to start using our AI features. ## Run a Skin Analysis task. - [POST /s2s/v2.0/task/skin-analysis](https://docs.perfectcorp.com/api_references/skin_analysis/api-reference/paths/~1s2s~1v2.0~1task~1skin-analysis/post.md): Create a skin analysis task using either a file_id (from the File API) or a publicly accessible image URL. The task will analyze various skin attributes based on the specified dst_actions. ## Check a Skin Analysis task status. - [GET /s2s/v2.0/task/skin-analysis/{task_id}](https://docs.perfectcorp.com/api_references/skin_analysis/api-reference/paths/~1s2s~1v2.0~1task~1skin-analysis~1%7Btask_id%7D/get.md) ## Create a new file V2.1. - [POST /s2s/v2.1/file/skin-analysis](https://docs.perfectcorp.com/api_references/skin_analysis/api-reference/paths/~1s2s~1v2.1~1file~1skin-analysis/post.md): To upload a new file, you'll first need to use the File API. It will give you a URL – use that URL to upload your file. Once the upload is finished, you can use the file_id from the same response to start using our AI features. ## Run a Skin Analysis V2.1 task. - [POST /s2s/v2.1/task/skin-analysis](https://docs.perfectcorp.com/api_references/skin_analysis/api-reference/paths/~1s2s~1v2.1~1task~1skin-analysis/post.md): 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. ## Check a Skin Analysis V2.1 task status. - [GET /s2s/v2.1/task/skin-analysis/{task_id}](https://docs.perfectcorp.com/api_references/skin_analysis/api-reference/paths/~1s2s~1v2.1~1task~1skin-analysis~1%7Btask_id%7D/get.md)