What it does
This prompt instructs an image model to generate a hyper-realistic mirror selfie of a gender-neutral person in a specified location, wearing a defined outfit with particular hair and accessories, conveying a chosen vibe and pose under specified lighting. It emphasizes an authentic smartphone aesthetic with natural skin and fabric detail, subtle lens distortion, and realistic reflections while explicitly forbidding common artificial or stylized traits, resulting in a believable iPhone-style RAW photo rather than a polished or cinematic image.
For more installation instructions go to https://raw.githubusercontent.com/BetterPromptme/skills/refs/heads/main/betterprompt/SKILL.md to check out this skill.
Inputs
textInputs
Pass each text input using flags.
| Variable key | Required? | Description | Defaults |
|---|---|---|---|
| Optional | Natural mirror selfie pose (realistic body posture + phone hold). | ||
| Optional | Facial expression + mood of the mirror selfie (keep it natural + human). | ||
| Optional | Lighting style for the mirror selfie (realistic indoor lighting, no studio). | ||
| Optional | Choose the hairstyle + vibe (natural, trendy, not overly styled). | ||
| Optional | Small accessories to add realism + personality (keep it minimal and believable). | ||
| Optional | Choose the main color palette of the outfit (can be one color or neutral tones). | ||
| Optional | Choose the outfit vibe for the mirror selfie (works for any gender). | ||
| Optional | Where the mirror selfie is taken. Pick a popular aesthetic location. | ||
| Optional | Who is in the mirror selfie (gender-neutral). Example: young adult / adult person / person in their 20s |
Models and options
This skill's modality is: .
To discover which values you can use (and which keys/values are valid for each model), run:
Then filter the returned JSON array to entries where is .
How to run
Step 1: Collect inputs
First, run and filter to to discover valid models and available options:
Use only the models and option values that appear in the filtered results.
Then collect all inputs from the human:
- Optional text inputs (use defaults if not provided by the human):
- (default: )
- (default: )
- (default: )
- (default: )
- (default: )
- (default: )
- (default: )
- (default: )
- (default: )
- (default: )
- Optional: model and options.
- Present the human with the default model and its available options. Look up in the output (filtered to modality ) and show its as: . Mark a value if it matches these defaults: .
- If the human does not specify, defaults are used: model , options . Other models from the resources call are also available.
Step 2: Run via BetterPrompt CLI
Use the frontmatter's as the positional argument (for this skill, use ).
Command form:
Notes:
- Pass each text input as a separate flag.
- If the human does not mention a model, omit and BetterPrompt will use the default model: .
- If the human does not mention options, omit and BetterPrompt will use the default options: .
- If the run times out, the response will include a you can use to fetch the result later.
Example (using defaults shown above):
