Communitygithub.com

Groupes de mots de légende CapCut

Réorganise les métadonnées temporelles des légendes basées sur un modèle CapCut et supprime les mots de remplissage dans le JSON des brouillons de bureau de CapCut. Utile lorsque les sous-titres chinois, les légendes à défilement automatique, les modèles karaoké/surlignage ou les effets mot par mot divisent les vrais mots, présentent des fragments de caractères ou nécessitent la suppression de mots de remplissage comme 呃 tout en préservant des pistes de texte-template compactes.

Qu'est-ce que Groupes de mots de légende CapCut ?

Cette compétence corrige les légendes CapCut dont les tableaux `materials.texts[].words` sont éclatés par caractère chinois, ce qui entraîne un défilement ou un surlignage de fragments au lieu de mots complets dans les modèles comme `逐字显色粗体 绿`. Elle modifie le fichier JSON du brouillon de bureau de CapCut, non documenté officiellement. Pour l'utiliser, il faut d'abord fermer CapCut, sauvegarder le brouillon, puis exécuter le script fourni `scripts/regroup-caption-words.js` avec un paramètre optionnel de liste de mots de remplissage (ex. `--fillers "呃,嗯,额"`). Le script patte toutes les copies actives du brouillon (draft_info.json, template-2.tmp et leurs équivalents dans les dossiers Timelines). Il met à jour à la fois les tableaux `materials.texts[].words` et `extra_info.subtitle_fragment_info_list[].subtitle_cache_info`. Une option de carte de groupes manuelle permet de spécifier précisément la segmentation souhaitée via un fichier JSON. Après l'application, une validation automatique vérifie l'intégrité des fichiers et l'absence de mots de remplissage. La compétence préserve la structure basée sur les modèles et ne transforme pas les légendes en clips par mot ou par caractère.

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait Groupes de mots de légende CapCut ?

Utilisez cette compétence pour réparer les légendes CapCut dont les tableaux materials.texts[].words sont éclatés par caractère chinois, ce qui fait défiler ou surligner des fragments au lieu de mots dans des modèles comme 逐字显色粗体 绿.

Cette compétence modifie le fichier JSON du brouillon de bureau de CapCut, non documenté officiellement. Fermez toujours CapCut, sauvegardez le brouillon et vérifiez dans l'aperçu CapCut avant l'exportation. Les mises à jour de CapCut peuvent modifier le schéma du brouillon.

Flux de travail

  1. Identifiez le répertoire du brouillon actif.
    • Préférez le brouillon .locked si CapCut a un projet ouvert.
    • Sinon, utilisez le dernier brouillon modifié sous ~/Movies/CapCut/User Data/Projects/com.lveditor.draft.
  2. Fermez CapCut avant d'écrire des fichiers de brouillon. CapCut peut écraser les modifications externes lorsque l'éditeur est ouvert.
  3. Inspectez les légendes cibles :
    jq -r '.materials.texts[] | [(.content|fromjson.text), ((.words.text // [])|join("|"))] | @tsv' "$DRAFT/draft_info.json"
    
  4. Exécutez scripts/regroup-caption-words.js sur le brouillon.
  5. Rouvrez CapCut et vérifiez visuellement au moins une légende au début, au milieu et à la fin.

Script

Utilisez le script fourni pour l'application réelle :

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

Le script patte toutes les copies actives du brouillon qu'il trouve :

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

Il met à jour à la fois materials.texts[].words et extra_info.subtitle_fragment_info_list[].subtitle_cache_info.

Carte de groupes manuelle

Pour un meilleur contrôle éditorial, transmettez une carte JSON du texte exact de la légende visible vers les groupes souhaités :

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

Exécutez ensuite :

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

La carte peut utiliser le texte original avant suppression des mots de remplissage. Chaque liste de groupes doit se concaténer au texte de légende nettoyé après suppression des mots de remplissage.

Validation

Après l'application, vérifiez :

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

Validez également que les groupes de mots joints correspondent au texte visible :

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

Remarques

  • Préservez la structure basée sur les modèles. Ne transformez pas les légendes en clips par mot ou par caractère.
  • La suppression des mots de remplissage modifie le texte visible mais pas le timing vidéo/audio.
  • La segmentation automatique utilise Intl.Segmenter("zh", { granularity: "word" }) ; examinez les résultats lorsque les sous-titres sont importants.
  • Un correctif du moteur de rendu de modèle comme wordCountPerPageLimit(3) en 2 ne modifie que le nombre d'entrées de métadonnées par page. Il ne corrige pas les métadonnées de mots au niveau des caractères.
  • CapCut peut régénérer ou réécrire les métadonnées de légende après des modifications manuelles des légendes. Réexécutez cette compétence après des modifications importantes des sous-titres.

Individual skills in this repo

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

Skills associés