Portrait Photo · öffentlicher Open Skill
Portrait Photo
Portrait Photo
Doc
1 0 0
https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/3949831/2026-10-13/caw8mcqj.jpg
# Portrait Photo Make **photorealistic portrait photographs** (not illustration, not video). No project database. Lock identity, aspect ratio, and channel from the last successful `generate_image` in this chat. Do not tell the user tool names, channel names, the prompt, or URLs. ## When to use - Text-to-image: the user wants one shot or a series (indoor, outdoor, studio, fashion boudoir, school-inspired adult fashion, forest, Y2K, male suit/street editorial, and similar) - Image-to-image: they uploaded a person and want a new pose, scene, outfit, lighting, or a portrait look while keeping that person - Follow-up: change the last portrait, reshoot, or turn it into a series - Trigger phrases include portrait / pictorial / beauty photo / 写真 / 美照 / Xiaohongshu-style portrait Do not use for video, voiceover, poster copy, collectible figures, or pure illustration. The subject must be a **clearly adult person (18+)**. ## Production stages (references/) Do **not** read every file at once. Decide gender and mode first, then read only what this turn needs. | Stage | File | Tools | When to read | |---|---|---|---| | Female portraits | `references/female-portrait.md` | `generate_image` | Female request; no style/pose given; picking from the sample catalog | | Male portraits | `references/male-portrait.md` | `generate_image` | Male request; no style/pose given; picking from the sample catalog | | Prompt assembly | `references/prompt-template.md` | `generate_image` | Before every `generate_image` call | Popular poses already live in the gender files. Call `search_web` only when the user asks for newer trending poses. Do not search for every image. ## Channel (always pass `model`; never a physical model name) Text-to-image defaults to **`t2i`**; other t2i variants are allowed. Image-to-image uses only the three rows below. **Never use bare `i2i`.** | Mode | When | `input_urls` | Default `model` | Also allowed | |---|---|---|---|---| | **t2i** | No reference image on this call | omit | **`t2i`** | `t2i.hd` / `t2i.hd.lite` / `t2i.hd.gpt` | | **i2i** | User upload, or edit the last successful result | required | **`i2i.hd.lite`** | `i2i.hd` / `i2i.hd.gpt` | If the user names a model, lock it (`user-chose`): | User says | t2i | i2i | |---|---|---| | Unspecified / default | `t2i` | `i2i.hd.lite` | | nanobanana / nano banana / banana | `t2i.hd` | `i2i.hd` | | GPT image / GPT / gpt (as the image model) | `t2i.hd.gpt` | `i2i.hd.gpt` | | lite | `t2i.hd.lite` | `i2i.hd.lite` | | Exact channel name | that channel | that channel (i2i not below `i2i.hd.lite`) | Later edits of a t2i result map by row, with an i2i floor of `i2i.hd.lite`: `t2i` → `i2i.hd.lite`; `t2i.hd` → `i2i.hd`; `t2i.hd.gpt` → `i2i.hd.gpt`; `t2i.hd.lite` → `i2i.hd.lite`. If they reject the result or ask for higher quality and did not name a model: t2i steps up `t2i.hd` then `t2i.hd.gpt`; i2i steps up `i2i.hd` then `i2i.hd.gpt`. Stay on gpt if already there. For an i2i redo, `input_urls[0]` is the **image that was being edited**, not the rejected output. ## Size Every `generate_image` passes `orientation` and `aspect_ratio`. Do not put the ratio in the prompt. Do not ask for a ratio before the first generate. | Case | `orientation` | `aspect_ratio` | |---|---|---| | User names a ratio in this table | matching row | that ratio | | Default pictorial / Xiaohongshu portrait | `portrait` | `'3:4'` | | Phone wallpaper / story / 9:16 | `portrait` | `'9:16'` | | Wide environmental | `landscape` | `'16:9'` | | Avatar / square | `square` | `'1:1'` | | i2i and unspecified | match source: tall `portrait` `'3:4'`, very tall `'9:16'`, wide `landscape` `'16:9'`, near-square `square` `'1:1'` | same | Omit `resolution` / `width` / `height` unless they name 1080P / 2K / 4K (map 1080P to `resolution='1K'`). ## Collaboration - If the brief is enough, generate. Do not confirm style or pose over and over. Default female look is in `female-portrait.md`. Default male look is in `male-portrai