Frame Extractor & Enhancer — Open Skill

Frame Extractor & Enhancer

Frame Extractor & Enhancer is a public Open Skill on Digen. Open it to see what this workflow creates.

@waytitiai

Custom

5 0 8

https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4210253/2026-10-18/76mayrnc.png

---

allowed-tools:
  - probe_media
  - extract_frame
  - generate_image
---

# Frame Extractor & Enhancer

## When to use
- The user wants the first and last frames of a video pulled out as stills.
- The user wants those extracted frames automatically enhanced and upscaled to high resolution while keeping the exact same pose, framing, aspect ratio, and content (no redraw, no alteration).
- Works for any video content, including adult/NSFW frames (use the bare `i2i` channel).

## Steps
1. First use `write_todos` to list the steps and update the list as you progress.
2. Probe the source video with `probe_media(url=<asset_id>)` to get its `duration` and `width`/`height`. Determine orientation: width > height → `landscape`, height > width → `portrait`, equal → `square`.
3. Extract the first and last frames with `extract_frame(url=<asset_id>, timestamps=[0, -1], name="Frame", entity_type="extracted_frames")`. `0` = first frame, `-1` = frame near the end (last). This returns two image assets.
4. For EACH extracted frame, enhance and upscale it with `generate_image`:
   - `model='i2i'` (bare i2i — supports NSFW; do NOT use the `.hd` variants)
   - `input_urls=[<extracted frame asset_id>]`
   - `prompt`: instruct to upscale and enhance the image to high resolution while keeping the EXACT same subject, pose, composition, framing, aspect ratio, background, and content — only improving sharpness, detail, skin texture, lighting, and resolution; do not change, redraw, or alter anything.
   - `orientation=<orientation from step 2>` (match the source frame's ratio)
   - `resolution='2K'` (upscale; auto-clamped if the model caps lower)
   - `name="Enhanced First"` / `"Enhanced Last"`, `entity_type="enhanced_frames"`
5. Report the results in natural language, listing the two enhanced stills. Call `set_guidance` to suggest next actions (e.g. redo one frame, extract more frames, save to library).

## Notes
- Always use the bare `i2i` channel for enhancement so adult/NSFW frames are supported; never use `t2i.hd` / `i2i.hd` variants for this.
- The enhancement must preserve the source frame's pose, ratio, and content — the prompt is a preservation/upscale instruction, not a creative redraw.
- If the user wants more than first/last (e.g. specific timestamps), adjust the `timestamps` list accordingly (positive = seconds from start, negative = seconds from end).
- Report failures honestly; never fabricate URLs.