Communitygithub.com

CapCut キャプション単語グループ化

CapCut デスクトップ版ドラフトJSON内のテンプレートベースキャプションの単語タイミングメタデータを再グループ化し、フィラートークンを削除します。中国語字幕、自動スクロールキャプション、カラオケ/ハイライトテンプレート、単語単位のエフェクトで実際の単語が分割される場合や、文字レベルのチャンク表示、または「呃」などのフィラー単語を削除しつつコンパクトなテキストテンプレートトラックを維持したい場合に使用します。

CapCut キャプション単語グループ化 とは?

このスキルは、CapCut デスクトップ版のドラフトJSON内でキャプションの単語タイミングメタデータを修正するためのツールです。特に、中国語の文字ごとに分割された `materials.texts[].words` 配列を、実際の単語単位に再グループ化します。これにより、`逐字显色粗体 绿` のようなテンプレートが文字断片ではなく単語単位でスクロール/ハイライト表示されるようになります。また、「呃」「嗯」「额」などのフィラー単語を削除する機能も提供します。スクリプト `regroup-caption-words.js` を実行するだけで、ドラフト内の複数の関連ファイルを自動的にパッチし、手動でグループマップを指定するオプションも用意されています。使用前にCapCutを閉じ、ドラフトのバックアップを取り、パッチ後にCapCutプレビューで確認することを推奨します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/cinnabarhorse/capcut-skills/tree/main/skills/capcut-caption-word-groups

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

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

ドキュメント

CapCut キャプション単語グループ化 は何をしますか?

このスキルを使用して、CapCut キャプションの materials.texts[].words 配列が中国語の文字ごとに分割され、逐字显色粗体 绿 などのテンプレートが単語ではなく断片をスクロール/ハイライト表示する問題を修正します。

このスキルは、文書化されていない CapCut デスクトップ版ドラフト JSON を編集します。常に CapCut を閉じ、ドラフトをバックアップし、エクスポート前に CapCut プレビューで確認してください。CapCut のアップデートによりドラフトスキーマが変更される可能性があります。

ワークフロー

  1. アクティブなドラフトディレクトリを特定します。
    • CapCut でプロジェクトが開いている場合は、.locked ドラフトを優先します。
    • それ以外の場合は、~/Movies/CapCut/User Data/Projects/com.lveditor.draft 以下で最新に変更されたドラフトを使用します。
  2. ドラフトファイルを書き込む前に CapCut を閉じます。エディタが開いている間、CapCut は外部編集を上書きする可能性があります。
  3. 対象のキャプションを検査します:
    jq -r '.materials.texts[] | [(.content|fromjson.text), ((.words.text // [])|join("|"))] | @tsv' "$DRAFT/draft_info.json"
    
  4. ドラフトに対して scripts/regroup-caption-words.js を実行します。
  5. CapCut を再度開き、少なくとも最初、中間、最後のキャプションを視覚的に確認します。

スクリプト

実際のパッチにはバンドルされたスクリプトを使用します:

node scripts/regroup-caption-words.js \
  --draft "$DRAFT" \
  --fillers "呃,嗯,额" \
  --backup

スクリプトは見つかったすべてのアクティブなドラフトコピーにパッチを適用します:

  • ルート draft_info.json
  • ルート template-2.tmp
  • Timelines/*/draft_info.json
  • Timelines/*/template-2.tmp

materials.texts[].words と extra_info.subtitle_fragment_info_list[].subtitle_cache_info の両方を更新します。

手動グループマップ

より編集制御を高めるために、表示されるキャプションのテキストから目的のグループへの JSON マップを渡すことができます:

{
  "你会担心AI就是呃夺走你的工作吗": ["你会", "担心", "AI", "就是", "夺走", "你的", "工作", "吗"],
  "以及他的呃知识库比我们都要多": ["以及", "他的", "知识库", "比", "我们", "都要", "多"]
}

その後、実行します:

node scripts/regroup-caption-words.js \
  --draft "$DRAFT" \
  --groups-file groups.json \
  --fillers "呃,嗯,额" \
  --backup

マップはフィラー削除前の元のテキストを使用できます。各グループリストは、フィラー削除後のクリーンなキャプションテキストと連結される必要があります。

バリデーション

パッチ適用後、確認します:

jq empty "$DRAFT/draft_info.json" "$DRAFT/template-2.tmp" "$DRAFT"/Timelines/*/draft_info.json "$DRAFT"/Timelines/*/template-2.tmp
rg '呃|嗯|额' "$DRAFT/draft_info.json" "$DRAFT/template-2.tmp" "$DRAFT"/Timelines/*/draft_info.json "$DRAFT"/Timelines/*/template-2.tmp

また、結合された単語グループが表示テキストと等しいことを確認します:

jq -r '.materials.texts[] | [(.content|fromjson.text), ((.words.text // [])|join("|"))] | @tsv' "$DRAFT/draft_info.json"

注意事項

  • テンプレートベースの構造を保持します。キャプションを単語単位や文字単位のクリップに平坦化しないでください。
  • フィラー削除は表示テキストを変更しますが、ビデオ/オーディオのタイミングは変更しません。
  • 自動セグメンテーションは Intl.Segmenter("zh", { granularity: "word" }) を使用します。字幕が重要な場合は結果を確認してください。
  • wordCountPerPageLimit(3) から 2 へのテンプレートレンダラーパッチは、1ページあたりのメタデータエントリ数を変更するだけです。文字レベルの単語メタデータは修正しません。
  • キャプションを手動で編集した後、CapCut はキャプションメタデータを再生成または書き換える場合があります。大きな字幕編集の後は、このスキルを再実行してください。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

関連スキル