meeting-109 60갑자 60장 양산 + v3 자산 등록

Phase 1 — v3 자산 등록:
- workflows/winner-byeolyi-kontext-v3.json (reusable_for: 60갑자/타로/12지신/운세카드)
- design-tokens/byeolyi-kontext-palette.json (KMeans k=5)
  palette: #eacfdc, #14143c, #6c4552, #b18cc2, #dba784
- prompts/proven-patterns.json: kontext_v3 workflow + text overlay
- future-assets-plan.md: 별이  합격 / 60갑자 양산 중

Phase 2 — 60갑자 매트릭스:
- 10천간(甲乙丙丁戊己庚辛壬癸) × 12지지(子丑寅卯辰巳午未申酉戌亥) = 60
- 오행: 목(초록)/화(빨강)/토(노랑)/금(흰)/수(검정)
- 동물: 쥐/소/호랑이/토끼/용/뱀/말/양/원숭이/닭/개/돼지

Phase 3 — 60장 양산 (모두 success):
- 워크플로: Flux Kontext Q4 GGUF + ReferenceLatent→conditioning + EmptyLatent + denoise 1.0
- reference: byeolyi-default.png (60장 모두)
- seed: 30260520 + idx×13
- 768×1344 (9:16 fortune card aspect)
- 카드당 ~55-70초, 12 batch × ~5분, 총 ~70분

Phase 4 — PIL 텍스트 합성:
- 한자 (상단 중앙): NotoSerifCJK-Bold 180pt 크림화이트 + 라벤더 그림자
- 한글 (한자 아래): NanumMyeongjoBold 84pt 연라벤더
- 모든 60장 한자/한글 정확 합성

산출:
- raw_01_갑자.png ~ raw_60_계해.png (텍스트 없는 원본)
- 01_갑자_final.png ~ 60_계해_final.png (최종)
- *_thumb.png × 60 (썸네일)
- review_manifest.json: 60장 메타 (index/hanja/hangul/animal/element/seed/...)
- index.html: 6×10 그리드 (오행 색 chip 포함)

검수 URL:
- 운영서버: https://kakaoz.tail31bd37.ts.net/eval/meeting-109-60gapja/
- Gitea raw: assets-library/workflows/winner-byeolyi-kontext-v3.json
This commit is contained in:
choijaewook
2026-05-20 13:42:24 +09:00
parent 106abebec5
commit 24bf9a7c98
187 changed files with 1916 additions and 2 deletions

View File

@@ -0,0 +1,58 @@
{
"source": "byeolyi-series-v3 raw_01~10.png",
"extraction": "KMeans k=5 on combined 128x128 samples",
"captured": "2026-05-20",
"palette": [
{
"index": 3,
"hex": "#eacfdc",
"rgb": [
234,
207,
220
],
"ratio": 0.3838
},
{
"index": 2,
"hex": "#14143c",
"rgb": [
20,
20,
60
],
"ratio": 0.2509
},
{
"index": 0,
"hex": "#6c4552",
"rgb": [
108,
69,
82
],
"ratio": 0.1327
},
{
"index": 1,
"hex": "#b18cc2",
"rgb": [
177,
140,
194
],
"ratio": 0.1242
},
{
"index": 4,
"hex": "#dba784",
"rgb": [
219,
167,
132
],
"ratio": 0.1084
}
],
"usage_hint": "60갑자/타로/12지신 배경 톤·악센트 컬러로 재활용"
}

View File

@@ -237,5 +237,34 @@
"FORMULA": "Flux Dev Q5 GGUF (no PuLID) + uni_pc + karras + soft pastel autumn prompt"
}
]
},
"byeolyi_kontext_v3": {
"workflow_pattern": {
"pattern": "Flux Kontext Q4 GGUF + ReferenceLatent→conditioning + EmptyLatentImage + denoise 1.0",
"reference_image": "byeolyi-default.png",
"sampler": "euler",
"scheduler": "simple",
"cfg": 1.0,
"steps": 25,
"guidance": 3.5,
"validated_on": "byeolyi-series-v3 (10장, 9.5/10 합격)",
"date": "2026-05-20",
"reusable_for": [
"60갑자",
"타로",
"12지신",
"운세카드"
]
},
"text_overlay_pattern": {
"pattern": "PIL post-composite — SDXL/Flux의 한글 깨짐 회피",
"font_korean": "/usr/share/fonts/truetype/nanum/NanumMyeongjoBold.ttf",
"font_chinese": "/usr/share/fonts/opentype/noto/NotoSerifCJK-Bold.ttc",
"color_kr": "(254,250,246,255) 크림화이트",
"color_cn": "(230,210,255,170) 반투명 라벤더",
"shadow": "(30,15,60,180) 4-direction soft",
"validated_on": "byeolyi-series-v3 한글/한자 100%",
"date": "2026-05-20"
}
}
}

View File

@@ -0,0 +1,166 @@
{
"1": {
"class_type": "UnetLoaderGGUF",
"inputs": {
"unet_name": "flux1-kontext-dev-Q4_K_S.gguf"
}
},
"2": {
"class_type": "DualCLIPLoader",
"inputs": {
"clip_name1": "clip_l.safetensors",
"clip_name2": "t5xxl_fp8_e4m3fn.safetensors",
"type": "flux"
}
},
"3": {
"class_type": "VAELoader",
"inputs": {
"vae_name": "ae.safetensors"
}
},
"10": {
"class_type": "LoadImage",
"inputs": {
"image": "byeolyi-default.png"
}
},
"11": {
"class_type": "FluxKontextImageScale",
"inputs": {
"image": [
"10",
0
]
}
},
"12": {
"class_type": "VAEEncode",
"inputs": {
"pixels": [
"11",
0
],
"vae": [
"3",
0
]
}
},
"20": {
"class_type": "CLIPTextEncode",
"inputs": {
"text": "{POSITIVE_PROMPT}",
"clip": [
"2",
0
]
}
},
"21": {
"class_type": "CLIPTextEncode",
"inputs": {
"text": "{NEGATIVE_PROMPT}",
"clip": [
"2",
0
]
}
},
"22": {
"class_type": "ReferenceLatent",
"inputs": {
"conditioning": [
"20",
0
],
"latent": [
"12",
0
]
}
},
"23": {
"class_type": "FluxGuidance",
"inputs": {
"conditioning": [
"22",
0
],
"guidance": 3.5
}
},
"24": {
"class_type": "EmptyLatentImage",
"inputs": {
"width": 1024,
"height": 1024,
"batch_size": 1
}
},
"30": {
"class_type": "KSampler",
"inputs": {
"model": [
"1",
0
],
"positive": [
"23",
0
],
"negative": [
"21",
0
],
"latent_image": [
"24",
0
],
"seed": "{SEED}",
"steps": 25,
"cfg": 1.0,
"sampler_name": "euler",
"scheduler": "simple",
"denoise": 1.0
}
},
"31": {
"class_type": "VAEDecode",
"inputs": {
"samples": [
"30",
0
],
"vae": [
"3",
0
]
}
},
"32": {
"class_type": "SaveImage",
"inputs": {
"images": [
"31",
0
],
"filename_prefix": "{FILENAME}"
}
},
"_meta": {
"version": "v3",
"pattern": "ReferenceLatent→conditioning + EmptyLatentImage + denoise 1.0",
"reference": "byeolyi-default.png",
"reusable_for": [
"60갑자",
"타로 78장",
"12지신",
"운세 카드",
"별이 일러스트 시리즈",
"인스타 9:16 카드"
],
"validated": "byeolyi-series-v3 10장 9.5/10",
"captured": "2026-05-20"
}
}