Communitygithub.com

perso-ai/perso-dubbing-plugin

Herramienta complementaria para clips cortos junto con el plugin de doblaje de Perso. GIFs de demostración en docs/media.

¿Qué es perso-dubbing-plugin?

Esta habilidad, `perso-ai/perso-dubbing-plugin`, proporciona una herramienta complementaria para crear clips cortos en formato vertical (9:16) a partir de videos más largos, diseñada para funcionar junto con el plugin de doblaje de Perso. Permite cortar videos usando timecodes explícitos o seleccionando momentos destacados basados en transcripciones generadas por reconocimiento de voz (STT). La habilidad soporta dos flujos principales: uno offline que corta directamente con `--video --ranges` sin usar créditos, y otro que utiliza transcripciones para planificar y elegir clips mediante los comandos `--plan` y `--clips`, este último sí consume créditos. Es útil para desarrolladores y creadores que trabajan en la plataforma Perso, integrándose con la habilidad `srt` para añadir subtítulos estilizados después del corte. La herramienta se ejecuta en segundo plano y comparte las bibliotecas del skill de doblaje, requiriendo que la carpeta `dubbing` esté instalada junto a `clip`.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/perso-ai/perso-dubbing-plugin/tree/main/skills/clip

Preguntar en tu IA favorita

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

Documentación

/clip

Corta un video en clips cortos y los reencuadra. Los subtítulos no son tarea de esta habilidad — después del corte, la habilidad srt los estiliza (ver la transición a continuación).

Puntos de entrada

  • Timecodes explícitos ("corta 2:00–3:00 de este video") → corta el archivo local directamente: --video "<archivo>" --ranges "2:00-3:00,...". Sin STT, sin clave, sin créditos.

  • Selección de momentos destacados por IA en un proyecto STT → --plan luego --clips (el flujo a continuación). Necesita la transcripción del proyecto y las marcas de tiempo por palabra.

  • Video en bruto, "encuentra los buenos momentos" (sin timecodes proporcionados) → no se pueden elegir momentos destacados sin una transcripción, así que pregunta al usuario cuál quiere:

    • STT (selección adecuada, usa créditos): ejecuta primero el STT de la habilidad srt para crear el proyecto, luego corta con --plan/--clips.
    • Gratuito (sin STT): el usuario proporciona los timecodes y los cortas con --video --ranges.

    Procede con su elección — no ejecutes STT (que factura créditos) sin preguntar.

Reglas principales

  • Solo el trabajador ve la clave sin procesar — nunca la abras, la muestres ni la pases como argumento.
  • La restricción de clave aplica solo a --project/--plan/--clips. --video --ranges y --sidecars son completamente offline — nunca ejecutes una verificación/registro de clave para ellos.
  • Ejecuta en segundo plano — la codificación toma tiempo.
  • Esta habilidad comparte las bibliotecas del skill de doblaje: la carpeta dubbing debe estar instalada junto a clip.

Flujo

Fase 1 — planificar. node scripts/clip.mjs --project <seq> --plan imprime el mapa de secciones del resumen (guía de temas) más la transcripción completa por oraciones, cada línea como orden [inicio-fin] texto.

Fase 2 — elegir, luego cortar. Lee la transcripción y elige clips, cada uno como { "title": "...", "start_order": N, "end_order": M }. Rúbrica:

  • Enganche primero — comienza en una oración que capte la atención (pregunta, afirmación audaz, línea graciosa/sorprendente).
  • Termina donde se resuelve el momento, no en la primera oración completa. Sigue el ritmo hasta su final — toda la reacción, el seguimiento y cualquier remate secundario. Lee unas cuantas oraciones más allá del final aparente; consérvalas si siguen siendo la misma reacción.
  • Corta en la transición — termina justo antes de que la energía baje o el tono cambie (reacción emocionada → narración calmada).
  • Pico — favorece momentos graciosos / sorprendentes / emocionales / citables; el punto álgido suele estar una o dos oraciones después de la revelación literal.
  • Duración 30–90 s — el trabajador advierte cuando está fuera; prefiere el arco completo sobre un corte prematuro.
  • Título — describe el momento; se convierte en el nombre del archivo (01_<title>.mp4).

Las secciones tienen la duración de un capítulo — usa el mapa de secciones solo como guía, luego ajusta al enganche.

Ejecuta: node scripts/clip.mjs --project <seq> --clips '<json>' [--out carpeta] (--clips también acepta @ruta). Las fuentes en horizontal (16:9) se reencuadran a 9:16 (letterbox tipo drama-shorts); las fuentes en vertical se mantienen. El trabajador escribe los clips más un manifiesto clips.json (registra cada clip + el fragmento de transcripción necesario para los subtítulos posteriores). Transmite [progreso]; entrega los archivos desde [salida-clips].

Subtítulos → transición a la habilidad srt

Los subtítulos están desactivados por defecto. Después del corte, informa al usuario de que los clips están listos y pregunta si quiere añadir subtítulos. Si quiere subtítulos, muestra primero las preconfiguraciones — nunca vayas directamente a una, exactamente como hace el flujo de estilizado de la habilidad srt: la galería interactiva (seleccionar + Aplicar) en la app de Claude, o el menú estático ../srt/assets/style_presets.png + node ../srt/scripts/style.mjs --list-presets en otros lugares. Deja que el usuario elija una preconfiguración o describa un estilo (las preconfiguraciones para formato corto como karaoke/bold-punch son adecuadas para clips). Solo después de que elija:

  1. Escribe los sidecars: node scripts/clip.mjs --sidecars "<salida>/clips.json" — añade --karaoke solo para una preconfiguración karaoke (también escribe <clip>.timestamps.json para la temporización medida de palabras; una preconfiguración simple solo necesita el .srt).
  2. Estiliza cada clip con la habilidad srt: node ../srt/scripts/style.mjs "<clip>.mp4" "<clip>.srt" --preset <id> (añade --word-timestamps "<clip>.timestamps.json" para karaoke). Consulta la sección "Estilizar y grabar subtítulos" de la habilidad srt.

Añade --host <runtime> para telemetría (silenciosa), igual que los otros trabajadores.

Configuración (env)

Igual que /dubbing / /srt (PERSO_API_BASE/PERSO_MEDIA_BASE — solo hosts https perso.ai, PERSO_SPACE_SEQ, XP_API_KEY, PERSO_NO_TELEMETRY, …).

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Skills relacionados