App Promo Video Studio は何をしますか?
エミュレータのキャプチャから、完成度の高い誠実なアプリプロモーション動画を作成し、YouTube、Facebookページ、Instagram、TikTokに公開します。実際のアプリUIを保持し、機能、数値、主張をでっち上げることは絶対にしません。
このスキルはアプリに依存しません。 どんなアプリでも動作します。すべては仕様駆動です。新しいアプリには、新しいJSON仕様と、それに対応するスクリーンショット、デモレコード、CTA、ディスクロージャー文、ナレーション台本を用意するだけで、コードの変更は一切必要ありません。Astra Phone Directoryのプロモーション(2026年10月10日)が、examples/ にある実績のあるリファレンスです。これをコピーしてアプリのコンテンツを差し替えてください。新しいアプリごとに、ひとつのマーケティング上の約束、実際の機能セット、安全なデモデータ、Play Storeのリンク、誠実なディスクロージャー文を確認してから制作を開始してください。公開先はブランド自身のYouTubeチャンネル、Facebookページ、Instagram、TikTokとします。アプリごとに異なるのは、YouTubeのプレイリストだけです。
セッション内では、ロード済みのスキルを再利用してください。ツールのパスは実行時に検出します(which ffmpeg、emulator -list-avdsなど)。マシンのパスをハードコードせず、リポジトリ内のパスは相対パスのままにしてください。
厳格なルール(違反禁止)
- 公開動画では安全なデモデータのみ使用。 捏造したデモレコード(ランダムな名前/アバター、偽のCNIC)は問題ありませんが、実際の個人の電話番号や所有者自身のデータを決して使用しないでください。アプリがライブのサードパーティデータを返す場合は、ユーザーとデモセットを確認してください。
- すべてのデータフィールドを表示。 各カードシーンではカード全体を表示し、フィールドを切り取らないでください。
- 誠実なコピー。 機能、数値、受賞歴、レビューをでっち上げないでください。サードパーティのディレクトリであることと電話番号削除に関するディスクロージャーを、CTAとキャプションに記載してください。
- どこでもemダッシュ(—)を使用しない(シーン、キャプション、タイトル、説明、コミットメッセージ)。代わりにハイフン(-)を使うか、文を分割してください。
- 常にカスタムサムネイルを作成。 プラットフォームにフレームを自動選択させないでください。Reel / Short / TikTok(縦型)には9:16の
thumb_9x16.pngを使用し、横向きのYouTubeアップロードにのみthumb_16x9.pngを使用します。YouTube Shortは16:9のサムネイルを中央から狭い9:16の帯状に切り抜くため、主要コンテンツは中央の約405pxの列に収め、アップロード前に9:16の中央をクロップして確認してください。 - ウルドゥー語のキャプション/タイトルはローマ字ウルドゥー語(ラテン文字)で記述。 話されるVOはウルドゥー語のままですが、ウルドゥー語カットの字幕/タイトル/説明はローマ字ウルドゥー語で記述します。
- AI開示:正確に、決して自動化しない。 各プラットフォームの現行のAI生成・改変・合成コンテンツの定義を読み、それに正直に回答してください。ナレーションはニューラル(合成)音声のため、プラットフォームのルールが合成音声をカバーしている場合は、その旨を開示してください。
- YouTube「子供向け」:常に「いいえ」。 これらのプロモーションは大人向けです。
- まず下書きを作成し、プラットフォームごとの明示的な許可があった場合のみ公開。 公開は外部に向けた不可逆的な行為です。すべてを非公開で準備し、その後ゴーサインを待ちます。Playビルドにタグを付け、各投稿のURLと結果を後で記録してください。
ワークフロー(6段階)
詳細は references/pipeline.md を参照。スクリプトは scripts/、サンプル仕様は examples/ にあります(先に自身のスクリーンショットを追加してください)。
- キャプチャ(エミュレータ)。
scripts/set_demo_statusbar.shでクリーンなステータスバーに設定。adb exec-out screencap -pでスクリーンショットを取得(/sdcard/で始まるコマンドにはMSYS_NO_PATHCONV=1を付ける)。screenrecordよりも静止画を推奨(カクカクするため)。最近の検索履歴をクリアしてフレーミングを統一し、各結果カードは白いカード全体を切り取る。 - シーン合成。
python scripts/make_scenes.py <spec.json> <assets_dir> <out_dir>->s1.png..sN.png。文法:フック -> ホームスクリーンショット -> デモレコード1枚につき1カード -> 機能説明 -> CTA。デザインルールは references/pipeline.md を参照。 - ナレーション(英語 + ウルドゥー語)。
python scripts/gen_vo.py <vo_spec.json> <out_dir>。英語はen-US-AvaNeural、ウルドゥー語はur-PK-UzmaNeural。スクリプトにはWindowsのSelectorEventLoop修正と403リトライ機能が含まれています。自然なウルドゥー語を書き、直訳は避けてください。 - 音楽。
FFMPEG=<ffmpeg> scripts/build_music.sh <out.wav> <seconds>- 連続的なコードパッド、ラウドノーム補正で-16 LUFSに設定され、ナレーションの下でも聞こえる音量になります。シーン合計時間より数秒長めに指定してください。volumedetectで確認します。 - 編集。
python scripts/build_video.py --scenes <dir> --vo <dir> --music <wav> --out <mp4> --ffmpeg <ffmpeg>。各シーンを対応するVO行に自動でタイミング調整(英語とウルドゥー語の両方が収まるように)、シーン間をクロスフェード、音楽をナレーションの下にミックスします。再生時間、レベル、フレームを確認してください。 - サムネイル + 公開。
python scripts/make_thumbnail.py <spec.json> <assets_dir> <out_dir>を実行し、その後 references/publishing.md に従って4つのチャンネルに公開(カスタムサムネイル、正直なAI開示、下書き優先、アップロード前にターゲットチャンネルを確認)。
クイックスタート(サンプルから)
SK=<skills-dir>/app-promo-video-studio # スキルがインストールされている場所
FF=$(which ffmpeg); W=<scratch_dir>
python "$SK/scripts/make_scenes.py" "$SK/examples/video_spec.example.json" "$SK/examples/assets" "$W/scenes"
python "$SK/scripts/gen_vo.py" "$SK/examples/vo_en.json" "$W/vo_en"
FFMPEG="$FF" bash "$SK/scripts/build_music.sh" "$W/music_en.wav" 33
python "$SK/scripts/build_video.py" --scenes "$W/scenes" --vo "$W/vo_en" --music "$W/music_en.wav" --out "$W/promo_en.mp4" --ffmpeg "$FF"
python "$SK/scripts/make_thumbnail.py" "$SK/examples/video_spec.example.json" "$SK/examples/assets" "$W/thumb"
ウルドゥー語版に切り替えるには、gen_vo.py を examples/vo_ur.json で実行して vo_ur に出力し、音楽を数秒長めに再生成し(ウルドゥー語の行は長くなります)、vo_ur に対して動画を編集してください。
堅牢かつインテリジェントにするために
- 自動タイミング調整(
build_video.py):各シーンを対応する音声行に合わせるため、同じシーンで英語版とウルドゥー語版を手動調整なしに綺麗にレンダリングできます。 - 仕様駆動(
make_scenes.py、make_thumbnail.pyは1つのJSONを読み込む):新しいアプリは新しい仕様と新しいスクリーンショットだけで、新しいコードは不要です。 - 各段階を検証:キャプチャは目視確認(正しいレコード、すべてのフィールド)、音楽は
volumedetect(平均 -15 dB = 確実にミックスに含まれている)、最終レンダリングはフック/カード/ステートメント/CTAからの再生時間+レベル+フレームを確認。 - 誠実に失敗する:edge-ttsがネットワークでブロックされた場合は、シーン+音楽+タイムコード付きスクリプトを提供し、音声だけがブロックされた部分であることを明示します。音声、データ、主張を決して偽らないでください。
リファレンス
- references/pipeline.md - キャプチャ、シーン、VO、音楽、編集の詳細。
- references/publishing.md - 4つのチャンネル、カスタムサムネイル、AI禁止ルール、アカウント/プロフィール、プラットフォーム別チェックリスト、下書き優先ゲート。
- references/gotchas.md - 時間をロスしたすべての落とし穴(無音の音楽、マスクされた音楽、edge-tts Windows修正、
/sdcardパスの文字化け、カードフレーミングのずれ、アップロードルート)。 - examples/ - リファレンス仕様と英語/ウルドゥー語のナレーション行。スクリーンショットは含まれていません。