/edit-my-video
Clips en bruto, un reel 1080×1920 terminado, al estilo del usuario. El usuario normalmente no es técnico: habla en mensajes cortos y sencillos, un paso a la vez, haz tú todo el trabajo técnico y nunca le hagas tocar código. No uses la ventana emergente AskUserQuestion (pregunta en el chat). No publiques ni subas nada a ningún lado. Sin guiones largos en nada de lo que escribas para ellos o pongas en pantalla.
SK = la carpeta de esta habilidad. STYLE = la carpeta de estilo (por defecto: la guardada en SK/config.json, si no la que /build-my-style
creó, si no ~/edit-style; si ninguna tiene un STYLE.md, pregunta dónde está o sugiere /build-my-style primero). WORK = una carpeta por vídeo,
<carpeta de edits>/<slug>/ (slug = kebab-case corto, por ejemplo github-repos). Pon entre comillas cada ruta, tienen espacios.
Los scripts se ejecutan como python3 "SK/scripts/<nombre>.py" ...; cada uno imprime su propio uso al ejecutarse sin argumentos.
Lee antes de la primera edición de una sesión: referencias/creative-rules.md (el archivo más importante: cómo
diseñar, y las comprobaciones de gusto difíciles) y referencias/engine.md (el patrón de HyperFrames que renderiza).
Lee referencias/storyboard.md antes del paso 4.
La única regla que más importa
STYLE.md es una guía, no un menú. Fija el aspecto (colores, fuente, sensación de movimiento, niveles de sonido, zona segura, lo que fue rechazado). No limita lo que creas. Para cada línea, pregúntate qué imagen explicaría esta idea de la mejor manera, luego diseña algo nuevo dentro del estilo. La primera edición de prueba copió plantillas de la página de estilo (una lista de verificación de "solo puede hacer tres cosas") y el creador la llamó "extremadamente limitada" y "no improvisó nada". Varía los diseños; nunca el mismo diseño dos veces seguidas; haz que las imágenes sean grandes.
Pasos (di en cuál estás en una línea corta: "Paso 3 de 8: buscando tus mejores tomas")
1. Verificación de configuración (segundos)
python3 "SK/scripts/setup.py" --check. Muestra los elementos faltantes como una lista corta: qué es, para qué sirve, la
solución en una línea. Para cualquier cosa que deban instalar (ffmpeg, Node, Python, Chrome) diles que peguen la línea en
la aplicación Terminal (Comando + Espacio, escribe Terminal) y que digan "listo". --install (faster-whisper, playwright,
HyperFrames, modelo de voz) solo después de que digan que sí: "¿Puedo instalar las herramientas de edición gratuitas? Unos 5 minutos,
una sola vez." Luego python3 "SK/scripts/style.py" check "STYLE" (si la carpeta de estilo está completa) y
python3 "SK/scripts/style.py" serve "STYLE" (inicia el servidor de su página si no se está ejecutando; anota la URL).
Solo la primera ejecución: pregunta dónde deben vivir los edits (sugiere la carpeta junto a la carpeta de estilo, edits/) y guárdalo:
setup.py --save --style "STYLE" --edits "<carpeta>".
2. Recepción (un mensaje)
Pregunta solo lo que no tengas ya:
- la carpeta de clips en bruto (a menudo muchas tomas repetidas; usarás la ÚLTIMA toma limpia de cada línea)
- de qué trata el video, y el guion o notas si los tienen
- la palabra clave de comentario para el llamado a la acción
- duración objetivo (sugiere 25 a 40 s)
- música: solo si nombran una pista. Si no, ninguna (el creador elige la música por su cuenta).
Luego
mkdirWORK ypython3 "SK/scripts/style.py" resolve "STYLE" --out "WORK/style.json". Lee STYLE.md completo: especialmenteFeedback from edits,RejectedyKept, lo más nuevo primero. Esas son las correcciones del propio creador de edits pasados y anulan todo lo demás.
3. Tomas, corte, palabras (~1 min por cada 5 min de metraje)
takes.py "WORK" "<clip>" ... --prompt "<nombres que dirán>"enumera cada intento, las retomas marcadas. LeeWORK/takes/*.txt. Elige la última toma limpia completa de cada línea (salta los tropiezos; recorta un mal inicio moviendoin). EscribeWORK/edl.json(formato en el uso decut.py).cut.py "WORK" --prompt "<nombres>": segmentos precisos al fotograma enWORK/hf/assets/v/, la voz a -16 LUFS, bordes ajustados, ywords.json/words.txtcon los tiempos del reel. Miraprogress/01-cut-takes-in-order.jpg.- Lee
words.txtcontra lo que querían decir. Whisper malinterpreta los nombres: corrígelos en words.json concaptions.py fix "WORK" "49=ArtCraft"(solo para que coincida con lo que realmente se dijo). Diles el corte en una línea por golpe y la duración.
4. Storyboard primero (el usuario aprueba antes de que se renderice nada)
Sigue references/storyboard.md: escribe WORK/storyboard.json (un golpe por idea: palabras, tiempos, diseño,
visual, animación, título, sonido), construye una imagen fija por golpe sobre su metraje real con el elemento visual planeado
compuesto (capturas de pantalla reales, íconos de app reales, JPG), con 2 o 3 alternativas (A/B/C) en los 3 o 4 golpes
clave (gancho, la idea principal, el remate, el CTA). Luego
storyboard.py page "WORK" --style "STYLE" y abre http://localhost:<puerto>/storyboards/<slug>/
(open <url>). Di: "Tu storyboard está abierto. Elige A, B o C donde haya opción, Aprueba o Cambia cada
golpe, añade una nota donde quieras, presiona Enviar, luego dime listo." Espera a que diga "listo". Luego
storyboard.py review "WORK" --style "STYLE" incorpora sus elecciones y notas en storyboard.json. Reconstruye solo
los golpes que cambiaron y muéstralos de nuevo, hasta que todo esté aprobado.
5. Variaciones (opcional, ofrécelo una vez: "¿Quieres ver 2 o 3 versiones del gancho en movimiento antes de que construya todo?").
Para 2 o 3 momentos clave: construye el edit lo suficiente para cubrirlos (paso 6), copia hf/index.html a
hf/index-<golpe>-B.html con ese golpe rediseñado, luego render.py slice "WORK" <golpe>-A <inicio> <fin>
y render.py slice "WORK" <golpe>-B <fin> --index "WORK/hf/index-<golpe>-B.html" (2 a 4 s cada uno,
~6 s para renderizar). Pon "video": "variations/<nombre>.mp4" en esas alternativas en storyboard.json,
storyboard.py page "WORK" --style "STYLE" --variations, abre .../storyboards/<slug>/variations.html,
espera a que diga listo, storyboard.py review ... --variations, conserva los ganadores en index.html.
6. Construir el edit (la parte creativa)
render.py new "WORK" --title "<video> v1": el proyecto HyperFrames fijado con los colores del estilo, fuente, sombra de título y el kit de movimiento (engine/kit.js) enWORK/hf/.- Reúne cosas reales:
shoot.py web <url> <png> --mobile(páginas después de que carguen por completo),shoot.py icon "<App>" <png>(íconos reales de aplicaciones macOS), logotipos oficiales del sitio de la herramienta en caso contrario. - Escribe
WORK/hf/index.htmlgolpe por golpe desde el storyboard aprobado (patrón y API del kit enreferences/engine.md), sincronizando cada elemento visual con la palabra a la que pertenece en words.txt. Diseña cada golpe de nuevo; dale a cada escena visualdata-visual="<qué es>"ydata-layout="face|split|full". - Títulos:
captions.py make "WORK" --skip <a-b>(salta los momentos en que el texto en pantalla ya dice las palabras), luego editaWORK/caps.jsona mano: divídelos para que se lean de forma natural (2 a 3 palabras), pontoppara que nunca se superpongan a la boca,clspor golpe,htmlpara una palabra de acento.captions.py inject "WORK". - Sonido: escribe
WORK/cues.json(cada corte, panel, ícono, línea, palabra destacada tiene su señal en su nivel fijado; sin golpes dobles), añade la música solo si nombraron una, luegomix.py "WORK"(coloca la mezcla en -16 LUFS). render.py check "WORK"(corrige cada error),render.py snap "WORK" <tiempos> --name <golpe>y MIRA los fotogramas que cambiaste. Coloca una imagen numerada enWORK/progress/en cada paso (los scripts hacen la mayor parte).
7. Renderiza y revisa tú mismo antes de mostrar nada
render.py render "WORK" --out "WORK/<Nombre del video> - v1.mp4", luego qa.py "WORK" "<ese mp4>".
Corrige cada FALLO. Luego mira realmente cada imagen que enumera (las hojas de contacto a 2 fps y los primeros planos a tamaño completo
con la zona segura dibujada): texto abarrotado, imágenes pequeñas o altas con espacio vacío, títulos sobre la
boca, el mismo diseño dos veces, cualquier cosa que sobresalga, cualquier cosa negra, números/nombres que no coinciden con las palabras.
Las comprobaciones automatizadas pasan por alto cosas que el ojo capta (la primera prueba de esta habilidad pasó las comprobaciones con una
palabra destacada turbia y medias tarjetas vacías). Una pasada de correcciones, re-renderiza, vuelve a ejecutar qa.py, luego open "<mp4>".
Diles en unas pocas líneas: dónde está el archivo, cuánto dura, qué sucede golpe por golpe, y cualquier cosa que hayas supuesto.
8. Ciclo de retroalimentación (cada vez que den una nota)
Corrígelo, re-renderiza (un re-renderizado tarda ~20 s), vuelve a ejecutar qa.py, ábrelo. Y escríbelo en su estilo para que el próximo
edit ya lo sepa:
python3 "SK/scripts/feedback.py" "STYLE" --video <slug> --rule "<haz esto a partir de ahora>" (o --rejected "<nunca más>", --kept "<me encantó esto>"). Usa sus palabras, una nota por bandera; una cosa que les encantó es tan
importante como una que odiaron. Primero hace una copia de seguridad de STYLE.md y lo registra. Di en una línea lo que añadiste.
Si una nota trata sobre un valor bloqueado (el brillo, una curva de zoom, la sombra del título), di que vive en el laboratorio
de su página de estilo y ofrécete a abrirla en lugar de anular el bloqueo en silencio.
Tiempos (Mac serie M, 15 s de reel terminado a partir de ~8 min de metraje)
tomas ~1 min por cada 5 min de metraje · corte + palabras ~15 s · imágenes fijas del storyboard ~2 min · corte de variación ~6 s cada uno · renderizado ~20 s · qa ~30 s.