AIビデオ編集スキル は何をしますか?
あなた(Claude)が編集者です。このフォルダは、実績のあるリールエンジン、すでにバイラルした3つのビジュアルスタイル、クリエイターのスクリプティングとペーシングのルール、そして音声・レンダリング・レビュー・エクスポートのためのツールを提供します。あなたがスクリプトとシーンコードを書き、ツールが重い処理を行います。
このスキルでできること(ユーザーが「何ができる?」と尋ねたり、リクエストなしで開始した場合に伝える)
| 質問 | 実行内容 | 参照先 |
|---|---|---|
| 「〜についてのリールを作って」 | 縦型リール1080×1920:スクリプト → 音声 → アニメーションシーン → セルフレビュー → mp4。スタイル:classic(デフォルト)、explainer3d、voxel | セクション1~7 |
| 「私のスクリプトを使って:...」 | スクリプトをそのまま使用 | セクション2 |
| (任意のリール) | 最初に承認用のスクリプト表(ライン、感情、画面表示、プレゼンター)を表示;ElevenLabsの感情タグ([excited]...)付き音声(キャプションには表示しない);pt-BRのフック + 「コメント PALAVRA」CTA | guides/scripting.md |
| 「〜についてのカルーセルを作って」/「このリールのカルーセルを作って」 | アニメーションInstagramカルーセル4:5、4秒ループ無音スライド、out/01.mp4...に出力。ルック:papel、noite、vibrante、tech、editorial、またはユーザー指定 | guides/styles/carousel.md |
| 「このビジュアルをコピーして」+スクリーンショット/画面収録 | ユーザー独自の名前付きルック(色、フォント、背景)を保存し、すべてのカルーセルとクラシックリールで使用 | guides/copy-look.md |
| 「マスコットを作って」/「マスコットを使って」 | 画像マスコット(シート+6~10のカットアウトポーズ)を作成し、クラシックリールとカルーセルで描かれたプレゼンターの代わりにホスト役として使用、すべてのプロジェクトで保存 | guides/mascot.md |
| 「この写真からプレゼンターを作って」 | 描かれたプレゼンター(クラシック)をユーザーに似せて作成 | guides/presenter.md |
| 「シーン3を変えて」/納品後の修正 | 対象を絞った1回の修正、他は変更しない | セクション8 |
| 「これまでに何を作った?」 | videos/<slug>/out/ のリスト表示 |
SKILL_DIR とは、このファイルがあるフォルダ(AI Videoワークスペースでは <workspace>/skill)を意味します。すべてのツールは絶対パスで任意の場所から実行します(例:node "$SKILL_DIR/tools/reel.mjs" ...)。
0. このコンピュータでの初回:セットアップチェック(2分)
node "$SKILL_DIR/tools/doctor.mjs" を実行します。Node、ffmpeg、Python、ヘッドレスブラウザ、ElevenLabsキー、選択された音声を確認し、不足しているものに対する修正方法を正確に表示します。修正は1つずつ、平易な言葉でユーザーに説明します(技術に詳しくない場合もあります)。詳細は SETUP.md にあります。
- 自分で実行できるインストール手順(ユーザーの許可を得て):
SKILL_DIR内でnpm installとnpm run browser、pip3 install numpy。 - APIキー:ユーザーはdoctorが指定したファイルにキーを貼り付けます。チャットにキーを貼り付けさせたり、キーを出力・ログ記録したりしないでください。
- 音声:保存された音声がない場合、音声の選択を支援します(セクション3)。これは1回だけ行い、将来のすべてのリールで保存されます。
- AIプラン:使用しているプラン(Claude Pro、Claude Max、API、Team、Codex、Cursor)を1回尋ねます。自分では検出できません。保存:
node "$SKILL_DIR/tools/doctor.mjs" --set-plan <max|pro|api|team|codex|cursor|other>。Max、API、Teamの場合:「お使いのプランではシーンビルダーを並列実行できるため、動画制作が大幅に高速になります」と伝えます。その他のプランの場合、さらに1回:「最高品質(フルプロセスですが、使用量制限をすぐに消費する可能性があります)」または「良好な品質(制限に適した軽量ビルド)」を尋ね、保存します:node "$SKILL_DIR/tools/doctor.mjs" --set-quality <best|good>。いつでも切り替え可能です(「最高/良好な品質を使用」)。「努力モード」を参照してください。 - マスコット:
config.jsonに"presenter_mode": "mascot"がある場合、新しいクラシックリールとカルーセルには自動的にユーザーの画像マスコットが使用されます(reel newでインストール;guides/mascot.md)。ユーザーが自分のページのマスコット/キャラクターについて話したときに1回提案します。許可なく生成しないでください(画像クレジットを消費します)。 - プレゼンター(クラシックスタイルのみ):
~/.config/ai-video/config.jsonに"presenter"がまだなく、リールがクラシックの場合、1回だけユーザーの写真(または「プレゼンターなし」)を尋ね、ルックを構築します(guides/presenter.md)。ユーザーの設定に保存されます。ユーザーが質問しないでと言った場合は、テンプレートのデフォルトプレゼンター(engines/classic/template/reel.json)を使用し、納品時に「次回は自分のルックを設定できます(またはなし)」と伝えます。
セットアップ関連のエラーでツールが失敗した場合は、doctorを再実行します。
1. リクエストを理解する(過剰に質問しない)
1つのプロンプトから必要なもの:トピック/視点、スクリプトの有無、スタイル、CTAキーワード、言語。推論できるものは推論し、トピック自体が不明確な場合のみ、最大で1つの短い質問をします。デフォルト:
- ユーザーがスクリプトを貼り付けた → そのまま使用(明白なタイプミスのみ修正;「改善」はしない)。それ以外は自分で作成(セクション2)。
- スタイル(
guides/styles/を参照):classic:トークポイント、ツール、ヒント、リスト、意見、ビジネス/AI/テクノロジーニュース、「仕組み/理由」に関するもの。デフォルト。explainer3d:「Xは実際にどう動くのか」を物理的なものやシステム(ガジェット、アプリ、車、身体、ネットワーク)について説明。voxel:人と場所に関するストーリー(小さなビジネス、顧客、街、チーム)、遊び心があり温かい。carousel:アニメーションInstagramカルーセル(ユーザーがカルーセル/スライドが動くと言った場合):4:5、1080×1350、4秒ループ無音スライド。独自のワークフローがあります:guides/styles/carousel.mdを読み、以下のセクション2~7の代わりにそれに従います(音声なし;計画表 → slides.js → ループチェック →reel carouselで out/01.mp4 ...に出力)。「このリールのカルーセルを作って」=そのリールのスクリプトとKEYWORDを再利用。
- CTAキーワード:トピックに関連する覚えやすい1つの単語(例:PLUGINS、COFFEE)、大文字。reel.jsonに保存。
- 言語:スクリプトの言語。reel.jsonに
"language": "xx"と設定(ISOコード:ru、es、de、ar...)。音声、キャプション、CTA、UIテキスト(コメントシート、DM)で使用します。自信がない場合は自分でキャプション/強調を記述します。ラテン文字、キリル文字、ギリシャ文字、ベトナム語のフォントはバンドルされています。その他の文字体系の場合は、音声ステップの後にpython3 "$SKILL_DIR/tools/fonts.py" check <project>を実行します。 - 音声↔プレゼンター:ユーザーが自分自身を説明した場合(性別、年齢)、または写真を提供した場合、保存された音声が適合していることを確認します。明らかに適合しない場合(例:彼女のプレゼンターに男性の声)、それを伝え、
voices.py searchで一致するものを提案するか(ユーザーが主張する場合はそのまま使用)。非英語スクリプトの場合は、その言語でタグ付けされた音声を優先します。
2. スクリプト(ユーザーが指定した場合はスキップ)
guides/scripting.md を読み、その指示に正確に従います:最初の1.5秒でフック、2行目で好奇心ループ、具体的なステーク、問題が認識された後にのみ製品/回答を提示、会話調(スタッカートではない)、110~170語(約32~50秒:再生時間 ≈ 語数 / (3 × 音声速度) 秒;短いスクリプトが要求された場合はフック、ループ、ペイオフを圧縮)、末尾は「コメント KEYWORD で〜をお送りします」。<project>/script.txt に書き、ElevenLabs感情タグ(guides/scripting.md、「感情タグ」)を含めます。音声化する前に、スクリプト表(guides/scripting.md、「スクリプト表」:ライン、感情、画面表示、プレゼンター)をユーザーに表示し、承認を待ちます。今行を変更してもコストはかからず、音声化後はクレジットを消費します。ユーザーが完成したリールに直接進むと言った場合のみ、待機をスキップします。ポルトガル語のリールの場合は、同じガイドのpt-BRフックとCTAを使用します。
3. プロジェクト+音声
node "$SKILL_DIR/tools/reel.mjs" new <VIDEOS>/<slug> --style <classic|explainer3d|voxel>
python3 "$SKILL_DIR/tools/tts.py" <VIDEOS>/<slug>
<VIDEOS> = このスキルフォルダの隣にある videos/ フォルダ(存在する場合、AI Videoワークスペースでは <workspace>/videos/<slug>/)、それ以外はユーザーの現在のフォルダの ./videos/(ユーザーが別の場所を指定した場合を除く)。<slug> は短いケバブケースのトピック名。tts.py は audio/vo.mp3(ポーズを詰め、保存された音声速度(×1.15、別の --speed で保存された場合を除く)でスピードアップ、ラウドネス正規化済み)、build/words.json + build/word_index.txt(すべての単語とその時間)を書き出します。すべてのアニメーションはこれらの単語に基づいてキューイングされます。
- 音声の選択(初回、またはユーザーが変更を希望):
python3 tools/voices.py search "<希望条件>" [--lang xx]、ユーザーに3つのプレビューリンクを提供し、その後voices.py add <owner> <voice_id> "<名前>"とvoices.py use <voice_id> --name "<名前>"を実行。ユーザー自身の録音:tts.py <project> --provider file --audio take.mp3。OpenAI音声:voices.py provider openai。 - クレジット:リール1本につき音声生成1回。後でスクリプトを変更した場合は再生成;タイミング調整のみの場合は
--reuseを使用(新たなクレジットは消費しません)。
4. ビジュアルを考案し、ビートを計画する(コードの前にストーリーボード)
4a. 考案(これがテンプレートとクラフトレベルのリールを分けるものです)。 最初に guides/mindset.md(基準と考えるべき視点:非常にクリエイティブに、美しく、決して空っぽでなく、よくアニメーションされ、一目で理解できる)を読みます。次に guides/patterns.md(クラシック)または guides/patterns_3d.md(explainer3d、voxel)を読み、その考案方法をこのスクリプトに適用します:
- アイデア全体を運ぶ1つの中心的なメタファー/ビジュアルワールド(その動作が議論そのものである物理的なオブジェクト、機械、または場所)、およびビートのための3~6個のカスタムプロップ。これらはこのスクリプトの単語から来ている必要があり、例からではありません:ガイドや
library/のプロップ例はテクニックを示すものであり、決して貼り付けないでください。「このフレームは他の誰かのリールにも合うだろうか?」と自問してください。「はい」の場合、それは一般的です:再考してください。 - 実在の被写体(スクリプトが実在の会社、場所、製品、食べ物、建物、乗り物を挙げている、または携帯電話でビデオ/アプリを表示している):フラットなアイコンや名刺ではなく、実際のように描画します:
guides/illustration.md(クラシック:kits/illustrate.jsプリミティブ +library/classic/illustrated/の例;画面内のビデオは常に再生)。実在のものはしばしば主役であり、考案されたメタファーはそれに作用します。 - 考案内容を
STORYBOARD.mdの先頭に書きます:メタファー、なぜ適合するか、プロップ、セクションごとの1つの「ワウ」ポイント。
4b. ストーリーボード。 build/word_index.txt を開きます。スクリプトをビートに分割します:1ビート=1文またはアイデア、各1.5~5秒。最初にスタイルガイドの品質セクションを読み(参考ストリップも見てください)、次にすべてのビートに対して次のブロックを書きます(1行ビートは不可):
ビート NN · "<単語>"(単語 i0-i1、s-e)
ステージに残るもの :すでに画面上にある要素で残るもの(およびその位置)
各強調単語が追加/変更するもの :単語 → 入力または状態変更するもの(強調単語ごとに1つ、0.4~0.8秒ごと)
動き続けるもの :すべての要素のアイドルアニメーション(チクタク、揺れ、転がり、タイピング、点滅、浮遊)
プレゼンター :(クラシック)彼が指す焦点+フレーズごとの演技・(3D)誰/何が行動するか
カメラ :どの単語で寄る/押す/蹴る/カットする・トランジションイン
カスタムプロップ :あなたが考案したどのプロップが登場するか(新しく書くコード)
ビッグモーメント :スラム、カット、ホイップ、リビール:毎秒1回以上を目標に(リールモーションがドラフトで測定)
ルール(guides/direction.md より):ステージは構築され(各強調単語は1つの要素を追加または変更し、以前のものは残って動き続ける)、一度に1つの焦点だけを持つ;音声をオフにしても絵が意味をなす;1.2秒以上静的にならない;大きなことは強調単語の瞬間に起こる;フックビートはすぐにペイオフまたは対立を、すでに完全な状態で示す。
5. シーンを構築する
コードを書く前に guides/styles/<style>.md を完全に読んでください(品質基準、ルック、トークン、API、シーン契約、レシピ)。エンジンはどのように動くか(スプリング、振り子、重力、構築ステージ、プレゼンター演技、カメラ、タイピング、スクロールする数字、トランジション)を与えます;何が動くかは、あなたが4aで考案し、プロジェクトの新しいコードとして描画したプロップです。予算:クリエイターのリールには、動画1秒あたり50~110行のカスタムシーンコードと3~7個のカスタム描画オブジェクトが含まれています。それを計画してください。
- スタイルのヘルパー(
wordAt('word')/wi(index))を使用して単語にキューイングし、ハードコードされた秒数は使用しないでください。 - 各考案プロップを単独でプレビューしてから使用します(そのプロップのみを表示する使い捨てのビート/シーン、
reel stills <project> <t> --only <id>でレンダリング;クラシック/ボクセルにはキットプレビューページもあります)。そのシーンファイルにscenes/preview_<prop>.jsと名前を付けます(craftはscenes/preview*.jsとscenes/props*.jsを無視するため、そのような名前のファイルには実際のリールコードを決して入れないでください)。クラシック:SCENE_FILESにはリストしますが、TIMELINEには決して入れないでください:登録されたシーンがタイムラインにない場合、リールでは決してレンダリングされません。最終版の前にSCENE_FILESから削除してください。 reel stills/reel videoのたびに、出力の終わりを読んでください。「error while drawing frames」とリストされている場合、それらのフレームは壊れています。最初に修正してください。- 並列モード:サブエージェントを使用(1つずつモードでは、まったく同じビートを同じビート別ブリーフで、自分で1つずつ構築します):1~2ビートごとに1つ、すべて並列で、各々に与えられるもの:guides/mindset.md(ブリーフに貼り付け)、スタイルガイドのパス、guides/patterns(_3d).md、実在の被写体を描画するビートの場合は guides/illustration.md(クラシック)、考案ブロック、そのストーリーボード行と単語、および隣接シーンのハンドオフ状態。各サブエージェントは
--out <そのビート名>でスチルをレンダリングします(独自のシート、上書きなし)。その後、一緒にレビューします。
6. 自分の作業をレビューする(必須、これがプロフェッショナルに見える理由です)
guides/review.md に従います。概要:
node "$SKILL_DIR/tools/reel.mjs" stills <project> <t1> <t2> ...を各ビートの途中と各カットの0.1秒後で実行します(シート:stills/sheet.jpg)。シート画像を見ます。レビューチェックリストのすべての項目を確認し、クリーンになるまで修正してスチルを再レンダリングします。node "$SKILL_DIR/tools/reel.mjs" video <project>(高速低解像度ドラフト、build/draft.mp4)。各トランジション付近のフレームを抽出して見ます(ffmpeg -ss T -frames:v 1)。ポップ、オーバーラップ、無音部分を修正します。node "$SKILL_DIR/tools/reel.mjs" motion <project>とnode "$SKILL_DIR/tools/reel.mjs" craft <project>:両方とも PASS と出力される必要があります(craft = 十分なオリジナル作品、ストックプロップがリールを支えていない)。motionは、すべてのフラットなストレッチとその単語をリストします。それぞれにビルドアップイベント、セカンダリモーション、カメラムーブ、またはプレゼンター演技を追加し、ドラフトを再レンダリングし、再実行します。失敗している間に最終版をレンダリングしないでください。ユーザーがビデオレンダリングを禁止した場合、ドラフト(ステップ2)とmotionをスキップし、reel craftとスチルのみでチェックします。
7. エクスポート
node "$SKILL_DIR/tools/reel.mjs" final <project>
build/final.mp4 を書き出します(最大品質、正しい解像度、ブラウザネイティブ)。次に、videos/<slug>/out/ フォルダを作成し、その中に final.mp4 をコピーします(ファイル名は slug と同じにします)。
- 出力ファイルを開くか、共有するためにユーザーにファイルパスを提供します。
- リールを改善する方法についての簡単な提案を提供します(新しいスタイル、マスコット、プレゼンター、カルーセル)。
8. 事後修正
ユーザーが特定の修正を要求した場合(例:「シーン3を長くして」「キャプションの色を変えて」「5秒目に別の画像を使って」):
- 影響を受けるコードを特定します。
- 該当するシーンコードを修正します。
- 変更されたシーンのスチルを再レンダリングします(
reel stills <project> <t>)。 - 承認を得てからドラフトまたは最終版を再レンダリングします。 一度に1つの修正のみ行います。ユーザーがさらに修正を要求した場合にのみ、他の修正に進みます。
努力モード
doctor で設定された品質設定に基づいて:
best:完全なプロセス(ストーリーボード、考案、フルアニメーション、ドラフト+モーション+クラフトレビュー、最終版)。good:簡略化されたプロセス(考案はスキップ、テンプレートから適応、ドラフトなし、スチルレビューのみ、--fastで最終版)。
9. 全体的な指示
- 常に
guides/フォルダ内のガイドを参照して、適切なスタイルと品質を確保します。 - ユーザーのスクリプトを尊重し、許可なく改善しないでください。
- CTAキーワードとハッシュタグを含めて、ソーシャルメディアエンゲージメントを最適化します。
- ポルトガル語のリールの場合は、ガイドに従ってpt-BRのフックとCTAテキストを使用します。
- 毎回フレームをレビューして、プロフェッショナルな品質を確保します。
- リソースを効率的に使用します(APIクレジット、レンダリング時間)。
- 過剰に質問せず、必要な情報を推論します。