Communitygithub.com

CapCut-Text-Wortgruppen

Gruppiert die Wort-Zeitmetadaten von CapCut-Untertiteln neu und entfernt Füllwörter im JSON-Entwurf der CapCut-Desktop-App. Einsetzbar, wenn chinesische Untertitel, automatisch scrollende Bildtexte, Karaoke-/Hervorhebungsvorlagen oder wortweise Effekte einzelne Wörter aufspalten, Zeichenblöcke anzeigen oder Füllwörter wie 呃 entfernt werden müssen, während kompakte Text-Template-Spuren erhalten bleiben.

Was ist CapCut-Text-Wortgruppen?

Dieses Skill repariert CapCut-Untertitel, deren `materials.texts[].words`-Arrays pro chinesischem Zeichen aufgespalten sind, sodass Vorlagen wie `逐字显色粗体 绿` Wortfragmente anstatt ganzer Wörter scrollen oder hervorheben. Es bearbeitet das undokumentierte JSON von CapCut Desktop-Entwürfen. Das Skill erkennt den aktiven Entwurfsordner, sichert Dateien, führt ein Skript zum Neugruppieren der Wörter aus und validiert die Ergebnisse mit `jq`. Es unterstützt sowohl eine automatische Segmentierung mit `Intl.Segmenter` als auch eine manuelle Gruppenabbildung über eine JSON-Datei. Nach der Ausführung sollte CapCut neu geöffnet werden, um die Korrekturen visuell zu überprüfen. Das Skill ist für Entwickler nützlich, die mit CapCut-Videobearbeitungsprojekten arbeiten, insbesondere wenn sie chinesische Untertitel, Karaoke-Effekte oder wörtliche Hervorhebungen verwenden und die ursprüngliche template-basierte Struktur beibehalten möchten.

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

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht CapCut-Text-Wortgruppen?

Verwenden Sie dieses Skill, um CapCut-Untertitel zu reparieren, deren materials.texts[].words-Arrays pro chinesischem Zeichen aufgespalten sind, sodass Vorlagen wie 逐字显色粗体 绿 Wortfragmente anstatt ganzer Wörter scrollen oder hervorheben.

Dieses Skill bearbeitet undokumentierte JSON-Entwürfe der CapCut-Desktop-App. Schließen Sie immer CapCut, sichern Sie den Entwurf und überprüfen Sie ihn in der CapCut-Vorschau vor dem Export. CapCut-Updates können das Entwurfsschema ändern.

Arbeitsablauf

  1. Identifizieren Sie das aktive Entwurfsverzeichnis.
    • Bevorzugen Sie den .locked-Entwurf, wenn CapCut ein Projekt geöffnet hat.
    • Andernfalls verwenden Sie den zuletzt geänderten Entwurf unter ~/Movies/CapCut/User Data/Projects/com.lveditor.draft.
  2. Schließen Sie CapCut, bevor Sie Entwurfsdateien schreiben. CapCut kann externe Änderungen überschreiben, während der Editor geöffnet ist.
  3. Überprüfen Sie die Zieluntertitel:
    jq -r '.materials.texts[] | [(.content|fromjson.text), ((.words.text // [])|join("|"))] | @tsv' "$DRAFT/draft_info.json"
    
  4. Führen Sie scripts/regroup-caption-words.js gegen den Entwurf aus.
  5. Öffnen Sie CapCut erneut und überprüfen Sie mindestens einen frühen, einen mittleren und einen späten Untertitel visuell.

Skript

Verwenden Sie das beigelegte Skript für den eigentlichen Patch:

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

Das Skript patcht alle aktiven Entwurfskopien, die es findet:

  • root draft_info.json
  • root template-2.tmp
  • Timelines/*/draft_info.json
  • Timelines/*/template-2.tmp

Es aktualisiert sowohl materials.texts[].words als auch extra_info.subtitle_fragment_info_list[].subtitle_cache_info.

Manuelle Gruppenabbildung

Für eine bessere redaktionelle Kontrolle übergeben Sie eine JSON-Abbildung vom exakten sichtbaren Untertiteltext zu den gewünschten Gruppen:

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

Dann führen Sie aus:

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

Die Abbildung kann den ursprünglichen Text vor der Füllwortentfernung verwenden. Jede Gruppenliste muss nach der Füllwortentfernung mit dem bereinigten Untertiteltext konkateniert werden.

Validierung

Überprüfen Sie nach dem Patchen:

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

Validieren Sie auch, dass die zusammengefügten Wortgruppen dem sichtbaren Text entsprechen:

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

Hinweise

  • Bewahren Sie die template-basierte Struktur. Flachen Sie Untertitel nicht zu pro-Wort- oder pro-Zeichen-Clips ab.
  • Die Füllwortentfernung ändert den sichtbaren Text, nicht aber die Video-/Audio-Timings.
  • Die automatische Segmentierung verwendet Intl.Segmenter("zh", { granularity: "word" }); überprüfen Sie die Ergebnisse, wenn Untertitel wichtig sind.
  • Ein Template-Renderer-Patch wie wordCountPerPageLimit(3) auf 2 ändert nur, wie viele Metadaten-Einträge pro Seite erscheinen. Er behebt keine Zeichenebenen-Wort-Metadaten.
  • CapCut kann Untertitel-Metadaten nach manuellen Untertitelbearbeitungen neu generieren oder überschreiben. Führen Sie dieses Skill nach größeren Untertitelbearbeitungen erneut aus.

Individual skills in this repo

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

Verwandte Skills