跳到正文
cccskills
免费在 GitHub 公开

render-song-mv

Assemble a song-driven music-video ad from a config — a generated sung track carries the whole narration across N tableaux (one keyframe -> one i2v clip per lyric beat) with NO separate voiceover, captions synced to the song's OWN word timings (script-window, never Whisper) and the hook word landing on the chorus drop, closed on a PIL brand end card. This is the FREE deterministic assembly stage (clip cut-to-timeline + captions + end card + FFmpeg composite); the song, keyframes, and clips come from create-music-elevenlabs / create-image-fal / create-video-fal. Use for the song-driven-music-video format.

中文简介正在准备中。当前显示原文说明。

集成工具ElevenLabs

实测评分 未实测

查看安装方法

包含的文件(6)

  • SKILL.md4.7 KB
  • scripts/config.example.json16.9 KB
  • scripts/PIPELINE.md5.5 KB
  • scripts/README.md3.4 KB
  • skill.meta.json327 B
  • tests/smoke-test.md1.4 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

render-song-mv

Assemble a song-driven music-video ad from a config: a purpose-written, sung song is the entire narration (no separate voiceover), and every visual beat is timed to the lyrics. The delivered song sets the timeline; N tableaux (one keyframe → one image-to-video clip per lyric beat, all in a single look pack) are cut to their lyric windows and hard-concatenated on the beat, captions are built from the song's OWN word timings with the hook line landing on the chorus drop, and the spot closes on a PIL brand end card. It reads like a tiny animated music video, not a demo. scripts/config.example.json is one worked example (Loóna "Fall In Love With Sleep Again", 28s paper-craft 9:16) — its style, song, vocalist, mood, protagonist and setting are that demo's answers, not defaults; scripts/PIPELINE.md maps every config block to its step and scripts/README.md documents the free assembly.

Choices

The creative calls are made upstream by the user (the recipe's choices) and arrive in the config; this assembly never picks them.

  • visual_style → look_pack, clip_engine.motion_opener. The demo used a paper-craft diorama at night.
  • song_genre → song.prompt / song.bpm. The demo used a dreamy synth lullaby at ~80 BPM.
  • vocalist → song.prompt. The demo used a soft breathy female lead.
  • mood → song.prompt, the lyrics, tableaux. The demo went calm/dreamy.
  • protagonist → look_pack.style_opener. The demo used a young-woman paper-doll.
  • setting → tableaux[].keyframe_prompt. The demo went bedroom at night → moonlit paper village.

Run

This is the FREE, deterministic assembly stage — it spends nothing. The three paid inputs are separate capabilities: the sung song (create-music-elevenlabs, music_v1, force_instrumental FALSE — the lyrics ARE the script, returns mp3 + words.json), one keyframe per tableau (create-image-fal), and one Kling 3.0 i2v clip per tableau (create-video-fal). Given the delivered song + words.json + one clip per beat, render-song-mv cuts each clip to its lyric window, hard-concats on the beat, builds the lyric-synced captions, composites the PIL end card, and muxes → the master. Re-cuts reuse the existing song / keyframes / clips and cost $0.

Contract (the free assembly)

  • The sung song carries the narration — no separate VO. The generated ElevenLabs track IS the bed and the script (force_instrumental false); do not add a spoken voiceover or a second music bed.
  • Plan the timeline AROUND the delivered song. The song is generated first and reshapes/ overshoots length; snap every tableau boundary to the lyric-phrase edges in the returned word timings (timeline.json) — never trim the song to a pre-planned grid.
  • Captions from the song's OWN word timings, not Whisper (script-window). Chunk audio/words.json (~3 words at lyric boundaries); accent words get captions.accent_color. Whisper on sung audio returns "🎵 Music Playing 🎵", so it can't caption lyrics.
  • Land the hook on the chorus drop. Exactly ONE hero tableau (is_hook) is timed so the payoff word (song.hook_word) sits on the chorus drop; accent that word in the captions.
  • One look pack for consistency. A single style_opener + negative_tail + palette drives every keyframe so N beats read as one film; no morph within a clip.
  • Hard cuts on the beat. Cut each clip to its lyric window and hard-concat — no dissolves (one optional match-cut into the hero reveal).
  • PIL end card from the brand's real asset (e.g. the app icon) — never AI-render brand text. The lockup is composited deterministically (brand gradient + circular app icon + wordmark + tagline + CTA) from the brand's real asset; a diffusion model garbles a wordmark.
  • FFmpeg composite, deterministic, FREE. Burn the caption ASS, overlay the end-card PNG on the final window, mux the song, boost the climax beat (audio_mix.climax_beat_id — set it to this run's hook tableau; the demo's T08 is example-only), loudnorm to −14 LUFS → 1080×1920 h264+aac. No paid calls, no keys.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Research supported advertising promises from a specific buyer's context, current product facts, customer language and observed ads. Turn them into static, video or copy ideas; match video ideas to actual recipes and save a product-scoped angle bank for write-video-ad-script. Product-led discovery can use verified facts without reviews. Reference persistence and reach are observations, not proof of performance.

中文简介正在准备中。当前显示原文说明。

gooseworks-ai/goose-skills12652026年10月24日 更新

Analyze ad campaign performance data (Google, Meta, LinkedIn) to identify what's working, what's wasting budget, and specific cut/scale/test recommendations. Runs statistical analysis, funnel diagnostics, and multi-channel budget reallocation with specific dollar-amount shift recommendations and scenario modeling.

中文简介正在准备中。当前显示原文说明。

gooseworks-ai/goose-skills12652026年10月24日 更新

For paid lead-gen and participant-recruitment ads, replaces vanity CPA with true CAC per qualified lead by joining ad-platform data with downstream funnel events, surfaces tracking gaps, and classifies every creative into Scale / Keep / Investigate / Cut.

中文简介正在准备中。当前显示原文说明。

gooseworks-ai/goose-skills12652026年10月24日 更新

The intake stage of a Meta ad harness. Researches the brand first, states what it assumes, and asks only what it cannot infer and what would change money, claims or legal exposure if guessed wrong — at most four questions a turn, in plain business language. Writes the brand's stable facts (ads/brand.md), the campaign brief, and a log of what was asked vs assumed. Use it when someone wants to run Meta ads and the brand's ad facts are not yet recorded.

中文简介正在准备中。当前显示原文说明。

gooseworks-ai/goose-skills12652026年10月24日 更新

Checks paid ads against the ad platform's rules (Meta, TikTok, Google, LinkedIn and others) and the brand's category rules: the copy, on-image or on-screen text, pictures and people. Rewrites what can be fixed honestly, adds the disclosures that are needed, and flags anything that needs a human or legal review, with one pass, fixed or flag line per ad and platform. Use alone when you already have the ad text or images and know where they will run; otherwise run the playbook for the job (e.g. make-static-ads, make-content, email-lifecycle).

中文简介正在准备中。当前显示原文说明。

gooseworks-ai/goose-skills12652026年10月24日 更新

Analyze the message match between your ads and landing pages. Checks if the promise in the ad copy carries through to the landing page headline, body, and CTA. Flags disconnects that kill conversion rates. Works with Google, Meta, and LinkedIn ads.

中文简介正在准备中。当前显示原文说明。

gooseworks-ai/goose-skills12652026年10月24日 更新

查看 gooseworks-ai 的全部技能

报告此技能的问题