Communitygithub.com

CapCut Agrupación de Palabras en Subtítulos

Reagrupa los metadatos de sincronización de palabras de subtítulos respaldados por plantillas de CapCut y elimina tokens de relleno en el JSON de borrador de escritorio de CapCut. Útil cuando los subtítulos en chino, los subtítulos de desplazamiento automático, las plantillas de karaoke/resaltado o los efectos palabra por palabra dividen las palabras reales, muestran fragmentos a nivel de carácter o necesitan eliminar palabras de relleno como 呃 mientras se preservan pistas de texto compactas basadas en plantillas.

¿Qué es CapCut Agrupación de Palabras en Subtítulos?

Esta habilidad está diseñada para corregir subtítulos en CapCut Desktop cuyo array `materials.texts[].words` está fragmentado por caracteres chinos individuales en lugar de por palabras completas. Esto ocurre comúnmente al usar plantillas como "逐字显色粗体 绿" que esperan grupos de palabras pero reciben caracteres sueltos, resultando en efectos de desplazamiento o resaltado incorrectos. La herramienta modifica directamente el archivo JSON del borrador (`draft_info.json` y archivos relacionados) para reagrupar las palabras según reglas de segmentación del idioma chino, y opcionalmente elimina palabras de relleno como 呃, 嗯, 额. Soporta las plataformas de CapCut Desktop en macOS (ruta de borrador en `~/Movies/CapCut/User Data/Projects/com.lveditor.draft`). El flujo de trabajo incluye cerrar CapCut, hacer una copia de seguridad, ejecutar un script de Node.js, y luego verificar visualmente en la vista previa. Para un control editorial más fino, se puede proporcionar un mapa JSON personalizado que defina explícitamente cómo agrupar cada línea de subtítulo. La validación posterior se realiza con comandos `jq` y `rg` para asegurar que no queden tokens de relleno y que los grupos unidos coincidan con el texto visible.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace CapCut Agrupación de Palabras en Subtítulos?

Usa esta habilidad para reparar subtítulos de CapCut cuyos arrays materials.texts[].words están divididos por carácter chino, causando que plantillas como 逐字显色粗体 绿 desplazan o resalten fragmentos en lugar de palabras.

Esta habilidad edita el JSON del borrador de escritorio de CapCut, el cual no está documentado oficialmente. Siempre cierra CapCut, haz una copia de seguridad del borrador y verifica en la vista previa de CapCut antes de exportar. Las actualizaciones de CapCut pueden cambiar el esquema del borrador.

Flujo de trabajo

  1. Identifica el directorio del borrador activo.
    • Prefiere el borrador .locked si CapCut tiene un proyecto abierto.
    • De lo contrario, usa el borrador modificado más reciente en ~/Movies/CapCut/User Data/Projects/com.lveditor.draft.
  2. Cierra CapCut antes de escribir archivos de borrador. CapCut puede sobrescribir ediciones externas mientras el editor está abierto.
  3. Inspecciona los subtítulos objetivo:
    jq -r '.materials.texts[] | [(.content|fromjson.text), ((.words.text // [])|join("|"))] | @tsv' "$DRAFT/draft_info.json"
    
  4. Ejecuta scripts/regroup-caption-words.js contra el borrador.
  5. Vuelve a abrir CapCut y verifica visualmente al menos un subtítulo al principio, en medio y al final.

Script

Usa el script incluido para aplicar el parche real:

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

El script parchea todas las copias activas del borrador que encuentra:

  • draft_info.json raíz
  • template-2.tmp raíz
  • Timelines/*/draft_info.json
  • Timelines/*/template-2.tmp

Actualiza tanto materials.texts[].words como extra_info.subtitle_fragment_info_list[].subtitle_cache_info.

Mapa de grupos manual

Para un mayor control editorial, pasa un mapa JSON desde el texto de subtítulo visible exacto hasta los grupos deseados:

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

Luego ejecuta:

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

El mapa puede usar el texto original antes de eliminar rellenos. Cada lista de grupos debe concatenarse al texto de subtítulo limpio después de eliminar rellenos.

Validación

Después de parchear, verifica:

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

También valida que los grupos de palabras unidos sean iguales al texto visible:

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

Notas

  • Preserva la estructura basada en plantillas. No aplastes los subtítulos en clips por palabra o por carácter.
  • La eliminación de rellenos cambia el texto visible pero no la sincronización de video/audio.
  • La segmentación automática usa Intl.Segmenter("zh", { granularity: "word" }); revisa los resultados cuando los subtítulos sean importantes.
  • Un parche al renderizador de plantillas como wordCountPerPageLimit(3) a 2 solo cambia cuántas entradas de metadatos aparecen por página. No corrige los metadatos de palabras a nivel de carácter.
  • CapCut puede regenerar o reescribir los metadatos de subtítulos después de ediciones manuales. Vuelve a ejecutar esta habilidad después de ediciones grandes de subtítulos.

Individual skills in this repo

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

Skills relacionados