홈 · 빠른 시작 · 다음: 워크플로우 이해
기본 Text-to-Image 시작 템플릿¶
빠른 시작의 7노드 구성을 직접 불러오고, 설치된 체크포인트를 골라 첫 결과를 만듭니다.
워크플로우 가져오기¶
복사해서 붙여넣거나, 파일로 받아 캔버스에 끌어다 놓습니다.
① 복사해서 붙여넣기
JSON 펼치기
코드 블록 오른쪽 위 복사 버튼을 누른 다음, ComfyUI 캔버스를 클릭하고 Ctrl + V로 붙여넣습니다. 파일을 받지 않아도 같은 워크플로우가 만들어집니다.
{
"last_node_id": 7,
"last_link_id": 9,
"nodes": [
{
"id": 1,
"type": "CheckpointLoaderSimple",
"pos": [40, 40],
"size": [315, 98],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{"name": "MODEL", "type": "MODEL", "links": [1]},
{"name": "CLIP", "type": "CLIP", "links": [2, 3]},
{"name": "VAE", "type": "VAE", "links": [8]}
],
"properties": {"Node name for S&R": "CheckpointLoaderSimple"},
"widgets_values": [""]
},
{
"id": 2,
"type": "CLIPTextEncode",
"pos": [400, 20],
"size": [400, 200],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [{"name": "clip", "type": "CLIP", "link": 2}],
"outputs": [{"name": "CONDITIONING", "type": "CONDITIONING", "links": [4]}],
"title": "CLIP Text Encode (Positive Prompt)",
"properties": {"Node name for S&R": "CLIPTextEncode"},
"widgets_values": ["a small red cabin beside a calm lake, pine forest, soft morning light, cinematic composition, detailed digital illustration"]
},
{
"id": 3,
"type": "CLIPTextEncode",
"pos": [400, 260],
"size": [400, 160],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [{"name": "clip", "type": "CLIP", "link": 3}],
"outputs": [{"name": "CONDITIONING", "type": "CONDITIONING", "links": [5]}],
"title": "CLIP Text Encode (Negative Prompt)",
"properties": {"Node name for S&R": "CLIPTextEncode"},
"widgets_values": ["blurry, low quality, distorted, text, watermark"]
},
{
"id": 4,
"type": "EmptyLatentImage",
"pos": [430, 470],
"size": [315, 106],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [],
"outputs": [{"name": "LATENT", "type": "LATENT", "links": [6]}],
"properties": {"Node name for S&R": "EmptyLatentImage"},
"widgets_values": [1024, 1024, 1]
},
{
"id": 5,
"type": "KSampler",
"pos": [850, 130],
"size": [315, 474],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{"name": "model", "type": "MODEL", "link": 1},
{"name": "positive", "type": "CONDITIONING", "link": 4},
{"name": "negative", "type": "CONDITIONING", "link": 5},
{"name": "latent_image", "type": "LATENT", "link": 6}
],
"outputs": [{"name": "LATENT", "type": "LATENT", "links": [7]}],
"properties": {"Node name for S&R": "KSampler"},
"widgets_values": [123456, "fixed", 25, 6.0, "euler", "normal", 1.0]
},
{
"id": 6,
"type": "VAEDecode",
"pos": [1220, 170],
"size": [210, 46],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{"name": "samples", "type": "LATENT", "link": 7},
{"name": "vae", "type": "VAE", "link": 8}
],
"outputs": [{"name": "IMAGE", "type": "IMAGE", "links": [9]}],
"properties": {"Node name for S&R": "VAEDecode"},
"widgets_values": []
},
{
"id": 7,
"type": "SaveImage",
"pos": [1480, 150],
"size": [315, 270],
"flags": {},
"order": 6,
"mode": 0,
"inputs": [{"name": "images", "type": "IMAGE", "link": 9}],
"outputs": [],
"properties": {"Node name for S&R": "SaveImage"},
"widgets_values": ["learning/basic-text-to-image"]
}
],
"links": [
[1, 1, 0, 5, 0, "MODEL"],
[2, 1, 1, 2, 0, "CLIP"],
[3, 1, 1, 3, 0, "CLIP"],
[4, 2, 0, 5, 1, "CONDITIONING"],
[5, 3, 0, 5, 2, "CONDITIONING"],
[6, 4, 0, 5, 3, "LATENT"],
[7, 5, 0, 6, 0, "LATENT"],
[8, 1, 2, 6, 1, "VAE"],
[9, 6, 0, 7, 0, "IMAGE"]
],
"groups": [],
"config": {},
"extra": {"workflowRendererVersion": "LG"},
"version": 0.4
}
② 파일로 받기
workflow.json을 우클릭해 다른 이름으로 저장을 고른 뒤 캔버스에 끌어다 놓습니다. 링크를 그냥 누르면 브라우저에 글자만 표시됩니다.
함께 있는 파일¶
- params.yml —
workflow.json에 담기지 않는 체크포인트 파일명, ComfyUI 버전, 결과 관찰을 적는 빈 서식입니다. 복사해서 채웁니다 - 기본 연결도 — 노드 7개가 어떤 포트로 이어지는지 그린 도식입니다
실행 순서¶
- 위 두 방법 중 하나로 워크플로우를 캔버스에 올립니다. 받은 파일은
Workflows → Open으로 열어도 됩니다. Load Checkpoint의ckpt_name에서 설치한 SDXL 체크포인트를 선택합니다.- 모델이 SD 1.5라면
Empty Latent Image를 512×512로 바꾸고, SDXL이면 1024×1024로 둡니다. - Positive·Negative 프롬프트를 확인합니다.
- KSampler의
control_after_generate가fixed인지 확인한 뒤Run버튼을 누릅니다. - 사용한 모델 파일명과 결과 관찰을
params.yml사본에 기록합니다.
템플릿 시작값¶
| 항목 | 값 |
|---|---|
| 해상도 | 1024×1024(SDXL 기준) |
| steps | 25 |
| cfg | 6.0 |
| sampler_name | euler |
| scheduler | normal |
| denoise | 1.0 |
| seed | 123456 |
| control_after_generate | fixed |
모델 제작자가 권장값을 제공했다면 그 값을 우선합니다. 이 파일은 모델 가중치를 포함하지 않으며, Load Checkpoint에서 사용자가 설치한 모델을 직접 선택해야 합니다.
완료 기준¶
네 가지를 모두 만족했다면 이 장을 끝냈습니다.
- JSON을 열었을 때 7개 노드와 연결이 복원된다.
- 체크포인트를 선택하고 이미지 한 장을 생성했다.
- Seed를 고정한 상태에서 프롬프트 또는 CFG 하나만 바꿔 비교했다.
- 실제 사용한 모델과 설정을 params 파일에 기록했다.
다음 단계¶
- 5분 빠른 시작 — 연결과 첫 비교 실험
- 워크플로우 이해하기 — 각 노드와 설정값의 의미
홈 · 빠른 시작 · 다음: 워크플로우 이해