Cinematic Portrait Clip · مهارة Open Skill عامة

Cinematic Portrait Clip

Cinematic Portrait Clip هي Open Skill عامة على Digen. افتحها لتعرف ماذا ينشئ هذا التدفق.

@CalebMonroe

Film

4 0 1

https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4284955/2026-10-18/htp52fqe.webp

# Cinematic Portrait Clip

Still photo, then the camera breathes. A slow cinematic push-in on your portrait with soft sunlit rim light — a calm, profile-ready short.

## When to use

- The user wants a short cinematic portrait video from a photo with a slow push-in and sunlit rim light (cinematic portrait video, portrait to video, sunlit push-in clip)
- 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 | `calm and warm` | calm and warm (default), quietly confident, soft wistful, 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='Cinematic Portrait Clip 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='Cinematic Portrait Clip', entity_type='final_videos')`. Pass only the keyframe, never the original upload.
5. Reply in one or two sentences, e.g. "Your cinematic portrait clip is ready. Want another take with 10 s?" 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 from the photo in a calm cinematic portrait: soft sunlit rim light on hair and cheek, natural ambient motion of hair and fabric, a gentle slow push-in toward the face over the clip, shallow depth of field, quiet intimate mood, fully clothed. 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 from the photo in a calm cinematic portrait: soft sunlit rim light on hair and cheek, natural ambient motion of hair and fabric, a gentle slow push-in toward the face over the clip, shallow depth of field, quiet intimate mood, fully clothed>, 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**: the user says "here's my selfie, do it" with a photo. Use duration `6 s`, mood `calm and warm`, 9:16. Reply: "Your cinematic portrait clip is ready."
**Variation**: "love it, make another". Keep the same inputs and change one option (10 s).
**Missing input**: no photo was sent. Ask: "Send one clear photo where your face is easy to see, and I'll start."

##