Person to Robot · skill Open Skill công khai

Person to Robot

Person to Robot là một Open Skill công khai trên Digen. Mở ra để xem workflow này tạo gì.

@ExploreFly

Trailer

1 0 0

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

# Person to Robot

Turn a user-provided photo of a real person into a **robot version** using image-to-image (`generate_image` with a reference photo in `input_urls`).

**Identity rule (non-negotiable):** preserve the person’s **facial identity and expression**—same face shape, eyes, nose, mouth, skin tone, and likeness. On the face, add **light robot accents only** (e.g. thin circuit lines, small panel seams, subtle metallic highlights at temples or cheekbones, optional tiny LED dots). **Do not** replace the face with a helmet, mask, or fully mechanical head unless the user explicitly asks.

**Body rule:** neck, torso, arms, legs, hands, clothing silhouette, and pose should read as **robot / mech / android**—plating, joints, cables, servos, metallic or composite materials—while **keeping the same pose, framing, and background layout** as the source photo unless the user asks to change them.

There is no structured project state; progress lives in the conversation and canvas assets.

## When to use

- User uploads or points to a **person photo** and asks to become a robot, cyborg, mech, android, etc.
- User wants **face kept recognizable** with only decorative robot details on the face.
- User asks to **regenerate**, switch **quality/speed**, or adjust **robot style** (sleek sci-fi, industrial, cute toy robot, etc.).

## Model channels (image-to-image only)

Use **`generate_image`** with **`input_urls=[the user’s photo]`** (asset URL from the chat upload or an existing canvas asset). **Always set `model` to one of these channels—never a physical model name:**

| Channel | When to use |
|---------|-------------|
| `i2i.hd.lite` | Fast preview, simple pose, or user asks for quick/cheap result |
| `i2i.hd` | **Default** for most uploads—balanced quality and identity preservation |
| `i2i.hd.gpt` | Complex pose, busy background, group shot, fine mech detail, or after a failed/`i2i.hd` attempt that lost likeness |

If the user names a tier (“fast”, “best quality”, “GPT”), map to the row above. If unspecified, start with **`i2i.hd`**.

> `.hd*` channels do **not** support NSFW content. Refuse adult/explicit requests politely and do not call generation.

Optional: call `list_models` with `model_type='image'` only when channels fail or the platform rejects a channel—do not use it to guess alternate physical models.

## Workflow

1. **Confirm input**
   - Require **one clear reference photo** of the person. If missing, ask the user to upload one; do not invent `input_urls`.
   - Note user preferences: robot style, how strong the mech look is, orientation, and whether they want **one** result or a **lite preview then HD**.

2. **Analyze the photo** (recommended)
   - Call `recognize_image` with the same photo URL and a short prompt such as: *Describe pose, framing (portrait/half/full body), facing direction, visible body parts, background, and lighting. Note anything that makes i2i hard (motion blur, extreme angle, multiple faces).*
   - Use the analysis to pick **`orientation`** (`portrait` / `landscape` / `square`) to match the source when obvious; omit `resolution` unless the user requests higher than default (720P).

3. **Build the English i2i prompt**
   - Prompts for **`generate_image` must be in English**.
   - Start from the template in `references/prompt-templates.md` via `read_skill_file(person-to-robot, references/prompt-templates.md)` when you need the full skeleton or style variants.
   - Core prompt must state explicitly:
     - **Keep the same person’s face and expression; preserve facial features and likeness.**
     - **Face: only subtle robot decorations** (circuits, seams, small LEDs)—**no full face replacement.**
     - **Body and limbs: robotic/mechanical** replacement or overlay while **same pose and composition**.
     - Match **lighting and background** from the reference unless the user asked to change them.

4. **Generate**
   - `generate_image(
       prompt=<English prompt>,
       input_urls=[<user photo URL