無顔説明動画(小红书向け)
これは独立したショート動画制作ルートであり、「実際のコンテンツスクリーンショットカード + 動的な風景背景 + ローカルBGM」を組み合わせて小红书の下書きを生成します。既存の $explainer スキルを変更したり置き換えたりするものではありません。後者は引き続き16:9、ナレーション、および完全な説明動画を担当します。
アカウントのコア読者は、個人起業を志し、AIを学習中で、ビジネスとAIに関する基礎的な理解を持つ人々です。スクリーンショットは証拠の入り口に過ぎず、真のコンテンツ価値は、スクリーンショットから得た洞察を、そうした読者が判断し実行できるアクションに変換することにあります。
先に境界を定める
- 各コンテンツは、ユーザーに対して2つの成果物のみを提供します。開くことのできる
.mp4ファイルと、同じタイトルの.mdファイル(投稿原稿)です。同一週の複数コンテンツのペアファイルは、同じ週ディレクトリに直接配置できます。内部の追跡用マニフェストは成果物とはみなさず、週ディレクトリには配置しません。 - デフォルトの保存先は
説明小红书XX/第N周/です。同一週の完成動画と投稿原稿は、週ディレクトリに直接配置し、個別のサブディレクトリは作成しません。 - 投稿原稿は常に
publish_status: draftです。最終納品前のtitle_statusはlockedである必要があります。デフォルトでは、自動ログイン、アップロード、公開、コメント、いいね、フォローは行いません。編集者が明示的に要求した場合にのみ、指定された完成動画と投稿原稿を、ログイン済みの小红书クリエイターセンターにアップロードし、ドラフトとして保存できます。公開ボタンは決してクリックしません。ユーザーが候補アカウントリストを明確に確認した場合、ログイン済みのXアプリで手動で1つずつフォローすることは可能ですが、スクリプトによる一括処理や、これを利用したインタラクションの増加は禁止します。 - Xコンテンツは、ユーザーが提供したスクリーンショット、またはユーザーがログイン済みのXアプリで表示可能な投稿からのみ取得する必要があります。CAPTCHA、ペイウォール、権限を回避してはなりません。スクリーンショット内のテキストを並べ替えたり、アカウント名/数字/日付を捏造したりしてはいけません。
- デフォルトではXの出典行は記述しません(ユーザーが別途要求した場合を除く)。出典と許諾情報は、素材ライブラリのメタデータにのみ記録します。
- 1枚のスクリーンショットが唯一の情報カードです。テロップ、タイトルバー、ステッカー、ロゴ、オープニング、エンディング、CTA、2枚目のカード、人物キャラクターなどを重ねてはいけません。
- ユーザーが事実の証拠を提供していない場合、タイトルとコピーは明確に注釈された要約のみとし、推測を事実として記述してはいけません。
- 各完成動画には、週ディレクトリの外部に内部
run_manifest.jsonを配置する必要があります。これには、スクリーンショット、背景、BGM、ターゲットオーディエンス、トピックスコア、タイトル候補、本文構成、レビューパッケージ、ハッシュ、および人間による確認が記録されます。これは公開用ファイルではなく、週ディレクトリにも配置できません。
使用タイミング
ユーザーが「説明小红书を作って」「Xのスクリーンショットを動画にして」「動的な風景を背景にして」「BGMを合わせて」「動画と投稿原稿をください」と言った場合に、このスキルを使用します。ログイン済みのデスクトップ/Xアプリを操作する必要がある場合は、利用可能な computer-use/ブラウザ制御スキルを先に読み取ります。メディアの検出とレンダリングには、ローカルの ffprobe、ffmpeg、または適切に認可された編集ツールを使用します。スクリーンショット、背景、準拠したBGM、または事実の意味を変えるタイトルの根拠が不足している場合は、WAIT_DATA/WAIT_USER で停止し、自身で補完しようとしてはなりません。
入力と出力の契約
タイトル、50字の本文、およびタグの生成とレビュールールについては、content-generation-contract.md を参照してください。この参照ファイルは、本スキルのコンテンツ生成基準であり、オプションのインスピレーションではありません。
最小入力
- Xのスクリーンショット1枚、またはログイン済みのXアプリで特定できる投稿1つ。
- ユーザーがアップロードしたレイアウト参照図1枚。
source_crop_rect_pxを決定するために使用します。ユーザーがXのスクリーンショット自体をレイアウト参照図として明確に確認した場合にのみ、同じファイルを再利用できます。 - 動的な背景動画1つ。ユーザーから提供がない場合は、Pexels/Unsplashの明確なダウンロードページから取得し、ライセンス/出典情報を保存します。検索結果ページのみを頼りに素材を使用することはできません。
- ローカルのBGM 1曲、またはローカルの
説明小红书BGM素材庫から選択することを許可します。権利が不明な音声は完成動画に含めることはできません。
オプション:テーマ、ターゲットとする感情、週番号、ユーザー指定のタイトル、元の投稿内の表示画像領域を保持するかどうか。動画の長さは入力として扱わず、恒久的に8秒に固定します。
動画の固定仕様
- キャンバスは恒久的に
1080×1440 px(3:4)に固定、デフォルト30 fps、H.264 ビデオ、AAC オーディオ。 - 動画の長さは恒久的に
8 秒に固定。他の長さに調整してはいけません。 - 動的な背景はキャンバス全体に敷き詰め、カードを際立たせるために輝度をわずかに下げたり、ビネット効果、ぼかしを適用しても構いません。背景を静止画にしてはいけません。
- スクリーンショットカードの幅は恒久的に
880 pxに固定。キャンバスの左右マージンは恒久的に100 px(100 + 880 + 100 = 1080)に固定。 - スクリーンショットカードは、まずユーザーの参照図に従ってソーススクリーンショットのトリミング範囲を決定し、次に「フィル + トリミング(cover)」方式で
880 pxの幅に敷き詰めます。パディング、レターボックス、または空白の補完は厳禁です。キーテキストの書き換え、並べ替え、または隠蔽は行ってはいけません。 - スクリーンショットカードの高さは、参照図で決定されたスクリーンショットのアスペクト比から自然に決定されます。
logical_card_height <= 1440の場合、final_card_height = logical_card_heightとなり、y = floor((1440 - final_card_height) / 2)となります。1440を超える場合は、まずsource_vertical_crop_px = floor((logical_card_height - 1440) / 2)で中央垂直トリミングを行い、final_card_height = 1440、最終的なy = 0とします。どちらの場合も、上下の余白を固定で指定したり、幅を縮めたり、空白を補完したりしてはいけません。 - 最終的なスクリーンショット表示レイヤーには、統一して
24 pxの角丸マスク(1080×1440 出力ピクセル基準)を使用し、カードの最も外側のエッジから内側に向かって統一して2 pxの薄灰色ストローク#C9D1D8を描画し、さらにソフトなドロップシャドウを追加します。色は黒、16%不透明度、ぼかし半径12 px、オフセット(0, 8 px)、拡張予備36 px。ストロークとシャドウはスクリーンショットカード自体に属し、カードの880pxの外寸を変更したり、2番目の情報レイヤーを追加したりするものではありません。参照図が提供されていない場合はWAIT_USERで停止し、トリミング矩形は決定しません。 - スクリーンショットカードはデフォルトで0秒から表示され、動画の最前面にある唯一の情報カードとして最後まで保持されます。ユーザーが明示的に登場アニメーションを要求した場合でも、このカード自体に対する軽微で読み取り可能な変化のみ許可されます。
- 画面には「背景 + 1枚のスクリーンショットカード」のみが表示されます。追加のテロップ、ステッカー、出典バー、オープニング、エンディング、2番目の情報レイヤーは禁止です。
- デフォルトではBGMの1トラックのみで、ナレーションは追加しません。音楽は動画全体をカバーし、短いフェードイン/フェードアウトを適用し、クリッピングや不自然なカットを避けます。
投稿原稿の固定仕様
Markdownのベース名は動画と完全に同一である必要があります:<タイトル>.mp4 と <タイトル>.md。本文はデフォルトで厳密に50漢字とします。カウントは本文中の漢字のみを対象とし、タイトル、句読点、数字、英字、タグ、ステータスフィールドは含みません。ユーザーが明示的に緩やかなモードを選択した場合にのみ、45~65字の範囲を使用できます。原稿には以下のみを保持します。
publish_status: draft
title_status: locked
copy_length: exact_50
platform: xiaohongshu
content_review_status: claude_approved
content_review_agent: claude
content_generation_agent: claude
editorial_review_status: codex_approved
editorial_review_agent: codex
# タイトル
本文(ちょうど50漢字。魅力的なフックと明確な締めくくりを含むこと)
#タグ1 #タグ2 #タグ3
BGMのライセンス、ダウンロードリンク、制作プロセスを読者向けのコピーに詰め込んではいけません。記録が必要な場合は、素材ライブラリの index.json または内部の実行結果に書き込み、週の成果物ファイルを増やさないでください。
ワークフロー
- 受付と検証: スクリーンショット、独立したレイアウト参照図(またはユーザーがスクリーンショットを参照図として明確に確認したこと)、背景、テーマ、週番号、素材ライブラリの状態を確認します。不足している項目をリストアップします。タイトルに数字、因果関係、または利益の約束が含まれている場合は、まずスクリーンショットが実際にそれをサポートしているか確認します。
- コンテンツの取得: ユーザーがXアプリの操作を許可した場合、現在表示されているコンテンツのみをスクリーンショットします。元のスクリーンショットは読み取り専用で一時ワークスペースにコピーし、動画完成後の確認後に一時コピーをクリーンアップします。ユーザーの元のスクリーンショット、元の動画、元の音楽は削除しません。
- フィルタリング、トピック選定、Claude初稿: 後続の自動化は、確認済みのXアカウントプールからの公開投稿のみを読み取ります。まず
content-generation-contract.mdのスクリーンショット品質基準を通過させます。通過後、topic_packetを作成してスコアリングし、Claudeに5つのタイトル候補、1つの推奨タイトル、2つの予備タイトル、4つの本文案、5つのタグを生成させます。編集者がすでにタイトルを指定している場合は、そのタイトルを直接ロックし、Claudeは本文とタグのみを生成します。Claudeの出力は常に素材原稿であり、直接納品することはできません。 - Codexによる徹底的な編集と最終原稿レビュー: CodexはClaudeの初稿を再考し、フック、注目度、本当のペインポイント、対立、アイデンティティの主張、記憶に残るフレーズ、行動価値、証拠の境界を重点的にレビューする必要があります。必要に応じて、単に文字数を削減するのではなく、完全に書き直します。ちょうど50漢字と5つのタグの機械的チェックを行った後、最終原稿をClaudeにコンプライアンスレビューとして送ります。Claudeが利用できない場合にのみ、Hermesに切り替え、
fallback_reasonを記録します。editorial_review_status: codex_approvedであり、かつコンプライアンスステータスがclaude_approvedまたは正当なhermes_approvedである場合にのみ、納品プロセスに進むことができます。 - 背景の選択: ユーザーが提供した動画を優先して使用します。外部素材は、明示的に許可された公式ページからのみダウンロードし、出典を記録します。3:4にトリミング/リサイズし、スクリーンショットカードの読み取り領域を変更しないようにします。
- BGMの選択: まず
audit_bgm.pyを実行し、次にapproved、sync_allowed=true、commercial_allowed=trueのローカル記録から、雰囲気、エネルギー、長さ、ボーカル状態でフィルタリングし、最高スコアの3~5曲の中から固定シードを使用して1曲を抽出します。pendingは候補として提案できるのみです。制作/納品には--confirmed-onlyを使用し、human_listen_status=confirmedである必要があります。AIは人間に代わって最終選択を行いません。CC BYのトラックには、配置可能な帰属表示テキストも必要です。そうでない場合は不合格となります。 - 合成: ソーススクリーンショット、背景、BGMから完全なタイムラインを再構築し、ffmpeg/編集ツールを使用して1080×1440のMP4を出力します。エラーが見つかった場合は、ソース素材に戻って再構築し、レンダリング済みのMP4にパッチを重ねることはしません。
- 検収:
ffprobeを使用して、アスペクト比、フレームレート、H.264/yuv420p、AAC、単一オーディオトラック、オーディオが0秒から始まり画面をカバーしていること、長さが8秒(コンテナの誤差±0.05秒を許容)であることを強制的にチェックします。フレームを抽出して、カードが鮮明で、追加のテキストレイヤーがないことを確認します。オーディオにクリッピング、無音の開始、明らかなボーカルとの競合がないかチェックします。テキストはまずCodexの徹底的な編集を通過し、次にClaudeのコンプライアンスレビューを通過するか、Claude接続失敗で理由が記録された場合はHermesの予備レビューを通過する必要があります。 - アーカイブ:
説明小红书XX/第N周/に、正確に1つのMP4と1つのMarkdownファイルを直接書き込みます。内部マニフェストは週ディレクトリの外に配置します。今回の実行で生成された一時コピー、一時フレーム、ログ、バックアップバージョンのみをクリーンアップし、ユーザーの元の素材はクリーンアップしません。マニフェスト内の出典、ライセンス、ハッシュ記録は保持します。ローカル下書きの状態を維持し、外部への公開は行いません。 - 小红书下書き箱(ユーザーが明示的に要求した場合のみ): ユーザーがログインしているコンピュータのGoogle Chrome小红书クリエイターセンターを優先的に操作します。Codex組み込みブラウザのログイン状態を、コンピュータのブラウザセッションとみなしてはいけません。クリエイターセンターへのログインを確認後、指定された
.mp4をアップロードし、同じタイトルとMarkdown内の最終本文/5つのタグを入力し、処理が完了するのを待って「下書きを保存」または同等のボタンをクリックします。保存後、ページのプロンプト、下書きリスト、またはタイトルの読み戻しを使用して権威的に検証し、draft_upload_status、時刻、下書き識別子を週ディレクトリ外のマニフェストに書き込みます。ログイン、CAPTCHA、リスクコントロール、著作権表示など、ユーザーの判断が必要なページに遭遇した場合は、WAIT_USERで停止します。「公開」の代わりクリック、予約公開、同期公開、またはインタラクション操作は一切行ってはいけません。
Hermes / 無顔説明検収のハード制約
納品のたびに事実の証拠を記録する必要があり、「だいたい合っているから」という理由で通過させてはいけません。
- キャンバス:
ffprobeで1080×1440である必要があります。 - 水平ジオメトリ: フレーム抽出またはフィルタログで、スクリーンショットカードが
x=100、w=880、右マージン=100であることを証明する必要があります。 - フィル/トリミング: スクリーンショットカードにパディング、レターボックス、白枠、または透明な補完があってはいけません。はみ出たコンテンツは、coverトリミングによるものでなければなりません。
- 垂直ジオメトリ: 高さがオーバーしていない場合、
y=floor((1440-final_card_height)/2)とします。オーバーしている場合は、まず中央揃えのsource_vertical_crop_pxを記録し、最終的なカードの高さを1440、y=0とします。 - 角丸、ストローク、シャドウ、レイヤー: 最終的なスクリーンショット表示レイヤーのマスク半径は
24px、カードの最も外側のエッジの内側のストロークは2px #C9D1D8に固定、シャドウは黒16%、ぼかし12px、オフセット(0,8px)、拡張36pxに固定。画面には動的な背景とこの1枚のスクリーンショットカードのみが存在できます。 - 再現可能性: マニフェストには、上記のジオメトリ値、ユーザー参照図のパス/ハッシュ、
source_crop_rect_px、検収時刻、最初のフレーム/中間フレーム/最後のフレームのパスとハッシュ、フィルタログのパス、next_stateを記載します。参照図または証拠が不足している場合は、WAIT_USERで停止します。
角丸、ストローク、シャドウは、スクリーンショットカードを合成する前に完了している必要があります。まず、カードの最も外側のエッジから内側に向かって 2px #C9D1D8 のストロークを描画し、次に scripts/make_rounded_mask.py --width 880 --height FINAL_CARD_H --radius 24 --output rounded-mask.pgm を使用して最終サイズのPGMマスクを生成し、alphamerge を実行します。同じ角丸カードのアルファから、拡張、ぼかし、オフセットを適用したシャドウを生成し、そのシャドウと元のカードを背景に合成します。レンダリング済みのMP4にレイヤーを追加してはいけません。マニフェストには、ストロークとシャドウのすべての固定パラメータを記録する必要があります。
インテントエントリ
以下のフレーズを安定した内部ルートとして扱い、ユーザーがスクリプトパラメータを理解していることを要求しません。
/xhs-card-video make
/xhs-card-video make --source x-app --week auto --bgm random --confirmed-only --record
/xhs-card-video make --source <スクリーンショット> --background <動画> --bgm <bgm-id>
/xhs-card-video bgm init --count 100
/xhs-card-video bgm ingest <ファイルまたはフォルダ>
/xhs-card-video bgm confirm <bgm-id> --status confirmed
/xhs-card-video bgm audit
/xhs-card-video bgm pick --mood rainy --energy low-mid --seed <シード> --confirmed-only --record
/xhs-card-video audit <週フォルダ>
/xhs-card-video audit <週フォルダ> --title <タイトル> --manifest <run-manifest.json>
/xhs-card-video audit <週フォルダ> --manifest <run-manifest.json>
対応するスクリプトは、本スキルの scripts/ ディレクトリにあります。スクリプトは再利用可能な補助ツールであり、外部公開が実行されたことを意味するものではありません。
ローカルBGM素材ライブラリ
デフォルトパス:
{{CREATOR_ROOT}}/説明小红书BGM素材庫/
環境変数 PROOF_EXPLAINER_XHS_BGM_LIBRARY で上書きすることを推奨します。古い変数 EXPLAINER_XHS_BGM_LIBRARY は互換性のためだけに残されています。現在の初期ライブラリは100曲で、10カテゴリに分かれています。集中と日常、雨夜と天気、雰囲気と夢、深夜とネオン、温かさとスローテンポ、ジャズと書店、リラックスと日常、東洋と禅、レトロとグルーヴ、世界と映画的な感覚。100曲はあくまで呼び出し可能な素材プールであり、小红书のホットなトップ100やトレンドランキングを構成するものではありません。
メタデータの最低要件
各トラックは index.json で少なくとも以下を持つ必要があります。
{
"id": "bgm-001",
"relative_path": "audio/01_集中と日常/bgm-001__track.mp3",
"source_page_url": "https://…",
"download_url": "https://…",
"source_platform": "openlofi|user_local|manual_other",
"license_class": "cc0|cc_by|site_custom|user_owned|reference_only|blocked",
"sync_allowed": true,
"commercial_allowed": true,
"standalone_redistribution_allowed": false,
"license_checked_at": "YYYY-MM-DD",
"license_snapshot_path": "licenses/…",
"license_snapshot_sha256": "…",
"rights_notes": "…",
"trend_status": "verified|unverified|not_claimed",
"duration_s": 12.3,
"sha256": "…",
"review_status": "approved|review|rejected",
"human_listen_status": "pending|confirmed|rejected"
}
review_status=approved、sync_allowed=true、commercial_allowed=true であり、かつライセンス区分が明確なトラックのみが動画に使用できます。reference_only はインスピレーション記録用のみで、blocked は呼び出せません。ユーザー提供のローカル動画オーディオはデフォルトで review です。ユーザーが権利を所有しているか、許可を得ていることを確認した場合にのみ、user_owned に変更できます。オーディオを単独でパッケージ化/再販売する権限は、「動画に埋め込む」こととは異なり、デフォルトで推測することはできません。
初期ライブラリは、Open Lo-Fi v1.0.0の固定リリースパッケージを使用します。ディレクトリには、上流のカタログ、README、LICENSEのスナップショットとSHA-256を保持します。READMEはCC0 1.0を宣言していますが、サードパーティのサンプル/地域的権利は本スキルで個別に監査されるわけではありません。rights_notes にはこの注意書きを保持する必要があります。出典がPixabay、Mixkit、OpenGameArt、DOVAなどの場合、公式ライセンスページを1つ1つ読み取る必要があり、一括取得したり、プレビューURLを正式な許可/ダウンロード証拠として使用したりしてはいけません。XHS/TikTok/Instagramの制限されたホットな音源をダウンロードまたは再配布してはいけません。
選択ルール
random は無制限なランダムではありません。
ライセンスとデコード不合格 → 不合格
雰囲気マッチ +4
エネルギー/リズムマッチ +3
長さ、ループ可能、インストゥルメンタル +2
最近使用済み -1
ボーカルとスクリーンショットカードの競合 -3
まず最高スコアの3~5曲を保持し、次に固定シードを使用して1曲を選択します。bgm_id、シード、フィルタリング理由を selection_history.jsonl に書き込みます。実行ログを週の納品ディレクトリに持ち込まないでください。
週ディレクトリ、ファイル名、ステータス
説明小红书XX/
└── 第N周/
├── <タイトル>.mp4
└── <タイトル>.md
第N周はデフォルトで現在のISO週を取得します。ユーザーが週数を指定した場合は、ユーザーの指定を優先します。- ファイル名は確認済みのタイトルです。システムで禁止されている文字、改行、
/のみを置換し、こっそりと番号に変更してはいけません。 - 週ディレクトリには、ペアのMP4/Markdownファイルのみを配置できます。一時素材、ログ、サブディレクトリは配置しません。複数のコンテンツを含む場合は、
audit_delivery.py --title <タイトル>を使用して指定されたペアファイルをレビューします。 - 週ディレクトリの親ディレクトリは正確に
説明小红书XXである必要があり、週名は第1周~第53周に準拠する必要があります。内部マニフェストは{{CREATOR_ROOT}}/.xhs-card-video-runs/(またはユーザーが指定した週ディレクトリ以外のパス)に配置します。 - 内部ステータスは次のように記述できます。
state: INTAKE | WAIT_DATA | WAIT_USER | WAIT_REVIEW | BUILD | AUDIT | local_ready
source_status: captured | supplied | missing
bgm_status: approved_confirmed | approved_pending_listen | review | missing
title_status: locked | draft
publish_status: draft
draft_upload_status: not_requested | pending | saved | blocked
draft_upload_platform: xiaohongshu | none
draft_upload_at: <ISO-8601 or null>
draft_entry_identifier: <title/url/id or null>
copy_length: exact_50 | range_45_65
platform: xiaohongshu
content_review_status: pending | claude_approved | hermes_approved | rework_required
content_review_agent: claude | hermes | none
content_generation_agent: claude | hermes | none
editorial_review_status: pending | codex_approved | rework_required
editorial_review_agent: codex | none
run_manifest: <週フォルダ外の絶対パス>
delivery_path: <週フォルダの絶対パス>
next_state: DONE | WAIT_DATA | WAIT_USER
両方の最終ファイルが開くことができ、audit_bgm.py と audit_delivery.py --manifest … がすべて合格し、人間による画面/試聴確認が済んでおり、外部公開アクションがない場合にのみ、local_ready を報告できます。
エラー処理
- スクリーンショット/背景/利用可能なBGMの不足:具体的な不足項目を報告し、
WAIT_DATAで停止します。許可されていない代替物をダウンロードしません。 - タイトルが元の投稿の事実を変えてしまう場合:
WAIT_USERで停止し、確認が必要な事実の範囲を示します。 - オーディオがデコードできない、ハッシュが重複している、ライセンスフィールドが欠落している:候補プールから除外し、
audit_bgm.pyを実行します。「とりあえず使ってみる」はしません。 - BGMがまだ
human_listen_status=pending、マニフェストが欠落している/週ディレクトリ内にある、またはCC BYの帰属表示の配置場所がない:WAIT_USER/AUDITで停止し、local_readyを報告してはいけません。 - レンダリングのアスペクト比、カードの可読性、オーディオトラックが不合格:その一時出力を削除し、ソース素材から再構築します。パッチレイヤーを重ねません。
- 公開、予約公開、またはインタラクションのリクエスト:draftを維持し、ユーザー自身が確認/実行する必要があることを明確にします。本スキルは、ユーザーが明示的に要求した場合にのみ、小红书の下書き箱へのアップロードを代行し、「下書きを保存」で停止する必要があります。代行公開はしません。
参照ファイル
references/xhs-video-contract.md:キャンバス、カード、オーディオ、レンダリングの制約。references/bgm-library-contract.md:ディレクトリ、ライセンス、フィールド、選択アルゴリズム。references/delivery-checklist.md:納品前の実行可能な検収チェックリスト。references/run-manifest.md:週ディレクトリ外の出典、ライセンス、ハッシュ、人間による確認のリスト。references/content-generation-contract.md:ターゲット読者、トピックスコア、Claude初稿、Codex徹底編集、タイトル/50字本文/5タグのメカニズム、最終コンプライアンスレビュールート。scripts/install_openlofi.py:固定された公式リリースから初期100曲の素材プールを初期化。scripts/select_bgm.py:フィルタリングとシード付きランダム選択。オーディオは変更しない。scripts/ingest_bgm.py:ユーザーのローカルオーディオをレビュー待ちの受信箱に配置。デフォルトで権利を付与しない。scripts/confirm_bgm.py:ユーザーが明示的に指定したIDに基づいてのみ、人間による試聴の合格/不合格を記録。人間に代わって決定しない。scripts/audit_bgm.py:インデックス、パス、デコード、ハッシュ、ライセンスフィールドをチェック。scripts/audit_delivery.py:週ディレクトリ内の2ファイル契約、draftステータス、コンテンツレビューステータス、ジオメトリの証拠、MP4基本ストリーム情報をチェック。