Then vs Now · публичный навык Open Skill

Then vs Now

Generate a video of yourself from New Born to Old Age. Including everything else in between.

@AlphaMale11

Story

4 0 0

https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/2966093/2026-10-11/86erm9k8.jpg

# Aging Progression Video

Turn a single uploaded photo of a person into a video of them aging from young to old (or the reverse), with the same identity kept across every age stage, plus a warm voiceover narration, gentle background music, and a side-by-side before/after comparison clip.

## When to use
- User uploads a photo of a person and wants to see them age (young → old) or de-age (old → young).
- User wants to redo one age stage, change the age range/direction/orientation, or remix the final cut.

## Steps
1. First call `write_todos` to list the stages, and update it as you progress.
2. Confirm the direction (default: young → old), orientation (default `portrait` 9:16; allow `landscape`/`square` if requested), and the number of age stages (default 5). If the uploaded photo already shows an older person, default the direction to old → young.
3. Analyze the uploaded photo with `recognize_image(image_url=<asset>, prompt="Describe this person's gender, apparent age, facial features, hair, clothing, pose, framing and background so I can keep identity consistent across age stages.")`.
4. Generate the age-progression stills with `generate_image(model='i2i', input_urls=[<uploaded photo>], orientation=<chosen>)`. Default 5 stages: child (~10), young adult (~20), middle (~40), senior (~60), elderly (~80); allow the user to request a different count (e.g. 3 or 7) or custom ages. Keep the same pose, framing, background and identity; only age the face/hair/skin. Pass `name` like `stage_1` / `stage_2` / ... and `entity_type='age_stages'`.
5. Generate one transition clip per consecutive pair with `generate_video(model='fl2v', input_urls=[<stage_i>, <stage_i+1>])` so the face morphs smoothly between stages (e.g. stage_1→stage_2, stage_2→stage_3, ...). Pass `name` like `aging_stage1_to_2` / `aging_stage2_to_3` and `entity_type='aging_clips'`. (For old → young, reverse the frame order.)
6. Create a side-by-side before/after comparison image combining the youngest and oldest stage stills with `generate_image(model='i2i.hd', input_urls=[<youngest>, <oldest>], prompt=<"side-by-side comparison of the same person, young on the left and old on the right, same pose, framing and background">, orientation=<chosen>)`. Pass `name` `before_after_comparison` and `entity_type='age_stages'`. Then animate it into a short clip with `generate_video(model='i2v', input_urls=[<comparison image>])`; pass `name` `before_after_clip` and `entity_type='aging_clips'`.
7. Generate a warm, reflective voiceover narration with `generate_tts(model='tts.design', text=<2-3 sentence narration about the person's life journey from youth to old age, matching the chosen direction>, voice_instruction=<e.g. "a warm, gentle, reflective middle-aged voice, calm and nostalgic">)`. Pass `name` `aging_narration` and `entity_type='voiceovers'`.
8. Generate a gentle, low background music track with `generate_music(model='music', prompt=<soft, emotional, cinematic piano/strings underscore that fits the aging theme>, duration=<roughly matching the video length>)`. Pass `name` `aging_music` and `entity_type='music'`.
9. Stitch all transition clips in order, append the before/after comparison clip at the end, and mix in the narration and background music with `mix_clips(clips=[{video: clip1, audio: <narration>, audios: [<music>]},{video: clip2}, ..., {video: before_after_clip}], orientation=<chosen>)`. Pass `name` `then_vs_now_final` and `entity_type='final_videos'`.
10. Reply in natural language summarizing the result; call `set_guidance` to suggest next actions (e.g. redo one stage, change age range, reverse direction, change orientation).

## Notes
- Keep identity, pose, framing and background consistent across all stages; only age the person.
- If a stage's identity drifts, redo just that still with `i2i` using the uploaded photo as reference.
- Keep the narration short enough to fit the video length; if it runs long, trim it or let it continue over the final frames.
- Keep the music