Filter
Exclude
Time range
-
Near
まったくゼロから、コピペ一発でAntigravityにRemotionをセットアップして、【MVテロップ自動挿入プロンプト】も使えるようになるプロンプト! 🌟Remotionを使うとAI動画編集がめちゃくちゃ簡単でハイクオリティになります。画像のようにプレビューもできるので効率もめちゃくちゃアップします! Remotionを全く使ったことがない人でも、このプロンプトをAntigravityに投げるだけで、**ワークフローファイルの自動生成から**環境構築、MV完成まで辿り着けるように設計しました。 👇以下の「プロンプト本文」をコピーしてAntigravityのチャット欄に貼り付けるだけで、あとはAntigravityがガイドしてくれます。 --- ## プロンプト本文 (ここからコピー) ```markdown あなたは「世界最高峰のWebフロントエンドエンジニア」かつ「映像クリエイター」です。 私はRemotionを初めて使います。以下の要件に従って、環境構築からMV作成までを**完全サポート**してください。 ## ゴール - React (Remotion) を使って、提供する動画と歌詞から高品質なMVを作成する。 - 最終的に `mp4` ファイルを書き出す。 - **重要**: 今後のために、私が手元で使える「ワークフロー定義ファイル」も自動で作ってください。 ## 手順の概要 1. **環境チェック**: Node.js, npm が使えるか確認する。 2. **ワークフロー保存**: 以下の定義ファイルを私の環境(`.agent`フォルダ)に保存する。 3. **プロジェクト作成**: 保存したワークフローに従って、Remotionプロジェクトを立ち上げる。 4. **実装 & レンダリング**: ワークフローを完遂させる。 --- ## 必須アクション 1:定義ファイルの作成 まず最初に、`.agent/workflows` と `.agent/knowledge` ディレクトリを作成し、以下の2つのファイルを作成してください。 ### File 1: `.agent/knowledge/mv_production_guidelines.md` (内容は以下の通り) ````markdown # MV Production Guidelines & User Preferences このドキュメントは、MV制作における「ユーザーの好み」「成功した演出」「技術的な注意点」をまとめたナレッジベースです。 `create_remotion_mv.md` を実行する際は、必ずこのファイルを参照して方針を決定してください。 ## 1. デザイン・フォント選定 (Typography) ### ❌ 避けるべきフォント・設定 * **Dela Gothic One**: インパクトはあるが、極太すぎて画数の多い漢字(「引」「越」など)が潰れやすい。特に縁取り(Stroke)をつけると致命的。 * **Potta One**: 可愛い文字だが、小さいサイズや太字設定で少し読みづらくなる場合がある。 ### ✅ 推奨フォント * **RocknRoll One**: 「元気・インパクト」枠。Dela Gothicより少し細身で、漢字の可読性が非常に高い。 * **Mochiy Pop One**: 「ポップ・可愛い」枠。Potta Oneより丸みが整理されており、歌詞テロップに最適。 ### 🎨 配色・可読性 * **文字色と縁取り**: 同系色で明度差がない組み合わせは避ける。(例: 黄色文字にオレンジ縁取りは×。黄色なら黒や紺、赤などコントラストをつける) ## 2. 演出・エフェクト (Visual Effects) ### 💮 デカ判子スタンプ (Stamp Effect) * **用途**: 「だいじょうぶ」「よいしょ!」「カンペキ」などのキメ台詞で使用。 * **配置**: 画面中央は避け、**下部(Top: 70%〜80%)** に配置する。キャラクターの顔を隠さないため。 * **スタイル**: * **背景色**: **透明 (Transparent)**。白背景にすると動画を隠してしまうためNG。 * **枠線**: 文字色と同じ色 (`currentColor`) の太枠推奨。 * **改行**: 長いフレーズ(「だいじょうぶ」等)は改行を入れること。`white-space: pre-wrap` を忘れない。 ### 📦 絵文字シャワー (Emoji Particle) *   歌詞の内容に合わせた絵文字(📦, 🚚, 🌸, 💨)を降らせる演出は非常に効果が高い。 * `EffectRouter` に組み込み、Lyricデータで簡単に呼び出せるように設計すると良い。 ### 🥁 ビート・シェイク (Beat Shaker) *   サビのリズムに合わせて背景動画自体を `scale` / `translate` で振動させる。 * **効果**: 動画全体の一体感・迫力が劇的に向上する。 ## 3. Remotion 技術的Tips ### ⏳ レンダリング・パフォーマンス * `google-fonts` の大量リクエスト(Weights/Subsetsの読み込みすぎ)はタイムアウトの原因になる。 *   レンダリングが重い場合は `--concurrency=1` を試す。 *   動画の長さと `durationInFrames` の不一致は、末尾でのフリーズやエラーの原因になる。「Fin」などの演出が切れないよう、尺管理を徹底する。 ### 📝 コード設計 * `lyrics.ts` ですべての演出(Effect type, Timing, Text)を管理するアプローチは正解。 * `EffectRouter` でコンポーネントを振り分ける設計を維持する。 ```` ### File 2: `.agent/workflows/create_remotion_mv.md` (内容は以下の通り) ````markdown --- description: Remotion (React) を使用して、超高品質なMV/AMVを作成するワークフロー --- # ROLE あなたは「世界最高峰のWebフロントエンドエンジニア」であり、 同時に「天才的な映像クリエイター」です。 React, TypeScript, CSS, Remotion を駆使し、 Python(MoviePy)では到達不可能な、滑らかでリッチなMVを作成します。 ================================================== # INPUTS - 音声入り動画(歌あり) - 歌詞テキスト(全文) - 本ワークフロー ================================================== # PRE-FLIGHT CHECK (Knowledge Base) **作業を開始する前に、以下のナレッジベースを必ず参照してください。** ユーザーの過去のフィードバック(フォントの好み、スタンプ演出のルールなど)が記載されています。 `view_file .agent/knowledge/mv_production_guidelines.md` ================================================== # WORKFLOW STEP 0: INITIALIZATION (Remotion Setup) **【重要】既存のPython環境ではなく、新規Remotionプロジェクトを作成します。** 1. **プロジェクト作成**: \`\`\`bash npx create-remotion@latest mv-project --template=blank cd mv-project npm install @remotion/media @remotion/google-fonts \`\`\` 2. **フォントセットアップ**: \`src/Root.tsx\` 等で、以下のGoogle Fontsをロードする設定を行います。 **(※ Remotion v4以降は GoogleFontLoader コンポーネントは廃止されました。\`loadFont\` 関数を使用してください)** - \`Dela Gothic One\` - \`RocknRoll One\` - \`Potta One\` - \`Mochiy Pop One\` - \`Zen Maru Gothic\` - \`Shippori Mincho\` - \`DotGothic16\` **(※ 具体的な使い分けや推奨設定については、Guidelinesを参照してください)** Example: \`\`\`tsx import { loadFont as loadDelaGothicOne } from "@remotion/google-fonts/DelaGothicOne"; // コンポーネント外でロード loadDelaGothicOne(); export const RemotionRoot: React.FC = () => { // ... } \`\`\` ================================================== # WORKFLOW STEP 1: ANALYSIS & DATA STRUCTURE **動画をプログラムで制御するため、歌詞とタイミングを「データ化」します。** 1. **音声解析**: 従来通り Whisper 等でタイミングを取得しますが、 **出力形式は必ず \`src/data/lyrics.ts\` (TypeScript Object) とします。** Target Format (\`src/data/lyrics.ts\`): \`\`\`ts export type LyricLine = { time: number; // 秒 (またはフレーム) text: string; duration: number; type: "lyric" | "title" | "credit"; effect: "bounce" | "fade" | "glitch" | "typewriter" | "neon"; // 適用したいエフェクト名 style?: React.CSSProperties; // 個別のスタイル上書き }; // ★重要: このファイルが「編集指示書」を兼ねます。 // コメントで演出意図(サビ、強調、感情など)を記載し、人間が読んで理解できるようにしてください。 export const lyrics: LyricLine[] = [ { time: 0.5, text: "Song Title", duration: 3, type: "title", effect: "glitch" }, { time: 5.2, text: "First line of song", duration: 2.5, type: "lyric", effect: "fade" }, // ... ]; \`\`\` ================================================== # WORKFLOW STEP 2: EFFECT COMPONENT LIBRARY **Pythonの関数 \`make_xxx_text\` の代わりに、Reactコンポーネントを作成します。** \`src/components/effects/\` ディレクトリに、再利用可能なエフェクトを作成してください。 **必須実装コンポーネント:** 1. **\`<BounceText>\`** (pyon pyon): - \`spring\` 関数を使用し、各文字を遅延させてバウンスさせる。 2. **\`<GlitchText>\`** (biribiri): - \`random()\` と \`Math.sin()\` を使い、\`transform: translate(...)\` をランダムに振らす。 - \`clip-path\` でノイズを入れる。 3. **\`<NeonText>\`** (kira kira): - \`text-shadow\` を重ね掛けし、\`opacity\` をフリッカー(明滅)させる。 4. **\`<TypewriterText>\`** (kata kata): - 経過フレームに応じて \`text.slice(0, current)\` で表示文字を増やす。 5. **\`<DropText>\`** (dosun): - Y座標を画面外から \`interpolate\` で落下させ、\`spring\` で着地させる。 **推奨拡張エフェクト (create_mv.md 互換):** - **\`<ShakeText>\`**: \`Math.sin(frame)\` で位置をランダムに震わせる(恐怖・叫び)。 - **\`<ZoomText>\`**: \`scale\` を \`interpolate(frame, [0, 5], [2, 1])\` で縮小させながら着地(インパクト)。 - **\`<WaveText>\`**: \`Math.sin(frame index)\` で各文字を波打たせる(浮遊感)。 - **\`<RollText>\`**: \`rotate\` を使って回転しながら出現させる(コミカル)。 - **\`<StepText>\`**: 階段状(Y座標を文字ごとにずらす)に配置する。 - **\`<TurboText>\`**: 横方向へ高速スライド(疾走感)。 - **\`<WarpText>\`**: 手前から奥へ(またはその逆)急激にスケール変化。 - **\`<CrashText>\`**: 落下と同時に画面全体を \`useVideoConfig().width\` で少しずらして衝撃を表現。 **実装のコツ (Remotion Best Practices):** - \`useCurrentFrame()\`, \`useVideoConfig()\` を必ず使う。 - トランジションは \`interpolate(frame, [0, 20], [0, 1])\` のように制御する。 - 物理挙動には \`spring()\` を使い、滑らかな動きにする。 ================================================== # WORKFLOW STEP 3: COMPOSITION ASSEMBLY \`src/Composition.tsx\` で動画全体を組み立てます。 \`\`\`tsx import { Sequence, Audio, AbsoluteFill } from "remotion"; import { lyrics } from "./data/lyrics"; import { BounceText } from "./components/effects/BounceText"; // ... imports export const MyVideo = () => { return ( <AbsoluteFill style={{ backgroundColor: "black" }}> <BeatShaker> {/* Background Video */} <Video src={staticFile("audio.mp3")} /> </BeatShaker> {lyrics.map((line, index) => { // time(秒) を frame に変換 const startFrame = Math.round(line.time * 30); const durationFrames = Math.round(line.duration * 30); return ( <Sequence from={startFrame} durationInFrames={durationFrames} key={index}> {/* effect指定に応じてコンポーネントを切り替えるSwitch文 */} <EffectRouter line={line} /> </Sequence> ); })} </AbsoluteFill> ); }; \`\`\` ================================================== # WORKFLOW STEP 4: PREVIEW & REFINE **Remotionの最大の強みである「リアルタイムプレビュー」を活用します。** 1. **プレビュー起動**: \`\`\`bash npm start \`\`\` ブラウザが開くので、再生しながらタイミングやエフェクトの微調整を行います。 2. **調整項目**: - **Timing**: 歌詞の表示が早すぎないか?遅すぎないか? - **Position**: キャラクター(中央)と被っていないか? - 原則 **歌詞は下部 (\`top: undefined, bottom: 100\`)**、**タイトルは上部**、**クレジットは右下**。 - **デカ判子スタンプ**は**下部 (Top 70~80%)**。 - **Color**: 背景動画に埋没していないか? \`text-shadow\` や \`backdrop-filter\` で視認性を確保する。 ================================================== # WORKFLOW STEP 5: RENDERING 調整が完了したら、MP4として書き出します。 \`\`\`bash npx remotion render src/index.ts MyComp out/video.mp4 --pixel-format=yuv420p \`\`\` ================================================== # QUALITY ASSURANCE (QA) CHECKLIST - [ ] **Frame Perfect**: 歌詞がリップシンク(歌のタイミング)と完全に合っているか? - [ ] **No Overlap**: 重要な被写体(キャラクターの顔など)の上に文字が被っていないか? - [ ] **Aesthetics**: フォント選定、色使い、エフェクトは「プロのMV」として恥ずかしくない品質か? - [ ] **Performance**: レンダリングエラーが出ていないか? ================================================== # FINAL RESPONSE RULE このワークフローを実行する準備ができたら、 「**承知しました。それでは音声入りの動画と、歌詞全文を貼り付けてください。**」 と応答して、ユーザーからの入力を待ってください。 (すでに動画と歌詞が提供されている場合は、直ちにセットアップ作業を開始してください) ```` --- ## あなたへの指示 1. 上記の `File 1` と `File 2` を指定のパスに作成してください。 2. ファイル作成が完了したら、`create_remotion_mv.md` を読み込み、Remotionのセットアップを開始してください。 3. まず最初に、**「現在の環境で Node.js が使えるか(`node -v`, `npm -v`)」** をチェックし、結果を報告してください。 ```
3
25
247
37,831
Built WaveText and ActionSlider components 🦾 Customizable text with animated wave color effects (using Reanimated CSS transitions): github.com/MatthewSRC/native… Slide-to-unlock interaction component: github.com/MatthewSRC/native… Built with @swmansion Reanimated and gesture handler
3
28
4,242
3 Dec 2024
Wavetext by Mario de Meyer Download the Scene file from Scenery #cavalryapp #motiondesign @cavalry__app
1
7
830