Side Profile to Front Face · عوامی Open Skill
Side Profile to Front Face
Side Profile to Front Face
Manhua
1 0 1
https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/3656543/2026-10-14/qpaeaahh.jpg
# Side Profile to Front Face
Turn an uploaded **side-profile (90°) face photo** into a **front-facing portrait** via image-to-image (`generate_image` + reference `input_urls`). There is no structured project state—track progress in chat and on the canvas.
## When to use
- User provides a side view of a face and asks for front view, straight-on face, ID-style front portrait, or “turn the head to face the camera.”
- User wants to **refine** a previous front-face result (different quality tier or prompt emphasis).
- User only needs **one person** in frame; multi-person or full-body shots may still work if the side face is clearly visible.
Do **not** use for: swapping identity to another person, deepfakes, minors without clear consent context, or explicit/adult content (`.hd*` channels are non-NSFW).
## Model channels (image-to-image only)
Always pass the user’s side photo in `input_urls` (first URL = primary reference). **Never** use physical model names—only these channels:
| Channel | When to use |
|---------|-------------|
| `i2i.hd.lite` | Fast preview, quick iteration, or user asks for “draft / fast / cheap.” |
| `i2i.hd` | **Default** for final front-face output when user did not specify a tier. |
| `i2i.hd.gpt` | User wants stronger semantic control, complex styling instructions, or prior `i2i.hd` still misses gaze/symmetry—use after reading `references/i2i_prompts.md`. |
If unsure the channel exists, call `list_models` with `model_type='image'` once as a sanity check; still follow the table above for this skill.
## Steps
1. **Confirm input**
- Require at least one uploaded side-profile image URL or asset from the conversation.
- If the face is barely visible, occluded, or extreme angle (>~100°), ask for a clearer side photo before generating.
2. **Optional analysis (recommended on first run)**
- `recognize_image(image_url=<side photo>, prompt="Describe visible identity cues only: apparent age range, gender presentation, skin tone, hair style/color, facial hair, glasses, hat, earrings, makeup, clothing neckline visible near jaw. Do not invent front-view features not visible from the side.")`
- Use the description to fill `{identity_notes}` in prompts—do not contradict the reference image.
3. **Plan todos (multi-step or compare tiers)**
- For “try all qualities” or lite → hd → gpt, call `write_todos` with one item per variant.
- Simple one-shot request: skip todos.
4. **Generate front face (core call)**
- Read prompt templates: `read_skill_file(side-profile-to-front-face, references/i2i_prompts.md)`.
- Pick channel per table (default `model='i2i.hd'`).
- Call:
`generate_image(prompt=<from templates>, input_urls=[<side photo url or asset_id>], model='<i2i.hd.lite|i2i.hd|i2i.hd.gpt>', name='Front face portrait', entity_type='characters', orientation='square')`
- Use `orientation='square'` for head-and-shoulders unless the user asked for landscape/portrait framing.
- Do not pass invented `resolution` unless the user requested a specific tier (480P–4K); otherwise omit for platform default.
5. **Reply**
- Summarize what changed (angle, preserved traits) in natural language. Do not paste long asset URLs.
- If result still looks slightly turned, run **one** refinement with the same channel and the “Refinement” prompt block in `i2i_prompts.md`.
6. **Guidance (same turn as final message, no other tools)**
- Call `set_guidance` with options such as: “Regenerate with i2i.hd.lite (faster)”, “Upgrade to i2i.hd.gpt”, “Keep identity but softer lighting”, “Try square vs portrait crop”.
## Canvas naming
- `name`: short label like `Front face` or `{subject} front portrait`.
- `entity_type`: `characters` for person portraits.
## Collaboration rules
- **Default**: one `i2i.hd` generation after optional `recognize_image`; refine only if user asks or obvious angle error.
- **Compare tiers**: generate lite preview first only when user wants speed/cos