Communitygithub.com

svemyh/launch-video

Xの投稿(URLまたはテキスト)とWebサイトURLまたはブランドプロフィールから、1080p60のダークステージプロダクトローンチフィルムを生成します。自己完結型Remotionテンプレートを使用。

launch-video とは?

このスキルは、X(旧Twitter)の投稿とブランドのWebサイト情報を基に、プロフェッショナルなプロダクトローンチ動画を自動生成するためのものです。出力は25〜40秒の1920x1080、60fps、H.264形式の動画で、BGMも自動合成されます。すべてのクリエイティブな決定はbrand.jsonとlaunch.jsonという2つのJSONファイルに集約されており、コンパイル、レイアウト、サウンドトラック合成、Remotionレンダリングが決定論的に行われます。対応プラットフォームはClaude Code、Cursor、CodexなどのAIエージェントで、Bun、ffmpeg、ImageMagickが実行環境に必要です。ワークフローは、X投稿の読み取り、ブランドプロファイルのブートストラップ、launch.jsonの作成、そして高速ドラフトレンダリングと本番レンダリングの4ステップで構成されています。

対応✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/svemyh/public-skills/tree/HEAD/launch-video

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Launch Video

Xの投稿(URLまたはテキスト)とブランドのWebサイト(または保存済みのbrand.jsonプロファイル)から、25〜40秒の1920x1080 60fps H.264形式のオーディオ付きローンチフィルムを生成します。すべてのクリエイティブな選択肢は2つの小さなJSONファイル(brand.jsonとlaunch.json)に集約されており、コンパイル、レイアウト、サウンドトラック合成、Remotionレンダリングは決定論的に行われます。

前提条件

  • Bun(bun >= 1.1)
  • PATHにffmpegとffprobe(H.264/AACエンコード、loudnormマスタリング、コンタクトシート検査用)
  • ImageMagick(PATHにmagick、WebP変換、アルファトリミング、ウィンドウクロップに推奨)

以下の<SKILL_DIR>は、このSKILL.mdを含むディレクトリを指します(例:~/.claude/skills/launch-videoまたは~/.agents/skills/launch-video)。

エンドツーエンドのワークフロー

1. Xの投稿を読み取る(URLが指定された場合)

bun <SKILL_DIR>/scripts/post.ts "https://x.com/<handle>/status/<id>"

公開fxtwitterエンドポイントを介して、投稿テキスト、作成者、統計、添付メディアを取得します(ログインやAPIキーは不要)。

2. ブランドプロファイルのブートストラップまたは読み込み(brand.json)

すでにキュレーションされたbrand.jsonがある場合は、それを再利用します。ライブWebサイト(例:https://fomo.familyやhttps://acme.dev)を指定した場合は、最初にブランドフォルダをブートストラップします。

bun <SKILL_DIR>/scripts/bootstrap.ts "https://fomo.family" --out ./work/brand

その後、./work/brand/brand.jsonを視覚的にキュレーションします(この手順をスキップしないでください)。

  1. マーク(mark): inline-*.svg、favicon.svg、mark.pngを検査します。ステージはダーク(#000000またはサイトのダークグラウンド#060510など)であるため、markは透明な背景上で白/明るい色でなければなりません(PNG32またはSVG)。サイトのアイコンが不透明なダークスクエア上にある場合は、ImageMagickを使用して明るいマークを透明に抽出します(magick raw.png -colorspace gray -level 6%,92% alpha.png && magick -size WxH xc:white alpha.png -compose CopyOpacity -composite -trim +repage PNG32:mark-white.png)。プレビュースウォッチを検査します。
  2. スクリーンショット(screens): screens/内のダウンロードされたすべての画像を表示します(またはヘッドレスPlaywrightで2x DPIのライブプロダクトルートをキャプチャします)。実際のプロダクトUIショットのみ(4〜8スクリーン)を保持し、デコレーションの背景テクスチャは削除し、各スクリーンに正確なdescriptionを記述します。デスクトップスクリーンショットに外側の壁紙マージンがある場合は、crop: {x, y, w, h}を追加します。透明なPNG(浮遊する電話、カード、通知)は自動的にトリミングされ、フレームなしでレンダリングされます。
  3. パートナー/エコシステムロゴ(logos): ビートで参照されるプラットフォーム、チェーン、モデル、ツール用に鮮明なSVG/PNGアイコンを追加します(logos/x.svg、logos/apple.svg、logos/slack.svgなど)。ダークなモノクロラスターアイコンには、ヘックス(六角形)タイルで目立つように"fill": "#F2F2F2"を設定します。
  4. パレットとCTA: palette.bg、palette.fg、palette.accent、mosaicColors(6〜10のブランドアクセント+ニュートラルスレート、パープルグラデーションは不可)、website(ベアドメイン、例:"fomo.family")、cta(big、title、body、button)を確認します。

3. launch.jsonを記述する

{
  "brand": "./brand/brand.json",
  "open": { "tagline": "Where traders become legends." },
  "beats": [
    { "id": "spot", "headline": "See it on X, trade it.", "screen": "desktop-terminal", "hexes": ["x", "solana"] },
    { "id": "social", "headline": "Follow what top traders buy.", "screen": "social-feed" },
    { "id": "alerts", "headline": "Real-time alerts before it moves.", "screen": "live-alerts" },
    { "id": "sync", "headline": "Phone to desktop, in sync.", "screen": "desktop-and-phone" },
    { "id": "fund", "headline": "Fund instantly with Apple Pay.", "screen": "apple-pay", "hexes": ["apple", "solana", "base"], "hexLayout": "top" }
  ],
  "cta": {},
  "outro": { "seconds": 6.5 },
  "music": "profile"
}

鋭いビートのルール(references/format-guide.mdを参照):

  • タグライン(open.tagline):プロダクトが何かを示す5単語以内。
  • 4〜6ビート:ビート1でX投稿のフックから始め、具体的なプロダクト画面を順に説明します。各見出しは2〜5単語でピリオドで終わるようにし、64 pxで1行に収まるようにします。
  • 正確なスクリーン一致:すべての見出しは、そのscreenに表示されているものと一致する必要があります。見出しと無関係なスクリーンショットを決して組み合わせないでください。
  • ヘックスレイアウト(hexLayout):"auto"(デフォルト:3つのロゴはleftにきれいに積み重なり、1〜2つはsidesに配置)、"top"(y = 340キャプチャの上に水平行)、または"sides"。
  • オーディオ(music):"profile"は、設定されている場合はbrand.jsonのmusicファイルを使用し、それ以外の場合はビートマッチの92 bpmミニマルエレクトロニックベッドを合成して-15 LUFSにマスタリングします。"synth"は常に合成します。"none"は無音でレンダリングします。またはカスタム.m4a/.mp3/.wavファイルのパスを指定します。

4. 高速ドラフトをレンダリング、フレームを検査、その後フル1080p60をレンダリング

# 視覚QA用の半スケールドラフト(約20〜40秒)
bun <SKILL_DIR>/scripts/render.ts ./work/launch.json --out ./work/draft.mp4 --scale 0.5
ffmpeg -v error -y -i ./work/draft.mp4 -vf "fps=1,scale=480:-1,tile=6x6:padding=2:color=gray" -frames:v 1 ./work/draft-sheet.png

./work/draft-sheet.pngと主要ビートの全フレームを検査します。

  • フレーム0はエッジツーエッジのハニカムモザイクを示しています。ロックアップマークはダークステージ上で鮮明で見える状態です。
  • すべての見出しは広いマージンで1行に収まり、そのキャプチャと一致しています。
  • 透明なプロダクトレンダリングはグレーの境界ボックスなしでクリーンに浮かび上がっています。ヘックスタイルはキャプチャから適切な余白を持っています。
  • CTAカーソルはクリックフレーム上のピルボタンにきれいに着地しています。
  • アウトロは全面ハニカム壁からバーストし、タイプされたドメインをきれいに保持しています。

brand.json / launch.jsonのコピー、クロップ、レイアウトの問題を修正した後、フル1920x1080 60 fps品質でレンダリングします。

bun <SKILL_DIR>/scripts/render.ts ./work/launch.json --out ./work/launch.mp4
ffprobe -v error -show_entries format=duration:stream=codec_name,width,height,r_frame_rate -of default=noprint_wrappers=1 ./work/launch.mp4

./work/launch.mp4の完全な絶対パスとビートテーブルを報告します。

関連スキル