Flower-Decorated Photo · publiczny skill Open Skill

Flower-Decorated Photo

Flower-Decorated Photo

@ExploreFly

Other

0 0 0

https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/3656543/2026-10-14/7vn6sg6x.jpg

# Flower-Decorated Photo

Image-to-image workflow: take the user’s uploaded photo as the sole reference, add tasteful floral decoration, and **preserve the original aspect ratio, crop, and placement of every subject**. All instructions and prompts are in **English**.

## When to use

- User uploads (or points to) a photo and wants it embellished with flowers, petals, wreaths, garlands, or a floral border.
- User wants a **new floral style** on the same photo (e.g. softer roses vs. wildflowers).
- User uploads a **different** photo for the same treatment.

## Hard constraints (composition lock)

These are non-negotiable for every `generate_image` call:

1. **Single reference**: `input_urls` must contain **exactly one** URL — the user’s source image (canvas asset, upload, or `asset_id` resolved by the platform). Do not add extra reference images.
2. **No reframing**: Do not crop, zoom, pan, rotate, mirror, or change camera angle. Subjects stay in the **same pixel-relative positions** (left/right/top/bottom) as the source.
3. **Same aspect ratio**: Output must match the source frame. Pick `orientation` to match the source (`landscape` / `portrait` / `square`). If the source is clearly non–16:9/9:16/1:1 (e.g. 4:3), pass `aspect_ratio` (e.g. `4:3`) **instead of** forcing a wrong `orientation`.
4. **Decoration only**: Flowers may sit on edges, corners, foreground bokeh, hair/clothing accents, or subtle overlays — they must **not** replace, move, or obscure the main subject’s identity or pose.
5. **Allowed I2I channels only**: `model` must be one of `i2i.hd.lite`, `i2i.hd`, or `i2i.hd.gpt` (see model table below). Never use physical model names or `t2i*` channels for this skill.

## Model selection (i2i only)

| Channel | When to use |
|---------|-------------|
| `i2i.hd.lite` | Default: fast pass, light floral touch, previews, or user did not ask for maximum quality. |
| `i2i.hd` | User wants **richer detail**, sharper petals, or a more polished “print-ready” look. |
| `i2i.hd.gpt` | Busy scenes, many subjects, or user wants **creative** floral placement while still obeying the composition lock; use when `.lite` / `.hd` struggle with complex layouts. |

If the user names a channel explicitly, use that channel. If they ask for “best quality,” prefer `i2i.hd` (or `i2i.hd.gpt` for very complex photos). Do not call `list_models` unless a generation failed and you need to confirm channel availability.

## Workflow

1. **Confirm input**  
   Identify the source image URL/`asset_id`. If missing, ask the user to upload or select the photo on the canvas.

2. **Understand the scene (recommended)**  
   Call `recognize_image` on the source with a short English prompt: list main subjects, layout (centered / rule-of-thirds), and obvious aspect ratio (landscape/portrait/square). Use this only to write a better floral prompt — **not** to change composition.

3. **Gather preferences (only if unclear)**  
   Optional: flower type (roses, cherry blossom, wildflowers), intensity (subtle vs. lavish), mood (dreamy, elegant, festive). Skip questions if the user already specified or said “surprise me.”

4. **Generate (one output per request)**  
   Call `generate_image` with:
   - `model`: chosen from the table above  
   - `input_urls`: `[source_image]`  
   - `prompt`: English; start from the template in `references/prompt-template.md` (use `read_skill_file` when drafting).  
   - `orientation` / `aspect_ratio`: matched to the source (see Hard constraints).  
   - `name`: short English title, e.g. `Floral — {subject or scene}`  
   - `entity_type`: `skill_generation`  

   Do **not** pass `resolution` unless the user explicitly requests a higher tier; default platform resolution keeps behavior predictable.

5. **Reply**  
   Briefly describe what was added (flower style, placement) and confirm that framing matches the original. Do not paste long URLs.

6. **Retries**  
   If composition drifted (subjects shifted or crop changed), retry once with a **str