1仕組みと動作原理
HyperFramesを中国語ナレーション動画の唯一の制作基盤(チュートリアル動画に限定しない)と位置付け、ユーザーからクリック駆動型のWebデモが明示的に要求されない限り、従来のweb-video-presentationルートは使用しない。
Use HyperFrames as the primary production surface for Chinese narrated videos, not only teaching videos. … Do not use the old Web Video Engineer / `web-video-presentation` implementation path unless the user explicitly asks for a click-driven webpage presentation.
デフォルトのビジュアルとトーン:Apple Keynote / macOS風、口語調とし、定型的な導入(「AI時代、もう〜はやめましょう」など)や視聴者に見せるべきでない内部タグ(s03、フォルダ名など)は禁止する。
Use Apple Keynote / macOS style unless the user gives a stronger reference … Avoid starting with formulaic lines like "AI 时代,别再...".
アニメーション作成前にナレーション原稿を書き上げ、執筆の参照先はreferences/CODE-GARDEN-VOICEOVER.mdのみとする。執筆開始前にDESIGN.mdへ位置付けを定義した1文を記述する。
For narration drafting or rewriting, read `references/CODE-GARDEN-VOICEOVER.md` first. … Before writing the script, write a one-sentence **positioning statement** in `DESIGN.md`
単一のsync manifestを唯一の信頼できる情報源とする:3つの配列を手動管理するのではなく、ナレーション、字幕、シーン開始位置をすべてここから派生させる。
Keep one sync manifest as the source of truth for narration, subtitles, and scene starts.
TTSに具体的なデフォルト値を設定:Doubao/Volcano seed-tts-2.0 + zh_male_liufei_uranus_bigtts + speech_rate=20。代替としてEdge TTSを用意し、男女の音声プリセットと+20%の速度を推奨する。
In `/Users/d2/project/web vidio` projects, default to Doubao / Volcano `seed-tts-2.0`, voice `zh_male_liufei_uranus_bigtts`, and `speech_rate=20` unless the user says otherwise. … Recommended Edge TTS defaults for Chinese: voice `zh-CN-YunxiNeural` for a male presenter voice, or `zh-CN-XiaoxiaoNeural` for a female presenter voice; rate `+20%` unless the user requests a slower or faster delivery.
再生時間は実測音声から取得することを必須化:音声ファイルが存在する場合、文字数やEdge TTSの単語境界メタデータ、原稿テキストによる推測は禁止し、ffprobeによる再確認後に再生時間とcueタイミングを反映する。
Do not estimate timing from character count, Edge TTS word-boundary metadata, or narration text alone when audio files exist.
字幕仕様をピクセル単位および行数で厳格に定義:中国語で約66〜72px、高コントラストまたはドロップシャドウ、デフォルトで中央下部のプレーンテキスト(「ナレーション:」ラベルなし、大きな背景帯なし)、表示字幕は厳密に1行を維持する。
Keep visible subtitles to one line. … Use roughly 66-72px Chinese text for burned-in HyperFrames subtitles, strong contrast or shadow, and enough bottom margin to avoid covering the scene focus.
HyperFramesの実装規約はエコシステムのルールに準拠:ルート要素にdata-durationを付与、音声にはネイティブの<audio>要素を使用、window.__timelinesに一時停止状態のGSAPタイムラインを登録、決定論的アニメーションを採用し、トランジションはデフォルトでソフトクロスフェードとする。
Register a paused GSAP timeline in `window.__timelines` and build deterministic animation.
検証は実生成物のみを対象とする:npm run check(またはhyperframes lint/inspect)、MP4レンダリング後のffprobeによる実時間確認、ffmpegによるコンタクトシート抽出と各項目の目視確認を実施する。
ffprobe -v error -show_entries format=duration,size -of json renders/final.mp4
公開下書きには安全装置を設ける:実ブラウザを用いて下書きの作成やフィールドの検証を行うことは認めるが、プラットフォーム、アカウント、タイトル文面、タグ、MP4、カバー画像をユーザーが確認するまで最終公開ボタンは押さない。
When using a live browser to upload to social platforms, prepare drafts and verify fields, but do not click the final publish/submit button until the user confirms
2コア機能
3外部依存関係
| Kind | Dependency / Endpoint |
|---|---|
| cli | HyperFrames CLI(lint / inspect;渲染经项目 npm run render 或 npx hyperframes) |
| cli | ffprobe / ffmpeg(真实时长核对、抽接触表) |
| api | Doubao / Volcano 语音合成(seed-tts-2.0,需凭证;本 skill 未自带客户端,走项目 TTS 脚本) |
| cli | Edge TTS(免豆包 key,但需网络与 edge-tts CLI/Python 包) |
| network | 社交平台网页(用真实浏览器准备发布草稿,需用户确认后才提交) |
| reference | 口播写作参考(随包分发):references/CODE-GARDEN-VOICEOVER.md |
4推奨統制措置と判定根拠
- scripts/: ローカルスクリプトまたはコマンドの実行: (本スキルディレクトリ内にはスクリプト、テンプレート、実行可能コードは含まれていません)
- 网络端点: 外部ネットワークアクセスの宣言: 音声合成:Doubao / Volcano TTS(プロジェクトのTTSスクリプトが認証情報を保持)またはEdge TTS(要インターネット接続、Doubaoキー不要)
- 本地工作目录: ファイルの読み書きと成果物出力: プロジェクト内:DESIGN.md(位置付け文および選択したTTSプロバイダ/音声/速度を含む)、assets/sync-script.jsonおよびそれから生成されるnarration関連ファイル
5二重目の独立検証
- [ok] 本 skill 是否夹带脚本/凭证读取(档位下限依据) — find 目录只返回 SKILL.md、references/CODE-GARDEN-VOICEOVER.md、agents/openai.yaml;grep 无 process.env / fetch / curl 调用点。所有外部能力都以「指示」形式出现,由项目侧脚本或宿主 CLI 执行。
- [ok] TTS 外部依赖与凭证是否真实存在(橙档依据) — SKILL.md 原文给出 Doubao/Volcano seed-tts-2.0 + zh_male_liufei_uranus_bigtts + speech_rate=20 的项目默认,并写 'Edge TTS does not require the Doubao API key, but it still needs network access and the `edge-tts` CLI or Python package installed.' 即既确认凭证类后端存在,也确认有免 key 备选。
- [ok] 社交平台动作是否越界(是否会自动发布) — 原文 'When using a live browser to upload to social platforms, prepare drafts and verify fields, but do not click the final publish/submit button until the user confirms the exact platform, account, title/copy/tags, MP4, and cover.' 明确把最终提交留给人工确认,属安全阀而非绕过。
- [discrepancy] 文档里写死的本机路径对其他使用者意味着什么 — [判定:私有前提,非缺陷]SKILL.md 写 'In `/Users/d2/project/web vidio` projects, default to Doubao / Volcano `seed-tts-2.0` …'——该默认值绑定作者本机目录;在别处使用需替换为本地路径/项目约定,否则「默认音色语速」这一段不适用(不是安全风险,但是可见的可移植性问题)。
- [ok] 字幕/时长是否真以实测音频为准(避免估算冒充) — SKILL.md 明写 'Do not estimate timing from character count, Edge TTS word-boundary metadata, or narration text alone when audio files exist.' 并要求对每段或最终音频跑 ffprobe、由真实时长重生成 sync-map.js;缺依赖时要求报阻断而不是静默换提供方或换慢速默认值。
- [ok] 仓库级验证/提交指示是否真在文档中(工程侧影响) — SKILL.md 末尾 'If the target is inside a git repository, inspect the diff, run verification, and commit the task-related changes unless there is no change, no repository, or a real blocker.'——即 skill 会指示 agent 做 git 提交;已在 file_writes 与 risks 中标注,供使用者知情。
6結論
4d726d1ecfb6c878…