Communitygithub.com

Manavv007/S.A.R.A.L.-スキーム-アクセス-取得-分析-レイヤー-

HyperFrames コンポジション向けの音声およびメディアアセットを作成するスキルです。TTS、BGM、効果音、文字起こし、キャプション、背景除去を、状況に応じて適応する単一の音声エンジン(scripts/audio.mjs)で処理します。

S.A.R.A.L.-スキーム-アクセス-取得-分析-レイヤー- とは?

このスキルは、音声・メディアアセットの生成・管理を統合的に行うためのエンジンです。TTS(HeyGen / ElevenLabs / Kokoro ローカル)、BGM・効果音(HeyGen 音声ライブラリ検索がデフォルト、Lyria / MusicGen によるローカル生成とバンドルされた SFX ライブラリをフォールバックとして使用)、Whisper による文字起こし、背景除去、キャプション作成を一貫したワークフローで提供します。特に、利用可能な認証情報(HeyGen API キーなど)に基づいて、最適なプロバイダを自動的に選択・フォールバックする「ワンスイッチ」メカニズムが特徴です。例えば、HeyGen 認証があれば高品質な TTS と BGM 検索を、なければ ElevenLabs やローカルの Kokoro / MusicGen を使用します。また、すべての操作は `scripts/audio.mjs` という単一のエンジンに集約されており、各ワークフローが個別に実装を持つことを禁止します。さらに、キャプションは高度なスタイル設定、カラオケ効果、ワード単位のタイミング制御をサポートします。対応プラットフォームは Claude Code、Cursor、Codex など、標準的なエージェントスキルとして利用可能です。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Manavv007/S.A.R.A.L.-Scheme-Access-Retrieval-Analysis-Layer-/tree/HEAD/data/skills/hyperframes-media

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

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

ドキュメント

HyperFrames Media

コンポジションに必要な音声およびメディアアセット(ナレーション(TTS)、BGM+効果音、文字起こし、キャプション、背景除去)を作成し、そのデータを HTML で利用・アニメーション化します。アセットをコンポジションに配置するには hyperframes-core を参照してください。

音声エンジン — TTS・BGM・SFX の唯一のソース

ワークフローは、自前で音声処理を実装したり、別のベンダーコピーを使ったりしてはいけません。エンジンは scripts/audio.mjs ただひとつです。このエンジンは、プロバイダに依存しない audio_request.json を受け取り audio_meta.json(およびアセットを assets/voice|bgm|sfx 以下に)書き出します。

# <MEDIA_DIR> = このスキルのディレクトリ
node <MEDIA_DIR>/scripts/audio.mjs --request ./audio_request.json --hyperframes . --out ./audio_meta.json

3つの機能すべてが ただひとつのスイッチ に依存します — HeyGen の認証情報が存在するかどうか($HEYGEN_API_KEY / $HYPERFRAMES_API_KEY / ~/.heygen から解決され、CLI 引数ではありません)。

機能HeyGen 認証情報ありなし
TTSHeyGen Starfish REST(ネイティブの単語タイムスタンプ)→ ElevenLabs → Kokoro(単語タイムスタンプには transcribe を連結)
BGMHeyGen 音楽 検索Lyria → MusicGen ローカル 生成(非同期)
SFXHeyGen 効果音 検索(min_score 0.4)バンドルされた21ファイルのライブラリ(assets/sfx/)
  • リクエスト(audio_request.json): { provider?, lang?, speed?, lines: [{ id, text, sfx?: [names] }], bgm: { mode?, query?, prompt? } }。id は各行を呼び出し元のモデル(フレーム番号、シーンIDなど)に結びつけます。bgm.mode は retrieve | generate | none。省略時は自動(認証情報ありなら検索、なければ生成)。明示的な retrieve は厳格で、非同期生成を開始せずスキップします(wait-bgm ステップのない呼び出し元向け)。
  • 出力(audio_meta.json、id キー): { tts_provider, voice_id, bgm, bgm_pending, …, voices: [{ id, path, duration_s, words }], sfx: [{ id, name, file, source, offset_s, duration_s, volume }], total_duration_s }。
  • --only tts,bgm,sfx でサブセットを実行し、既存の --out に マージ します(例: 最初に TTS+BGM、効果音キューができたら SFX)。
  • BGM 生成は 非同期 で起動されます(bgm_pending: true)。アセンブル前に scripts/wait-bgm.mjs を実行してください。
  • scripts/heygen-tts.mjs は、同一のコードを使用した単発の CLI です(1テキスト → wav + 単語)。リクエストファイルが不要な場合に使用します。

完全なフラグ一覧と audio_meta.json スキーマは scripts/audio.mjs のヘッダーコメントにあります。以下の参照は、各機能のプロバイダ詳細とエッジケースを説明します。

事前チェック — 音声生成前にログイン状態を表示

音声や BGM を生成する前には必ずこれを実行してください — 完全なワークフロー内でも、「BGM/ナレーションを生成して」という単発のリクエストでも同様です。 HeyGen の認証情報がないからといって、黙ってローカルエンジンにフォールバックしてはいけません。まずはログインを推奨し、ユーザーに判断を委ねます。共有の事前チェックを実行し、その出力をそのまま中継してください — 独自の「キーがありません」というプロンプトを作ったり、リポジトリごとの .env にキーを書き込んだりしないでください。

npx hyperframes auth status
  • ログイン済み → アカウント情報が表示されます。処理を進めてください。
  • 未ログイン(ここで exit 1 が返ることが期待されます — 「未ログイン」はエラーではなく正常な状態です)→ 登録を促すガイダンスが表示されます。ログインを推奨してください: npx hyperframes auth login はブラウザ OAuth です — ログインとアカウント作成を同時に行います(このリポジトリの CLI から常に利用可能です)。既存の HeyGen API キー(app.heygen.com/settings/api から取得)を使用するには、npx hyperframes auth login --api-key を実行します。これにより共有の ~/.heygen に保存されます(リポジトリごとの .env は不要)。出力には、ローカルエンジンの音声/BGM のフォールバック先と、依存関係が不足している場合の pip ヒントも含まれます。この出力をそのまま中継してください — 自分の言葉で言い換えないでください。 その後、ユーザーが選択するまで待機して停止してください — ログインするか、「go」/「local」と言ってオフラインで続行するかを選びます — 何かを生成する前に。これは単なる通過点ではありません。実際の判断ポイントです。他の質問に折りたたんだり、自分で勝手に先に進んだりしないでください。(例外: 自律的 / 非対話モードでは、ステータスを確認しオフラインで続行します。)
  • npx hyperframes auth status --json は { configured, recommended_action, offline_engines } を返します。決定論的な分岐に使用できます。
  • CLI が実行できない場合(PATH にない、npx が取得できない)→ それでも ログインを推奨 し(npx hyperframes auth login)、ユーザーの選択を待って停止してください — 「認証情報がない」ことをローカル生成の黙認として扱わないでください。

認証情報の解決、完全なキーの優先順位、ローカル依存関係のリストは references/requirements.md にあります。

プロバイダチェーン(エンジンの詳細)

TTS — 利用可能な最初のプロバイダが使用されます(エンジン経由、または npx hyperframes tts "...")。

順序プロバイダ検出条件単語タイムスタンプ
1HeyGen(Starfish)$HEYGEN_API_KEY / hyperframes auth loginはい、ネイティブ — --words narration.words.json を渡して取得
2ElevenLabs$ELEVENLABS_API_KEY が設定されている場合いいえ — 後で transcribe を連結
3Kokoro-82M(ローカル、54音声)常に(キー不要)いいえ — 後で transcribe を連結

公開されている hyperframes tts CLI はローカル専用ビルドであることが多いです(--help には「Kokoro-82M」と表示され、--provider/--words はありません)。そのため、$HEYGEN_API_KEY が設定されていても、黙って Kokoro にフォールバックします。エンジンの HeyGen パスが自己完結型の scripts/heygen-tts.mjs(REST)であり、CLI ではない理由はここにあります。CLI は Kokoro パスでのみ使用されます。詳細は references/tts.md を参照してください。

BGM & SFX — デフォルトでは HeyGen 音声ライブラリ(/v3/audio/sounds)から 検索 されます。認証情報は HeyGen TTS と同じものを使用し、認証情報がない場合のフォールバックは上記のスイッチに従います。

アセットHeyGen の type保存先フォールバック(認証情報なし)
BGMmusicassets/bgm/track.mp3(検索) · track.wav(生成)Lyria / MusicGen 生成
SFXsound_effects(min_score 0.4)assets/sfx/<スラッグ>.mp3バンドルされた21ファイルのライブラリ(assets/sfx/* + manifest.json)

references/bgm.md と references/sfx.md を参照してください。

ルーティング

タスク参照先
音声エンジン — リクエスト/メタスキーマ、--only、スイッチscripts/audio.mjs(ヘッダーコメント)
npx hyperframes tts / heygen-tts.mjs — プロバイダ、音声、単語references/tts.md
BGM — HeyGen 検索 + ローカル Lyria / MusicGen 生成references/bgm.md
SFX — HeyGen 検索(min_score 0.4)+ バンドルローカルライブラリreferences/sfx.md
npx hyperframes transcribe — Whisper、モデルルール、出力形式references/transcribe.md
npx hyperframes remove-background — 透明な切り抜きreferences/remove-background.md
TTS → 文字起こし → キャプション(録音ナレーションなし)references/tts-to-captions.md
キャプション作成 — スタイル検出、レイアウト、単語グループ化、終了処理references/captions/authoring.md
トランスクリプト処理 — 入力形式、品質ゲート、クリーンアップ、APIreferences/captions/transcript-handling.md
キャプションモーション — カラオケ、マーカー効果、音声反応references/captions/motion.md
モデルキャッシュ、システム依存関係、トラブルシューティングreferences/requirements.md

厳守ルール

  • 単一エンジン、ベンダーコピー禁止。 音声は scripts/audio.mjs(または単発 HeyGen TTS 用の heygen-tts.mjs)を介して生成します。ワークフロー内で TTS/BGM/SFX を再実装しないでください — audio_request.json アダプターを作成し、エンジンを呼び出してください。
  • 「HeyGen 利用可能」= 解決可能な認証情報であり、CLI ではない。 すべてのスイッチは heygenCredential() に依存します。公開されている hyperframes tts は Kokoro 専用である可能性があり、hyperframes bgm / hyperframes sfx コマンドはそもそも存在しません。
  • 音声 ID はプロバイダ固有。 am_michael は Kokoro 専用です。HeyGen の UUID は Kokoro では動作しません。--voice を渡す場合は、--provider も固定して、ユーザーの環境変更によるプロバイダの暗黙の切り替わりを防いでください。
  • transcribe には常に --model を渡す。 CLI のデフォルト small.en は非英語の音声を黙って翻訳します。references/transcribe.md → 「言語ルール」を参照してください。
  • HeyGen は単語タイムスタンプを返します。ElevenLabs / Kokoro は返しません。 エンジンは後者の2つに対して自動的に transcribe を連結します。スタンドアロンでは、--words を HeyGen に渡すか、音声ファイルに対して transcribe を実行してください。
  • キャプションはフラットな単語配列形式 { id, text, start, end } を消費します。references/transcribe.md → 「出力形式」を参照してください。
  • remove-background --background-output は穴を開ける処理であり、インペイントではありません。 「人物のいないシーン」が必要な場合は、別のツールが必要です。references/remove-background.md → 「適切でない場合」を参照してください。
  • BGM/SFX のデフォルトは HeyGen 検索。認証情報なしのフォールバックは生成(BGM)またはバンドルライブラリ(SFX)。 /audio/sounds はテキストクエリでランク付けされます — 効果音は具体的に命名してください(dramatic sound ではなく glass shatter)。一致しない場合はスキップされ、レンダリングをブロックすることはありません。SFX は音声 + BGM の下で音量約0.35になります。references/sfx.md / references/bgm.md を参照してください。
  • ワークフローのキャプション HTML は生成された出力として扱います。 プリセットベースの動画の場合、再利用可能なスキンソースは .hyperframes/caption-skin.html にあり、ワークフロースクリプトは compositions/captions.html を書き込みます。生成された compositions/captions.html を編集してスキンを修正しないでください。ワークフローの captions.mjs 経由で再構築するか、そのワークフローの明示的なオーバーライドメカニズム(存在する場合)を使用してください。

Individual skills in this repo

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

Manavv007/S.A.R.A.L.-Scheme-Access-Retrieval-Analysis-Layer-

The fallback workflow for authoring custom HyperFrames video compositions at any length or format — longer or multi-scene pieces, brand / sizzle reels, montages, title cards, static loops, and freeform compositions. Input- and length-agnostic. If a specialized workflow clearly fits the input — a marketed product, a website, a topic explainer, a GitHub PR, existing footage, a short motion graphic, or a Remotion port — prefer it (see /hyperframes); use this only as the general fallback when none fit.

Manavv007/S.A.R.A.L.-Scheme-Access-Retrieval-Analysis-Layer-

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). HyperFrames-native: single paused timeline, seek-safe, deterministic.

Manavv007/S.A.R.A.L.-Scheme-Access-Retrieval-Analysis-Layer-

HyperFrames CLI dev loop. Use when running npx hyperframes init, add, catalog, capture, lint, validate, inspect, layout, snapshot, preview, play, render, publish, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry, transcribe, tts, or remove-background, or when troubleshooting the HyperFrames build/render environment. Entry point for AWS Lambda cloud rendering (`hyperframes lambda deploy / render / progress / destroy / policies`).

Manavv007/S.A.R.A.L.-Scheme-Access-Retrieval-Analysis-Layer-

The HyperFrames composition contract — build one renderable project. Use for composition structure, the `data-*` timing attributes, `class="clip"`, tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.

Manavv007/S.A.R.A.L.-Scheme-Access-Retrieval-Analysis-Layer-

Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use `hyperframes-animation`.

Manavv007/S.A.R.A.L.-Scheme-Access-Retrieval-Analysis-Layer-

Capture a general website/URL and turn it into a HyperFrames video (site tour, showcase, or social clip from the site's own visuals). Uses headless Chrome screenshots + brand assets. Use when intent is general — portfolio/blog/landing-page showcase or social clip from the site. NOT for: product/SaaS launch or promo (→ /product-launch-video, even from a URL); topic explainer with no site (→ /faceless-explainer); GitHub PR (→ /pr-to-video); adding captions to existing video (→ /embedded-captions); short unnarrated page-highlight motion graphic (→ /motion-graphics). Unclear launch-vs-general-site? Ask one question or start at /hyperframes.

Manavv007/S.A.R.A.L.-Scheme-Access-Retrieval-Analysis-Layer-

S.A.R.A.L. is an advanced AI-powered platform designed to bridge the "information gap" between rural Indian citizens and government welfare. While thousands of schemes exist, the complex language of official PDFs often makes them inaccessible to the common man.

関連スキル