Fine Photo Editor · عوامی Open Skill

Fine Photo Editor

Fine Photo Editor Digen پر ایک عوامی Open Skill ہے۔ کھولیں اور دیکھیں یہ ورک فلو کیا تخلیق کرتا ہے۔

@wwws

Custom

2 0 3

https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4284863/2026-10-19/xavxndmm.jpg

# Fine Photo Editor

Re-renders one uploaded photograph into a refined, high-detail version of itself, steered by the user's text description, while keeping identity, anatomy, structure and layout intact. There is no structured project state: keep the enhancement plan in chat and reference already generated assets on the canvas.

## When to use

- User uploads a photo (or picks an earlier canvas image) and asks for it to be retouched, beautified, made HD, made sharper/more detailed, or "edited" with an optional text description.
- User wants the same photo enhanced again with different strength, focus area, lighting or color mood.
- User asks for a portrait-grade finish: clean skin with real texture, defined eyes/brows, even tone, studio-quality light.
- Not for: brand-new images without a source photo (ask for the photo first), face swapping, identity changes, or adult content.

## Steps

1. **Audit the inputs.** Confirm which image is the source (uploaded file, canvas asset, or URL) and read the user's text as the editing brief. If no source image exists, ask for one and stop. Details and the acceptance checklist are in `references/step-details.md` — read it before generating when the request is ambiguous, when several images are involved, or when the user asks for identity/style changes.
2. **Read the workflow.** `read_skill_file` → `references/workflow-stages.md`. Use it to classify the request (light touch / standard / deep detail, global vs. localized, grading-only vs. full re-render) and to pick the branch. Follow that stage table; do not improvise extra stages.
3. **Inspect the source.** When the source content, sharpness, or protected details are unclear, call `recognize_image(image_url=<source>, prompt="Describe subject, framing, lighting, materials, dominant colors and any text or logos that must stay unchanged")`. Use the answer to fill the subject and must-keep slots; never invent features that are not visible.
4. **Read the prompt conventions.** `read_skill_file` → `references/style-and-prompt.md`. It defines Style, Subject/content, Layout, Must keep, Must avoid, the edit-intensity ladder and copyable English prompt templates.
5. **Write the prompt in English.** Build one prompt from the template plus: the source subject described concretely, the user's requested changes translated into photographic terms, the protected-detail clause, and the exclusion clause. Keep it a single tight paragraph of roughly 90–160 words. If the user's brief is vague, apply the default "standard" enhancement (detail recovery, clean grade, natural skin/material texture) instead of guessing a new style.
6. **Generate.** Call `generate_image` with:
   - `prompt` = the English prompt from step 5, ending with the must-keep and must-avoid clauses,
   - `input_urls` = `[<source image>]` (asset id, `s3://` uri, or https URL; exactly one source),
   - `model='i2i.hd.lite'` (image-to-image; never a physical model name),
   - `orientation` mirroring the source aspect (`portrait` for standing portraits/selfies, `landscape` for wide scenes, `square` when the source is square or the crop is near 1:1),
   - `resolution='2K'` by default; `'4K'` only when the user asks for maximum detail or the source is already large,
   - `name` = short English title such as `Portrait retouch – standard`,
   - `entity_type='edited_photos'`.
   Do not pass `group_id`, `index`, or any pixel width/height.
7. **Review the result** against the checklist in `references/step-details.md` (identity preserved, anatomy correct, texture real, text/logos intact, no artifacts). If it fails, fix the prompt and retry the same call at most twice; after that, report honestly what could not be achieved.
8. **Reply and guide.** Answer in natural language: what was improved, what was deliberately preserved, and the resolution used. Do not paste long URLs. In the same turn offer `set_guidance` with 2–3 concrete next options (e.g. "Make it stronger, deep-detail", "Lighten and cool the col