/video-animado
コード(SVG + Remotion)で描かれた2Dアニメーションのナレーション動画を作成します。破ってはいけないルール:外部の画像・動画AIツール(Kling、Veo、Flow、Magnific、画像生成ツールなど)は一切使いません。キャラクター、背景、オブジェクトはすべて図形、SVGパス、テキストから生成されます。これにより、すべてのシーンでキャラクターが同一に見え、プロセスを再現可能に保ちます。
状態:2026年8月11日作成、まだエンドツーエンドでテストされていません。初めて実際に実行する際は、問題が発生した点を「落とし穴」に記録してください。
ユーザーとの会話方法
- 使用言語:ポルトガル語(ブラジル)。口調は実践的な講師風。相手が「tu」を使うなら「tu」、そうでなければ「você」。ダッシュは使わない。
- 相手が技術者でない可能性があります。何が起こったか、それが相手にとって何を意味するかを説明してください。コードやパスの話は、相手から尋ねられた場合のみにしてください。
- すべての質問はAskUserQuestionを使い、一度に1つ、2〜4の選択肢を提示し、推奨するものを最初に「(推奨)」とマークしてください。相手が「決めて」「どっちでもいい」などと言った場合は、推奨を選んで「〜を選びました」と伝えて先に進んでください。
- ファイルを見ればわかることは決して質問しないでください。
ファイルの置き場所
- スタジオ: ユーザーの動画作業用フォルダ。
~/my-studio/を探し、存在しなければ場所を尋ねるか、現在のフォルダを使用します。 - アニメーション・ブランドブック:
<studio>/animacao/<universo-name>/BRANDBOOK-ANIMACAO.html:見て共有するための美しいバージョンBRANDBOOK-ANIMACAO.md:Claudeが読むバージョン(同じルールに従う。一方を変更したら、両方変更する)personagens/<name>/:FICHA.md、Personagem.tsx(コードでの描画)、expressoes.pngcenarios/:シナリオごとのコンポーネント(Casa.tsx、Rua.tsx…)pronuncias.md(任意):各用語の音声での発音と字幕での表示に関するルール
- 動画:
<studio>/animacao/<universo-name>/videos/YYYY-MM-DD-slug/ - 納品物:
~/Downloads/YYYY-MM-DD_<slug>_animado.mp4
ブランドブックは世界(名前のある「世界」)です。その中には0人、1人、または複数のキャラクターが存在します。
フロー
0. ブランドブックを見つける
自動で検索:スタジオとカレントフォルダ内の animacao/ フォルダ、および BRANDBOOK-ANIMACAO.* ファイルを探します。見つかったものをリストアップして質問します:
- これらのいずれかを使用(見つかった世界ごとに1つ)
- 別のパスを指定(他の人から受け取ったブランドブックを含む)
- 新しく作成
何も見つからなかった場合はその旨を伝え、作成に進みます。既存のものを使用する場合は、.md ファイルと各キャラクターシートを読み、パートBにスキップします。
パートA. ブランドブックの作成(初回)
最初に「約25〜35の質問を1つずつ行います。どの質問でも「決めて」と言ってください」と伝えます。ブロック間では、決定事項を短く要約し、正しいか確認します。質問と選択肢のデータベースは references/perguntas.md にあります(開始前に読んでください)。
7つのブロック(この順序):
- 世界: 名前(3つ提案)、動画のテーマ、対象視聴者、トーン
- キャラクター: 人数(0、1、または複数)。それぞれについて完全なキャラクターシート(性別、年齢、顔、髪、服装、性格、ペット(犬、赤ちゃん、植物など)、声)
- 背景: 存在するもの(家、オフィス、通り、自然、抽象空間…)、部屋や場所、時間帯、固定オブジェクト
- ナラティブ: 各キャラクターの行動、振る舞い、よく行く場所、話し方、決してしないこと、キャラクター間の関係
- ビジュアル: コードで可能な描画スタイル、パレット(正確なHEX値と使用比率)、フォント、詳細度
- 動き: シーンへの出入り、表情、リズム、呼吸とまばたき、アニメーションルール、絶対にしないこと
- クロージング: 全体の要約、ナレーションの声(下記参照)、ブランドブックの最終名称
キャラクター0人も可能:背景、テキスト、図形のみの動画。その場合はブロック2をスキップし、ブロック3〜6は世界とリズムのみに焦点を当てます。
ナレーションの声はブランドブックに保存され、毎回尋ねるのを避けます。3つの方法:
- ElevenLabsでクローンしたユーザーの声
- ElevenLabsの既製ボイス(スキルがキャラクターに応じて提案)
- ユーザーが既に録音した音声があり、スキルはそれをそのまま使用 複数のキャラクターがいる場合、各キャラクターシートにその声を保存します。
パートAの成果物:
BRANDBOOK-ANIMACAO.mdとBRANDBOOK-ANIMACAO.html(構造はreferences/brandbook-html.mdを参照)- キャラクターごとに:
FICHA.md、Personagem.tsx(プロパティ:expressao、falando、olhando、escala(口はナレーションの音量に同期)、expressoes.png(すべての表情を横に並べた画像)) - 背景ごとに1コンポーネント
- 背景内にキャラクターを配置したテスト画像
ユーザーが表情とテスト画像を目視で承認した場合のみ先に進みます。コードでの描画がうまくいかない場合は、描画を簡略化します(詳細を減らし、形状を増やす)。外部ツールに決して切り替えないでください。
パートB. 動画の作成
- 単一の質問: 不足しているもののみ:テーマ、尺(デフォルト30〜60秒)、フォーマット(デフォルト1080x1920縦長、30fps)、使用するキャラクターと背景
- フックと「聞く」ための脚本(
references/roteiro.mdを読んでください)。まず3種類の異なるフックの選択肢を提示し、ユーザーが選びます。次に脚本:短い文、数字は話し言葉で、括弧や難しい略語なし、禁止フレーズリストにないもの。各行に:シーン、登場人物、表情、画面に表示されるもの。ブランドブックのナラティブに従います。最後に、ユーザーの確認が必要な事実ベースの主張を別途リストアップします。videos/<data-slug>/roteiro.mdに保存し、ユーザーの承認を得た場合のみ先に進みます。 - ナレーション: ブランドブックに保存された声の方法を使用します。音声を再生して承認を待ちます。おかしなフレーズがあれば、そのフレーズだけ再生成します。
pronuncias.mdがあれば使用します。narracao.mp3として保存します。 - 各単語のタイミング。 単語単位のタイムスタンプ付きでナレーションを文字起こしします(スタジオが既に持っている文字起こしツール、コースの編集ツール:Macのmlx-whisperを使用)。製品名や技術用語におけるWhisperの典型的な誤認識を修正します。ユーザーが文字起こしツールをインストールしていない場合は、その旨を伝え、先に進む前にインストールを支援します。
- Remotionプロジェクト を
videos/<data-slug>/に作成(スキルremotion-best-practicesを使用)。背景音声はnarracao.mp3。各シーンはブランドブックのコンポーネントをインポートし、キャラクターや背景を再描画することはありません。口:フレームごとの音声の音量を抽出し、falandoとして使用し、無音時の震えを防ぐために下限を設定します。各要素は、それが言及される単語のタイミングで出現します。単語ごとの字幕をブランドブックのスタイルで表示。Reactのフックはif内や早期のreturnの後には絶対に配置しません。 - レンダリング前の確認。
npx tsc --noEmitを実行後、各シーンの1フレームを確認します。画像を確認:キャラクター全体がシートと一致しているか、テキストが重なっていないか、幅を超えていないか、セーフエリア内か、口が音声に合っているか、表情とシーンが正しいタイミングか。詳細はreferences/conferencias.mdを参照してください。 - レンダリング、確認、納品。 mp4(H.264、AAC音声)を
~/Downloads/に出力。scripts/checar_video.pyを実行(音量、サイズ、無音をチェック)、コンタクトシートを生成し、独立したレビュアー(編集を見ていないサブエージェント、ブリーフィングはreferences/conferencias.md)を呼びます。重大または中程度の問題を修正し、再レンダリングします。カバー画像と投稿のキャプションも納品し、1:1および16:9形式も提供します(references/roteiro.md)。各シーンに何があるか、尺、レビュアーの意見、変更点、ユーザーが耳で確認すべき点(あなたは音声を聞いていません)、プロジェクトの場所を伝えます。 - 調整。 ユーザーは日常的な言葉(「キャラクターが真面目すぎる」「もっと早く出てこい」)または時間(「0:12のタイトルを変えて」)で要求します。時間をフレームに変換し、影響を受けるシーンのみを変更し、全体をレンダリングする前にその部分を表示します。ルールが今後の動画にも適用される場合は、ブランドブック(両方のバージョン)を更新します。今回のみのルールであれば、プロジェクトファイルのみを更新します。
名前の提案
ブランドブックを作成するたびに、3つの世界名(短く、発音しやすいもの)を提案し、ユーザーに選択させるか、別の名前を入力させます。名前はフォルダ名(kebab-case)とHTMLのタイトルになります。
落とし穴
- ブランドブック外のキャラクター:すべてのシーンは同じコンポーネントをインポートする必要があります。
- 発話がないのに口が動く、または発話があるのに口が動かない:音量に下限を設定して同期させること。
- 怠惰による外部ツールの使用:描画がうまくいかない場合は簡略化する。
- 脚本が承認される前に音声クレジットを消費する:ナレーション生成前に、何文字使用するか伝え、承諾を待つ。
- 独立したレビュアーを通さずに納品する:編集者は自分のミスに気づかない。
- ブランドブックをHTMLのみで保存する:Claudeは
.mdを読みます。両方を同じに保つこと。 - (初回実行時に記入)