Music Video Clip Assembler · skill pública Open Skill

Music Video Clip Assembler

sensual-universal-duo-mv-final.md

@maksim90audi

Music

10 3 10

https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/3447002/2026-09-17/y69zbkdw.jpg

# Music Video Clip Assembler

## 1. Global language protocol (read once)
- Detect `user_lang` from the user's first message: if it contains Cyrillic characters → `user_lang=ru`, otherwise `user_lang=en`.
- All user-facing strings (replies, asset names, guidance buttons) MUST strictly follow `user_lang`.
- TECHNICAL LAYER: prompts and metadata stay in English.

## 2. Input collection
Ask the user for: 1) the set of video clips/shots to assemble (they may reference already-rendered clips by name/asset), and 2) the song/audio track to overlay. If the user lists clips in a specific order, use that exact order; if they say "if there are more clips than needed, just don't add them", use only the clips needed to cover the song and drop the rest.

## 3. Optional: align to the song
If the user wants the visuals aligned to the song, run `transcribe_audio(audio_url=<song>, model='asr')` to get the timeline and vocal structure, and use it to pick/order clips (e.g. female-vocal sections → woman-focused clips, male-vocal → man-focused clips). If not needed, skip this step.

## 4. Assemble the music video (single mix_clips call)
Call `mix_clips` once with:
- `clips`: one clip config whose `videos` array lists all chosen clips **in the user's order**, each with `volume: 0` (this mutes the clips' own audio so no second track leaks in).
- `audios`: the song track with `volume: 1.0` (the single global audio layer, no gaps at transitions).
- `orientation`: match the source clips (e.g. `portrait` for 9:16).
- `name`/`entity_type`: per the asset table below.

This single call achieves the "silent assembly + continuous audio overlay" in one step.

## 5. Duration handling
- If the total clip length is shorter than the song, tell the user the video covers only part of the track and offer to add more clips or extend the last clip.
- If the total clip length is longer than the song, drop the extra clips (per the user's instruction) so the video matches the song.

## Asset conventions (name / entity_type)
| Stage | Tool | name | entity_type |
|---|---|---|---|
| Final MV | mix_clips | "Music Video — <song title>" | final_videos |

## Notes
- Report failures honestly; never fabricate URLs.
- Always mute the source clips' audio (`volume: 0`) and overlay the song as the only audio layer — otherwise the final clip will contain two tracks.
- All user-facing text must follow `user_lang`; technical prompts stay in English.
- Call `set_guidance` after assembling to offer next actions (reorder clips, adjust volume, extend to full song length).