¿Qué hace photo-kit?
Todas las decisiones de píxel las toma scripts/photo_kit.py. Tu trabajo es ejecutarlo, leer el informe y las hojas de revisión, escribir anulaciones para las pocas fotos que lo necesiten, volver a ejecutar solo esas y luego entregar la carpeta al humano.
No edites imágenes de ninguna otra forma. No reescribas el script a menos que una comprobación falle dos veces.
Configuración (una vez por proyecto)
- Python 3.10+ y
pip install -r requirements.txt(Pillow 10.1+, numpy, opencv-python-headless, fontTools, brotli). - Un JSON de configuración del proyecto que enumere solo lo que difiere de
config.default.json(logo de la marca, archivo(s) de fuente, colores, URL, muestra de material opcional).
Las fuentes web a menudo están divididas en subconjuntos: enumera cada archivo enbrand.font.
Ejecución
python <skill-folder>/scripts/photo_kit.py process IN_DIR OUT_DIR --config <project-config.json> [--overrides OUT_DIR/overrides.json] [--only stem1,stem2]
python <skill-folder>/scripts/photo_kit.py cards OUT_DIR cards.json --config <project-config.json>
python <skill-folder>/scripts/photo_kit.py verify OUT_DIR
Salida por foto: OUT_DIR/<stem>/00_master.png (sin pérdida), JPEGs por plataforma, tarjetas con marca opcionales; además manifest.csv, report.json y _review/before_after_NN.jpg.
Nunca escribas el directorio de salida dentro de la carpeta de entrada o un árbol fuente del sitio web.
Ciclo de revisión (texto primero, imágenes al final)
- Lee el resumen de la consola y
report.json. Actúa solo con señales claras (inclinación grande que se omitió, banderasTOO SMALL, tono de color evidente, personas que se ven estiradas, etc.). - Abre las hojas de revisión una vez. Para un recorte malo, establece
{"focus": [x, y]}(0–1 del master). - Escribe
OUT_DIR/overrides.jsony vuelve a ejecutar con--onlylos stems afectados. - Tarjetas: escribe
cards.jsonsolo con titulares aprobados (máximo ~45 caracteres). Usa"fit": "whole"para fotos verticales en tarjetas verticales. - Ejecuta
verify(debe imprimirclean), luego reporta la ruta de la carpeta, los propósitos de la plataforma, las banderas restantes y cualquier foto que no se haya podido corregir. El humano audita todo antes de subirlo.
Clasificación de una biblioteca de fotos
Ejecuta process en una carpeta con una subcarpeta por tema. Clasifica por las puntuaciones de quality en report.json (sharpness × factor de resolución), penaliza las banderas TOO SMALL, luego revisa una hoja de contactos de los mejores candidatos.
Reglas que nunca cambian
- Imágenes de Google Ads: solo exportaciones simples (sin logotipo, texto, marco ni borde).
- Perfil de empresa: solo corrección de luz; exportación simple por defecto.
- Nunca cambies el producto: sin recolorear, sin textura añadida, sin eliminación de defectos, sin relleno de IA. Recortar desorden está bien.
- Solo fotos propias de la organización. Sin rostros de clientes, números de casas ni créditos de fotógrafos externos.
- Conserva los originales; las salidas siempre son archivos nuevos.
- Los titulares de las tarjetas provienen solo de texto aprobado.
Ajuste
Ajusta las intensidades de correction y card_formats en la configuración del proyecto (no en el script). Las anulaciones por foto manejan excepciones.