Communitygithub.com

akachandan1/video-studio

説明ビデオ制作のためのガイド付きスタジオ。Voxスタイルのコラージュ(太字のコラージュ、フラットカラーのフィールド、マーカー注釈、大きな数字)またはペーパーディオラマのドキュメンタリールックに対応。

video-studio とは?

このスキルは、Claude CodeのようなAIエージェントが、プロフェッショナルな説明ビデオ(エクスプレイナー)を制作するための完全なガイド付きワークフローを提供します。1つのアイデアを入力すると、事実確認されたスクリプトを10秒単位のブロックに分割し、スタイルキーと各シーンのプロンプト(またはコードベースのコラージュシーン)を生成。オフライン音声合成で各ブロックにナレーションをフィットさせ、HyperFramesを使ってキャプション、アニメーション数字、オリジナル楽曲を組み込んだ16:9または9:16のビデオを出力します。このワークフローは、データドリブンな説明ビデオや「なぜXが起こるのか」といった疑問に答えるコンテンツの制作に最適です。特筆すべきは、すべての主張を複数の情報源でクロスチェックし、虚偽の数字や引用を作り出さないという厳格な事実確認ルールです。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/akachandan1/video-studio/tree/HEAD/.claude/skills/explainer

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

エクスプレイナー(Voxスタイル)→ HyperFrames

約60秒のエクスプレイナーは Nブロック × 10秒(60秒 = 6ブロック)です。ブロックkのナレーションはブロックkの画像とともに再生されます。ツール: .claude/skills/explainer/tools/ ($T)。スタイルガイド: references/styles.md。ソース付きの実例: examples/explainer-eiffel/。

動作イメージ

ターミナルと話しているのではなく、よくできたアプリを使っているように:

  • メッセージごとに1つのステージを表示し、その後停止して待機。太字のステージタイトルと、それに合った絵文字1つ。
  • 設定や選択肢はテーブルで表示。セクション間は---で区切り、短い行で余白を確保。
  • 内部のやり取りは一切表示しない: ファイル書き込み、ツールチェック、タイミング計算について説明しない。ユーザーが行動する場面か、何かが欠けている場合のみ発言。
  • 貼り付けを意図したものはプロンプトのみを含むコードブロックに入れる。ラベルや注意事項は外側に。

ステージ0 — サイレントチェック(説明なし)

setup/doctor.sh --quiet。videos/ にエクスプレイナープロジェクト(内部にpack.jsonがあるもの)が存在する場合、「おかえりなさい — 新しいビデオを作りますか、それとも <最新> を続けますか?」と表示してステージ1をスキップ。

ステージ1 — ようこそ 🎬

短い歓迎メッセージと、仕組みを説明する5行のテーブル(アイデア → ルック → 音声 → シーン → 最終カット)を表示し、1つだけ質問する: ビデオのテーマは何ですか? ざっくりしたアイデアで構いません。または find one で今週のベストトピックを提案。停止。

ステージ2 — トピックと設定 ⚙️

  • find one の場合 → ウェブ検索で現在の話題を調査し、トップ3を提案。それぞれ1行のフック(理由/方法の質問 + 驚きの数字 + 見栄えが良い理由)を添える。悲劇やゴシップは除外。ユーザーが選択する。代理で選択してはいけない。
  • それ以外の場合 → アイデアを1行のアングルに絞り込む。答えが驚きとなる質問。

次に、デフォルト値が入力された設定テーブルを1つ表示。go ですべてを受け入れる:

設定デフォルトオプション
ルックcollagecollage (大胆なエディトリアルコラージュ) · diorama (セピア調のペーパードキュメンタリー)
画像codecode (自由、HyperFramesでビルド) · ai (Higgsfieldまたは任意の生成ツール) · mixed
長さ60 s30秒 ~ 10分、10秒単位
アスペクト16:916:9 · 9:16 · 両方

停止。

ステージ3 — リサーチとスクリプト(サイレント)

videos/<slug>/ を作成。すべての主張をリサーチ: ウェブ検索で各数字を2つの独立した情報源でクロスチェックし、URLを保持。情報源が一致しない場合は、安全な数値を使用するか、その主張を削除。曖昧でも真実の一文が、正確でも虚偽の一文に勝る。絶対に数字、引用、予測を捏造しないこと。

ブロックごとにナレーションを1行作成。数字はスペルアウト、平易な話し言葉:

  • Kokoro音声: 各行22~26語。edge-tts音声: 18~20語。音声ステップでずれは補正される。
  • 構成: コールドオープン(最も驚くべき事実、挨拶なし)→ ステークス → 証拠(ブロックごとに1つのアイデア。それぞれ具体的に:数字、日付、場所が含まれ、エスカレート)→ 転換点 → ブロック1を反映したキッカーで解決。
  • トーン: 探求心があり、正確で、軽妙なウィット。説明する。販売しない。
  • ブロック間のデザイン: 繰り返し登場するヒーローオブジェクト(タワー、コンテナ、コインなどが変化しながら再登場); 早い段階で提起され、最後に答えられる質問; ビデオとして記憶される1つの「おおっ」という瞬間。

各ブロックについて、コールアウト(画面上の数字または2語の事実、9文字以内、例 +15 cm、2.5M、7 yrs)とビジュアルも選択。コードモードの場合、ビジュアルのkind は tower スタイルのシルエット(SVGを適応)、dots、bars、lean、calendar、stat のいずれか。pack.json(以下の形式)を書き込む。まだ何も表示しない。

ステージ4 — 音声 🎙

音声サウンドエンジン
am_michael米国男性、落ち着いたドキュメンタリーKokoro (オフライン、デフォルト)
bm_george英国男性、落ち着いたKokoro
af_heart米国女性、温かくクリアKokoro
en-US-ChristopherNeural / en-GB-RyanNeural / en-US-JennyNeuralMicrosoft ニューラル音声edge-tts (無料、オンライン)

samples → ブロック1を3つのKokoro音声それぞれでサンプル生成し、ファイルを送信。停止。

ステージ5 — ブリーフ 📋 (ゲート)

1つのメッセージ:

  • アングル、スルーライン、ルック、画像、長さ/ブロック数、アスペクト、音声を含むテーブル
  • スクリプト(ブロック1 … N の形式)
  • 情報源リスト

最後に: **「すべて問題ありませんか?それとも何か変更しますか?」**承認されるまでループ。ユーザーはどの行でも書き換え可能。

ステージ6 — 画像

code モード: ステージ8にスキップ。すべてのブロックがコラージュシーン(カラーフィールド、紙の質感、コールアウトのカウントアップ、マーカーサークルの自己描画、およびビジュアル)になる。

ai / mixed モード:

  1. スタイルキー 🎨: 3つの名前付きバリアントをそれぞれ1文で提示(同じビジュアルシステムだが、異なるパレットまたは構図。references/styles.md から)。選択後、貼り付け可能な画像プロンプトを提供。Higgsfield: nano_banana_pro、アスペクトはビデオと同じ。コストを提示し、生成前に同意を待つ。1つの画像でルックが固定され、すべてのシーンに適用される。
  2. シーン 🎬: ブロックごとに1メッセージ(または求められれば一度にすべて)。各シーンにはナレーション行がコンテキストとして付与され、references/styles.md のテンプレートから構築された貼り付け可能なプロンプト: STYLE / SCENE / MOTION / AUDIO / AVOID。設定テーブル: 参照画像 = スタイルキー、10秒、720p以上、アンビエントサウンドオン、blockNN.mp4 として保存。Higgsfield 直接: スタイルキーを使用した kling3_0 pro 画像→ビデオ。最初に合計(ブロック数 × クレジット)を提示。またはユーザーが任意のジェネレーター(Veo、Kling、Runwayなど)でプロンプトを実行。
  3. クリップが到着 📥: ユーザーがファイルを videos/<slug>/clips/ にドロップ。明らかなバリアントは静かにリネーム(Block 1.mp4 → block01.mp4); ペアリングが本当に曖昧な場合のみ質問。クリップがないブロックは自動的にコードシーンにフォールバック。

ステージ7 — クリップチェック(サイレント)

各クリップからフレームを1つ抽出して確認。スタイルから外れている、またはフォトリアルな場合: STYLE と AVOID の行を厳格化し、そのブロックのみ再生成。2回連続で失敗した場合は、シードだけでなくプロンプト自体を書き換え。AIクリップ内に読めるテキストがある場合、collage モードでは失敗とみなす(テキストはコールアウトとキャプションに配置する)。

ステージ8 — 音声とカット(サイレント)

~/.local/share/hf-kokoro/bin/python $T/voice.py videos/<slug>                 # または --engine edge --voice en-GB-RyanNeural

すべてのテイクが 7.5秒から9.7秒 の範囲に収まらなければならない。ツールが違反リストを出力。該当行を(短くまたは長く)書き換え、--only 3,5 で再音声生成し、すべてが範囲内に収まるまで繰り返す。タイムストレッチは絶対に行わない。

.venv/bin/python $T/build.py videos/<slug> [--aspect 9:16]                     # index.html + assets/mix.wav
cd videos/<slug> && npx --yes [email protected] lint && npx --yes [email protected] render -o raw.mp4
ffmpeg -y -i raw.mp4 -af loudnorm=I=-14:TP=-1:LRA=11 -c:v copy -c:a aac -b:a 192k "../../out/<Title> (16x9).mp4"

lint はネストされた構造と密なトラックについて警告する。これらはStudioタイムラインビューに関するものなので、レンダリングには影響しないため無視する。エラーは修正必須。ブロックあたり1フレームをスナップショット(snapshot . --at 2.5,12.5,…)して確認: 数字が1行に収まっているか、マーカーサークルが数字を囲んでいるか、キャプションが画像を覆っていないか。

ステージ9 — 納品 ✅

MP4を送信。続いて小さなテーブル: トピック、長さとアスペクト、ルックと音声、情報源(リンク)。提供: もう一方のアスペクト比、任意のブロックの変更、または新しいビデオ。

pack.json

{ "title": "…", "angle": "…", "through_line": "…", "look": "collage", "aspect": "16:9",
  "voice": { "engine": "kokoro", "name": "am_michael" },
  "blocks": [ { "line": "…", "callout": { "big": "+15 cm", "label": "taller on the hottest days" },
                "visual": { "kind": "bars", "values": [10, 30, 60, 100], "highlight": 3 },
                "prompt": "(ai mode) full scene prompt" } ],
  "sources": [ "Publisher — title: https://…" ] }

人間が読める pack.md(概要、スクリプト、プロンプト、情報源)も作成する。これがプロジェクトの記録となる。

ルール

  • 事実: 数字ごとに2つの情報源。情報源はすべてのビデオに同梱。捏造した数字、引用、予測は禁止。
  • 有料生成は、モデル × 数 × クレジットのコストを提示し、同意を得てから(PLAYBOOK #1)。
  • 実在の人物の顔をクローズアップで生成しない。ミッドショット、シルエット、または検閲バーを使用する。これによりモデレーション拒否も回避できる。
  • Voxのルックはオマージュである。ビデオ内でVoxのロゴ、名前、ブランドを使用してはならない。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

akachandan1/video-studio

Painterly and illustrated animation — Kurzgesagt-style flat science explainers ("what's inside", scale, mechanisms), art-history styles (Van Gogh, Monet, Lichtenstein, Kusama, Matisse, cubism, ink wash, 8-bit, Roman mosaic, cave painting, Persian miniature…). Uses the huashu-art-motion canvas engine with CUSTOM scenes, renders MP4s, and assembles/scores them in HyperFrames. Also the claude-animation plugin for hand-drawn 2D.

akachandan1/video-studio

Add styled, word-synced captions (and an optional scroll-stopping hook) to a talking video. The user gives a video; you transcribe it, show every caption style rendered on their own footage, they pick a style and hook, and you render the captioned MP4. Use when the user uploads/gives a video and says "caption this", "add captions/subtitles", "make captions", "caption styles", "add a hook", or invokes /caption-video.

akachandan1/video-studio

Fast CapCut-style chop-cut reel with a story — showreels, hype edits, launch teasers, "make it punchy". One canvas engine on a beat grid (punch-ins on cuts, flash frames, impact shakes, whip pans, speed ramps, freeze frames) rendered in HyperFrames, in 16:9 and 9:16 from one edit, with an original synthesized score locked to the cuts.

akachandan1/video-studio

Apple / OpenAI-style product launch film or premium spec ad (30–60 s) — minimal supers, big product moments, signature transition, piano/pulse score, end-card lockup. Shots come from code (HyperFrames scenes), Higgsfield AI image→video, or real product footage, all assembled and rendered in HyperFrames. Includes the fold-cut builder (shots hinge shut/open on the centre line).

関連スキル