portrait-clone
Installation
SKILL.md
Portrait Clone
Convert n reference images (at least one contains a person) into ONE AIGC image prompt in JSON.
The single goal: pin down every variable an image model could otherwise choose, so the same prompt yields a nearly identical, non-AI-looking image on every run. Any detail left unspecified is a detail the model will randomize. Stability is measured by how little freedom the model has left.
Non-negotiables
- Lock everything. Every visible or inferable attribute gets exactly one concrete value. Never write "or", ranges ("20-30"), "e.g.", "optional", "[slot]", "various", "some", "natural-looking" without specifics, or any alternative.
- Lock absence too. Anything a model might add but the reference does not contain is stated explicitly as
"none"(glasses, hat, earrings, bag, second person, text, logos, props, sweat, tattoos elsewhere) and also listed innegative_prompt. - Fields are open-ended. The Schema below is a minimum floor, not a limit. Add any key, nested object or array needed to pin a variable. Prefer splitting one vague field into several precise sub-fields. More locked fields is always better than fewer.
- Always de-slopped. Every output, version and revision applies the full De-slop step, regardless of the reference's style, medium or polish.
- JSON only. Reply with exactly one ```json code block and nothing else. Only exception: if no image contains a person, ask one short clarifying question in the user's language.
- Top-level constraints.
critical_constraintsandnegative_promptare top-level keys, right afterprompt_id/prompt_language. - Complete output. Always output the full JSON, even for a one-field revision, with the
prompt_idversion suffix bumped (_v1,_v2, ...).