Build identity-preserving professional headshot prompts and provider-ready generation payloads from a single photo input. Use when users ask to transform selfies into professional portraits, resume photos, or ID-style images with strict realism and safety constraints.
Use this skill when the user wants:
Do not use this skill for:
Expect a JSON request with:
image_uri: local file path, URL, or data URI to the source photopreset_id: style preset ID from references/presets.jsonoutput_ratio: one of 9:16, 4:5, 1:1, 2:2language: or enzhconstraints: additional user constraintsscripts/validate_request.cjs.scripts/compose_prompt.cjs.Use this when you need layer parsing, identity extraction, and staged refinement.
node skills/go-photo-studio/scripts/stage-a-layer-parse.cjs --input request.json --provider gemini > stage-a.json
node skills/go-photo-studio/scripts/stage-b-identity-extract.cjs --input stage-a.json --request request.json --provider gemini > stage-b.json
node skills/go-photo-studio/scripts/stage-c-guided-stylization.cjs --request request.json --stage-a stage-a.json --stage-b stage-b.json > stage-c.json
node skills/go-photo-studio/scripts/stage-d-refine-export.cjs --request request.json --stage-c stage-c.json > stage-d.json
node skills/go-photo-studio/scripts/stage-e-verify-generation.cjs --request request.json --generated output.png --provider gemini --thresholds skills/go-photo-studio/references/verification-thresholds.json > stage-e.json
If stage-e.json returns pass: false, retry generation with stronger negative constraints before accepting output.
Validate:
node skills/go-photo-studio/scripts/validate_request.cjs --input request.json
Compose payload:
node skills/go-photo-studio/scripts/compose_prompt.cjs --input request.json
Run end-to-end with retry gate:
node skills/go-photo-studio/scripts/run-pipeline.cjs --request request.json --generated output.png --provider gemini
For automatic retries with regenerated outputs, pass --generate-cmd:
node skills/go-photo-studio/scripts/run-pipeline.cjs --request request.json --provider gemini --generate-cmd "your_generator --request {request} --stage-c {stage_c} --stage-d {stage_d} --output {output}"
Minimal built-in generator for real provider-backed runs:
node skills/go-photo-studio/scripts/generate-with-provider.cjs --request request.json --stage-c stage-c.json --stage-d stage-d.json --provider gemini --output output.png
Build quality monitoring dashboard from run history:
node skills/go-photo-studio/scripts/build-quality-dashboard.cjs --history .pipeline-history/runs.ndjson
Supported --provider values: gemini, openai, anthropic.
Calibrate thresholds from labeled eval records:
node skills/go-photo-studio/scripts/calibrate-thresholds.cjs --input skills/go-photo-studio/references/eval/eval.json --output skills/go-photo-studio/references/verification-thresholds.json
The composed payload must include:
system_prompt: identity and realism rulesstyle_prompt: preset-driven style constraintsnegative_constraints: forbidden outcomesmetadata: preset, category, ratio, language, versionreferences/presets.jsonreferences/policy.mdreferences/integration.mdreferences/pipeline.mdreferences/verification-thresholds.jsonreferences/status.mdreferences/eval/eval.json and references/eval/README.mdexamples/tests/smoke.cjs../../ARCHITECTURE.mdscripts/requirements.txtscripts/embedding-identity-score.pyscripts/build-quality-dashboard.cjs