К основному содержанию
скилл CX Codex

scenario-seedance-music-video — скилл для Claude Code: клипы

Собирает музыкальный клип из трека: раскадровка по секциям, генерация клипов в Seedance и монтаж поверх нетронутого мастера.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add scenario-labs/skills --skill scenario-seedance-music-video -a claude-code
Открыть на GitHub

Что делает scenario-seedance-music-video

Скилл ведёт работу в пять шагов: песня, текст, история, кадры, видео. scripts/song.py читает мастер и достаёт хеш, длительность, громкость, темп, секции и точки реза — по ним потом ставятся границы клипов. scripts/build.py кладёт мастер поверх монтажа один раз, в самом конце, и проверяет файл по хешу.

Звук решается до генерации, потому что выбор задаёт generateAudio сразу для всех клипов. Либо песня одна: generateAudio: false везде, и тогда build.py копирует мастер потоком, если MP4 это позволяет. Либо песня поверх собственного звука сцен: generateAudio: true, в каждом промпте после «diegetic sound only:» перечисляется только то, что звучит в кадре, плюс "sound": 0.2 в файле монтажа. Инструмент или жанр в промпте называть нельзя — один прогон не прошёл проверку аудио из-за добавленной «distant guitar», и исключение вроде «no music» тоже проваливало эту проверку.

Для скриптов нужны ffmpeg и ffprobe в PATH, а для song.py ещё numpy. Скилл опирается на соседние скиллы scenario и scenario-seedance; если их нет в наборе, придётся поставить отдельно. Ещё он не доверяет запрошенному соотношению сторон: кадры и клипы ложатся рядом с ним, а не точно в него, и разницу build.py добирает отступами — это повод проверить финальный файл, а не полагаться на параметр.

Какие задачи решает

  • разложить трек на секции и найти точки реза по темпу
  • собрать раскадровку, которая режется в такт
  • сгенерировать клипы в Seedance и удержать один образ между кадрами
  • свести собственный звук сцен под мастером, не перегрузив микс
  • проверить, что в финальном файле лежит исходный мастер

Примеры запросов агенту

  • Сделай музыкальный клип из master.mp3: сначала разбери трек на секции через scripts/song.py
  • Собери монтаж: python3 scripts/build.py edit.json out.mp4, звук клипов на 0.2 под мастером
  • Сгенерируй клипы в Seedance с generateAudio: false, песня должна остаться единственной дорожкой

Как установить scenario-seedance-music-video

1Через Skills CLI (Vercel)

npx skills add scenario-labs/skills --skill scenario-seedance-music-video -a claude-code

2Вручную: положить файлы

~/.claude/skills/scenario-seedance-music-video/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/scenario-seedance-music-video/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора68

scenario-gemini-image Управляет генерацией и редактированием картинок через модели Google Gemini на Scenario по протоколу MCP. CX Codex +1 392установок scenario-gpt-image Скилл учит агента работать с моделями GPT Image на Scenario через MCP: генерация, правки по референсу, инпейнтинг по альфа-маске и прозрачные вырезы. CX Codex +1 402установок scenario-blender-lighting-rendering Скилл для ИИ-агента, который разбирается со светом, рендером и композитингом в Blender: от трёхточечной схемы до цветокоррекции AgX. CX Codex +1 400установок scenario-seedance Направляет генерацию и монтаж видео через модели Seedance от ByteDance в Scenario по протоколу MCP. Помогает задать первый и последний кадры, перенести персонажа или продлить ролик. CX Codex +1 387установок scenario-formats Лестница решений для перевода одного утверждённого мастера в десяток размеров и соотношений сторон через Scenario. Пригодится, когда один арт нужно раскидать по сторис, фидам, баннерам и превью. CX Codex +1 394установок scenario-workflows Скилл для запуска сохранённых Scenario-воркфлоу через MCP: перечисляет приложения, собирает входные данные, считает стоимость прогона. CX Codex +1 391установок scenario-video-editing Скилл для обработки готовых роликов в Scenario через MCP без повторной генерации. Позволяет обрезать клипы, менять цветокоррекцию, накладывать LUT и извлекать кадры. CX Codex +1 383установок scenario-sonilo Генерирует звуковые эффекты и фоновую музыку через модели Sonilo на платформе Scenario. Помогает озвучить немое видео или свести трек с видеорядом. CX Codex +1 380установок

Похожие

music-video-subtitle-generator MiniMax-AI Скилл превращает треки и текст в раскадровку музыкального видео с кинетичной типографикой. Пригодится клипмейкерам для генерации промптов к клипам и коротким метрам. CX Codex +1 3 400установок music-video-generation eachlabs Создаёт музыкальные видео через each::sense: визуализаторы, lyric video, анимацию и концертные визуалы, синхронизированные с аудио. CX Codex +1 372установок seedance-v2 prime-skills Скилл запускает генерацию кинематографичных видеороликов через ByteDance Seedance 2.0 Pro в RunComfy. Нужен для создания коротких видео с синхронным звуком и референсами лиц или сцен. CX Codex +1 436 200установок muapi-seedance-2 SamurAIGPT Скилл превращает агента в кинорежиссёра для Seedance 2.0: собирает промпты по шести компонентам и запускает генерацию видео по тексту или картинкам. CX Codex +1 2 900установок seedance-2.0-prompter pexoai Собирает из изображений, видео, аудио и описания структурированный JSON-промпт для Seedance 2.0. Пригодится для сложных запросов на генерацию видео. CX Codex +1 1 300установок ai-video-generation 101-skills Генерируй видео с помощью Google Veo, Seedance, HappyHorse и 40+ моделей прямо из редактора. Поддерживает текст-в-видео, анимацию картинок, синхронизацию губ и озвучку. CX Codex +1 872 100установок

Рядом в теме «ИИ и ML»

Всё по теме «ИИ и ML» →

Вопросы о scenario-seedance-music-video

Как установить scenario-seedance-music-video в Claude?

Выполните npx skills add scenario-labs/skills --skill scenario-seedance-music-video -a claude-code. Скилл появится в ~/.claude/skills/scenario-seedance-music-video/SKILL.md.

Что делает scenario-seedance-music-video?

Проводит путь от трека до готового клипа: разбор мастера на секции, транскрипция текста, раскадровка, референсные кадры, генерация клипов в Seedance и монтаж поверх нетронутого мастера.

Что нужно, чтобы скилл заработал?

ffmpeg и ffprobe в PATH, numpy для scripts/song.py. Также нужны соседние скиллы scenario и scenario-seedance — без них придётся идти по схемам инструментов.

Исходный текст

SKILL.md · MIT
---
name: scenario-seedance-music-video
description: "Use when turning a song, track, or audio master into a finished music video with Scenario and Seedance: planning shots against beats and sections, transcribing lyrics, generating clips that cut to music, keeping the shots' own sound while the song stays the only score, assembling a delivery over the untouched master soundtrack, or verifying the final cut. Keywords: music video, beat sync, shot list, lyric transcription, reference frames, ffmpeg assembly, Seedance."
license: MIT
---

# Scenario Seedance Music Video

## Overview

Five steps: song, lyrics, story, frames, video. The supplied master is the only score, and no shot
writes its own. [scripts/build.py](scripts/build.py) lays the master over the cut once, at the end,
and proves the file untouched by hash. [scripts/song.py](scripts/song.py) reads the master so cuts
land on its structure. The scripts need ffmpeg and ffprobe on PATH, and numpy for song.py.

Connection and the core generation loop: see the `scenario` skill in this repo. The Seedance
parameter contract and conditioning traps: see the `scenario-seedance` skill. If a sibling skill
named here is missing from your available skills, ask the user to install it
(`npx skills add scenario-labs/skills --skill <name>`); unattended, proceed from tool schemas and
flag the gap.

## The two soundtracks

Music written inside a shot restarts in a new key at every cut, so the score comes from outside the
video model: the supplied master. What Seedance makes is the sound bolted to the picture. The choice
sets `generateAudio` on every shot, so make it before generating:

- Song alone: `generateAudio: false` everywhere. build.py stream-copies the master whenever MP4
  allows, so the delivered soundtrack is the supplied file, bit for bit.
- Song over the shots' own sound: `generateAudio: true`, every prompt naming the sound the scene
  itself makes (heels on wet asphalt, room tone) after "diegetic sound only:" and nothing else, plus
  `"sound": 0.2` in the edit file. Name no instrument or genre, however well it fits the track, and
  no exclusion such as "no music": an instrument invites a score, one run failed on an output-audio
  content check for an added "distant guitar", and the exclusion has failed that check too. build.py
  cuts each clip's audio to its slot, mixes it under the master at that gain, and refuses a mix that
  would clip. The delivery is then one AAC encode, trading the bit-for-bit guarantee for the sound;
  the master file stays hash-checked.

## Quick reference

| Step      | Call                                              | Notes                                                             |
| --------- | ------------------------------------------------- | ----------------------------------------------------------------- |
| 1. Song   | `python3 scripts/song.py master.mp3 -o song.json` | hash, duration, loudness, tempo, sections, cut candidates         |
| 2. Lyrics | `recommend` for transcription, `model_run`        | supplied lyrics win; sung-vocal transcription is a draft          |
| 3. Story  | one page, shown to the user first                 | the cheapest place to be wrong; name what must not drift          |
| 4. Frames | image model at the delivery aspect ratio          | reference stills, one per look to hold                            |
| 5. Shots  | Seedance `model_run`, audio per the choice above  | `dry_run` first; `wait=false`; `jobs_wait` with `pending_job_ids` |
| 6. Cut    | `python3 scripts/build.py edit.json out.mp4`      | one ffmpeg pass: conform, concatenate, lay the master, verify     |

Ask once before starting: team and project, track clearance, aspect ratio and length, sound under
the song or not, what must and must not appear, spend ceiling. With no one to answer, take the song
alone, and write the story down rather than waiting to show it. Then run without stopping.

## Worked example: one verse, three shots

1. `python3 scripts/song.py master.mp3 -o song.json`. Sections are shot boundaries, cut candidates
   are cut points; listen before trusting them.
2. Upload the master: multipart `upload_asset`, then `upload_asset_complete` (see the `scenario`
   skill). `recommend` a transcription model (the need in the user's own words as `prompt`),
   `model_schema_get`, `model_run`, `jobs_wait`. The transcript is a text asset among the job's
   asset ids: `asset_get` returns it whole in `metadata.preview` when `hasFullPreview` is true (at
   authoring time the Whisper-based tool wrote SRT-style timed blocks), else `asset_download`
   fetches the file. Instrumental track: say so and move on.
3. Write one page: what happens, where, how it turns across the sections; name the closing image.
   Show it to the user before spending anything.
4. Generate reference stills with an image model (via `recommend`) at the delivery aspect ratio, one
   per look. Look at them: they set identity and palette downstream. Holding one character across
   several: see the `scenario-consistency` skill.
5. Per shot, decide the conditioning: opening state matters, pass a first-frame `image`; only
   identity and world matter, pass `referenceImages` (see
   [references/shots.md](references/shots.md)). Generate each shot one or two seconds longer than
   its slot for a trim handle. To land an action on a beat inside a shot, timecode it from the
   clip's start: the beat's master time minus the shot's `at`, plus any head trim planned as `in`
   (an unplanned trim moves every beat). Hold one camera move and one location across the timecodes;
   timecoded verbs survive generation where mood words do not.
6. Write `edit.json` and run `python3 scripts/build.py edit.json out.mp4`:

```json
{
  "master": "master.mp3",
  "fps": 24,
  "width": 1280,
  "height": 720,
  "sound": 0.2,
  "shots": [
    { "clip": "clips/01.mp4", "at": 0.0 },
    { "clip": "clips/02.mp4", "at": 12.5, "in": 1.0 }
  ]
}
```

Each shot runs until the next starts and the last to the master's end, so gaps are impossible, and
every `at` snaps to the nearest frame. `in` is an optional head trim. `sound` is the gain on the
clips' own audio: 0.1 to 0.3 under a mastered track, up to 1.0 when the clips run quiet (build.py
takes 0 to 4); drop the line for the song alone. The build fails loudly on a clip too short, a mix
that would clip, or delivered audio that is not the master.

## Common mistakes

- Letting a shot score itself: its score restarts at every cut.
- Turning `sound` on before listening to every clip: `generateAudio` is one switch over the whole
  track, so a clip that leaked music goes back with `generateAudio: false` rather than an exclusion
  in words.
- Trimming, normalizing, fading, or re-encoding the master yourself: build.py copies it or carries
  it at unity, and hash-checks the file either way.
- Trusting a requested aspect ratio: stills and clips land near it, not on it, and build.py pads the
  difference; crop to the delivery ratio first.
- Prompting an opening state in reference mode: it will not appear; pass a first-frame `image`.
- Judging a clip from a sparse contact sheet: a continuous camera move looks like a hard cut;
  measure first (see [references/shots.md](references/shots.md)).
- Trusting the beat grid: sections and cut candidates are suggestions; check them against what you
  hear.
- Calling it done without watching the delivery with sound, then muted.

© scenario-labs · MIT · scenario-labs/skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой