Analyze skin tone and facial attributes from a single selfie using YouCam (Perfect Corp) AI. Returns skin/eye/eyebrow/lip/hair colors plus facial feature shapes and golden-ratio proportions, as a readable report. Use for "測膚色", "臉型分析", "facial attributes". Do NOT use for skin-condition scoring (that's skin-analysis-expert), makeup, or hair try-on.
Documents
Skin Analysis Expert
Try itAnalyze a person's skin from a single selfie using YouCam (Perfect Corp) AI. Returns 16 skin-condition scores plus skin type, as a readable report. Use when the user wants a skin analysis / skin report / skin score — incl. "幫我看膚質", "膚況分析", "how's my skin", "skin report". Do NOT use for skin-tone/facial attributes (that's facial-consultant), makeup, or hair.
What it does
Analyze a person's skin from a single selfie using YouCam (Perfect Corp) AI. Returns 16 skin-condition scores plus skin type, as a readable report. Use when the user wants a skin analysis / skin report / skin score — incl. "幫我看膚質", "膚況分析", "how's my skin", "skin report". Do NOT use for skin-tone/facial attributes (that's facial-consultant), makeup, or hair.
The skill document
Skin Analysis Expert
An analysis skill that calls one API (skin-analysis). There is no run.py: you (the
agent) run the flow described here through the shared engine youcam_core.py.
When to trigger
When the user wants to understand their skin condition / get a skin report or score. If they want skin tone, facial attributes, makeup, or hair, hand off to the matching skill.
Get the latest API spec (do this every run)
Read this documentation section and open its latest version subpage to get the current
endpoint / parameters / response fields:
https://docs.perfectcorp.com/reference/ai_skin_analysis.md
(e.g. the latest may be .../ai_skin_analysis/v2.1. If it is newer than api-fallback.yaml,
pass --version when calling.)
Prerequisites
- A clear, front-facing, single-person selfie with even lighting (jpg/jpeg/png).
- Run
python scripts/youcam_core.py validate-key(0 credits) to confirm the key. If it is not set, tell the user to get one at and set theYOUCAM_API_KEYenv var, or createcredentials.jsonin the skill root (seecredentials.example.jsonfor the format). - Before running, check the cost and tell the user how many credits it will use:
python scripts/youcam_core.py cost --feature skin-analysis(skin-analysis is tiered by SD/HD and number of concerns.)
Pre-run questionnaire (ask all 3 before running)
Ask the user these 3 questions before calling the API. Collect all answers first, then run once.
Q1 — Analysis tier
Would you like HD (high-detail, regional breakdowns) or SD (standard) analysis?
Q2 — Concerns to analyse
Which skin concerns would you like to check? Choose any combination, or say "all" for the full set.
# Concern HD action SD action 1 Spots (age spots) hd_age_spotage_spot2 Wrinkles hd_wrinklewrinkle3 Texture hd_texturetexture4 Dark circles hd_dark_circledark_circle_v25 Redness hd_rednessredness6 Pores hd_porepore7 Acne hd_acneacne8 Oiliness hd_oilinessoiliness9 Hydration hd_moisturemoisture10 Firmness hd_firmnessfirmness11 Droopy upper eyelid hd_droopy_upper_eyeliddroopy_upper_eyelid12 Droopy lower eyelid hd_droopy_lower_eyeliddroopy_lower_eyelid13 Eye bags hd_eye_bageye_bag14 Radiance hd_radianceradiance15 Tear trough hd_tear_troughtear_trough16 Skin type hd_skin_typeskin_typeNote: HD and SD actions cannot be mixed in a single call.
Q3 — Image output style
How would you like the result images?
- Overlay — the detection mask blended onto your photo (returns .jpg)
- Mask — the raw detection mask only (returns .png, default)
Run
Always use format=json. Build the command from the user's answers to Q1–Q3:
python scripts/youcam_core.py run --feature skin-analysis --src_file \
--param format=json \
--param dst_actions='[]' \
--param miniserver_args='{"enable_mask_overlay": }'
Example (HD, all concerns, overlay):
python scripts/youcam_core.py run --feature skin-analysis --src_file photo.jpg \
--param format=json \
--param dst_actions='["hd_wrinkle","hd_pore","hd_texture","hd_acne","hd_redness","hd_oiliness","hd_moisture","hd_radiance","hd_firmness","hd_dark_circle","hd_eye_bag","hd_tear_trough","hd_droopy_upper_eyelid","hd_droopy_lower_eyelid","hd_age_spot","hd_skin_type"]' \
--param miniserver_args='{"enable_mask_overlay": true}'
It returns scores. Interpret them with references/interpretation.md (note the direction
of ui_score vs raw_score) and assemble the report with references/output-format.md.
Output rules
- Follow the structure in
references/output-format.mdexactly:- 3 lowest-scoring concerns (worst first) — with scores, star ratings, actionable advice, and their images.
- 3 highest-scoring concerns (best first) — with scores, star ratings, positive note, and their images.
- Overall results — text only: skin type, full concern score table, and overall impression paragraph. No images.
- Closing disclaimer (required, verbatim from output-format.md).
- Report scores as returned (
ui_scoreonly); never invent conditions not present in the response. - If the API returns an error code (e.g. photo not compliant), give retake guidance instead of forcing a result.
Related skills
Diagnose hair-health metrics — density, type, frizziness, length — from a single selfie using YouCam (Perfect Corp) AI, and return one combined report. Use for "頭髮體檢", "髮質分析", "hair diagnostics", "hair health report". Do NOT use for hairstyle/color try-on (that's hair-color-style-advisor), skin, makeup, or clothes.
Recommend and preview makeup looks based on the user's face shape and skin tone, using YouCam (Perfect Corp) AI. Analyzes the selfie, suggests suitable looks, then renders a virtual makeup try-on image. Use for "推薦妝容", "幫我上妝", "makeup look", "virtual makeup". Do NOT use for skin-condition scoring, hair, or clothes.
Recommend a hairstyle and hair color based on the user's face shape and skin tone, then preview them with YouCam (Perfect Corp) AI. Use for "推薦髮型", "換髮色", "hairstyle advice", "hair color try-on". Do NOT use for hair health diagnostics (that's hair-diagnostics), skin, makeup, or clothes.
Analyze portrait photos to recommend the most flattering hairstyle based on face shape, facial features, hair texture, and personal style. Use when the user uploads a portrait/headshot photo and asks for hairstyle recommendations, haircut advice, or wants to see how they would look with a suggested
Analyzes an uploaded photograph, provides detailed feedback on exposure, focus, composition, lighting, and suggests concrete camera settings and shooting technique. Generates a simulated improved image based on the recommendations.