First Frame Expression Video · عوامی Open Skill

First Frame Expression Video

First Frame Expression Video Digen پر ایک عوامی Open Skill ہے۔ کھولیں اور دیکھیں یہ ورک فلو کیا تخلیق کرتا ہے۔

@wwws

ShortDrama

6 1 7

https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4284863/2026-10-19/bwzfnmsa.jpg

# First Frame Expression Video

Turn one uploaded still into a short single-take video: the uploaded subject keeps its identity, framing, wardrobe, and lighting, while the face performs a bold, clearly readable expression change carried by continuous natural motion. Inputs are a reference image plus optional text direction; the output is a video.

There is no structured project state. Keep the working description of the subject and the chosen expression arc in your reply, and reference already generated canvas assets when iterating.

## When to use

- The user uploads a photo (selfie, portrait, character art, avatar) and asks for it to "come alive", "make an expression", "expression video", "first frame video", or any image-to-video request focused on the face.
- The user wants a specific expression (surprise, laugh, wink, pout, shy smile, disgust, exaggerated reaction) applied to their own image.
- The user wants to redo or adjust an existing clip: stronger expression, slower build, longer hold, different framing, no head movement, etc.

Not for: building a multi-shot story, adding subtitles/music over several clips, or editing existing footage — those are different jobs, not this single-clip, first-frame skill.

## Inputs and how to use them

| Input | How it is used |
|---|---|
| Reference image (required) | Becomes frame 1 of the video. It defines identity, framing, lens feel, wardrobe, background, and light direction. Pass it as `input_urls` to `generate_video` with `model='i2v'`. |
| Text direction (optional) | Supplies the expression target, emotional tone, energy level, duration, and any "keep / avoid" instructions. Fold it into the script's expression arc and the prompt. |

If no image is attached or referenced, ask for one before generating; do not invent a subject. If text says nothing about the expression, default to a bright, high-energy, clearly readable expression change (see `references/style-and-prompt.md`).

## Steps

1. **Understand the request.** Note in one or two lines: the subject, the framing, the requested expression and mood, the requested duration, and any explicit keep/avoid instruction. If an image is attached, call `recognize_image` on it to record identity features, hair, wardrobe, background, light direction, and the neutral starting expression — those details are the "must keep" list later.

2. **Set up progress.** For anything beyond a single quick regeneration, call `write_todos` with the stages: intake, first frame, script, video, review.

3. **Read the stage plan.** Call `read_skill_file` with `path="references/workflow-stages.md"` and follow its stage table, image-suitability checklist, branch rules, and retry conditions. Do not read every reference at once — read each one at the step that needs it.

4. **Read the visual rules.** Call `read_skill_file` with `path="references/style-and-prompt.md"`. This file holds the style, subject/content, layout, must-keep and must-avoid constraints plus the reusable English prompt blocks. Everything you write into a generation prompt must respect it.

5. **Prepare the first frame (only if needed).** If the uploaded image is already a clean, usable first frame — a single subject, face clearly visible, not cropped through the head, no collage or UI overlay — skip this step and use it directly.
   If it is unusable (face too small, subject off-frame, heavy text/watermark, extreme wide shot), call `generate_image` with `prompt` built from `references/style-and-prompt.md`, `input_urls=[reference image]`, `model='i2i.hd.lite'`, matching `orientation`, `name="First Frame"`, `entity_type='storyboard_images'`, and use that output as the first frame. Tell the user you re-framed the still first.

6. **Write the script for this request.** Call `read_skill_file` with `path="references/video-script.md"`, then write a complete English script for this specific request (logline, duration, first-frame description, beat-by-beat expression arc with shot size, camera behavi