CommunityImagengithub.com

eeoa/photo-detail-edit

Edita una foto con GPT Image usando la indicación del usuario más restricciones de preservación, luego aprende mapeos RGB locales restringidos por estructura y los aplica a la imagen original nativa, manteniendo el fondo editado y la transparencia. Ideal para ediciones de estilo o fondo que deban conservar detalles reales y apuntar a un color e iluminación específicos.

¿Qué es photo-detail-edit?

Esta habilidad para agentes de IA (como Claude Code, Cursor o Codex) automatiza un flujo completo de edición fotográfica: recibe una imagen original y un prompt de edición, usa GPT Image para generar una edición con restricciones de preservación, luego aprende mapeos RGB locales basados en estructura y los aplica a la imagen original a resolución completa. Esto permite que la edición conserve detalles reales (texturas, pelo, tela) mientras adopta el color e iluminación objetivo, y mantiene intactas áreas como fondos reemplazados o transparencias. Soporta imágenes con y sin transparencia, requisitos de fondo transparente, y reemplazo de fondo. El agente determina las regiones de preservación visualmente, sin necesidad de máscaras manuales del usuario. Todo el proceso se ejecuta localmente con scripts Python, sin conexión a internet ni descarga de modelos, y produce resultados sin pérdida (PNG) con comparaciones lado a lado.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/eeoa/photo-detail-edit/tree/HEAD

Installed? Explore more Imagen skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Preguntar en tu IA favorita

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

Documentación

Edición Detallada de Fotos

El usuario proporciona una imagen original y un prompt de edición. Este skill completa todo el flujo: añadir restricciones de fidelidad → edición de imagen interna → coincidencia estructural en miniatura → aprendizaje de transformación RGB local → aplicación a la imagen original a tamaño completo → entrega con comparaciones locales. No se limite a generar o dar sugerencias de operación.

Entrada y Límites

  • Se necesita un archivo de imagen original legible. Primero verifique los píxeles, tamaño de bytes, orientación EXIF y transparencia; la vista previa visual puede estar reducida y no debe considerarse como "imagen original grande". Si solo hay una vista previa en la sesión y no se puede obtener el archivo original, pídale al usuario que proporcione el archivo original o un ZIP con la imagen original. No afirme haber recuperado información real de detalles perdidos.
  • El usuario solo debe proporcionar la imagen y el prompt; el agente determina las áreas a preservar, crea indicaciones de segmentación y verifica las máscaras, sin requerir que el usuario dibuje máscaras manualmente primero.
  • Mantenga los cambios explícitamente solicitados por el usuario. Las áreas correspondientes a reemplazo de fondo, eliminación de fondo, cambio de ropa, eliminación de adornos, etc., no deben ser revertidas por el paso de restauración posterior; para objetos o estructuras claramente modificados, establezca regiones de exclusión.
  • Este flujo está orientado a la edición fotográfica. Cambios importantes en la pose, identidad de la persona o redibujado completo pueden no tener una correspondencia confiable; conserve fielmente el resultado generado y explique las limitaciones de la restauración.

Flujo de Trabajo

1. Crear el Directorio de la Tarea

Cree un nuevo directorio de salida en el espacio de trabajo actual, conservando la imagen original, sin sobrescribir archivos originales o resultados existentes. Guarde el prompt original del usuario, el prompt completo realmente enviado y la imagen base generada. Al descomprimir archivos ZIP adjuntos, verifique las rutas y no sobrescriba archivos existentes.

Si las dependencias no están instaladas, instálelas desde scripts/requirements.txt en el entorno virtual del proyecto actual; priorice reutilizar un entorno compatible existente, o use uv venv / uv pip install --python ... -r .... No se necesita instalación a nivel de sistema. Los scripts no se conectan a internet ni descargan modelos durante su ejecución.

2. Edición con GPT Image

  • Primero, visualice el archivo local original mediante view_image. Llame a la herramienta de edición image_gen disponible en esta sesión, usando el archivo original como entrada de edición, no la imagen generada en la ronda anterior.
  • Prompt real = texto original del usuario + restricciones fijas de preservación. La parte fija se añade como restricción adicional, sin reemplazar ni diluir el objetivo del usuario; el requisito de composición de cuerpo entero solo se aplica si la foto original ya era de cuerpo entero. Guarde esta concatenación exacta.
  • Las solicitudes de eliminación de fondo/extracción/transparencia deben establecer transparent_background: true; si se reemplaza el fondo, establezca false. Los demás parámetros deben seguir las capacidades actuales de la herramienta; no invente parámetros de calidad, tamaño o versión de modelo, ni prometa que el prompt garantizará píxeles o resolución exacta.
  • Copie el archivo generado al directorio de la tarea. Registre el tamaño real de salida y su peso. Genere una sola vez por defecto; solo reintente si la herramienta falla o omite claramente el requisito principal del usuario, para evitar regeneraciones infinitas. No cambie por su cuenta a una API/CLI de pago.

3. Establecer Regiones de Preservación para Esta Imagen

Revise la imagen original y la generada. Según la guía de configuración y ejecución de regiones, cree el archivo regions.json para esta tarea, especificando la máscara del sujeto principal o las semillas GrabCut para la imagen original y la generada respectivamente; las coordenadas se determinan a partir de la imagen actual, no copie coordenadas de personas de tareas anteriores. El script interpretará las coordenadas de configuración según la orientación de visualización EXIF de cada imagen.

Las máscaras deben cubrir los sujetos comunes que necesitan preservación, excluyendo el fondo y las áreas que el usuario modificó intencionalmente. El primer plano transparente puede utilizar el canal alfa, pero aún así debe excluir las áreas que el usuario redibujó intencionalmente. fill_holes está desactivado por defecto; los huecos formados por mangos, asas o posturas pueden ser fondo real, no los rellene ciegamente.

Seleccione al menos dos ubicaciones de detalles de personas/objetos para comparación local; si la foto contiene rostros, estampados, lana/tejidos, priorice estas ubicaciones. La configuración proviene del juicio visual del agente, no de una plantilla fija.

4. Analizar, Verificar y luego Fusionar

Usando los mismos parámetros, primero --stage analyze, luego --stage fuse:

<python> <skill>/scripts/restore_detail.py --source <original> --base <generated> --regions <regions.json> --out <job>/restored --stage analyze

Por defecto --method local-rgb --structure-channel auto. La fase de análisis reduce la imagen original a un tamaño común, verifica la correspondencia geométrica, reduce la influencia del color, contraste y texturas finas en el juicio estructural, y ajusta curvas de color RGB locales restringidas y monótonas en áreas confiables. Las fotos multicolor normales usan estructura de luminancia; la luz monocromática fuerte selecciona automáticamente el canal correspondiente, ambas imágenes usan la misma representación, no fija el canal rojo.

Verifique base-mask.png, source-mask.png, confidence-overlay.png y report.json para confirmar que el método real es local-rgb, y que el canal estructural y el rango de coincidencia son razonables. El fondo no debe seleccionarse en el área de restauración; si la máscara es claramente incorrecta, corrija la configuración de la región y vuelva a analizar. No intente aumentar la cobertura relajando el umbral de coincidencia.

<python> <skill>/scripts/restore_detail.py --source <original> --base <generated> --regions <regions.json> --out <job>/restored --stage fuse

El script suaviza y sobremuestrea los parámetros de la curva local, los aplica a la imagen original registrada a tamaño completo, permitiendo que los detalles reales pasen por la transformación del tono e iluminación objetivo. Las ubicaciones donde el mapeo no es confiable usan la imagen generada ampliada; el fondo, la transparencia y las áreas de edición excluidas explícitamente se mantienen consistentes. Cuando no hay suficientes características compartidas, no se transfiere contenido de la imagen original. El tono e iluminación del sujeto son el resultado del ajuste, no se puede prometer consistencia píxel a píxel, ni llamar al tamaño de la imagen original "restauración completa de la calidad de la imagen original".

No superponga por defecto altas frecuencias de Lab gris, ni use matrices arbitrarias de libertad excesiva o un LUT 3D completo. --method lab-detail solo se conserva para comparación con el método anterior cuando el usuario lo solicite explícitamente; no recurra silenciosamente al método antiguo.

5. Verificar y Entregar

  • Verifique la vista previa final y al menos dos comparaciones locales a escala de píxeles original, revisando textura real, color e iluminación a gran escala, prestando atención a artefactos, bloques negros, sombras grises, bordes y sombras de contacto. No declare mejora de calidad basándose únicamente en la correlación de textura o cobertura de coincidencia. Si es necesario, ajuste las regiones de exclusión y vuelva a ejecutar el análisis y la fusión.
  • Confirme que el report.json muestra 0 cambios de píxeles en el rango de fondo, que se conserva el canal alfa y que el PNG es legible. La consistencia exacta del fondo es para PNG sin pérdida; la compresión JPEG puede alterar los píxeles.
  • Devuelva una vista previa visible, el PNG sin pérdida a tamaño completo y enlaces de comparación local. Si no hay transparencia, entregue también JPEG; las imágenes transparentes no se entregan como JPEG.
  • Describa brevemente el tamaño de salida, el alcance real de la restauración y las limitaciones evidentes; proporcione un enlace al archivo del prompt completo real. No cuente los píxeles interpolados como nuevos detalles reales.

Ejemplos de Invocación

"Usa $photo-detail-edit para procesar esta imagen original: limpia el fondo y la iluminación, dándole una calidad de estudio fotográfico de revista."

"Usa $photo-detail-edit para eliminar el fondo, generar un PNG transparente, conservando los detalles de la persona y la ropa."

Skills relacionados