¿Qué hace hf-kit?
Una capa sobre HyperFrames 0.8.77. Todo lo que contiene se basa en investigación medida: 48 videos de YouTube
de 16 nichos, con los números en research/. Las rutas a continuación son relativas a la raíz del repositorio.
Lee SPEC.md para los contratos y sigue las reglas de composición de hyperframes-core.
hyperframes a continuación significa npx [email protected] o una instalación local de 0.8.77. Las herramientas
Python necesitan Python 3.10+ con numpy y Pillow, además de ffmpeg en PATH.
Flujo de trabajo
-
Elige el estilo.
styles/README.mdasigna nicho → id de estilo → bloques, subtítulos y preajustes de mezcla. El JSON del estilo contiene los rangos medidos (cortes/minuto por segmento, duración del plano, ppm, LRA, silencios) y el objetivo maestro (-14 LUFS, -1 dBTP). -
Andamiaje.
python tools/scaffold.py <dir> --format 16:9|9:16 --duration S --style <id> [--blocks a,b]. Escribeindex.htmlcon los tokens del estilo, fijahyperframes.jsonal registro v0.8.77 y copia los bloques encompositions/. Se niega a sobrescribir un directorio no vacío. -
Bloques. Catálogo en
blocks/README.md: pill-label, chapter-card, number-card (limpio o dinero), progress-badge, question-card, doc-highlight, film-gate, world-camera, ui-window, tier-board, face-banner-stack (con un diseñotopic-toppara un cuadro de tema redondeado 16:9), zoom-through, blur-swap. Cada uno es una subcomposición condata-composition-variables; pasa valores condata-variable-values.examples/<block>/tiene un demo funcional de cada uno. Dale estilo a cada bloque con#rootsimple y selectores de descendiente simples. Nunca el compuesto#root[data-composition-id=...]: se revisa limpio y se renderiza en blanco. -
Subtítulos.
python tools/captions.py words.json --variant cards|karaoke|speaker|keyword|punch --format 9:16 --out compositions/captions.html. La entrada es[{text,start,end,speaker?,class?}]o JSON dehyperframes transcribe. -
Sonido.
sound/MIX.mdtiene 10 preajustes copiables dehyperframes-audio(voz primero plano, pausa en el giro, silencio en la línea más pesada, inmersión antes de un clip, etc.), cada uno nombrando su fila de origen.sound/sfx/tiene 11 efectos generados ysound/SFX.mdasigna eventos a archivos y niveles. Los 7 fondos de ambiente no están incluidos:python sound/gen_bed.pyrenderiza todos ensound/beds/a -20 LUFS, ypython sound/gen_bed.py --mood <nombre> --seconds N --out bed.wavrenderiza cualquier duración. Ambos generadores son deterministas y la salida es CC0. -
Material de fondo o música de YouTube.
python tools/bg_source.py <url> [--download --out assets/ --audio].- ACEPTAR (salida 0) solo cuando yt-dlp informa una licencia Creative Commons. Imprime una línea
de crédito para la descripción. Las descargas de video necesitan al menos
--min-height(por defecto 1080);--audiono tiene límite de altura. - REVISAR (salida 3) cuando una carga con licencia estándar afirma reutilización en su título o descripción. Un título "sin derechos de autor" es la palabra del cargador. Verifica que el cargador sea el creador original y guarda una captura de pantalla de los términos.
- RECHAZAR (salida 2) en caso contrario.
Cada decisión se añade a
sources/provenance.jsonl(--logpara cambiarlo). Content ID aún puede reclamar una re-subida Creative Commons del trabajo de alguien más, así que prefiere el canal original. Mantén las descargas en elassets/del proyecto, nunca en un repositorio público. - ACEPTAR (salida 0) solo cuando yt-dlp informa una licencia Creative Commons. Imprime una línea
de crédito para la descripción. Las descargas de video necesitan al menos
-
Verificar antes de renderizar.
hyperframes lint <dir>yhyperframes check <dir>; luegohyperframes snapshot <dir> --frames 6y mira la hoja de contactos. La revisión exitosa no es una aprobación visual. -
Renderizar y medir.
hyperframes render <dir> --output out.mp4, luegopython tools/check.py out.mp4 --style <id>. Imprime cada medida contra el rango del estilo más la línea de sonoridad maestra. Es un consejo: una falla indica que el corte se desvió de la referencia, y tu propio análisis decide si eso importa.
Lo que dice la investigación (versión corta)
- En los 16 nichos, la tasa de corte y la sonoridad no separaron a los valores atípicos de sus controles. Una
persona en riesgo, el riesgo declarado en los primeros segundos, prueba en pantalla y una respuesta sostenida sí
lo hicieron (hipótesis; ver
research/TECHNIQUES.md, "Lo que no separó a los valores atípicos de los controles"). - Los recuentos de cortes duros son pisos. El tempo no es confiable bajo la narración. El audio no se escuchó: los hallazgos de sonido provienen de números R128, espectros y etiquetas de subtítulos.
Dónde están las cosas
| Necesidad | Ruta |
|---|---|
| Contratos y reglas | SPEC.md |
| Estilos y sus rangos medidos | styles/README.md, styles/<id>.json |
| Catálogo de bloques y demos | blocks/README.md, examples/<block>/ |
| Preajustes de mezcla y mapa de SFX | sound/MIX.md, sound/SFX.md |
| Biblioteca de técnicas, tabla de estados de ánimo | research/TECHNIQUES.md |
| Hojas de ADN de nicho con listas de robo | research/niches/<niche>.md |
| Una tarjeta y un archivo de datos por video | research/cards/<niche>/<id>.md, research/data/<id>.json |
| Capítulos de conocimiento (música y estado de ánimo, diseño de sonido, VFX y movimiento) | research/knowledge/ |