AI Flying Kiss Paper Crane · публичный навык Open Skill

AI Flying Kiss Paper Crane

AI Flying Kiss Paper Crane — публичный Open Skill на Digen. Откройте, чтобы увидеть, что создаёт этот процесс.

@JackRhino

Roleplay

0 0 1

https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4284865/2026-10-21/8bjum5zh.jpg

# AI Flying Kiss Paper Crane

Turns one uploaded portrait into a 5-second Valentine animation: the person blinks softly, blows a kiss, a palm-sized pink paper crane appears with a heart sparkle trail, the crane flies over forest, lake and city, and the clip ends in heart-shaped fireworks with falling petals. The uploaded person's face, hair and art style must stay recognisable; only wardrobe, pose and scenery follow the theme.

There is no structured project state. Reuse what is already on the canvas, and quote short decisions back to the user in chat.

## When to use

- The user uploads an image and asks for a short video (Valentine / kiss / paper crane / heart fireworks effect).
- The user asks for a still keyframe of that same scene in this visual style.
- The user wants an existing result redone with a different mood, duration or camera feel.

## Inputs and outputs

- Input: one reference image of the person (required). It defines identity, hairstyle, face proportions, clothing baseline and the original art style.
- Output: one short video (default 5 seconds, vertical). A still frame is optional and only produced when the user asks for it.

## Steps

1. **Inspect the reference image.** Call `recognize_image` on the uploaded image with a prompt asking for: face and hair description, apparent age range, body/crop framing, clothing, art style (photo, 3D render, anime, painting), dominant palette, background and light direction. Treat that answer as the identity lock for the whole run. If no image was uploaded, ask for one and stop here.

2. **Lock the visual spec.** Call `read_skill_file` with `path="references/style-and-prompt.md"` and extract the Style, Subject, Layout, Must keep, Must avoid blocks plus the reusable English prompt fragments. Never generate anything before this file has been read.

3. **Decide scope.** Full animation is the default. If the user only wants a picture, or says "just a still / just a poster", skip the script and the video steps and go to step 6.

4. **Read the stage plan.** Call `read_skill_file` with `path="references/workflow-stages.md"` to get the stage order, defaults and the intake checks (single person, no unsuitable content, no text/logo removal requests). Create a short `write_todos` list when the run has more than two stages.

5. **Optional still keyframe (only when the user asked for a picture).** Call `generate_image` with `model='i2i.hd.lite'`, `input_urls=[<uploaded image>]`, `orientation='portrait'`, a prompt assembled from the fragments in `references/style-and-prompt.md` (identity lock + kiss gesture + glowing crane in palm + pastel blossom setting), a short `name` such as `Flying Kiss Keyframe`, and `entity_type='storyboard_images'`. Then skip to step 10.

6. **Read the video limits.** Call `read_skill_file` with `path="references/video-content-constraints.md"` for duration, aspect, shot progression, motion rules, the reference-video constraints and the forbidden list. Follow those limits when writing the prompt.

7. **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 user request following that specification: logline, duration and aspect, identity lock, a beat-by-beat table (time / shot size / camera / subject action / VFX / light / transition), mood and sound, must-keep and must-avoid, and a final compressed prompt paragraph. Pull the theme, mood, duration and camera preferences from the user's own words and from the `recognize_image` result. A generic canned script is not acceptable.

8. **Generate the video.** Call `generate_video` with `model='ref2v'`, `input_urls=[<uploaded image>]`, `orientation='portrait'`, `resolution='720P'`, `duration=5` (adjust only if the user asked for something else and it is within platform limits), `entity_type='final_videos'`, a short `name` such as `Flying Kiss Paper Crane`, and `prompt` set to the compressed script paragraph from step 7.