Interactive Closeup Partner · Open Skill 공개 스킬
Interactive Closeup Partner
hook: I set one portrait straight into the lens, give it a short line, and let it react. Close-up, not a mood board. need: Send an adult photo with a visible mouth, a script, and your preferred mood. Get a 6-second 9:16 clip. tips: Keep the wardrobe fully covering / Use a short copy line, roughly 2.5 to 3 words per second of video
Film
2 0 5
https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4284953/2026-10-17/xvfdwwtt.webp
# Interactive Closeup Partner Face to face, close and warm. Your portrait looks straight into the lens, reacts, and says a short line like it's just for the viewer. ## When to use - Make a photo speak a script, greeting or message - Redo with another mood or a shorter or longer script Not for: Singing to an existing song, or videos with several speakers. ## Inputs and gates | Input | Required | Default | Gate | |---|---|---|---| | Photo | Yes | — | Frontal adult face, mouth visible and ideally closed | | Script | Yes | — | About 2.5–3 words per second of video | | Description | No | tuned default below | What the user wants; merged into the prompt | | Duration | No | `6 s` | 6 s (default), or 10 s | | Orientation | No | `9:16` portrait | Other ratios on request | | Mood | No | `warm` | warm, bright, calm, energetic, serious | - 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/lipsync-direction.md`. 2. **Face and gate check**: `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.')`. Decline minors; ask for a frontal photo if the mouth is hidden or the face is in profile. 3. **Length fit**: count the words. 6 s fits about 15 words and 10 s about 28. If the script is longer, offer a trimmed version or the 10 s length before generating. 4. **Voice**: `generate_tts(text=<script>, model='tts.design', voice_instruction=<VOICE>, name='Interactive Closeup Partner voice', entity_type='voiceovers')`. 5. **Talking video**: `generate_video(prompt=<PERFORMANCE>, input_urls=[photo], audio_url=<tts audio>, model='ai2v', orientation='portrait', aspect_ratio='9:16', duration=<d>, name='Interactive Closeup Partner', entity_type='final_videos')`. The audio drives the mouth; never put audio in `input_urls`. 6. Reply in one or two sentences, e.g. "All set. Your interactive closeup partner is on the canvas. Next I can do 10 s." Results appear on the canvas; never paste URLs. ## Prompt templates **VOICE** ```text A natural <age range> <gender presentation> voice that suits the person, <mood delivery>, clear close-mic sound, no background music, native pronunciation in <script language>. ``` **PERFORMANCE** (describe the acting, never repeat the script) ```text an extreme closeup of the same adult looking straight into the camera with warm eye contact, small reactive smiles and natural head motion as if talking to someone they care about, soft window light, shallow depth of field, shoulders-up framing, fully clothed. The person speaks directly to camera with natural lip sync, <mood expression>, natural blinks, small head nods on key words, relaxed shoulders. Same face, hair, outfit and background as the photo. Static medium close-up with a subtle handheld feel. No subtitles, no text. ``` | Mood | `<mood delivery>` | `<mood expression>` | |---|---|---| | warm | gentle smile in the tone, sincere, mid pace | soft smile, kind eyes | | bright | upbeat, lively, slightly faster | wide smile, raised brows | | calm | slow, even, reassuring | relaxed face, slow blinks | | energetic | punchy, excited | animated brows, bigger nods | | serious | steady, low, deliberate | focused gaze, minimal smile | ## Failure handling - `success=false`: say what failed in one sentence; retry once only if transient; never invent links. - Lips drift off the audio: regenerate once with a more frontal crop; offer a shorter script. - TTS sounds wrong for the person: regenerate the voice once with an adjusted voice_instruction before the video. ## Examples **Default**: the user says "this one" with a photo. Use duration `6 s`, 9:16. Repl