AI 이미지 생성 도구(Stable Diffusion WebUI, ComfyUI, NovelAI 등)로 만들어진 이미지 파일에 내장된 프롬프트 및 해상도 정보를 읽어, 사용자가 정의한 규칙에 따라 자동으로 분류·정리하는 도구입니다.
패키징된 Prompt-Classifier.exe 파일을 실행합니다.
참고 설정 및 프리셋은
exe파일과 같은 폴더 안의ImageClassifier폴더에 저장됩니다.
C:\Program Files등 쓰기 제한이 있는 위치에서는 설정이 저장되지 않으므로, 쓰기 가능한 폴더로 옮겨 사용하세요.
| 옵션 | 설명 |
|---|---|
| 소스 디렉토리 | 분류할 이미지가 들어 있는 폴더를 선택합니다. |
| 이름 변경 | 분류된 파일명에 키워드가 포함되도록 자동 변경합니다. (예: fantasy_000001.png) |
| 와일드카드 처리 | 키워드 입력란에서 __파일명__ 형식으로 외부 txt 파일의 키워드를 불러옵니다. (아래 와일드카드 처리 참조) |
| 그 외 처리 | 어떤 규칙에도 매칭되지 않은 파일을 other 폴더로 이동하는 방식을 선택합니다. 세 가지 옵션이 있습니다. (아래 그 외 처리 참조) |
| 동일명 숫자 추가 | 대상 폴더에 같은 이름의 파일이 이미 있으면 (01), (02) 형식으로 번호를 붙입니다. 끄면 동일명 파일은 건너뛰고 로그에 표시됩니다. |
| 안전 모드 | 이동 대신 먼저 복사한 뒤, 원본을 [삭제 / 보존 / 실행 취소] 중 선택할 수 있는 팝업을 띄웁니다. 데이터 유실 방지에 가장 안전합니다. |
| 복제 모드 | 이동 대신 복사만 합니다. 원본은 그대로 유지됩니다. |
| 멀티코어 | 여러 CPU 코어를 사용해 프롬프트 분석 속도를 높입니다. 코어 수를 옆 스핀박스로 지정할 수 있습니다. |
안전 모드와 복제 모드는 동시에 사용할 수 없습니다.
키워드 수가 많아 직접 관리하기 번거로울 때, 외부 txt 파일로 키워드 목록을 불러올 수 있습니다.
사용 방법:
exe(또는main.py)와 같은 위치에wildcard폴더를 만듭니다.- 그 안에 키워드 목록을 담은 txt 파일을 저장합니다. (예:
list.txt) - 키워드 입력란에
__list__형식으로 입력합니다.
txt 파일 형식: 키워드를 줄바꿈으로 구분하여 작성합니다. 한 줄 안에 | 로 여러 키워드를 쓰거나, 다른 __와일드카드__ 를 중첩해서 사용할 수도 있습니다.
fantasy
cyberpunk
__another_list__
sci-fi | steampunk
입력 예시: a|b|__list__|c → a, b, list.txt 안의 키워드 전체, c 순서로 처리됩니다.
와일드카드 처리를 끄면
__list__형식도|로 구분된 일반 키워드로 취급합니다. 프롬프트에__를 실제로 사용하는 경우 꺼두세요.
소스 디렉토리와 그 하위 모든 폴더를 재귀적으로 탐색합니다.
- 포함 키워드:
|로 구분하여 입력합니다. (예:fantasy | cyberpunk) - 제외 키워드: 프롬프트에 이 단어가 포함된 이미지는 건너뜁니다.
전체추적이 켜지면 레벨 1~5 옵션은 자동으로 비활성화됩니다.
분류된 이미지를 키워드 이름의 하위 폴더 대신, 사용자가 직접 지정한 단일 폴더로 이동합니다. 모든 결과를 한 곳에 모을 때 유용합니다.
전체추적이 꺼진 상태에서만 작동합니다.
- 레벨은 순서대로 적용되며, 앞 레벨에서 분류된 이미지는 다음 레벨 대상에서 제외됩니다.
- 각 레벨마다 포함 키워드와 제외 키워드를 독립적으로 설정할 수 있습니다.
- 키워드는
|로 구분합니다. (예: 포함:landscape | nature, 제외:lowquality)
어떤 레벨의 키워드에도 매칭되지 않은 파일을 other 폴더로 이동하는 타이밍을 선택합니다.
| 옵션 | 동작 |
|---|---|
| 안 함 | 미분류 파일을 따로 처리하지 않습니다. |
| 후행 | 모든 레벨 분류가 완료된 후, 소스 폴더에 남아 있는 파일 전체를 other 폴더로 이동합니다. |
| 각 레벨별 | 각 레벨 분류가 끝날 때마다 해당 레벨에서 매칭되지 않은 파일을 즉시 other 폴더로 이동합니다. 다음 레벨은 기존 분류 폴더와 other 폴더를 모두 대상으로 처리합니다. |
각 레벨별 옵션 사용 시
other폴더는 레벨이 진행될수록 파일이 누적됩니다. 마지막 레벨까지 어떤 키워드에도 매칭되지 않은 파일만other에 최종적으로 남습니다.
그룹박스 왼쪽의 체크박스로 기능 전체를 켜고 끌 수 있습니다.
해상도 분류는 파일명을 변경하지 않습니다 (이름 변경 옵션과 무관).
| 옵션 | 동작 |
|---|---|
| 선 (먼저) | 해상도 분류 → 프롬프트 분류 순으로 진행합니다. |
| 후 (나중에) | 프롬프트 분류 → 해상도 분류 순으로 진행합니다. 프롬프트 분류로 이동된 파일이 각 폴더 안에서 다시 해상도 하위 폴더로 분리됩니다. |
| 형식 | 예시 |
|---|---|
1216x832 |
너비×높이 숫자만 표기 |
1216x832_(가로/세로) |
방향 정보를 괄호로 추가 |
16:9 비율 |
가장 단순화된 비율로 표기 |
켜면 해상도가 달라도 비율이 동일하면 같은 폴더로 묶습니다.
예) 608×416, 1216×832, 2432×1664 → 모두 같은 비율 그룹
켜면 1216×832 (가로)와 832×1216 (세로)를 같은 그룹으로 취급합니다.
폴더명은 항상 가로 ≥ 세로 기준으로 표기됩니다.
표준 해상도 기준셋에 완전히 일치하지 않아도, 설정한 오차 범위 안에 있으면 해당 표준 해상도 그룹으로 편입합니다.
| 모드 | 설명 |
|---|---|
| % 설정 | 기준 해상도 대비 ±n% 이내의 오차를 허용합니다. |
| 픽셀 설정 | 가로·세로 각 축의 픽셀 차이가 ±n 이내인 경우 허용합니다. |
기준 해상도 예시:
1024×1024,1216×832,1920×1080,3840×2160및 이들의 0.25×~4× 배율 포함
특정 해상도 그룹의 파일 수가 설정한 값 미만이면, 해당 파일들을 res_below_min 폴더로 이동합니다. 극소수의 해상도가 파편화되어 폴더가 지저분해지는 것을 방지합니다.
이미지의 총 픽셀 수(너비 × 높이)를 기준으로 범위를 벗어난 이미지를 별도 폴더로 분리합니다.
| 결과 폴더 | 조건 |
|---|---|
res_too_small |
설정한 최솟값 미만인 이미지 |
res_too_large |
설정한 최댓값 초과인 이미지 |
값을
0으로 두면 해당 방향 컷오프는 비활성화됩니다.
편집... 버튼을 누르면 별도 창이 열립니다.
표에 너비(W)와 높이(H)를 입력해 목록을 관리하며, 자주 쓰는 표준 해상도는 빠른 추가 버튼으로 한 번에 넣을 수 있습니다. 목록은 설정 파일에 저장되어 프로그램을 다시 시작해도 유지됩니다.
| 모드 | 동작 |
|---|---|
| 화이트리스트 사용 | 목록에 있는 해상도만 분류 대상에 포함합니다. 나머지는 res_not_whitelisted 폴더로 이동합니다. |
| 블랙리스트 사용 | 목록에 있는 해상도는 분류에서 제외하여 res_blacklisted 폴더로 이동합니다. |
| 버튼 | 동작 |
|---|---|
| 분류 시작 | 현재 설정으로 분류를 시작합니다. |
| 취소 | 진행 중인 작업을 즉시 중단합니다. |
| 이전 작업 취소 | 가장 최근에 완료된 작업을 되돌립니다. 이동된 파일은 원래 위치로 복원되고, 비어 있는 생성 폴더는 자동으로 삭제됩니다. |
진행 상황은 진행 표시줄과 로그 창에서 실시간으로 확인할 수 있으며, 완료 시 총 소요 시간과 처리 파일 수가 표시됩니다.
현재 설정 전체(해상도 분류 옵션 포함)를 이름을 붙여 저장해두고 나중에 불러올 수 있습니다.
- 저장: 현재 설정을 프리셋으로 저장합니다.
- 드롭다운 선택: 저장된 프리셋을 불러옵니다.
- 삭제: 선택된 프리셋을 제거합니다.
- 신규 기능: 와일드카드 처리 — 키워드 입력란에서
__파일명__형식으로 외부 txt 파일의 키워드를 불러올 수 있습니다.exe(또는main.py) 위치 기준wildcard폴더 안의 txt 파일을 자동으로 탐색- txt 파일 내부에서도
|구분 및__와일드카드__중첩 사용 가능 - 순환 참조 자동 감지 및 방지
- 이름 처리 행의 체크박스로 온/오프 전환 가능 — 꺼진 상태에서는
__태그__형식을 일반 키워드로 취급 - 전체추적 모드, 레벨 1~5, 제외 키워드 모두 적용
- 버그 수정: ComfyUI WebP 이미지에서 이스케이프된 괄호(
\(,\))가 포함된 키워드 검색이 되지 않던 문제 — JSON 이중 인코딩으로 인한\\(↔\(불일치를 정규화하여 해결
- 기능 변경: 그 외 처리 — 체크박스에서 3단계 라디오버튼으로 교체
- 안 함: 미분류 파일을 처리하지 않습니다.
- 후행: 기존 동작과 동일. 모든 레벨 완료 후 소스 폴더에 남은 파일을
other로 이동합니다. - 각 레벨별: 각 레벨 분류 직후 미분류 파일을
other로 이동하고, 다음 레벨은 분류 폴더와other폴더를 모두 탐색합니다.
- 버그 수정: 다중 레벨 분류 후 그 외 처리 실행 시 이미 분류된 파일이
other로 중복 이동되던 문제
- 신규 기능: 해상도 분류 — 이미지를 해상도별로 자동 분류합니다.
- 분류 타이밍 설정 (프롬프트 분류 전/후 선택)
- 폴더명 형식 선택 (
1216x832/1216x832_(가로)/16:9) - 비율 분류 — 동일 비율 이미지를 하나의 그룹으로 묶기
- 가로세로 통일 — 방향(가로/세로)을 무시하고 같은 해상도로 처리
- 허용 오차 — % 또는 픽셀 단위로 유사 해상도 허용
- 최소 파일 수 — N개 미만 그룹을
res_below_min으로 이동 - 해상도 컷오프 — 지정 픽셀 수 미만/초과 이미지 별도 분류
- 화이트/블랙리스트 — 별도 편집 창에서 관리, 비휘발성 저장
- UI 변경: 멀티코어 설정을 복제 모드 오른쪽으로 이동하여 공간 절약
- 모든 신규 설정은 기존 프리셋 시스템과 완전 호환
- 기능 수정: WebP 지원 추가
- 기능 수정: ComfyUI 이미지 정보 탐색 방향을 역순으로 변경
- 신규 기능: 제외 키워드 지원 (레벨 1~5 및 전체추적 모드)
- 버그 수정: 다중 레벨 + 그 외 처리 조합 시 이미 분류된 파일이
other로 중복 이동되던 문제 - 버그 수정: 동일명 파일 건너뜀이 로그에 표시되지 않던 문제
- 버그 수정: 프리셋 불러오기 시 안전 모드 / 복제 모드 체크 상태 오류
- 버그 수정: exe 패키징 환경에서 설정 폴더가 생성되지 않던 문제
- ComfyUI 로직 개선 및 코드 전면 개편