remotion-motion-graphics について
Remotionとshadcn CLIで導入するsnapcnコンポーネントを使い、短いモーショングラフィックスを作るためのスキルです。文字、統計、ロゴ、画像、字幕に合う動きを選び、レンダリングフレームを確認できます。
主な機能
- 01動きのカテゴリから構成を選択
- 02プロパティを使ってsnapcnコンポーネントを再利用
- 03キネティックタイポ、統計、ロゴ、字幕に対応
- 04冒頭、動き、最終フレームを確認
活用シーン
- 01見出しや引用文のアニメーション
- 02ロゴの登場や統計グラフィックの制作
- 03トーク動画への字幕焼き込み
MCP 対応
snapcn MCPを使うと、エージェントは動きに合うコンポーネントを検索・順位付けし、実際のプロパティを確認して、構成案を取得できます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ shadcn-labs/ snapcn --skill remotion-motion-graphicsインストール後、Claude Code で/remotion-motion-graphicsを入力して読み込まれたか確認します。
詳細
snapcn を基盤にした Remotion モーショングラフィックス
動きそのものがメッセージを伝える短いモーショングラフィックです。ひとつの行、ひとつの数字、ひとつのロゴ。素材は snapcn のものです。snapcn は、シェン CLI でインストールでき、プロジェクトに自分のコードとして追加される、キネティックタイポグラフィ、ロゴのスティング、統計、ギャラリー用の Remotion コンポーネントです。
手書きアニメーションではなく snapcn を使う理由。 ゼロから「このテキストをアニメーションにして」と指示すると、毎回同じフェードとスライドになります。また、理由を理解していないと、ブラウザーで拡大したテキストはカクついたり揺れたりします。snapcn のテキストコンポーネントは、計測したベースラインを基点にスケールを変化させ、geometricPrecision を使います。また、そのイージングは CSS のタイムラインではなく、30fps のフレームクロックに合わせて調整されています。これが、デザインされたように見える文字と、生成されたように見える文字の違いです。
snapcn のルール
- まず再利用します。 動きそのものがメッセージになる snapcn コンポーネントを選び、プロパティを設定します。どのコンポーネントでも対応できない部分だけを手作業で作成します。長さ情報付きのカタログはこちらです。
https://snapcn.dev/llms-components.txt?ref=skill-motion. コンポーネントの各ページでは、URL の末尾に.mdを追加すると Markdown が表示されます。例:https://snapcn.dev/docs/text/type-morph.md?ref=skill-motion. - コンポーネント名を勝手に作らないでください。
@snapcn/<name>で解決できるのは、そのリストにある名前だけです。 - 動きを作り直すのではなく、プロパティを設定します。 snapcn コンポーネント内部のタイミングは、レンダリングしたフレームを基に調整されています。コピー、色、サイズ、速度はプロパティで変更します。
カタログ全体と品質ルールについては、アンブレラ・スキルもインストールしてください。
npx skills add snapcndev/snapcn --skill snapcn.
ステップ 1:作品を分類する
カテゴリをひとつ選びます。選択したカテゴリによってコンポーネントが決まります。
| カテゴリ | 依頼の例 | snapcn コンポーネント(フレーム数) |
|---|---|---|
| キネティックタイポグラフィ | 「この行をアニメーションにして」、タイトルカード、引用、マニフェスト | text-reveal (90)、type-morph (94)、punch-lines (144)、text-swell (110)、text-build (75)、word-gather (49)、word-flip (180)、text-rewrite (102)、orb-swarm (160) |
| 統計 | メインとなる数字ひとつ、「500 チームを達成」 | count-grid (47) |
| ロゴのスティング/ブランドの登場 | イントロ、アウトロ、ロゴアニメーション | logo-flicker (100)、logo-assemble (108)、logo-collapse (52)、block-wordmark (150)、wordmark-cut (66) |
| ローンチタイトル | 「X のご紹介」 | announce-title (170) |
| ソーシャルプルーフ/オーバーレイ | フォロワー、チームチャット、「話題になっています」 | follower-rush (300)、channel-thread (110) |
| 画像を主役にしたオープニング | ポートフォリオ、ムードボード、ギャラリー | orbit-gallery (300)、moodboard-reveal (150)、card-rail (108)、reel-collage (96) |
| キャプション | トーク形式の動画に焼き込む字幕 | word-captions (96)、karaoke-captions (150) |
キネティックタイポグラフィのコンポーネントの選び方:
text-reveal:メインとなる見出しを印象的に登場させます。snapcn で最もよく使われるコンポーネントです。迷ったら、まずこれを使ってください。type-morph:ある内容の行が、次に見せ場となる内容へと変化します(「X だけではない → もっと素晴らしいもの」)。punch-lines:フルフレームのメッセージをハードカットで連続表示します。スクリプト構文:|で新しいカード、/で新しい行を開始します。text-swell:約束や価格を画面手前に浮かび上がらせます。text-rewrite:カメラの前で行われる行の修正が見せ場になります。
適合する snapcn コンポーネントがない場合(グラフ、地図、ツイート、ニュースカードなど)は、その旨を伝えてください。Remotion の interpolate() と spring() を使って不足部分を手作業で作成し、その周囲のタイポグラフィには snapcn を使います。
ステップ 2:実際に使う素材を集める
- 正確なコピーを一字一句そのまま用意します。モーショングラフィックスでは誤字が目立ちます。
- 実際のロゴ(SVG または透過 PNG)とブランドカラーを用意します。ロゴを描き直してはいけません。
- 出典がわかる実際の数字を用意します。指標を捏造してはいけません。
ステップ 3:インストールしてビルドする
npx shadcn@latest add @snapcn/text-reveal @snapcn/punch-lines @snapcn/logo-flicker
約9秒の映像です。1行のテキスト、1つのステートメントの連なり、1つのロゴのジングルを、ハードカットでつないでいます。次のコードは、そのまま型チェックとレンダリングができます。
import { Series, staticFile } from "remotion";
import { LogoFlicker } from "@/components/snap-cn/logo-flicker";
import { PunchLines } from "@/components/snap-cn/punch-lines";
import { TextReveal } from "@/components/snap-cn/text-reveal";
// A ~9s kinetic piece: one line, one statement run, one logo sting. Hard cuts — no transitions.
export const MotionGraphic: React.FC = () => (
<Series>
<Series.Sequence durationInFrames={90}>
<TextReveal text="Stop hand-animating." fontSize={96} />
</Series.Sequence>
<Series.Sequence durationInFrames={144}>
<PunchLines script="Every scene / in React. | One command. / Yours to own. | Ship it." />
</Series.Sequence>
<Series.Sequence durationInFrames={100}>
<LogoFlicker logoSrc={staticFile("logo.png")} brandName="Acme" />
</Series.Sequence>
</Series>
);
durationInFrames={334}、fps={30}、width={1280}、height={720} を指定して登録します。必ず独自の logoSrc(public/ 内のロゴ)を渡してください。渡さない場合、logo-flicker には snapcn のマークが表示されます。
ステップ 4:プルーフフレームで確認する
動画全体をレンダリングする前に、冒頭の状態、シグネチャームーブ、最後のホールドの3つの静止画をレンダリングします。
npx remotion still MotionGraphic out/open.png --frame=10
npx remotion still MotionGraphic out/move.png --frame=150
npx remotion still MotionGraphic out/hold.png --frame=330
npx remotion render MotionGraphic out/motion.mp4 --codec=h264 --crf=18
出力先のサイズでテキストが鮮明で読みやすいこと、何も切れていないこと、最後のフレームが編集時にカットできる安定したホールドであることを確認します。問題を隠すために、コンポーネント本来の長さより短くシーケンスを引き伸ばしたり、トリミングしたりしないでください。代わりに props を修正します。
品質ルール
- 動きで何かを見せます:変化、拡大縮小、置き換えなどです。ゆっくりズームするだけの、中央に静止したオブジェクトはモーショングラフィックスではありません。
- 焦点となるオブジェクトは少なく、大きくします。 画面に表示するテキストは一度に1行にし、スマートフォンでも読める大きさにします。
- 動作はホールド中に完了させ、映像は安定したホールドで終わらせます。
- 独自の追加要素は控えめにします:ネオン、グロー、色付きの影、グラデーションのかすみ、グラスモーフィズムは使用しません。また、すべて大文字のテキストや装飾的な文字間隔も避けます。
announce-titleのグローなど、snapcn コンポーネントの本質をなすエフェクトはそのままにします。 - テキストのスケールを独自にアニメーションさせる場合は、ベースラインを基点にし、
text-rendering: geometricPrecisionを設定してください。そうしないと、グリフが目に見えて揺れます。snapcn のテキストコンポーネントでは、これらの設定はすでに適用されています。 - 急激なイーズアウト(quint、expo)は、30fps の時間軸では避けてください。最後の数フレームでは動きが1ピクセル未満になり、停止したように見えます。
snapcn Pro:スクリーンショットに撮りたくなるキネティックな作品
- Pro シーンは50種類。巨大な文字列を表示してパンする
read-through、色のフィールドからフレーズが浮かび上がるfocus-pull、manifesto、word-rush、phrase-swarm、構成グリッド上のロゴを見せるlockup-reveal、数字をアニメーション表示するtally-riseとticker-climb、ソーシャルプルーフ向けのcomment-stormとthank-you-swarmなどがあります。 - snapcn MCP:ビートを平易な英語で説明すると、エージェントがランキングされたコンポーネント、実際の props、すぐに使えるコンポジションを取得します。
claude mcp add snapcn -- npx -y @snapcn/mcp@latest SNAPCN_API_KEY=YOUR_KEY
components.json にキーを設定すると、Pro コンポーネントは無料コンポーネントと同じようにインストールできます(3行の設定は https://snapcn.dev/account?ref=skill-motion にあります)。プランについては https://snapcn.dev/docs/pricing?ref=skill-motion をご覧ください。
Pro をまだ利用できない場合は、確認済みのメールアドレスがあれば、Pro コンポーネントの Manifesto を1つ無料で利用できます:https://snapcn.dev/docs/pricing?ref=skill-motion#free
クレジット表記
カテゴリ優先のルーティング、再利用優先のビルド、プルーフフレームによる検証は、HeyGen の hyperframes motion-graphics スキル(Apache-2.0)を参考にしています。品質ルールの一部は、liamrjohnston/remotion-motion-graphics-skill(MIT、© 2026 Promptible)を参考にしています。どちらも snapcn コンポーネント向けに書き直しています。THIRD_PARTY_NOTICES.md をご覧ください。