カルーセル → アニメーションMP4
このスキルは instagram-carousel スキルを再利用します(~/.claude/skills/instagram-carousel にインストールされている必要があります。以下 <ic> と表記します)。
最終出力は MP4 であり、PNG画像ではありません。
ワークフロー
- 通常通りカルーセルを作成:
<ic>/SKILL.mdのステップ1〜4に従います(概要、アーキタイプ、ビジュアルシステム、スクリプトとHTML)。すべてのルールが適用されます:スライド間の連続性、新しいフォント、2+1パレット、デザインレビュー。-
デザイン前に必ず縦横比を確認します。リクエストに明示されていない場合でも、以下の選択肢を提示します:
- 縦長: リール/ストーリーズ 9:16(1080×1920、
--reels)またはフィード 4:5(1080×1350、フラグなし); - 横長: 16:9(1920×1080、
--landscape)、YouTube、Webサイト、画面用。
縦横比によって全体の構成(グリッド、サイズ、セーフゾーン)が変わるため、デフォルトで選択しないでください。横長はモーショングラフィックスモードでのみ機能します。
- 縦長: リール/ストーリーズ 9:16(1080×1920、
-
また、スタイルも確認します:スライド(自動振り付け:スライド間のカメラ移動)またはモーショングラフィックス(キネティックタイポグラフィと多様なトランジションにより、スライド風に見せない)。ユーザーが「スライドっぽい」と言ったり、よりダイナミックなものを求めた場合は、モーショングラフィックスを使用します。
references/motion.mdを参照してください。 -
さらにサウンドも確認します:内蔵エフェクト(デフォルト)、Openverseエフェクト、Openverse音楽、ユーザーのファイル、またはサウンドなし。
-
<ic>/references/video.mdを読む:振り付け、data-anim/data-delayによるアニメーション制御、サウンド、チェック項目について。- 必要に応じてHTML内の振り付けを調整します。アニメーションは自動ですが、
data-animとdata-delayでキーモーメントを微調整できます。 - フル動画の前に静止画でチェック(高速):
node <ic>/scripts/video.mjs <output>/carousel.html <output>/carousel.mp4 --stills=0.6,1.5,3,4.2,6<output>/carousel-stills/内のJPEGを開き、各エントランスの終わりで何も切れていないか、重なっていないか、見えていないかを確認します。 - サウンド(オプション。
video.md› サウンドを参照):- Openverse:
node <ic>/scripts/sounds.mjs search "whoosh" --type=sfx。ユーザーにオプションを表示し、許可を得てnode <ic>/scripts/sounds.mjs download <id> <output>/sounds/whoosh-1.mp3を実行します。 - ファイル名で用途を設定:
whoosh*(トランジション)、pop*(ステッカー/ピル)、hit*(タイトル)。各タイプにつき複数(whoosh-1.mp3、whoosh-2.mp3…)を使用し、トランジションが毎回同じ音にならないようにします。同じ音が連続しないようにローテーションします。音楽は別途扱います。 - ファイルがない場合、内蔵エフェクトはそれ自体で変化します(5種類のウーッシュ、3種類のポップ、3種類のヒット、ランダムなピッチと長さ)。
- Openverse:
- MP4をレンダリング:
ffmpegは不要:Chrome(GSAP + WebCodecs)を使用します。20〜30秒の動画で約30〜60秒かかります。長時間の場合はバックグラウンドで実行します。node <ic>/scripts/video.mjs <output>/carousel.html <output>/carousel.mp4 [--reels] [--sfx=<output>/sounds] [--music=<output>/sounds/music.mp3] - 納品:
carousel.mp4(H.264 + AAC、Instagram/Reels対応済み)caption.txt(キャプション、ハッシュタグ、キーワード)- メモ:長さ、形式、使用したサウンド(およびその出典、
sounds/sound-sources.txtから)と、まだ置き換えるべきプレースホルダー
ユーザーから明示的に依頼がない限り、PNG画像は納品しないでください。依頼があった場合は、基本スキルと同様に render.mjs を使用します。