One Line Motion Gratis は何をしますか?
無料版には10のプリセットスタイルが含まれています。完全版(52プリセット、中小企業向け広告、3D断面透視、世界地図、長時間YouTube形式)は onelinemotion.com でご利用いただけます。ユーザーが references/styles.md にないスタイルを要求した場合は、これら10スタイルから最も近いプリセットを選び、そのスタイルが完全版で利用可能であることを伝えてください。
このスキルは、1行のアイデアを実際の動画のように動くモーショングラフィック動画(スライドではありません)に変換します。ナレーション、効果音、字幕、サムネイル、投稿文が含まれます。デフォルトの作業言語はインドネシア語ですが、ユーザーが他の言語を希望する場合は変更可能です。
このスキルのフォルダには以下が含まれます:
template/: すぐに使えるRemotionプロジェクト(音声の長さに合わせたタイムライン、スタイルトークン、動きのコンポーネント、自動字幕、ダッキング付き音楽)。scripts/:new-project.sh,make-sfx.sh,make-music.mjs,tts-fallback.sh,sync-timeline.mjs,qa-sheet.mjs,finish.sh。examples/: 各プリセットスタイルに対応する10のサンプル動画コード(references/styles.mdの表を参照)。アニメーション化する前に、選択したプリセットのサンプル(パレット、コンポーネント、動き方)を出発点として参照してください。references/:styles.md(プリセットスタイル)、motion.md(動きとレイアウトの原則)、audio.md(音声、効果音、音楽)、formats.md(プラットフォーム仕様とアップロードパッケージ)、revisions.md(改訂辞書)、prompts.md(ユーザー向けプロンプトライブラリ)。
このスキルのパスは $SKILL(このファイルがあるフォルダ)として参照します。
基本原則
- 順序を飛ばしてはいけません。 コンセプトはスクリプトの前に確定、スクリプトは音声の前に確定、音声はアニメーションの前に確定。シーンの長さはナレーションの長さに従い、その逆ではありません。
- 1シーンには1つのアイデア。 1つのシーンで説明に2文必要な場合は、2つのシーンに分割します。
- 常に動きがあること。 1.5秒を超える静止フレームは禁止。
- スタイルは
brand.jsonに固定。 すべての色、フォント、線の太さ、テンポがそこから読み込まれるため、20本目の動画も最初と同じ品質を維持できます。 - レンダリング前に確認。 QAシートは必ず目視(Read)で確認してから本番レンダリングを行います。
- 事実を捏造しないでください。 数字や主張はWeb検索で確認し、出典を記録します。
ワークフロー
各段階で簡潔な進捗をユーザーに表示します。例:Brief ✓ → Konsep ✓ → Naskah … → Suara → Animasi → QA → Render。
1. ブリーフ(5項目)
- 何: 一言で表すメッセージ。
- 誰に: オーディエンス(中学生、一般、購買検討者など)。
- 長さ: デフォルトではShorts 30〜45秒、エクスプレイナー60〜90秒、イントロ5〜10秒、プロモーション15〜30秒。
- フォーマット: 9:16(Reels/TikTok/Shorts)、16:9(YouTube)、1:1(フィード)、または複数同時。
- トーンとスタイル: 教育的、面白い、ドラマチック、プレミアム、販促用。既存のプリセットスタイルがあればそれも。広告の場合は、事業情報(名前、価格/割引、住所または注文方法)も尋ね、捏造しないでください。
空白がある場合は、1つの質問(可能であれば AskUserQuestion)でまとめて尋ねます。ユーザーが「そのまま進めて」と言った場合は、デフォルト値を使用し、使用したデフォルトを伝えます。
~/.one-line-motion/brands/ も確認します。保存済みのブランドキットがあれば、「ブランドキット Kopi Senja を使いますか?」と提案します。
2. 3つのコンセプト → ユーザーが1つ選択
references/styles.md を読みます。各コンセプトには以下が含まれます:
- 名前 2〜4単語と主要な視覚的メタファー(例:「グリーンランドをパズルのピースとして」)。
- プリセットスタイル + 5色のパレット(hex) + フォントペア。
- 最初の3秒のフック: 見えるものと聞こえるもの。
- カメラ/動きの流れ を一文で。
3つは異なるメタファーでなければならず、単なる色の違いではいけません。1つを推奨としてマークし、理由を一文で説明します。選択後、そのコンセプトからプロジェクトの brand.json を作成します。
3. シーンごとのスクリプト
トピックが事実に基づく場合は、事前に事実確認(Web検索)を行い、出典を notes/sources.md に記録します。その後、表を提示します:
| # | 長さ | ナレーション (VO) | ビジュアル | 動き | 画面テキスト | SFX |
ルール:
- インドネシア語VOの速度は約2.3単語/秒(シネマティック約2.0、プロモーション活発約2.6)。総時間に合うように単語数を計算します。
- シーン1 = 3秒以内のフック:質問、驚くような事実、または矛盾。
- 最終シーン = ペイオフ + 行動喚起(フォロー、コメント、ショップ訪問)。
- Shorts は4〜7シーン、60〜90秒のエクスプレイナーは6〜10シーン。
- 画面テキストは1行最大6単語、2行まで。重要な数字は大きく表示。
- ナレーションは聞き取りやすく書く:短い文、日常的な言葉、TTSで読み上げるときに奇妙にならない略語(「5x」ではなく「五回」と書く)。
スクリプトの承認を求めます(「OK」で十分)。ただし、ユーザーが既に直接進めるよう指示している場合は除きます。
4. プロジェクトの準備
bash "$SKILL/scripts/new-project.sh" <フォルダ名> [~/.one-line-motion/brands/<名前>.json]
このスクリプトはテンプレートをコピーし、public/sfx/ に合成効果音ライブラリを作成し、依存関係をインストールします。次に、シーンコードを書く前にスキル remotion-best-practices(利用可能な場合)を読み込みます。
5. 音声を先に
references/audio.md を読みます。概要:
- シーンごとのボイスオーバー →
public/audio/vo-01.mp3、vo-02.mp3、…- 基本:ElevenLabs(プラグイン/MCP
creative_generate_speechまたは利用可能な他のElevenLabsツール)。オーディエンスに合った声を選び、名前を伝えます。 - アカウントなしの代替(ドラフト用):
bash "$SKILL/scripts/tts-fallback.sh" "<ナレーション>" public/audio/vo-01.mp3。これがドラフト音声であることをユーザーに伝えます。
- 基本:ElevenLabs(プラグイン/MCP
src/timeline.jsonを埋める:シーンごとに1エントリ(id、component、vo、text= ナレーション、sfx)。- 長さを同期:
node "$SKILL/scripts/sync-timeline.mjs" <プロジェクトフォルダ>。シーンの長さ = VOの長さ + 0.45秒。 - SFX は
public/sfx/(pop、ding、click、whoosh、swoosh、riser、impact、boing、typing)または接続されたSFXサービスから。重要な動きの瞬間にのみ配置し、シーンあたり最大2〜3。atはシーン開始からのフレーム数で計算。 - 音楽:雰囲気に合ったロイヤリティフリーの背景音楽を、動画全体の長さ+2秒で作成:
node "$SKILL/scripts/make-music.mjs" <ceria|lofi|piano|angkasa|synthwave|funk|tech|gamelan> <秒数> public/audio/music.wavまたは、接続されたライセンス音楽サービス(アカウントにダウンロード権限があることを確認)またはユーザーのファイルを使用。timeline.musicに入力。Video.tsxで自動ダッキング。
6. アニメーション
references/motion.md と references/styles.md の選択したプリセットセクションを読みます。
src/scenes/にシーンごとに1ファイル、src/scenes/index.tsでタイムラインのcomponentと同じ名前で登録。- 最初に組み込みコンポーネントを使用:
Background、Camera、Pop/usePop、KineticText(*で始まる単語はアクセント色)、BigNumber、DrawPath、Caption。サンプルシーン(Hook、Sunlight、Scatter、Payoff)はパターンを示します。不要なものは削除。 - すべての動きは
useCurrentFrame、interpolate、springを使用。CSSアニメーションやトランジションは使用しないでください。 - 色、フォント、イージング、スプリングは
themeからのみ取得。特定のイラスト(例:虹色)を除き、シーンで新しいhexを書かないでください。 - イラストはSVG/Reactで自作。テクスチャは手続き的に生成。著作権のあるキャラクター、ロゴ、画像は使用しないでください。
- レイアウトは
useVideoConfig()を読み取り、同じシーンを9:16と16:9(Video-16x9)の両方でレンダリングできるようにします。 - 新しいフォントは
src/fonts.tsに登録。
プロジェクトフォルダで npx tsc --noEmit を実行し、エラーがないことを確認します。
7. ビジュアルQA(必須)
node "$SKILL/scripts/qa-sheet.mjs" <プロジェクトフォルダ>
out/qa-sheet.jpg をReadで開きます。各行が1シーン、各列が開始/中間/終了を示します。以下を確認し修正します:
- テキストが字幕や他の要素と重なっている、テキストが切れている、安全領域からはみ出している。
- 中間/終了の列でシーンが「停止」している(動きが既に終わっているのにナレーションが続いている)。
- コントラストが低い、要素がスマートフォン画面で小さすぎる。
- シーン間でのスタイルの一貫性。
問題がなくなるまで繰り返します。ユーザーがプレビューを希望する場合は、QAシートを見せます。
8. レンダリングと仕上げ
cd <プロジェクトフォルダ> && npx remotion render Video out/video.mp4 --codec h264
bash "$SKILL/scripts/finish.sh" out/video.mp4 <サムネイルの秒数>
出力:video-final.mp4(ラウドネス -14 LUFS)、video-thumb.jpg、video-wa.mp4(軽量版)。他のフォーマットの場合:npx remotion render Video-16x9 out/video-16x9.mp4。長時間のレンダリングはバックグラウンドで実行可能。
9. アップロードパッケージ
references/formats.md を読みます。最終MP4を SendUserFile で送信し、以下を含めます:
- 3つのタイトル候補(60文字以内)、短いキャプション、5〜8個の関連ハッシュタグ。
- 長さ、フォーマット、プリセット、使用した音声、音楽/効果音の出典。
- 事実の出典(教育コンテンツの場合)。
ブランドキットの保存を提案:brand.json を ~/.one-line-motion/brands/<名前>.json にコピー。
10. 1行での改訂
references/revisions.md を読みます。リクエスト(「月をもっと大きくして、顔を追加して」)をリストに変換:シーン → 要素 → プロパティ → 新しい値。それだけを変更します。
- ナレーションの改訂:そのシーンのVOを再作成し、
sync-timeline.mjsを実行。 - レイアウトが変わった場合はQAシートを再度実行し、再レンダリング。
notes/revisions.mdに記録(日付、リクエスト、変更内容)、変更点を簡潔に伝えます。
倫理とライセンス
- 特定のスタジオ/クリエイターのキャラクター、ブランド、スタイルを模倣しないでください。文化的モチーフは一般的なスタイルで敬意を持って描き直します。
- 音楽と効果音は、ライセンスされたソース、ユーザー作成、または
make-sfx.shの合成結果のみを使用します。 - 動画がクライアントや有料広告に使用される場合は、ユーザーに音声/音楽サービスのライセンスを確認するよう注意を促します。
- 科学の簡略化は許可されますが、概念の誤りは禁止です。