Pattern طراحی ورکفلو در ComfyUI؛ کتابخانهی ۸ الگوی استاندارد برای ۹۰ درصد پروژهها
در این مقاله، ۸ الگوی اصلی طراحی ورکفلو در ComfyUI را بهصورت عملی و ساختاریافته بررسی میکنیم. با ساختار، کاربرد، نودهای کلیدی و اشتباهات رایج هر Pattern آشنا میشوید و تفاوت آنها را در پروژههای…

این مقاله بخش سوم از سری ۴ قسمتی Bitgraph دربارهی ساخت ورکفلو در ComfyUI است:
- قسمت ۱: تفکر معکوس و روششناسی طراحی ورکفلو (پیشنیاز)
- قسمت ۲: اتصال نودها در ComfyUI؛ آناتومی Data Flow و شناخت کامل انواع داده (پیشنیاز)
- قسمت ۳ (همین مقاله): کتابخانهی الگوهای استاندارد ورکفلو
- قسمت ۴: ترکیب الگوها و ساخت ورکفلوهای پیچیده
در دو قسمت قبلی این سری، با روانشناسی تفکر معکوس و آناتومی انواع داده آشنا شدیم. حالا ابزارهای ذهنی لازم را داریم، اما یک عنصر کلیدی هنوز کم است: الگوهای آماده. وقتی به یک معمار حرفهای نگاه میکنید، میبینید که هر ساختمان را از صفر طراحی نمیکند، بلکه با ترکیب الگوهای استاندارد (نوع ستون، نوع سقف، نوع پلکان) به سرعت به طرح نهایی میرسد. در ComfyUI هم همین داستان است.
یک حقیقت شگفتانگیز: بیش از ۹۰ درصد ورکفلوهای موجود در سراسر اینترنت، از سادهترین تا پیچیدهترین ترکیبی از تنها چند الگوی استاندارد هستند. اگر این الگوها را بشناسید، با یک نگاه میتوانید بفهمید هر ورکفلو چه کار میکند، چه قسمتهایی دارد، و چطور میتوانید آن را برای نیاز خودتان تطبیق دهید. این مقاله، آن کتابخانهی الگوها را در اختیار شما میگذارد.
هدف این مقاله این است: در پایان، شما با ۸ الگوی استاندارد ComfyUI آنچنان آشنا باشید که هر ورکفلوی ناآشنایی را در عرض چند ثانیه دستهبندی کنید، «این یک Inpainting با ControlNet است»، «این یک Multi-Stage Refinement است»، «این یک Batch Processing است». این مهارت، شبیه تشخیص الگوهای موسیقی برای یک نوازندهی حرفهای است، وقتی یک قطعه را میشنود، میداند ساختار آن چیست و چطور ساخته شده.
چرا تفکر مبتنی بر الگو در ComfyUI مهم است؟
مفهوم design pattern (الگوی طراحی) از مهندسی نرمافزار وام گرفته شده، اما در همهی حوزههای خلاقیت کاربرد دارد. ایدهی اصلی: مشکلات تکراری، راهحلهای تکراری دارند. اگر این راهحلهای تکراری را بهصورت «الگو» مستند کنیم، در دفعات بعدی بهجای حل کردن از صفر، فقط الگو را اعمال میکنیم.
سه مزیت بنیادی تفکر مبتنی بر الگو در ComfyUI:
- اول، سرعت. وقتی الگوها را بشناسید، بهجای ساعتها ساختن یک ورکفلو، در عرض چند دقیقه به یک نسخهی کاربردی میرسید.
- دوم، ارتباط با جامعه. وقتی با اسامی استاندارد الگوها آشنا هستید، میتوانید در فرومها و گروهها سؤال دقیق بپرسید و پاسخ دقیق بگیرید.
- سوم، توانایی ترکیب. وقتی الگوهای پایه را شناختید، در قسمت ۴ این سری یاد میگیرید چطور آنها را با هم ترکیب کنید و ورکفلوهای پیشرفته بسازید.
نکتهی فلسفی:
الگوها، آزادی شما را محدود نمیکنند، به آنها چارچوب میدهند. درست مثل اینکه دانستن قواعد گرامری انگلیسی، باعث میشود بتوانید جملات خلاقانهتر بسازید (نه برعکس). در ComfyUI، شناخت الگوها به شما اجازه میدهد روی خلاقیت تمرکز کنید، نه روی مکانیک.

ساختار مشترک همهی الگوها
قبل از ورود به الگوها، یک نکتهی مهم: همهی ۸ الگوی این مقاله، یک هستهی مشترک ۵ مرحلهای دارند که در قسمت اول این سری به آن اشاره کردیم:
الگوی هستهای پنجمرحلهای:
- Load → Encode → Sample → Decode → Save
- Load: بارگذاری مدل و ورودیها
- Encode: تبدیل ورودیها به CONDITIONING و LATENT
- Sample: فرآیند denoising با KSampler
- Decode: تبدیل LATENT به IMAGE
- Save: ذخیره یا نمایش خروجی
هر کدام از ۸ الگوی این مقاله، یک یا چند مرحله از این ساختار را تغییر میدهد، گسترش میدهد، یا تکرار میکند. وقتی این هسته را در ذهنتان نگه دارید، فهم الگوها بهمراتب راحتتر میشود.

الگوی ۱؛ Basic Generation، تولید تصویر از متن (پایهایترین)
سادهترین و پایهایترین الگوی ComfyUI، تولید یک تصویر از یک پرامپت متنی است. این الگو، نقطهی شروع همهی ورکفلوهای دیگر است. اگر این را بفهمید، بقیهی الگوها فقط «اصلاحات» این الگو هستند.
چه زمانی استفاده کن؟
هر زمان که میخواهید یک تصویر کاملاً جدید از یک ایدهی متنی بسازید، بدون اینکه از یک تصویر مرجع یا ساختار خاصی شروع کنید. مثالهای رایج: ساخت موود برد بصری، تولید تصاویر اولیه برای moodboard، آزمایش سبکهای مختلف، یا تولید سریع چندین variation.
ساختار نودی
Basic Generation:
- 1. Load Checkpoint → MODEL, CLIP, VAE
- 2. CLIP Text Encode (+) → CONDITIONING+ (پرامپت مثبت)
- 3. CLIP Text Encode (-) → CONDITIONING- (پرامپت منفی)
- 4. Empty Latent Image → LATENT اولیه (noise تصادفی)
- 5. KSampler (MODEL + 2×CONDITIONING + LATENT) → LATENT نهایی
- 6. VAE Decode (LATENT + VAE) → IMAGE 7. Save Image → ذخیره

پارامترهای حیاتی

اشتباهات رایج
اشتباه ۱: CFG خیلی بالا. CFG بالای ۱۰ معمولاً باعث «over-saturation» میشود، رنگها بیش از حد اشباع میشوند و تصویر بهنظر «مصنوعی» میرسد. اگر میخواهید مدل بیشتر به پرامپت پایبند باشد، بهجای CFG بالا، پرامپت را دقیقتر بنویسید.
اشتباه ۲: نادیده گرفتن seed. اگر seed را روی randomize بگذارید، هر بار خروجی متفاوتی میگیرید. این برای exploration خوب است، اما اگر میخواهید روی یک خروجی خاص تکرار کنید، seed را فیکس کنید.
اشتباه ۳: ابعاد غیراستاندارد. مدلهای Stable Diffusion روی ابعاد خاصی آموزش دیدهاند (مثلاً SD1.5 روی ۵۱۲×۵۱۲، SDXL روی ۱۰۲۴×۱۰۲۴). اگر ابعاد خیلی متفاوت بدهید، کیفیت افت میکند یا شئ تکراری ظاهر میشود.
الگوی ۲؛ Image-to-Image، تبدیل تصویر موجود
الگوی Image-to-Image (یا img2img)، اولین گام پیچیدهتر بعد از Basic Generation است. بهجای شروع از noise تصادفی، از یک تصویر موجود شروع میکنیم. مدل، آن تصویر را بهعنوان «پایه» میگیرد و آن را با راهنمایی پرامپت متنی تغییر میدهد.

چه زمانی استفاده کن؟
سه کاربرد اصلی:
- اول، تغییر سبک یک تصویر (مثل تبدیل یک عکس واقعی به نقاشی).
- دوم، بازسازی یک طرح اولیه (مثل تبدیل یک sketch دستی به تصویر کامل).
- سوم، variation سازی، ساخت نسخههای مختلف از یک تصویر با کمی تنوع.
ساختار نودی
Image-to-Image:
- 1. Load Checkpoint → MODEL, CLIP, VAE
- 2. Load Image → IMAGE (تصویر مرجع)
- 3. VAE Encode (IMAGE + VAE) → LATENT (تصویر در فضای latent)
- 4. CLIP Text Encode (+) → CONDITIONING+
- 5. CLIP Text Encode (-) → CONDITIONING-
- 6. KSampler (با denoise < 1) → LATENT نهایی
- 7. VAE Decode → IMAGE
- 8. Save Image → ذخیره
تفاوت کلیدی با Basic Generation: Empty Latent Image جای خود را به VAE Encode میدهد. این یعنی KSampler بهجای شروع از noise کامل، از latent تصویر شما شروع میکند. اما یک نکتهی مهم دیگر هم وجود دارد: پارامتر denoise در KSampler حالا اهمیت پیدا میکند.

پارامتر کلیدی: denoise
پارامتر denoise در KSampler، مشخص میکند چقدر از تصویر اصلی حفظ شود و چقدر تغییر کند. این یک مقدار بین ۰ و ۱ است:

درس کلیدی: denoise = 1 یعنی شما عملاً تصویر مرجع را نادیده میگیرید. اگر میخواهید ساختار اصلی حفظ شود، denoise را بین ۰.۴ تا ۰.۶ نگه دارید. این محدوده، در ۸۰ درصد کاربردهای img2img، بهترین نتیجه را میدهد.
اشتباهات رایج
اشتباه ۱: denoise نامناسب. اگر میخواهید سبک عوض کنید اما ساختار حفظ شود، denoise=0.5 معمولاً جواب میدهد. اگر میخواهید تصویر کاملاً بازسازی شود، denoise=0.75-0.85 بهتر است. denoise بالای ۰.۹ عملاً تصویر مرجع را بیاثر میکند.
اشتباه ۲: اندازهی تصویر مرجع. تصویر مرجع باید ابعاد متناسب با مدل داشته باشد. اگر یک تصویر ۲۰۰×۳۰۰ به مدل SDXL بدهید، نتیجه نامطلوب است. قبل از VAE Encode، تصویر را با نود Image Scale به ابعاد استاندارد resize کنید.
اشتباه ۳: پرامپت ضعیف برای جهتدهی. در img2img، پرامپت بیشتر «جهت تغییر» را مشخص میکند تا «محتوای کامل». مثلاً اگر یک پرترهی واقعی دارید و میخواهید آن را به سبک نقاشی روغن کنید، پرامپت باید سبک را تأکید کند (oil painting, brush strokes)، نه دوباره ویژگیهای صورت را توصیف کند.

الگوی ۳؛ Inpainting، ویرایش با ماسک (پراستفادهترین الگوی حرفهای)
Inpainting، احتمالاً پراستفادهترین الگو در پروژههای حرفهای است. در دنیای واقعی، شما بهندرت میخواهید یک تصویر کاملاً جدید بسازید. معمولاً یک تصویر دارید و میخواهید بخشی از آن را تغییر دهید. این میتواند یک محصول در یک کاتالوگ باشد، یک عنصر مزاحم در یک عکس باشد، یا یک ناحیهای که نیاز به بازسازی دارد. Inpainting، ابزار شماست.

چه زمانی استفاده کن؟
پنج کاربرد رایج: اول، حذف عناصر مزاحم (مثل حذف یک شخص از پسزمینه). دوم، تغییر لباس یا رنگ (مثل تبدیل لباس قرمز به آبی). سوم، اصلاح چهره یا دست (مدلهای AI گاهی دست و چهره را اشتباه تولید میکنند). چهارم، اضافه کردن جزئیات جدید (مثل اضافه کردن یک شیء جدید به صحنه). پنجم، Outpainting (گسترش تصویر به فراتر از کادر اصلی).
ساختار نودی
Inpainting:
- 1. Load Checkpoint → MODEL, CLIP, VAE
- 2. Load Image → IMAGE + MASK (با Mask Editor)
- 3. VAE Encode (for Inpaint) (IMAGE + MASK + VAE) → LATENT (با اطلاعات ماسک)
- 4. CLIP Text Encode (+) → CONDITIONING+ (آنچه میخواهید جایگزین شود)
- 5. CLIP Text Encode (-) → CONDITIONING-
- 6. KSampler denoise معمولاً ۰.۸-۱) → LATENT نهایی
- 7. VAE Decode → IMAGE
- 8. Save Image → ذخیره
نکتهی کلیدی این الگو: استفاده از VAE Encode (for Inpaint) بهجای VAE Encode عادی. این نود سه ورودی میگیرد (IMAGE، MASK، VAE) و یک LATENT تولید میکند که اطلاعات ماسک در آن embed شده. این یعنی KSampler میفهمد فقط ناحیهی ماسکشده را تغییر دهد و باقی LATENT را دستنخورده نگه دارد. در قسمت ۲ سری، این مفهوم را بهتفصیل بررسی کردیم.

کشیدن ماسک در Mask Editor
ComfyUI یک Mask Editor داخلی دارد که با راستکلیک روی نود Load Image و انتخاب «Open in MaskEditor» باز میشود. در این editor، ماسک را روی نواحیای که میخواهید تغییر کند، میکشید. سه نکتهی مهم:
اول، ماسک نرم بهتر از ماسک تیز است. برای لبههای طبیعی، از brush با hardness کم استفاده کنید. ماسکهای soft، در ترکیب لبهها با باقی تصویر، نتایج طبیعیتری میدهند.
دوم، ماسک بزرگتر از ناحیهی مورد نظر بکشید. اگر میخواهید یک شیء را حذف کنید، چند پیکسل اضافه بر دور آن ماسک بزنید. این به مدل context کافی میدهد تا لبهها را طبیعی بازسازی کند.
سوم، برای ناحیههای متعدد، چند ماسک جداگانه نکنید. ماسکهای پراکنده باعث میشود مدل گیج شود. اگر چند ناحیهی متفاوت میخواهید تغییر دهید، هر کدام را در یک iteration یا تکرار جداگانه انجام دهید.
پارامترهای حیاتی

نکتهی حرفهای: اگر دارید با یک مدل عادی inpaint میکنید، گاهی نتیجهی بهتر میگیرید با Set Latent Noise Mask بهجای VAE Encode (for Inpaint). این نود، فقط در ناحیهی ماسک noise میگذارد و بقیهی LATENT را دستنخورده نگه میدارد. این روش با مدلهای FLUX و SDXL معمولی، اغلب نتایج طبیعیتری میدهد.
اشتباهات رایج Inpainting
اشتباه ۱: استفاده از مدل غلط. مدلهای inpainting خاص (مثل sd-v1-5-inpainting.ckpt) روی این کار آموزش دیدهاند و نتایج بهتری نسبت به مدلهای عادی میدهند. اما توجه: مدلهای inpainting خاص، برای Basic Generation مناسب نیستند.
اشتباه ۲: پرامپت کلی. پرامپت در inpainting باید فقط ناحیهی ماسکشده را توصیف کند، نه کل تصویر. اگر میخواهید لباس را عوض کنید، فقط بنویسید «blue silk dress»، نه «a woman wearing a blue silk dress in a garden».
اشتباه ۳: ماسک ناقص. اگر بخشی از ناحیهی مورد نظر را ماسک نکنید، آن بخش تغییر نمیکند و یک گذار ناطبیعی در تصویر ایجاد میشود. بهتر است ماسک کمی بزرگتر از کافی باشد.
الگوی ۴؛ ControlNet، کنترل دقیق ساختار و پوز
اگر Inpainting قدرتمندترین الگو برای ویرایش است، ControlNet قدرتمندترین الگو برای کنترل دقیق ساختار است. ControlNet به شما اجازه میدهد یک «راهنما» (مثل depth map، edge map، pose skeleton) به مدل بدهید و مدل را مجبور کنید از آن راهنما پیروی کند. این تکنیک، کاربرد گستردهای در پروژههای حرفهای دارد.
چه زمانی استفاده کن؟
چهار کاربرد اصلی: اول، حفظ پوز شخصیت (مثل بازسازی یک عکس با شخصیت متفاوت، اما در همان حالت بدنی). دوم، حفظ ساختار معماری (مثل تغییر سبک یک ساختمان بدون تغییر شکل کلی آن). سوم، استفاده از sketch بهعنوان راهنما (مثل تبدیل یک طرح خطی به تصویر کامل). چهارم، کنترل عمق و فضا (با استفاده از depth map برای حفظ پرسپکتیو).

انواعControlNet

نکتهی مهم: هر نوع ControlNet نیاز به یک preprocessor دارد. مثلاً برای استفاده از Canny، ابتدا باید تصویر مرجع را با نود Canny Edge Detector به edge map تبدیل کنید. این preprocessorها، نودهای جداگانهای هستند که در بستهی ComfyUI-ControlNet-Aux قابل نصب هستند.
ساختار نودی
ControlNet با Basic Generation:
- 1. Load Checkpoint → MODEL, CLIP, VAE
- 2. Load Image → IMAGE (تصویر مرجع برای راهنمایی)
- 3. Preprocessor (مثل Canny) → IMAGE (نقشهی راهنما)
- 4. Load ControlNet Model → CONTROL_NET
- 5. CLIP Text Encode (+) → CONDITIONING+
- 6. Apply ControlNet (CONDITIONING+ + IMAGE + CONTROL_NET) → CONDITIONING+ تقویتشده
- 7. CLIP Text Encode (-) → CONDITIONING-
- 8. Empty Latent Image → LATENT اولیه
- 9. KSampler → LATENT نهایی
- 10. VAE Decode → IMAGE 11. Save Image → ذخیره
تفاوت کلیدی با Basic Generation: یک شاخهی جانبی به CONDITIONING اضافه شده. این شاخه، تصویر مرجع را از طریق preprocessor و ControlNet عبور میدهد و خروجی را به CONDITIONING تقویتشده تبدیل میکند. این CONDITIONING تقویتشده، سپس به KSampler میرود.
بینش کلیدی: ControlNet یک تقویتکنندهی CONDITIONING است، نه یک منبع مستقل تصویر. این موضوع را در قسمت ۲ سری گفتیم وقتی این را بفهمید، جایگاه Apply ControlNet در ورکفلو روشن میشود.

پارامترهای حیاتی

نکتهی پیشرفته: میتوانید چندین ControlNet را با هم ترکیب کنید. مثلاً Canny + Depth برای حفظ همزمان خطوط و ساختار سهبعدی. یا OpenPose + Depth برای پروژههای شخصیتمحور با کنترل دقیق. روش: نودهای Apply ControlNet را پشت سر هم زنجیر کنید. خروجی هر کدام، ورودی بعدی میشود. این تکنیک، در ورکفلوهای حرفهای پروژههای برندی، استاندارد است.
اشتباهات رایج ControlNet
اشتباه ۱: ناسازگاری مدل. هر مدل ControlNet با یک خانوادهی diffusion خاص سازگار است. ControlNet مخصوص SD1.5 با مدل SDXL کار نمیکند. قبل از استفاده، مطمئن شوید مدل ControlNet و مدل اصلی همخانواده هستند.
اشتباه ۲: strength خیلی بالا. strength=1 یعنی مدل کاملاً ملزم به پیروی از راهنماست، این گاهی باعث میشود تصویر «رباتگونه» شود. برای نتایج طبیعیتر، strength را روی ۰.۸-۰.۹ نگه دارید.
اشتباه ۳: نادیده گرفتن preprocessor. اگر مستقیماً یک تصویر معمولی به Apply ControlNet بدهید (بدون preprocessor)، نتیجه نامطلوب است. ControlNet انتظار «نقشهی راهنما» دارد (مثل edge map یا pose skeleton)، نه تصویر خام.
اشتباه ۴: ترکیب چند ControlNet با strengthهای بالا. اگر میخواهید Canny + Depth ترکیب کنید، نمیتوانید هر دو را strength=1 بگذارید. مجموع strengthها باید کنترل شود، معمولاً هر کدام ۰.۵-۰.۶ بهترین تعادل را میدهد.

الگوی ۵؛ Style Transfer، انتقال سبک از یک تصویر مرجع
Style Transfer یکی از محبوبترین الگوها برای پروژههای brand consistency است. تصور کنید یک استدیو طراحی هستید که برای یک برند کار میکنید و یک «امضای بصری» مشخص دارید. میخواهید همهی تصاویر شما در همان امضا تولید شوند، حتی اگر محتوای آنها متفاوت باشد. Style Transfer دقیقاً این کار را میکند.
چه زمانی استفاده کن؟
سه کاربرد اصلی:
- اول، brand consistency در یک کمپین چندتصویری.
- دوم، تطبیق با موود برد، وقتی یک reference image از client دارید و میخواهید تصاویر شما با همان حالوهوا باشد.
- سوم، سبکسازی هنری، اعمال سبک یک نقاش یا هنرمند خاص روی تصاویر جدید.
دو روش اصلی: IP-Adapter و Style Model
دو ابزار اصلی برای Style Transfer در ComfyUI وجود دارد:

از این سه، IP-Adapter پراستفادهترین و انعطافپذیرترین گزینه است. آن را میتوان با یک یا چند تصویر مرجع تغذیه کرد و مدل، سبک، رنگ، و حتی ترکیببندی را از آنها استخراج میکند.
ساختار نودی با IP-Adapter
Style Transfer (IP-Adapter):
- 1. Load Checkpoint → MODEL, CLIP, VAE
- 2. Load CLIP Vision Model → CLIP_VISION
- 3. Load IPAdapter Model → IPADAPTER
- 4. Load Image (reference) → IMAGE
- 5. IPAdapter Apply (MODEL + IPADAPTER + CLIP_VISION + IMAGE) → MODEL تقویتشده
- 6. CLIP Text Encode (+/-) → CONDITIONING (پرامپت پایه)
- 7. Empty Latent Image → LATENT
- 8. KSampler (با MODEL تقویتشده) → LATENT نهایی
- 9. VAE Decode → IMAGE
- 10. Save Image → ذخیره
تفاوت کلیدی: IP-Adapter بهجای CONDITIONING، خود MODEL را تقویت میکند. این یک تفاوت ظریف اما مهم است. ControlNet، CONDITIONING را تغییر میداد. IP-Adapter، خود مدل را وادار میکند سبک reference را در ذهن داشته باشد. به همین دلیل، IP-Adapter برای style transfer قویتر است.

پارامتر کلیدی: weight
نود IPAdapter Apply یک پارامتر مهم بهنام weight دارد که میزان تأثیر reference را کنترل میکند:

اشتباهات رایج Style Transfer
اشتباه ۱: reference نامناسب. اگر reference شما یک پرتره است و میخواهید سبک آن را روی یک منظره اعمال کنید، نتیجه گاهی عجیب میشود. بهتر است reference و خروجی مورد نظر، نوع محتوای مشابه داشته باشند (هر دو پرتره، هر دو منظره، و ...).
اشتباه ۲: نادیده گرفتن CLIP Vision. IP-Adapter نیاز به یک مدل CLIP Vision جدا دارد. اگر این را load نکنید، خطا میگیرید. این مدل، مسئول «دیدن» reference image است.
اشتباه ۳: ترکیب با ControlNet بدون تنظیم. اگر همزمان IP-Adapter و ControlNet استفاده میکنید، باید strengthها را پایینتر نگه دارید (هر کدام ۰.۵-۰.۶). در غیر این صورت، مدل گیج میشود و خروجی artifacts دارد.
الگوی ۶؛ Upscaling، افزایش رزولوشن و جزئیات
Upscaling آخرین مرحلهی اکثر پروژههای حرفهای است. مدلهای Stable Diffusion معمولاً روی رزولوشنهای متوسط (۵۱۲×۵۱۲ تا ۱۰۲۴×۱۰۲۴) کار میکنند. اما برای چاپ، نمایش روی صفحهی بزرگ، یا کاربردهای حرفهای، شما نیاز به رزولوشنهای ۲K، ۴K، یا حتی ۸K دارید. Upscaling این فاصله را پر میکند.
چه زمانی استفاده کن؟
هر بار که تصویر نهایی شما به رزولوشن بالاتر از خروجی مستقیم مدل نیاز دارد. مثالها: چاپ کاتالوگ یا پوستر، تصاویر برای billboards، تصاویر hero برای وبسایت در ابعاد بزرگ، یا آماده سازی برای چاپ با dpi بالا.

دو روش متفاوت با نتایج متفاوت
Upscaling در ComfyUI به دو روش اصلی انجام میشود که نتایج متفاوتی میدهند:

- روش اول (AI Upscaler)، سریع و ساده است، تصویر را بزرگ میکند بدون اضافه کردن جزئیات جدید.
- روش دوم (Latent Upscale)، پیچیدهتر اما قدرتمندتر است، تصویر بزرگ میشود و مدل، جزئیات جدید به آن اضافه میکند. روش دوم، در پروژههای حرفهای استاندارد است.
مثال: مدل هوش مصنوعی Supir ، این هوش مصنوعی به شما کمک می کند تا کیفیت عکس ها را چندین برابر افزایش دهید. لطفا برای تماشا آموزش کامل کار با آن ابتدا از روشن بودن تغییر دهنده IP خود مطمئن شوید سپس به پست آموزش افزایش کیفیت عکس ها با استفاده از هوش مصنوعی از یوتیوب بیت گرف سر بزنید.
ساختار نودی — روش AI Upscaler (ساده)
Upscaling با AI Model:
- 1. Load Image → IMAGE
- 2. Load Upscale Model → UPSCALE_MODEL (مثل 4x-UltraSharp)
- 3. Image Upscale With Model (IMAGE + UPSCALE_MODEL) → IMAGE بزرگشده
- 4. (اختیاری) Image Scale → IMAGE با ابعاد دقیق 5. Save Image → ذخیره
ساختار نودی — روش Latent Upscale + Refinement (حرفهای)
Upscaling حرفهای با Refinement:
- 1. (خروجی KSampler اول) → LATENT
- 2. atent Upscale (با scale 1.5 یا 2.0) → LATENT بزرگشده
- 3. KSampler دوم (با denoise ۰.۳-۰.۵) → LATENT با جزئیات بیشتر
- 4. VAE Decode → IMAGE high-res
- 5. (اختیاری) Image Upscale With Model → افزایش رزولوشن نهایی
- 6. Save Image → ذخیره
نکتهی کلیدی روش دوم: denoise در KSampler دوم باید پایین باشد (۰.۳-۰.۵). اگر denoise بالا بگذارید، تصویر بزرگشده، با تصویر اصلی شباهت کم پیدا میکند. denoise پایین، فقط جزئیات جدید اضافه میکند بدون تغییر کلی.
نکتهی حرفهای: برای بهترین نتیجه، ترکیب هر دو روش را امتحان کنید.
اول با Latent Upscale + KSampler، رزولوشن را 2x کنید و جزئیات اضافه کنید. سپس با AI Upscaler، رزولوشن نهایی را 2x یا 4x کنید. این رویکرد دومرحلهای، بهترین تعادل بین کیفیت و سرعت را میدهد.
اشتباهات رایج Upscaling
اشتباه ۱: upscaling بدون refinement. اگر فقط با AI Upscaler بزرگ کنید، تصویر بزرگ میشود اما هیچ جزئیات جدیدی اضافه نمیشود. برای کیفیت حرفهای، Latent Upscale + KSampler دوم لازم است.
اشتباه ۲: upscale model نامناسب. هر upscale model برای یک نوع محتوا بهینه است. ESRGAN عمومی، 4x-UltraSharp برای کیفیت بالا، RealESRGAN-Anime برای انیمه. انتخاب صحیح، تفاوت زیادی در نتیجه میسازد.
اشتباه ۳: VRAM ناکافی. upscaling از سنگینترین operationها در ComfyUI است. اگر تصویر ۲K یا ۴K میسازید، VRAM شما بهسرعت پر میشود. راهحل: استفاده از نود PurgeVRAM بین مراحل، یا کاهش batch size به ۱.
الگوی ۷؛ Multi-Stage Refinement، چندین مرحلهی پالایش
Multi-Stage Refinement یک الگوی پیشرفته است که در آن چندین KSampler پشت سر هم کار میکنند تا کیفیت نهایی را به سطح حرفهای برسانند. بهجای یک KSampler با ۳۰ step، شما دو یا سه KSampler با stepهای کمتر اما با تنظیمات متفاوت دارید. هر مرحله، نقش خاصی در نتیجهی نهایی ایفا میکند.
چه زمانی استفاده کن؟
سه کاربرد اصلی:
- اول، ترکیب base و refiner در SDXL، SDXL یک مدل base و یک مدل refiner دارد که با هم استفاده میشوند.
- دوم، Hi-Res Fix — تولید تصویر اولیه در رزولوشن کم، سپس upscale + refinement.
- سوم، جزئیاتنگاری حرفهای — اعمال face detail یا hand detail با KSamplerهای اختصاصی روی نواحی خاص.
ساختار نودی — SDXL Base + Refiner
Multi-Stage Refinement (SDXL):
- 1. Load Checkpoint (Base) → MODEL_base, CLIP, VAE
- 2. Load Checkpoint (Refiner) → MODEL_refiner
- 3. CLIP Text Encode (+/-) → CONDITIONINGs
- 4. Empty Latent Image → LATENT اولیه
- 5. KSamplerAdvanced (Base، steps 0-20) → LATENT میانی
- 6. KSamplerAdvanced (Refiner، steps 20-30) → LATENT نهایی
- 7. VAE Decode → IMAGE
- 8. Save Image → ذخیره
نکتهی کلیدی:
استفاده از KSamplerAdvanced بهجای KSampler عادی. KSamplerAdvanced دو پارامتر اضافه دارد: start_at_step و end_at_step. این به شما اجازه میدهد KSampler اول از step ۰ تا ۲۰ کار کند، و KSampler دوم از step ۲۰ تا ۳۰ ادامه دهد. هر مرحله، نقش خاصی ایفا میکند.
درس کلیدی: Base model روی ساختار کلی و composition تمرکز دارد (steps اول). Refiner model روی جزئیات و کیفیت ظاهری تمرکز دارد (steps آخر). تقسیم این دو وظیفه بین دو مدل، کیفیت نهایی را بهمراتب بالاتر میبرد.

اشتباهات رایج
اشتباه ۱: استفاده از KSampler عادی بهجای Advanced. KSampler عادی، start_at_step و end_at_step ندارد. اگر چند KSampler عادی پشت سر هم بزنید، هر کدام از step ۰ شروع میکند که نتیجهی نامطلوب میدهد.
اشتباه ۲: تقسیم steps نامناسب. معمولاً ۶۰-۷۰ درصد steps به Base و ۳۰-۴۰ درصد به Refiner اختصاص داده میشود. مثلاً برای ۳۰ step کل: Base از ۰ تا ۲۰، Refiner از ۲۰ تا ۳۰.
اشتباه ۳: ناسازگاری Base و Refiner. مدل Base و Refiner باید از یک خانواده باشند (SDXL Base + SDXL Refiner، نه SDXL Base + SD1.5 Refiner). در غیر این صورت، خروجی artifacts دارد.
الگوی ۸؛ Batch Processing، پردازش چندتایی همزمان
Batch Processing برای کاربردهایی است که چندین خروجی همزمان نیاز دارید. بهجای اجرای ورکفلو ۱۰ بار با seedهای مختلف، میتوانید یکبار اجرا کنید و ۱۰ خروجی بگیرید. این الگو، در پروژههای بزرگ که نیاز به تولید سریع variations دارید، صرفهجویی زمانی چشمگیری ایجاد میکند.
چه زمانی استفاده کن؟
چهار کاربرد اصلی:
- اول، exploration تولید ۸ یا ۱۶ variation از یک پرامپت برای انتخاب بهترین.
- دوم، A/B testing سبکها تولید همزمان یک تصویر با چند سبک متفاوت.
- سوم، کمپین چندتصویری تولید چند تصویر برای social media با یک ورکفلو.
- چهارم، dataset generation اگر در حال آموزش یک LoRA یا fine-tuning هستید.
ساختار نودی
Batch Processing:
- 1. Load Checkpoint → MODEL, CLIP, VAE
- 2. CLIP Text Encode (+/-) → CONDITIONINGs
- 3. Empty Latent Image (batch_size = 4) → LATENT batch
- 4. KSampler → LATENT batch نهایی
- 5. VAE Decode → IMAGE batch
- 6. Save Image → ذخیره (همهی تصاویر batch ذخیره میشوند)
تفاوت کلیدی با الگوهای قبلی: پارامتر batch_size در Empty Latent Image. این پارامتر را روی ۲، ۴، ۸، یا حتی ۱۶ بگذارید تا چندین تصویر همزمان تولید شود. تمام نودهای بعدی، batch را بهطور همزمان پردازش میکنند.
ترفندهای پیشرفته
ترفند ۱: Latent From Batch این نود به شما اجازه میدهد یک تصویر خاص از batch را جدا کنید و بهصورت مستقل پردازش کنید. مثلاً تولید ۸ variation، انتخاب بهترین، و سپس upscale همان یک تصویر.
ترفند ۲: Rebatch Images اگر چند تصویر تک دارید، میتوانید آنها را با این نود به یک batch تبدیل کنید و بهصورت همزمان پردازش کنید. این تکنیک، در ورکفلوهای post-processing عالی است.
ترفند ۳: Wildcard prompts استفاده از custom nodeها مثل ImpactWildcard، به شما اجازه میدهد در پرامپت، چند گزینهی متفاوت بگذارید و هر تصویر در batch، یک گزینه را استفاده کند. این تکنیک برای A/B testing سبکها فوقالعاده است.

اشتباهات رایج Batch Processing
اشتباه ۱: batch_size خیلی بزرگ. هر تصویر در batch، مقداری VRAM میگیرد. اگر batch_size=16 بگذارید با یک مدل سنگین، احتمالاً OOM error میگیرید. برای SDXL، تعداد batch_size معمولاً ۲-۴ مناسب است. برای SD1.5، میتوانید تا ۸ بروید.
اشتباه ۲: seed ثابت. اگر seed را fix کنید، همهی تصاویر batch یکسان میشوند (چون مدل با همان noise شروع میکند). برای variation، seed را روی randomize بگذارید.
اشتباه ۳: Save Image با نام یکسان. ComfyUI بهصورت پیشفرض، نام فایلها را با شمارهگذاری ذخیره میکند. اما اگر بخواهید نامهای توصیفی داشته باشید، باید پارامتر filename_prefix را تنظیم کنید.

روابط بین الگوها؛ نقشهی ذهنی کامل
حالا که با هر ۸ الگو آشنا شدیم، نوبت به فهم روابط بین آنها میرسد. این الگوها در خلأ وجود ندارند، هر کدام از یک الگوی پایهتر مشتق میشود و با کنار هم گذاشتنشان، میتوانیم نقشهی ذهنی کاملی از کل دنیای ComfyUI بسازیم.
ساختار سلسلهمراتبی
اگر دقت کنید، میبینید همهی الگوها از Basic Generation (الگوی ۱) منشعب میشوند. هر الگو، یک یا چند مرحله از Basic Generation را تغییر میدهد یا گسترش میدهد. این یعنی اگر Basic Generation را عمیقاً بفهمید، فهم بقیهی الگوها مثل اضافه کردن لایههای جدید روی یک پایه است.

جدول مقایسهای جامع
برای انتخاب الگوی مناسب در هر سناریوی واقعی، این جدول مرجع میتواند کمک کند:

بینش طلایی: در پروژههای واقعی، شما بهندرت یک الگوی خالص استفاده میکنید. اغلب اوقات، ترکیبی از چند الگو نیاز است. مثلاً برای یک پروژهی برندی: Inpainting و ControlNet + Upscaling. این ترکیبها، موضوع قسمت بعدی این سری است.
پل به قسمت ۴؛ ترکیب الگوها در عمل
شناخت ۸ الگوی این مقاله، یک سرمایهی فکری بزرگ به شما داد. اما این فقط مرحلهی اول است. واقعیت ساخت ورکفلوهای حرفهای، در ترکیب این الگوها نهفته است. در قسمت چهارم و آخر این سری، یاد میگیریم:
- چطور دو یا سه الگو را به هم بچسبانیم تا یک ورکفلوی پیچیده بسازیم.
- نقاط اتصال بین الگوها کجاست و چطور آنها را شناسایی کنیم.
- مفهوم Subgraph: چطور ورکفلوهای بزرگ را ماژولار نگه داریم.
- Debugging مرحلهای: وقتی ورکفلو پیچیده شد، چطور خطاها را پیدا کنیم.
- سناریوهای واقعی پروژههای برندی با ترکیب چند الگو.
اما قبل از آن، توصیهی مهم: هر ۸ الگوی این مقاله را بهصورت جداگانه تمرین کنید. با هر کدام، حداقل یک پروژهی کوچک انجام دهید. این تجربهی مستقیم، کلید آمادگی برای قسمت ۴ است.
سؤالات متداول
از کدام الگو شروع کنم؟
اگر تازهکار هستید: حتماً با Basic Generation (الگو ۱) شروع کنید. ۲-۳ هفته با همین یک الگو کار کنید تا با مفاهیم پایه (CFG، steps، sampler، seed) مسلط شوید. سپس به Image-to-Image (الگو ۲) بروید. این ترتیب طبیعی، در عرض ۱-۲ ماه شما را به سطحی میرساند که میتوانید Inpainting و ControlNet را شروع کنید.
چطور بفهمم یک ورکفلوی ناآشنا کدام الگوست؟
سه نشانهی کلیدی را دنبال کنید.
- اول، نود VAE Encode دارد یا نه؟ اگر دارد، احتمالاً Image-to-Image یا Inpainting است.
- دوم، نود Apply ControlNet دارد یا نه؟ اگر دارد، ControlNet در ترکیب است.
- سوم، چند KSampler دارد؟ اگر بیشتر از یکی، احتمالاً Multi-Stage Refinement یا upscaling است.
با همین سه چک، ۸۰ درصد ورکفلوها را میتوانید سریع دستهبندی کنید.
آیا میتوان چند الگو را همزمان استفاده کرد؟
بله، و این درواقع هنر ساخت ورکفلوهای حرفهای است. ترکیب رایج: Inpainting + ControlNet (الگوی ۳ + ۴) برای ویرایش با کنترل دقیق. ترکیب پیشرفتهتر: Basic Generation + ControlNet + Multi-Stage Refinement + Upscaling. هر چه پروژه پیچیدهتر، تعداد الگوهای ترکیبی بیشتر. در قسمت ۴ این سری، چند سناریوی ترکیبی واقعی را بررسی میکنیم.
کدام الگو بیشترین VRAM میخواهد؟
Upscaling بهخصوص با Latent Upscale، سنگینترین الگوست. چون LATENT بزرگشده و KSampler دوم همزمان در حافظه نگه داشته میشوند. Multi-Stage Refinement هم سنگین است چون دو مدل (Base + Refiner) باید همزمان لود باشند. سبکترین الگو: Basic Generation با ابعاد کم. برای کارتهای گرافیک با VRAM پایین (۸ گیگابایت یا کمتر)، روی Basic Generation و Image-to-Image تمرکز کنید، یا از مدلهای کوانتایز شده (GGUF) استفاده کنید.
آیا این الگوها برای مدلهای ویدیویی هم کار میکنند؟
بله، با کمی تطبیق. در مدلهای ویدیویی (مثل LTX-Video، CogVideoX، Wan)، همان الگوهای پایه وجود دارد. فقط نام نودها متفاوت است. مثلاً بهجای VAE Encode، نود LTXV Encode دارید. بهجای KSampler، نود LTXV Sampler. بهجای IMAGE خروجی، یک batch از IMAGEها (فریمها) خروجی میگیرید. منطق پایه یکی است، که در قسمت اول این سری به آن اشاره کردیم.
چرا Inpainting گاهی نتیجهی نامطلوب میدهد؟
چهار دلیل رایج: اول، ماسک نامناسب (خیلی کوچک، خیلی بزرگ، یا با لبههای تیز). دوم، مدل غلط (استفاده از مدل عادی بهجای inpainting model). سوم، denoise نامناسب (خیلی پایین = تغییری ایجاد نمیشود، خیلی بالا = نتیجه نامرتبط). چهارم، پرامپت کلی (پرامپت باید فقط ناحیهی ماسک را توصیف کند). با اصلاح این چهار مورد، ۹۰ درصد مشکلات Inpainting حل میشود.
جمعبندی؛ از الگو به مهارت
در این مقاله، با ۸ الگوی استاندارد ComfyUI آشنا شدیم. کتابخانهای از راهحلهای تکراری برای مسائل تکراری. این الگوها، در ۹۰ درصد پروژههای ComfyUI کاربرد دارند و اگر آنها را مسلط شوید، میتوانید با اطمینان وارد هر پروژهای شوید.
اگر یک پیام کلیدی از این مقاله باید با خود ببرید، این است: الگوها چارچوب فکری شما هستند، نه قفل خلاقیت. وقتی الگوها را میشناسید، میتوانید سریعتر تصمیم بگیرید، با اعتماد به نفس بیشتر کار کنید، و انرژی ذهنی خود را به جای پیدا کردن «چه نودی»، روی «چه ایدهای» متمرکز کنید. این تفاوت بین یک مهندس workflow و یک هنرمند workflow است.
توصیهی نهایی: همین این هفته، یک پروژهی کوچک با هر کدام از ۸ الگو امتحان کنید. میتوانید یک تصویر مرجع را با هر ۸ الگو پردازش کنید تا تفاوتها را به چشم خود ببینید. این تمرین، در عرض چند ساعت، چشمان شما را به سطحی میرساند که میتوانید الگوها را در ذهن خود روشن ببینید. آمادهاید برای قسمت ۴ این سری: ترکیب الگوها و ساخت ورکفلوهای پیچیدهی واقعی؟
در قسمت بعدی این سری: «ترکیب الگوها و ساخت ورکفلوهای پیچیده در ComfyUI» در قسمت ۴ و آخر سری، یاد میگیریم چطور ۲-۳ الگو را با هم ترکیب کنیم تا workflowهای واقعی پروژههای برندی بسازیم. سناریوهای دنیای واقعی، Subgraph برای ماژولار کردن، Debugging پیشرفته، و تکنیکهای پایانبندی حرفهای.





گفتگو و سوالات شما
۰در این قسمت میتوانید سوال یا نظر خود در مورد مقاله را مطرح کنید.
برای ثبت دیدگاه ابتدا وارد شوید
ورود به حسابهنوز دیدگاهی ثبت نشده. اولین نفر باشید!