Halloween Transformation · skill pública de Open Skill

Halloween Transformation

Halloween Transformation es una Open Skill pública en Digen. Ábrela para ver qué crea este flujo.

@eggs

Doc

0 0 1

https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4284862/2026-10-16/cdt39hnr.jpg

# Halloween Transformation

Turn an uploaded photo (usually a selfie) into a Halloween transformation of the same person: the identity, pose, camera distance and overall framing stay recognizable, while costume, props, decor and lighting become Halloween-themed. The default look is a witch-vampire hybrid, matching the original one-click app.

Output is a single still image. This skill does not produce video and does not claim any capability beyond a one-image Halloween transformation of the person in the reference photo.

## When to use

- The user uploads (or references) a photo/selfie and asks to "Halloween-ify", "spookify", or turn themselves into a witch / vampire / witch-vampire / monster / Halloween character.
- The user asks to apply a Halloween filter, costume, or makeup look to an existing photo.
- The user wants to redo, adjust, or make a variant of a Halloween transformation produced earlier in the conversation (more spooky, different costume, warmer candlelight, etc.).

## Inputs

- **Reference image (required for the main flow):** the photo to transform. It arrives as a canvas asset — pass its `asset_id`, its `s3://` uri, or an https url in `input_urls`.
- **Text (optional):** what the user wants — costume variant, mood, props, scene, colour preferences, how strong the styling should be. Map it into the prompt slots described in `references/style-and-prompt.md`. If the user gives no text, use the default witch-vampire hybrid look.

## Steps

1. **Confirm the photo.** Identify the reference image the user means. If no image was provided, ask the user to upload a selfie/photo — never call the tool with an empty `input_urls`, and do not silently switch to a text-only generation (see the branch rules in `references/workflow-stages.md`).

2. **Read the visual rules before generating.** Call `read_skill_file(name="halloween-transformation", path="references/style-and-prompt.md")` and follow its Style / Subject / Layout / Must keep / Must avoid sections. Read it every time before a generation step — do not generate from memory.
   - If the workflow is unclear (missing photo, multiple photos, unusual request, retry after a bad result), also read `references/workflow-stages.md`.
   - To start from a ready-made prompt instead of writing one from scratch, read `references/prompt-templates.md` and use the matching variant.

3. **Build the prompt** from three blocks, in this order: (a) the keep/identity block for the person in the reference photo, (b) the Halloween restyling block (costume, props, decor) for the chosen variant, (c) the lighting/palette/mood block plus the negative list. Prompts are written in English. Fill the variant slots from the user's text; leave everything else at the defaults in `references/style-and-prompt.md`.

4. **Generate the image.** One image per request:
   `generate_image(prompt=<assembled prompt>, input_urls=[<reference asset_id / s3 uri / https url>], model='i2i.hd.lite', orientation=<match the reference: 'portrait' for a phone selfie, 'square' for a square photo, 'landscape' for a wide shot>, resolution='1080P', name='<short label, e.g. Halloween Transformation>', entity_type='halloween_transformations')`
   - `model='i2i.hd.lite'` is the fixed image-to-image channel for this app. Do not pass a physical model name.
   - `input_urls` carries the reference photo only; never invent or reuse a URL that was not produced in this conversation or given by the user.
   - Do not pass `width`/`height` or a batch size. If the tool returns `param_adjustments`, accept the adjusted values silently.

5. **Check the result before replying.** Verify the person is still recognizable, the pose and camera distance are unchanged, the theme reads clearly as Halloween, and nothing on the Must-avoid list appeared. If identity drifted or the theme is too weak, follow the retry rules in `references/workflow-stages.md` (at most two retries, then report honestly).

6. **Reply and suggest next steps.** Summarize in one o