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:
58
assets-library/design-tokens/byeolyi-kontext-palette.json
Normal file
58
assets-library/design-tokens/byeolyi-kontext-palette.json
Normal 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지신 배경 톤·악센트 컬러로 재활용"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
166
assets-library/workflows/winner-byeolyi-kontext-v3.json
Normal file
166
assets-library/workflows/winner-byeolyi-kontext-v3.json
Normal 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"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user