Umbrella Ghost Share · публичный навык Open Skill

Umbrella Ghost Share

Umbrella Ghost Share — публичный Open Skill на Digen. Откройте, чтобы увидеть, что создаёт этот процесс.

@LoganPierce

Meme

0 0 1

https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4284957/2026-10-17/qrgq88z4.webp

# Umbrella Ghost Share

Rainy night at the bus stop. A shy ghost clutches a tiny umbrella full of holes. You quietly tilt your own umbrella toward it, and the two of you wait side by side in the rain.

## When to use

- The user wants a rainy-night Halloween video where they tilt their umbrella to shelter a shy ghost with a holey umbrella at a bus stop (umbrella ghost share clip, rainy bus-stop ghost video)
- Another take with a different length or orientation

Not for: Still images only.

## Inputs and gates

| Input | Required | Default | Gate |
|---|---|---|---|
| Photo | Yes | — | One adult, face clear. Ask for another photo if the face is tiny, blurred or hidden |
| Description | No | tuned default below | What the user wants; merged into the prompt |
| Duration | No | `6 s` | 6 s (default), or 10 s |
| Mood | No | `gentle and quiet` | gentle and quiet (default), shy smile, soft melancholy, or user-described |
| Orientation | No | `9:16` portrait | Other ratios on request |

- If the person may be under 18, stop and decline politely. Real-person photos must be of adults the user has the right to use.
- Video does not allow NSFW content: keep wardrobe fully covering and refuse sexual requests. Suggestive fashion looks stay as still images.

## Steps

1. Read `references/video-motion.md`.
2. **Identity read**: `recognize_image(image_url=<photo>, prompt='Describe this adult for identity preservation: face shape, eye shape and color, brows, nose, lips, skin tone, apparent age range, hair color and length, distinctive marks, glasses. One compact line.')`.
3. **Keyframe**: `generate_image(prompt=<KEYFRAME>, input_urls=[photo], model='i2i.hd', orientation='portrait', aspect_ratio='9:16', name='Umbrella Ghost Share keyframe', entity_type='work_in_progress')`. If the face drifts, regenerate once.
4. **Video**: `generate_video(prompt=<MOTION>, input_urls=[keyframe], model='i2v', orientation='portrait', aspect_ratio='9:16', duration=<d>, name='Umbrella Ghost Share', entity_type='final_videos')`. Pass only the keyframe, never the original upload.
5. Reply in one or two sentences, e.g. "Done! Here's your umbrella ghost share. I can also try 10 s if you like." Results appear on the canvas; never paste URLs.

## Prompt templates

**KEYFRAME**

```text
The same adult from the reference: <identity line>. Same face structure, eyes, skin tone and recognizable likeness; no beautification or face reshaping. Opening frame of this scene: the same adult stands at a rainy night bus stop under a streetlamp; a shy translucent ghost clutching a small hole-ridden umbrella hesitates by the sign in the downpour, the person quietly tilts their own sturdy umbrella to cover the ghost as well, and they wait side by side as rain streaks through the lamp glow; cool blue night, warm sodium lamp rim, reflective wet pavement, fully clothed in a raincoat. Posed for motion, clear subject, cinematic light. Nothing from the original photo's background remains.
```

**MOTION** (motion only; the frame already shows the look)

```text
Starting from this exact frame: <one clear motion arc for this concept: the same adult stands at a rainy night bus stop under a streetlamp; a shy translucent ghost clutching a small hole-ridden umbrella hesitates by the sign in the downpour, the person quietly tilts their own sturdy umbrella to cover the ghost as well, and they wait side by side as rain streaks through the lamp glow; cool blue night, warm sodium lamp rim, reflective wet pavement, fully clothed in a raincoat>, beginning, peak and settle in one continuous shot. Camera: <one move: slow push-in, gentle orbit, or static>. The same face and outfit throughout. Cinematic, no text.
```

## Failure handling

- `success=false`: say what failed in one sentence; retry once only if transient; never invent links.
- Content-policy rejection on video: soften wording and retry once; otherwise offer the keyframe as a still.
- Identity drifts: offer to regenerate.

## Examples

**Default**: