Install
openclaw skills install @youcam-api/youcam-skin-analysis-expertAnalyze 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.
openclaw skills install @youcam-api/youcam-skin-analysis-expertAn 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 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.
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.)
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 https://yce.perfectcorp.com/api-console and set the
YOUCAM_API_KEY env var, or create credentials.json in the skill root (see
credentials.example.json for the format).python scripts/youcam_core.py cost --feature skin-analysis
(skin-analysis is tiered by SD/HD and number of concerns.)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)
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 <photo> \
--param format=json \
--param dst_actions='[<actions chosen in Q2, matching tier from Q1>]' \
--param miniserver_args='{"enable_mask_overlay": <true if overlay, false if mask>}'
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.
references/output-format.md exactly:
ui_score only); never invent conditions not present in the response.