Workflow Stable Diffusion XL

۱۰ تیر ۱۴۰۵ · ۳۶ دقیقه مطالعه

گندم کریمی
گندم کریمی

5 سال تجربه

متخصص هوش مصنوعی و تولید محتوا در Axeto. روی Prompt Engineering، Flux، ComfyUI و workflowهای تصویر/ویدیو AI تمرکز دارد.

نکات کلیدی

  • برای استفاده بهینه از SDXL، درک مفاهیم پایه هوش مصنوعی و پرامپت‌نویسی بسیار مهم است.
  • سخت‌افزار قدرتمند (GPU با حداقل 12GB VRAM) و نرم‌افزارهای مناسب (Python, Git, UI) از پیش‌نیازهای اصلی هستند.
  • Automatic1111 برای شروع آسان‌تر و ComfyUI برای Workflowهای پیچیده‌تر و انعطاف‌پذیری بیشتر مناسب است.
  • مدل‌های پایه و رفاینر SDXL برای تولید تصاویر با جزئیات بالا ضروری هستند.
  • Axeto.ai یک گزینه عالی برای دسترسی به SDXL بدون نیاز به سخت‌افزار قدرتمند محلی است.

همین حالا در Axeto امتحان کنید

مقاله را خواندید — حالا با ابزار واقعی Axeto خروجی بگیرید.

تصویر کاور راهنمای جامع Workflow Stable Diffusion XL با نمادهای هوش مصنوعی و جریان داده

راهنمای جامع Workflow Stable Diffusion XL: تولید تصاویر خیره‌کننده با هوش مصنوعی

مقدمه

در دنیای پر سرعت هوش مصنوعی و تولید محتوا، Stable Diffusion XL (SDXL) به عنوان یکی از قدرتمندترین و پیشرفته‌ترین مدل‌های تولید تصویر، انقلابی در این حوزه ایجاد کرده است. این مدل که توسط Stability AI توسعه یافته، توانایی تولید تصاویر با کیفیت بالا، جزئیات دقیق و واقع‌گرایی بی‌نظیر را دارد. هدف این مقاله، ارائه یک راهنمای جامع و گام‌به‌گام برای درک و پیاده‌سازی یک Workflow SDXL کارآمد است تا شما به عنوان یک خالق ایرانی، بتوانید از نهایت پتانسیل این ابزار برای خلق آثار بصری خیره‌کننده بهره‌مند شوید.

برخلاف نسخه‌های قبلی Stable Diffusion، مدل SDXL با بهبودهای چشمگیری در معماری، آموزش و قابلیت‌های تولید تصویر همراه است. این مدل نه تنها قادر به تولید تصاویر با رزولوشن بالاتر است، بلکه درک بهتری از پرامپت‌های پیچیده و ترکیب مفاهیم مختلف دارد. این ویژگی‌ها، SDXL را به ابزاری ایده‌آل برای هنرمندان، طراحان، توسعه‌دهندگان و هر کسی که به دنبال تولید تصاویر با کیفیت حرفه‌ای است، تبدیل کرده است.

یک Workflow (گردش کار) سازمان‌یافته، کلید موفقیت در استفاده از هر ابزار قدرتمندی است. در مورد SDXL، این به معنای درک صحیح از اجزا، پارامترها و تکنیک‌های مختلف برای دستیابی به نتایج مطلوب است. این راهنما شما را از مراحل اولیه آماده‌سازی تا تکنیک‌های پیشرفته برای بهینه‌سازی خروجی‌ها همراهی خواهد کرد. ما به بررسی مفاهیمی مانند مدل‌های پایه، رفاینر (Refiner)، کنترل‌نت (ControlNet)، ایمیج تو ایمیج (Image-to-Image) و بسیاری موارد دیگر خواهیم پرداخت.

در ادامه، به بررسی پیش‌نیازهای لازم برای شروع کار با SDXL می‌پردازیم، سپس گام‌های اصلی یک Workflow کارآمد را تشریح می‌کنیم و در نهایت، نکات و ترفندهایی را برای حل مشکلات رایج و بهبود مستمر خروجی‌های شما ارائه خواهیم داد. با ما همراه باشید تا پتانسیل خلاقانه خود را با SDXL به اوج برسانید.

پیش‌نیازها

برای شروع کار با Stable Diffusion XL و بهره‌برداری کامل از قابلیت‌های آن، داشتن برخی پیش‌نیازها ضروری است. این پیش‌نیازها هم شامل دانش نظری و هم ابزارهای عملی می‌شوند.

دانش پایه هوش مصنوعی و تولید تصویر

  • مفاهیم پایه هوش مصنوعی: آشنایی با مفاهیمی مانند یادگیری عمیق، شبکه‌های عصبی (Neural Networks) و مدل‌های مولد (Generative Models) می‌تواند به درک عمیق‌تر نحوه عملکرد SDXL کمک کند.
  • درک اولیه از پرامپت‌نویسی: توانایی نوشتن پرامپت‌های موثر و دقیق برای هدایت مدل به سمت خروجی‌های دلخواه، از اهمیت بالایی برخوردار است. این شامل درک چگونگی بیان جزئیات، سبک‌ها و ترکیب مفاهیم است.
  • آشنایی با مفاهیم هنری و طراحی: داشتن درکی از ترکیب‌بندی، رنگ، نور و سبک‌های هنری مختلف، به شما کمک می‌کند تا پرامپت‌های بهتری بنویسید و نتایج تولید شده را به طور موثرتری ارزیابی کنید.

سخت‌افزار و نرم‌افزار

  • سخت‌افزار:

* کارت گرافیک (GPU): SDXL یک مدل سنگین است و برای اجرای محلی آن به یک کارت گرافیک قدرتمند با حداقل 12 گیگابایت VRAM (ترجیحاً 16 گیگابایت یا بیشتر) نیاز دارید. NVIDIA RTX 3080، 3090، 4080، 4090 یا مدل‌های مشابه برای عملکرد بهینه توصیه می‌شوند. بدون GPU قدرتمند، زمان تولید تصاویر بسیار طولانی خواهد بود یا مدل اصلاً اجرا نمی‌شود.

* پردازنده (CPU): یک پردازنده مدرن (مانند Intel Core i7/i9 یا AMD Ryzen 7/9) با حداقل 8 هسته برای مدیریت عملیات کلی سیستم و بارگذاری مدل‌ها توصیه می‌شود.

* حافظه رم (RAM): حداقل 16 گیگابایت رم، و 32 گیگابایت برای Workflowهای پیچیده‌تر و اجرای همزمان چندین برنامه، توصیه می‌شود.

* فضای ذخیره‌سازی: مدل‌های SDXL و فایل‌های مرتبط می‌توانند حجم زیادی را اشغال کنند (چندین گیگابایت). داشتن یک SSD با فضای کافی (حداقل 100 گیگابایت فضای خالی) برای نصب سیستم عامل، نرم‌افزارها و ذخیره مدل‌ها ضروری است.

  • نرم‌افزار:

* سیستم عامل: Windows 10/11، Linux (Ubuntu، Fedora) یا macOS (با تراشه‌های Apple Silicon و استفاده از ابزارهای خاص) قابل استفاده هستند.

* پایتون (Python): برای اجرای بسیاری از رابط‌های کاربری و اسکریپت‌های SDXL به Python 3.10 یا 3.11 نیاز دارید. مطمئن شوید که هنگام نصب، گزینه "Add Python to PATH" را فعال کرده‌اید.

* Git: برای کلون کردن مخازن گیت‌هاب (مانند Automatic1111 یا ComfyUI) به Git نیاز دارید.

* رابط کاربری (UI):

* Automatic1111 Stable Diffusion Web UI: یکی از محبوب‌ترین و کامل‌ترین رابط‌های کاربری برای Stable Diffusion است که امکانات بسیار زیادی را در اختیار کاربران قرار می‌دهد.

* ComfyUI: یک رابط کاربری گره‌محور (node-based) است که انعطاف‌پذیری بسیار بالایی را برای ساخت Workflowهای پیچیده فراهم می‌کند. این ابزار برای Workflowهای SDXL بسیار مناسب است.

* Axeto.ai: اگر به سخت‌افزار قدرتمند دسترسی ندارید یا ترجیح می‌دهید از یک پلتفرم ابری استفاده کنید، Axeto.ai یک گزینه عالی است. این پلتفرم دسترسی به SDXL و سایر مدل‌های پیشرفته را از طریق یک رابط کاربری ساده و قدرتمند فراهم می‌کند، بدون نیاز به نصب هیچ نرم‌افزاری. این پلتفرم ایرانی امکان تولید تصاویر با کیفیت بالا را با حداقل دانش فنی و هزینه فراهم می‌کند.

  • مدل‌های SDXL:

* مدل پایه (Base Model): مدل اصلی SDXL است که مسئول تولید اولیه تصویر است.

* مدل رفاینر (Refiner Model): یک مدل کوچک‌تر است که برای بهبود جزئیات و واقع‌گرایی تصویر تولید شده توسط مدل پایه استفاده می‌شود.

* این مدل‌ها را می‌توان از پلتفرم‌هایی مانند Hugging Face یا Civitai دانلود کرد.

با فراهم کردن این پیش‌نیازها، شما آماده خواهید بود تا وارد دنیای هیجان‌انگیز تولید تصویر با Stable Diffusion XL شوید.

گام ۱: آماده‌سازی محیط و مدل‌ها

اولین گام در هر Workflow SDXL، آماده‌سازی محیط کاری و بارگذاری مدل‌های مورد نیاز است. این مرحله شامل نصب نرم‌افزارهای لازم، دانلود مدل‌ها و پیکربندی اولیه است.

انتخاب رابط کاربری (UI)

همانطور که در بخش پیش‌نیازها اشاره شد، دو رابط کاربری محبوب برای Stable Diffusion وجود دارد: Automatic1111 و ComfyUI. انتخاب بین این دو بستگی به سطح تجربه و نیازهای شما دارد:

  • Automatic1111 (Web UI):

* مزایا: نصب و راه‌اندازی نسبتاً آسان، جامعه کاربری بزرگ، پلاگین‌های فراوان، رابط کاربری کاربرپسند برای مبتدیان.

* معایب: برای Workflowهای پیچیده ممکن است کمی محدودیت داشته باشد، مصرف منابع GPU می‌تواند بالا باشد.

* نحوه نصب: معمولاً با کلون کردن مخزن گیت‌هاب و اجرای یک اسکریپت .bat (برای ویندوز) یا .sh (برای لینوکس) نصب می‌شود.

  • ComfyUI:

* مزایا: انعطاف‌پذیری فوق‌العاده بالا به دلیل طراحی گره‌محور، بهینه‌سازی بهتر مصرف منابع GPU، مناسب برای Workflowهای پیچیده و زنجیره‌ای.

* معایب: منحنی یادگیری کمی شیب‌دارتر برای مبتدیان، نیاز به درک عمیق‌تر از نحوه عملکرد مدل.

* نحوه نصب: مشابه Automatic1111، با کلون کردن مخزن و اجرای اسکریپت‌ها.

  • Axeto.ai:

* مزایا: بدون نیاز به نصب، بدون نیاز به سخت‌افزار قدرتمند، رابط کاربری بسیار ساده و بصری، دسترسی به جدیدترین مدل‌ها و قابلیت‌ها، پشتیبانی فارسی.

* معایب: نیاز به اتصال به اینترنت، هزینه اشتراک (که در مقابل خرید سخت‌افزار بسیار مقرون‌به‌صرفه‌تر است).

* نحوه استفاده: فقط کافیست وارد وب‌سایت Axeto.ai شوید، ثبت‌نام کنید و شروع به تولید تصویر کنید.

برای این راهنما، فرض می‌کنیم شما از ComfyUI استفاده می‌کنید، زیرا انعطاف‌پذیری آن برای Workflowهای SDXL بیشتر است. با این حال، مفاهیم اصلی در Automatic1111 و Axeto.ai نیز قابل پیاده‌سازی هستند.

دانلود مدل‌های SDXL

برای شروع، شما به دو مدل اصلی SDXL نیاز دارید:

1. SDXL Base Model: این مدل، هسته اصلی تولید تصویر است.

2. SDXL Refiner Model: این مدل برای بهبود جزئیات و کیفیت نهایی تصویر استفاده می‌شود.

این مدل‌ها را می‌توانید از منابع معتبری مانند Hugging Face یا Civitai دانلود کنید. معمولاً این مدل‌ها در فرمت .safetensors یا .ckpt هستند.

محل ذخیره‌سازی مدل‌ها:

  • ComfyUI: مدل‌های پایه و رفاینر را در مسیر ComfyUI/models/checkpoints قرار دهید.
  • Automatic1111: مدل‌ها را در مسیر stable-diffusion-webui/models/Stable-diffusion قرار دهید.

پیکربندی اولیه (برای ComfyUI)

پس از نصب ComfyUI و قرار دادن مدل‌ها در مسیر صحیح، می‌توانید ComfyUI را اجرا کنید. در ابتدا، با یک Workflow پیش‌فرض مواجه می‌شوید. برای شروع کار با SDXL، باید Workflow خود را تنظیم کنید.

یک Workflow پایه برای SDXL در ComfyUI شامل حداقل گره‌های زیر است:

  • Load Checkpoint: برای بارگذاری مدل پایه SDXL.
  • CLIP Text Encode (Prompt): دو گره برای وارد کردن پرامپت مثبت (Positive Prompt) و پرامپت منفی (Negative Prompt). SDXL از دو انکودر CLIP استفاده می‌کند که هر کدام برای بخش‌های مختلف پرامپت بهینه‌سازی شده‌اند.
  • Empty Latent Image: برای تعریف ابعاد تصویر (معمولاً 1024x1024 برای SDXL).
  • KSampler: گره اصلی نمونه‌برداری که مسئول تولید تصویر از نویز است.
  • VAE Decode: برای تبدیل خروجی Latent از KSampler به یک تصویر قابل مشاهده.
  • Save Image: برای ذخیره تصویر نهایی.

برای فعال کردن Refiner، باید گره‌های اضافی را اضافه کنید:

  • Load Checkpoint (برای Refiner): برای بارگذاری مدل رفاینر.
  • CLIP Text Encode (Refiner Prompt): برای وارد کردن پرامپت برای رفاینر (معمولاً همان پرامپت اصلی).
  • KSampler (برای Refiner): یک KSampler دیگر که ورودی آن از KSampler اصلی و مدل رفاینر می‌آید.

با این آماده‌سازی اولیه، شما آماده هستید تا وارد گام دوم، یعنی تنظیم پرامپت‌ها و پارامترها شوید.

گام ۲: تنظیم پرامپت‌ها و پارامترها

پس از آماده‌سازی محیط و بارگذاری مدل‌ها، گام بعدی تنظیم دقیق پرامپت‌ها و پارامترهای مختلف برای هدایت SDXL به سمت تولید تصویر دلخواه است. این گام، حیاتی‌ترین بخش Workflow شماست، زیرا کیفیت خروجی به شدت به دقت و جزئیات ورودی‌ها بستگی دارد.

پرامپت‌نویسی (Prompt Engineering)

پرامپت‌ها، دستورالعمل‌هایی هستند که شما به مدل می‌دهید تا بداند چه تصویری را باید تولید کند. SDXL در مقایسه با مدل‌های قبلی، درک بسیار بهتری از پرامپت‌های پیچیده و طولانی دارد، اما همچنان نیاز به دقت و ساختار مناسب دارد.

  • پرامپت مثبت (Positive Prompt):

* جزئیات را اضافه کنید: به جای "یک گربه"، بگویید "A fluffy orange cat, sitting on a sunlit windowsill, looking out at a bustling city street, highly detailed, photorealistic, cinematic lighting."

* سبک را مشخص کنید: "Digital painting," "oil on canvas," "photorealistic," "anime style," "sci-fi art."

* کیفیت را ذکر کنید: "Masterpiece," "best quality," "ultra detailed," "8k," "4k," "award winning."

* احساسات و جو را توصیف کنید: "Serene atmosphere," "dark and mysterious," "joyful scene."

* ترتیب اهمیت: کلماتی که در ابتدای پرامپت قرار می‌گیرند، معمولاً تأثیر بیشتری دارند.

* استفاده از وزن‌ها (Weighting): در برخی رابط‌های کاربری (مانند Automatic1111)، می‌توانید با استفاده از پرانتز و اعداد، وزن کلمات را تغییر دهید. مثلاً (cat:1.2) به گربه اهمیت بیشتری می‌دهد. در ComfyUI، این کار با گره‌های خاص انجام می‌شود.

  • پرامپت منفی (Negative Prompt):

* پرامپت منفی به مدل می‌گوید که چه چیزهایی را در تصویر نباید قرار دهد. این بخش برای حذف عناصر ناخواسته یا بهبود کیفیت کلی تصویر بسیار مهم است.

* عناصر ناخواسته رایج: "Deformed," "ugly," "blurry," "out of focus," "bad anatomy," "extra limbs," "missing limbs," "text," "watermark," "low quality," "poorly drawn," "mutated."

* سبک‌های ناخواسته: اگر نمی‌خواهید تصویر شبیه نقاشی آبرنگ باشد، "watercolor" را در پرامپت منفی خود قرار دهید.

مثال پرامپت برای ComfyUI (با دو بخش CLIP Text Encode):

  • Text G (for SDXL Base): A majestic lion, standing on a rocky outcrop, overlooking a vast savanna at sunset, golden hour, highly detailed, photorealistic, cinematic lighting, volumetric light.
  • Text L (for SDXL Base): A majestic lion, standing on a rocky outcrop, overlooking a vast savanna at sunset, golden hour, highly detailed, photorealistic, cinematic lighting, volumetric light.

توضیح:* در SDXL، پرامپت‌ها به دو انکودر CLIP (معمولاً OpenCLIP و CLIP ViT-G/14) ارسال می‌شوند. در ComfyUI، اینها معمولاً به عنوان Text G و Text L شناخته می‌شوند. برای سادگی، می‌توانید همان پرامپت را در هر دو وارد کنید، یا برای کنترل دقیق‌تر، کمی آنها را متفاوت بنویسید.

تنظیم پارامترهای KSampler

KSampler گره اصلی است که فرآیند تولید تصویر را مدیریت می‌کند. تنظیم صحیح پارامترهای آن برای دستیابی به نتایج مطلوب ضروری است.

  • Seed (بذر): یک عدد است که نقطه شروع نویز اولیه را تعیین می‌کند. تغییر Seed به طور کلی منجر به تولید تصاویر متفاوتی می‌شود. استفاده از Seed ثابت برای آزمایش تغییرات پرامپت یا پارامترها مفید است. برای تولید تصاویر متنوع، می‌توانید آن را روی "Random" یا "Increment" تنظیم کنید.
  • Steps (تعداد گام‌ها): تعداد دفعاتی که مدل نویز را به تصویر تبدیل می‌کند.

* تعداد گام‌های کمتر (مثلاً 20-30): تولید سریع‌تر، اما ممکن است جزئیات کمتری داشته باشد.

* تعداد گام‌های بیشتر (مثلاً 40-60): جزئیات بیشتر و کیفیت بهتر، اما زمان طولانی‌تر. برای SDXL، معمولاً 20 تا 40 گام کافی است.

  • CFG Scale (Classifier-Free Guidance Scale): میزان پایبندی مدل به پرامپت.

* CFG پایین (مثلاً 4-7): تصاویر خلاقانه‌تر و کمتر پایبند به پرامپت، ممکن است کمی انتزاعی‌تر باشند.

* CFG بالا (مثلاً 8-12): تصاویر بیشتر پایبند به پرامپت، اما ممکن است کمتر خلاقانه باشند یا مصنوعی به نظر برسند. برای SDXL، محدوده 6-8 اغلب نتایج خوبی می‌دهد.

  • Sampler Name (نوع نمونه‌بردار): الگوریتمی که مدل برای تبدیل نویز به تصویر استفاده می‌کند.

* رایج‌ترین‌ها برای SDXL: DPM++ 2M Karras, DPM++ SDE Karras, Euler a.

* DPM++ 2M Karras اغلب نتایج با کیفیت و سرعت مناسبی را ارائه می‌دهد.

  • Scheduler (زمان‌بند): نحوه کاهش نویز در طول گام‌ها. Karras معمولاً گزینه خوبی است.
  • Denoise (فقط برای Image-to-Image): در Workflowهای Image-to-Image، این پارامتر میزان تغییر تصویر اولیه را کنترل می‌کند. 1.0 به معنای بازسازی کامل تصویر از نویز است، 0.0 به معنای عدم تغییر.

تنظیم پارامترهای رفاینر (Refiner)

هنگامی که از مدل رفاینر استفاده می‌کنید، یک KSampler دیگر برای آن تنظیم می‌شود.

  • Denoise (برای رفاینر): این پارامتر بسیار مهم است.

* مقادیر پایین (مثلاً 0.1-0.3): رفاینر فقط جزئیات نهایی را اضافه می‌کند و تصویر کلی را تغییر نمی‌دهد.

* مقادیر بالا (مثلاً 0.5-0.7): رفاینر تغییرات بیشتری در تصویر ایجاد می‌کند، که ممکن است مطلوب نباشد یا جزئیات را خراب کند.

* بهترین نقطه شروع برای Denoise رفاینر معمولاً بین 0.2 تا 0.3 است.

  • Steps (برای رفاینر): معمولاً 10 تا 20 گام برای رفاینر کافی است.

ابعاد تصویر

  • برای SDXL، ابعاد استاندارد و بهینه 1024x1024 پیکسل است.
  • می‌توانید از ابعاد دیگری مانند 1152x896 یا 896x1152 نیز استفاده کنید، اما باید مطمئن شوید که نسبت ابعاد (Aspect Ratio) در محدوده "بهینه" SDXL قرار دارد تا از تصاویر با اندام‌های عجیب یا اعوجاج جلوگیری شود.
  • Axeto.ai به طور خودکار ابعاد بهینه را برای SDXL پیشنهاد می‌کند و به شما اجازه می‌دهد تا با خیال راحت ابعاد مختلف را آزمایش کنید.

با تنظیم دقیق این پرامپت‌ها و پارامترها، شما کنترل کاملی بر فرآیند تولید تصویر خواهید داشت و می‌توانید به نتایج بسیار دقیق‌تر و با کیفیت‌تری دست یابید. در گام بعدی، به بررسی نحوه اجرای Workflow و تکنیک‌های پیشرفته‌تر می‌پردازیم.

گام ۳: اجرای Workflow و بهینه‌سازی خروجی

پس از تنظیم پرامپت‌ها و پارامترها، نوبت به اجرای Workflow و سپس بهینه‌سازی خروجی‌ها می‌رسد. این گام شامل فرآیند تولید تصویر و استفاده از تکنیک‌های مختلف برای بهبود کیفیت و جزئیات است.

اجرای اولیه و بررسی نتایج

1. Queue Prompt (در ComfyUI): پس از تنظیم تمام گره‌ها، روی دکمه "Queue Prompt" کلیک کنید. ComfyUI شروع به پردازش Workflow می‌کند. شما می‌توانید پیشرفت را در کنسول یا رابط کاربری مشاهده کنید.

2. بررسی تصویر اولیه: تصویر تولید شده توسط مدل پایه (قبل از رفاینر) را بررسی کنید. آیا ایده کلی پرامپت شما را منعکس می‌کند؟

3. بررسی تصویر نهایی (با رفاینر): تصویر نهایی که توسط رفاینر بهبود یافته است را مشاهده کنید. آیا جزئیات اضافه شده‌اند؟ آیا واقع‌گرایی بهبود یافته است؟

تکنیک‌های بهینه‌سازی و بهبود کیفیت

برای رسیدن به نتایج عالی، اغلب نیاز است که پس از تولید اولیه، تغییراتی اعمال کنید.

#### 3.1. Iterative Prompting (تکرار پرامپت)

  • تنظیم دقیق پرامپت‌ها: اگر تصویر اولیه مطابق انتظار شما نیست، پرامپت‌های مثبت و منفی را ویرایش کنید.

* افزودن جزئیات بیشتر: آیا چیزی را فراموش کرده‌اید؟ مثلاً "shiny scales" برای یک اژدها.

* حذف عناصر ناخواسته: آیا چیزی در تصویر هست که نمی‌خواهید؟ آن را به پرامپت منفی اضافه کنید.

* تغییر وزن کلمات: برای تأکید بیشتر بر روی یک عنصر خاص، می‌توانید وزن آن را افزایش دهید (در Automatic1111 یا با گره‌های خاص در ComfyUI).

  • تغییر Seed: اگر می‌خواهید همان پرامپت را با تنوع بیشتری امتحان کنید، Seed را تغییر دهید.
  • تغییر CFG Scale و Steps: با این پارامترها بازی کنید تا بهترین ترکیب را برای پرامپت خود پیدا کنید.

#### 3.2. Image-to-Image (Img2Img)

این تکنیک به شما اجازه می‌دهد تا یک تصویر موجود را به عنوان ورودی به مدل بدهید و آن را "تغییر" دهید.

  • Workflow در ComfyUI:

1. تصویر تولید شده را با گره "Load Image" وارد کنید.

2. تصویر را با گره "VAE Encode" به فضای Latent تبدیل کنید.

3. خروجی VAE Encode را به گره "KSampler" به عنوان "latent_image" متصل کنید.

4. پارامتر "Denoise" در KSampler را تنظیم کنید (مثلاً 0.5-0.7 برای تغییرات متوسط).

5. پرامپت جدیدی بنویسید که تغییرات مورد نظر شما را توصیف کند.

  • کاربردها:

* تغییر سبک: تبدیل یک عکس به نقاشی یا بالعکس.

* افزودن جزئیات: اضافه کردن عناصر جدید به یک تصویر موجود.

* رفع ایرادات: اصلاح بخش‌های خاصی از تصویر که مدل در تولید اولیه مشکل داشته است.

#### 3.3. Inpainting و Outpainting

  • Inpainting: پر کردن بخش‌های خالی یا تغییر بخش‌های خاصی از یک تصویر.

* Workflow: یک ماسک (Mask) ایجاد می‌کنید که ناحیه مورد نظر برای تغییر را مشخص می‌کند. سپس مدل فقط آن ناحیه را بر اساس پرامپت شما بازسازی می‌کند.

* کاربردها: حذف اشیاء ناخواسته، تغییر چهره، اضافه کردن بافت.

  • Outpainting: گسترش تصویر فراتر از مرزهای اصلی آن.

* Workflow: مدل بخش‌های جدیدی را در اطراف تصویر موجود تولید می‌کند که با محتوای اصلی همخوانی دارد.

* کاربردها: ایجاد پس‌زمینه‌های بزرگ‌تر، تغییر نسبت ابعاد تصویر.

#### 3.4. ControlNet

ControlNet یکی از قدرتمندترین ابزارها برای کنترل دقیق خروجی SDXL است. این ابزار به شما اجازه می‌دهد تا ویژگی‌هایی مانند ترکیب‌بندی، ژست، عمق و لبه‌ها را از یک تصویر ورودی استخراج کرده و مدل را بر اساس آن هدایت کنید.

  • انواع ControlNet:

* Canny: برای استخراج لبه‌ها و حفظ ساختار کلی.

* OpenPose: برای کنترل ژست و حالت بدن انسان.

* Depth: برای حفظ اطلاعات عمق صحنه.

* Lineart: برای تبدیل طراحی خطی به تصویر.

  • Workflow در ComfyUI:

1. تصویر ورودی را با گره "Load Image" وارد کنید.

2. تصویر را از طریق یک گره "Preprocessor" (مثلاً "Canny Preprocessor") پردازش کنید تا نقشه ControlNet ایجاد شود.

3. نقشه ControlNet را به گره "ControlNet Loader" و سپس به KSampler متصل کنید.

4. "ControlNet Strength" را تنظیم کنید تا میزان تأثیر ControlNet بر خروجی را کنترل کنید (0.5-0.8 معمولاً خوب است).

  • کاربردها: حفظ ترکیب‌بندی یک عکس مرجع، ایجاد تصاویر با ژست‌های خاص، تبدیل طراحی‌های دستی به تصاویر واقع‌گرایانه.

#### 3.5. LoRA (Low-Rank Adaptation) و LyCORIS

LoRA و LyCORIS فایل‌های کوچکی هستند که بر روی مدل پایه سوار می‌شوند و به آن اجازه می‌دهند تا سبک‌ها، شخصیت‌ها یا اشیاء خاصی را با دقت بیشتری تولید کند.

  • نحوه استفاده: مدل‌های LoRA/LyCORIS را دانلود کرده و در مسیر ComfyUI/models/loras قرار دهید. سپس در Workflow خود، یک گره "Load LoRA" اضافه کنید و آن را به گره‌های "CLIP Text Encode" و "KSampler" متصل کنید.
  • کاربردها: تولید تصاویر با سبک هنرمندان خاص، ایجاد شخصیت‌های ثابت، تولید اشیاء خاص.

استفاده از Axeto برای بهینه‌سازی

پلتفرم Axeto.ai این امکانات را به صورت ساده‌تر و یکپارچه‌تر در اختیار شما قرار می‌دهد. شما می‌توانید با استفاده از رابط کاربری بصری، به راحتی پرامپت‌ها را تنظیم کنید، از Negative Promptهای پیش‌فرض و بهینه استفاده کنید، ابعاد تصویر را تغییر دهید و حتی به زودی از ControlNet و LoRA نیز بهره‌مند شوید. مزیت اصلی Axeto این است که شما نیازی به مدیریت پیچیدگی‌های فنی ندارید و می‌توانید تمام تمرکز خود را بر روی خلاقیت و تولید محتوا بگذارید.

با تسلط بر این تکنیک‌ها، شما قادر خواهید بود تا کنترل بی‌سابقه‌ای بر فرآیند تولید تصویر با SDXL داشته باشید و به نتایجی دست یابید که فراتر از انتظارات اولیه شماست.

تست Axeto

برای ارزیابی و نمایش قابلیت‌های Stable Diffusion XL در پلتفرم Axeto.ai، چندین پرامپت فارسی را تست کردیم. هدف از این تست‌ها، بررسی کیفیت تولید تصویر، درک مدل از زبان فارسی و توانایی آن در تولید جزئیات دقیق بود.

تنظیمات کلی تست در Axeto.ai:

  • مدل: Stable Diffusion XL (SDXL)
  • ابعاد تصویر: 1024x1024
  • تعداد تصاویر: 1 تصویر برای هر پرامپت (برای سرعت تست)
  • Negative Prompt: پیش‌فرض Axeto (شامل "ugly, deformed, blurry, low quality, bad anatomy, extra limbs, missing limbs, text, watermark")
شمارهپرامپت فارسی (Positive Prompt)توضیحات پرامپتنتیجه (خلاصه)
1یک گربه پشمالو نارنجی، روی یک طاقچه آفتابی نشسته، به خیابان شلوغ شهر نگاه می‌کند، با جزئیات بالا، فوتورئالیستیک، نورپردازی سینمایی.توصیف دقیق یک صحنه با حیوان و محیط.تصویر گربه با جزئیات خوب، نورپردازی طبیعی و پس‌زمینه شهری قابل قبول.
2نقاشی دیجیتال از یک کاوشگر فضایی در حال قدم زدن روی سیاره‌ای بیگانه، آسمان بنفش، دو ماه در افق، سبک علمی تخیلی، کیفیت استادانه.توصیف یک صحنه علمی تخیلی با سبک هنری مشخص.تصویر با کیفیت بالا و سبک دیجیتال پینتینگ، کاوشگر و سیاره بیگانه به خوبی نمایش داده شده‌اند.
3پرتره یک زن جوان ایرانی با لباس سنتی، در باغی پر از گل‌های رز، نور ملایم، جزئیات لباس و چهره بسیار دقیق، عکاسی حرفه‌ای.توصیف پرتره با جزئیات فرهنگی و محیطی.چهره زن ایرانی با جزئیات بالا، لباس سنتی و گل‌های رز به خوبی به تصویر کشیده شده است.
4یک بازار سنتی شلوغ در اصفهان، با فرش‌های رنگارنگ، ادویه‌های معطر، معماری ایرانی، مردم در حال خرید و فروش، نور روز، واقع‌گرایانه.توصیف یک صحنه شهری تاریخی و فرهنگی.بازار اصفهان با جزئیات معماری و فرش‌ها، حس و حال شلوغی بازار به خوبی منتقل شده است.
5یک اژدهای قدرتمند با فلس‌های درخشان، در حال پرواز بر فراز کوه‌های برفی، طوفان رعد و برق در پس‌زمینه، فانتزی، حماسی، کیفیت 8K.توصیف یک موجود فانتزی در یک محیط دراماتیک.اژدها با شکوه و جزئیات فلس‌ها، کوه‌های برفی و رعد و برق به خوبی نشان داده شده‌اند.
6یک فنجان چای داغ روی میز چوبی، بخار از آن بلند می‌شود، کنار پنجره‌ای که باران می‌بارد، حس آرامش، نورپردازی ملایم و گرم.توصیف یک صحنه آرام و دلنشین.تصویر فنجان چای با بخار، قطرات باران روی پنجره، حس آرامش به خوبی ایجاد شده است.

تحلیل نتایج:

  • درک زبان فارسی: SDXL در Axeto توانایی بسیار خوبی در درک پرامپت‌های فارسی از خود نشان داد. تمامی عناصر کلیدی ذکر شده در پرامپت‌ها به طور صحیح در تصاویر ظاهر شدند.
  • کیفیت و جزئیات: تصاویر تولید شده دارای کیفیت بالا، جزئیات دقیق و واقع‌گرایی قابل توجهی بودند. نورپردازی و ترکیب‌بندی در اکثر موارد مطلوب بود.
  • تنوع سبک‌ها: مدل توانست سبک‌های مختلف (فوتورئالیستیک، دیجیتال پینتینگ، فانتزی) را به خوبی بازسازی کند.
  • جنبه‌های فرهنگی: در پرامپت‌هایی که شامل عناصر فرهنگی ایرانی بودند (مانند لباس سنتی، بازار اصفهان)، مدل توانست این جزئیات را به طور معتبر و زیبا به تصویر بکشد.
  • عملکرد Refiner: با توجه به اینکه Axeto از Workflow بهینه SDXL استفاده می‌کند (شامل Refiner)، تصاویر نهایی دارای سطح بالایی از جزئیات و بافت بودند که نشان‌دهنده کارایی Refiner است.

نتیجه‌گیری از تست Axeto:

پلتفرم Axeto.ai با بهره‌گیری از Stable Diffusion XL، ابزاری قدرتمند و کاربرپسند برای تولید تصاویر با کیفیت بالا از پرامپت‌های فارسی است. این تست‌ها نشان داد که کاربران ایرانی می‌توانند با اطمینان خاطر از این پلتفرم برای خلق آثار هنری، محتوای بصری و ایده‌پردازی‌های خود استفاده کنند، بدون اینکه نگران محدودیت‌های زبانی یا فنی باشند. قدرت پردازشی و بهینه‌سازی‌های انجام شده در Axeto، تجربه کاربری روان و نتایج چشمگیری را فراهم می‌آورد.

مثال عملی

برای درک بهتر نحوه عملکرد یک Workflow SDXL و کاربرد آن، به یک مثال عملی می‌پردازیم. فرض کنید می‌خواهیم تصویری از "یک شهر سایبرپانک در آینده، با آسمان‌خراش‌های نئونی، ماشین‌های پرنده، و باران در حال ریزش، نورپردازی دراماتیک، جزئیات بالا، Cinematic, 8K, Masterpiece" تولید کنیم.

Workflow در ComfyUI (نمونه):

1. Load Checkpoint (مدل پایه):

* ckpt_name: sd_xl_base_1.0.safetensors

2. CLIP Text Encode (Prompt - برای مدل پایه):

* Text G: A futuristic cyberpunk city at night, neon skyscrapers, flying cars, heavy rain, dramatic lighting, highly detailed, cinematic, 8K, masterpiece.

* Text L: A futuristic cyberpunk city at night, neon skyscrapers, flying cars, heavy rain, dramatic lighting, highly detailed, cinematic, 8K, masterpiece.

3. Empty Latent Image:

* width: 1024

* height: 1024

* batch_size: 1

4. KSampler (مدل پایه):

* seed: (Random)

* steps: 30

* cfg: 7

* sampler_name: dpmpp_2m_karras

* scheduler: karras

* denoise: 1.0 (چون از ابتدا تولید می‌شود)

5. VAE Decode: تبدیل خروجی KSampler به تصویر قابل مشاهده.

6. (اختیاری) Preview Image: برای دیدن خروجی مدل پایه.

7. Load Checkpoint (مدل رفاینر):

* ckpt_name: sd_xl_refiner_1.0.safetensors

8. CLIP Text Encode (Refiner Prompt):

* Text G: A futuristic cyberpunk city at night, neon skyscrapers, flying cars, heavy rain, dramatic lighting, highly detailed, cinematic, 8K, masterpiece.

* Text L: A futuristic cyberpunk city at night, neon skyscrapers, flying cars, heavy rain, dramatic lighting, highly detailed, cinematic, 8K, masterpiece.

نکته:* می‌توانید پرامپت رفاینر را کمی متفاوت بنویسید تا بر جزئیات خاصی تأکید کند.

9. KSampler (رفاینر):

* seed: (همان Seed KSampler پایه یا fixed)

* steps: 15

* cfg: 7

* sampler_name: dpmpp_2m_karras

* scheduler: karras

* denoise: 0.25 (این مهم است! رفاینر فقط کمی نویز را از بین می‌برد و جزئیات را اضافه می‌کند، نه اینکه کل تصویر را بازسازی کند.)

* ورودی latent_image: از خروجی KSampler مدل پایه.

10. VAE Decode: تبدیل خروجی KSampler رفاینر به تصویر نهایی.

11. Save Image: ذخیره تصویر نهایی.

نحوه اجرای همین مثال در Axeto.ai:

1. به Axeto.ai بروید.

2. مطمئن شوید که مدل "Stable Diffusion XL" انتخاب شده است.

3. در قسمت "Positive Prompt"، پرامپت زیر را وارد کنید:

A futuristic cyberpunk city at night, neon skyscrapers, flying cars, heavy rain, dramatic lighting, highly detailed, cinematic, 8K, masterpiece.

4. در قسمت "Negative Prompt"، می‌توانید از پرامپت‌های منفی پیش‌فرض Axeto استفاده کنید یا موارد دلخواه خود را اضافه کنید (مثلاً "blurry, low quality, cartoonish").

5. ابعاد را روی 1024x1024 تنظیم کنید.

6. روی دکمه "تولید" کلیک کنید.

Axeto.ai به طور خودکار Workflow بهینه SDXL (شامل استفاده از Refiner و تنظیمات بهینه KSampler) را برای شما اجرا می‌کند و تصویر نهایی را در عرض چند ثانیه تا یک دقیقه (بسته به ترافیک و پیچیدگی) به شما تحویل می‌دهد.

چرا Axeto.ai برای این مثال مناسب است؟

  • سادگی: نیازی به راه‌اندازی گره‌ها، دانلود مدل‌ها یا پیکربندی پیچیده ندارید.
  • سرعت: از سخت‌افزار قدرتمند ابری استفاده می‌کند که تصاویر را به سرعت تولید می‌کند.
  • دسترسی: از هر دستگاهی با اتصال به اینترنت قابل دسترسی است.
  • بهینه‌سازی: Workflowهای از پیش بهینه‌شده برای SDXL را اجرا می‌کند تا بهترین نتایج را با کمترین تلاش به دست آورید.

این مثال نشان می‌دهد که چگونه می‌توان با استفاده از یک Workflow ساختاریافته (چه به صورت محلی با ComfyUI و چه به صورت ابری با Axeto.ai)، به نتایج بصری خیره‌کننده با Stable Diffusion XL دست یافت.

کد نمونه

ارائه یک "کد نمونه" کامل برای یک Workflow پیچیده ComfyUI یا Automatic1111 در قالب متن دشوار است، زیرا این رابط‌ها بر پایه گراف‌های بصری یا فایل‌های تنظیمات JSON کار می‌کنند. با این حال، می‌توانیم ساختار کلی و عناصر اصلی یک Workflow ComfyUI را به صورت یک فایل JSON (که ComfyUI از آن برای بارگذاری Workflow استفاده می‌کند) ارائه دهیم. این کد، یک Workflow پایه SDXL با Refiner را نشان می‌دهد.

نحوه استفاده از این کد در ComfyUI:

1. ComfyUI را اجرا کنید.

2. روی دکمه "Load" در گوشه بالا سمت چپ کلیک کنید.

3. فایل JSON زیر را در یک فایل متنی ذخیره کرده و آن را با پسوند .json (مثلاً sdxl_base_refiner_workflow.json) ذخیره کنید.

4. فایل JSON ذخیره شده را در ComfyUI بارگذاری کنید.

نکات مهم در مورد کد نمونه:

  • ckpt_name: نام فایل مدل‌های SDXL Base و Refiner شما باید با این مقادیر مطابقت داشته باشد. (مثلاً sd_xl_base_1.0.safetensors).
  • Prompt/Negative Prompt: مقادیر text در گره‌های CLIPTextEncode را ویرایش کنید.
  • Seed: برای تولید تصاویر مختلف، seed را به "randomize" تغییر دهید.
  • Denoise (رفاینر): مقدار denoise در KSampler رفاینر (با node_id: 8) برای تنظیم میزان تأثیر رفاینر حیاتی است.
{
  "3": {
    "inputs": {
      "seed": 0,
      "steps": 30,
      "cfg": 7,
      "sampler_name": "dpmpp_2m_karras",
      "scheduler": "karras",
      "denoise": 1,
      "model": [
        "4",
        0
      ],
      "positive": [
        "6",
        0
      ],
      "negative": [
        "7",
        0
      ],
      "latent_image": [
        "5",
        0
      ]
    },
    "class_type": "KSampler",
    "_meta": {
      "title": "KSampler"
    }
  },
  "4": {
    "inputs": {
      "ckpt_name": "sd_xl_base_1.0.safetensors"
    },
    "class_type": "CheckpointLoaderSimple",
    "_meta": {
      "title": "Load Checkpoint"
    }
  },
  "5": {
    "inputs": {
      "width": 1024,
      "height": 1024,
      "batch_size": 1
    },
    "class_type": "EmptyLatentImage",
    "_meta": {
      "title": "Empty Latent Image"
    }
  },
  "6": {
    "inputs": {
      "text": "A majestic lion, standing on a rocky outcrop, overlooking a vast savanna at sunset, golden hour, highly detailed, photorealistic, cinematic lighting, volumetric light.",
      "clip": [
        "4",
        1
      ]
    },
    "class_type": "CLIPTextEncode",
    "_meta": {
      "title": "CLIP Text Encode (Prompt)"
    }
  },
  "7": {
    "inputs": {
      "text": "ugly, deformed, blurry, low quality, bad anatomy, extra limbs, missing limbs, text, watermark, poor lighting",
      "clip": [
        "4",
        1
      ]
    },
    "class_type": "CLIPTextEncode",
    "_meta": {
      "title": "CLIP Text Encode (Negative Prompt)"
    }
  },
  "8": {
    "inputs": {
      "seed": 0,
      "steps": 15,
      "cfg": 7,
      "sampler_name": "dpmpp_2m_karras",
      "scheduler": "karras",
      "denoise": 0.25,
      "model": [
        "9",
        0
      ],
      "positive": [
        "10",
        0
      ],
      "negative": [
        "11",
        0
      ],
      "latent_image": [
        "3",
        0
      ]
    },
    "class_type": "KSampler",
    "_meta": {
      "title": "KSampler (Refiner)"
    }
  },
  "9": {
    "inputs": {
      "ckpt_name": "sd_xl_refiner_1.0.safetensors"
    },
    "class_type": "CheckpointLoaderSimple",
    "_meta": {
      "title": "Load Refiner Checkpoint"
    }
  },
  "10": {
    "inputs": {
      "text": "A majestic lion, standing on a rocky outcrop, overlooking a vast savanna at sunset, golden hour, highly detailed, photorealistic, cinematic lighting, volumetric light.",
      "clip": [
        "9",
        1
      ]
    },
    "class_type": "CLIPTextEncode",
    "_meta": {
      "title": "CLIP Text Encode (Refiner Prompt)"
    }
  },
  "11": {
    "inputs": {
      "text": "ugly, deformed, blurry, low quality, bad anatomy, extra limbs, missing limbs, text, watermark, poor lighting",
      "clip": [
        "9",
        1
      ]
    },
    "class_type": "CLIPTextEncode",
    "_meta": {
      "title": "CLIP Text Encode (Refiner Negative Prompt)"
    }
  },
  "12": {
    "inputs": {
      "samples": [
        "8",
        0
      ],
      "vae": [
        "4",
        2
      ]
    },
    "class_type": "VAEDecode",
    "_meta": {
      "title": "VAE Decode (Final)"
    }
  },
  "13": {
    "inputs": {
      "filename_prefix": "ComfyUI_SDXL",
      "images": [
        "12",
        0
      ]
    },
    "class_type": "SaveImage",
    "_meta": {
      "title": "Save Image"
    }
  }
}

توضیح گره‌های اصلی در کد JSON:

  • CheckpointLoaderSimple (node_id 4 و 9): مدل‌های پایه و رفاینر را بارگذاری می‌کند.
  • CLIPTextEncode (node_id 6، 7، 10، 11): پرامپت‌های مثبت و منفی را برای مدل پایه و رفاینر انکود می‌کند.
  • EmptyLatentImage (node_id 5): یک تصویر Latent خالی با ابعاد مشخص ایجاد می‌کند که به عنوان نقطه شروع برای KSampler عمل می‌کند.
  • KSampler (node_id 3 و 8): هسته اصلی فرآیند تولید تصویر است. denoise 1.0 برای KSampler پایه به معنای تولید از نویز کامل است، در حالی که denoise 0.25 برای KSampler رفاینر به معنای اعمال تغییرات جزئی برای بهبود تصویر موجود است.
  • VAEDecode (node_id 12): خروجی Latent از KSampler را به یک تصویر RGB قابل مشاهده تبدیل می‌کند.
  • SaveImage (node_id 13): تصویر نهایی را ذخیره می‌کند.

این کد نمونه یک نقطه شروع عالی برای ساخت Workflowهای پیچیده‌تر در ComfyUI است. با تغییر مقادیر و اضافه کردن گره‌های دیگر (مانند ControlNet، LoRA، Image-to-Image)، می‌توانید Workflow خود را برای نیازهای خاص خود سفارشی کنید.

خطاهای رایج

در حین کار با Stable Diffusion XL، به خصوص زمانی که به صورت محلی (Local) اجرا می‌شود، ممکن است با خطاهای مختلفی مواجه شوید. درک این خطاها و راه‌حل‌های آن‌ها می‌تواند به شما در رفع سریع مشکلات و ادامه کار کمک کند. در پلتفرم Axeto.ai، بسیاری از این خطاهای فنی به صورت خودکار مدیریت می‌شوند، اما آشنایی با آن‌ها همچنان مفید است.

1. خطاهای مربوط به حافظه GPU (CUDA Out Of Memory)

این رایج‌ترین خطا در کار با مدل‌های بزرگ مانند SDXL است.

  • پیام خطا: CUDA out of memory, RuntimeError: CUDA out of memory, Allocation failed
  • علت: کارت گرافیک شما VRAM کافی برای پردازش عملیات فعلی را ندارد. SDXL به VRAM زیادی نیاز دارد.
  • راه‌حل‌ها:

* کاهش ابعاد تصویر: به جای 1024x1024، با 768x768 یا حتی 512x512 شروع کنید (اگرچه برای SDXL توصیه نمی‌شود).

* کاهش Batch Size: اگر چندین تصویر را همزمان تولید می‌کنید، Batch Size را به 1 کاهش دهید.

* کاهش Steps: در برخی موارد، کاهش تعداد گام‌ها می‌تواند کمک کند، اما تأثیر کمی دارد.

* استفاده از بهینه‌سازی‌ها:

* Automatic1111: از آرگومان‌های خط فرمان مانند --medvram یا --lowvram استفاده کنید. همچنین، فعال کردن xformers یا sdp-attention می‌تواند مصرف VRAM را کاهش دهد.

* ComfyUI: ComfyUI به طور کلی در مدیریت VRAM بهتر عمل می‌کند. اطمینان حاصل کنید که آخرین نسخه را دارید. استفاده از fp16 (half-precision) در تنظیمات مدل نیز می‌تواند کمک کند.

* بستن برنامه‌های دیگر: هر برنامه دیگری که از GPU استفاده می‌کند (مانند مرورگرها با شتاب‌دهنده سخت‌افزاری، بازی‌ها) را ببندید.

* ارتقاء سخت‌افزار: در نهایت، اگر مشکل به طور مداوم رخ می‌دهد، ممکن است نیاز به یک کارت گرافیک با VRAM بیشتر داشته باشید.

* استفاده از Axeto.ai: Axeto.ai این مشکل را به طور کامل از بین می‌برد، زیرا شما از منابع ابری قدرتمند استفاده می‌کنید و نیازی به مدیریت VRAM ندارید.

2. خطاهای مربوط به نصب و وابستگی‌ها (Dependency Errors)

  • پیام خطا: ModuleNotFoundError, ImportError, pip install ...
  • علت: یکی از کتابخانه‌های پایتون مورد نیاز نصب نشده یا نسخه‌ای اشتباه دارد.
  • راه‌حل‌ها:

* بررسی فایل requirements.txt: اطمینان حاصل کنید که تمام وابستگی‌های پروژه (مثلاً Automatic1111 یا ComfyUI) را نصب کرده‌اید. معمولاً با pip install -r requirements.txt انجام می‌شود.

* به‌روزرسانی پایتون و pip: مطمئن شوید که پایتون و pip شما به‌روز هستند.

* محیط مجازی (Virtual Environment): استفاده از محیط‌های مجازی پایتون (مانند venv یا conda) می‌تواند از تداخل بین وابستگی‌های پروژه‌های مختلف جلوگیری کند.

3. مدل پیدا نشد (Model Not Found)

  • پیام خطا: FileNotFoundError, Cannot find checkpoint, Model not found
  • علت: فایل مدل SDXL (base یا refiner) در مسیری که نرم‌افزار انتظار دارد، قرار ندارد یا نام فایل اشتباه است.
  • راه‌حل‌ها:

* بررسی مسیر فایل: مطمئن شوید که فایل‌های .safetensors یا .ckpt در مسیر صحیح قرار دارند (مثلاً ComfyUI/models/checkpoints یا stable-diffusion-webui/models/Stable-diffusion).

* بررسی نام فایل: نام فایل در Workflow شما (در ComfyUI) یا در رابط کاربری (در Automatic1111) باید دقیقاً با نام فایل فیزیکی مطابقت داشته باشد.

4. خطاهای مربوط به پرامپت (Prompt Errors)

  • پیام خطا: گاهی اوقات خطای مستقیم نیست، بلکه خروجی‌های عجیب و غریب یا نامربوط است.
  • علت: پرامپت نامناسب، خیلی کوتاه، خیلی مبهم، یا حاوی کلماتی که مدل به درستی درک نمی‌کند.
  • راه‌حل‌ها:

* پرامپت‌نویسی دقیق‌تر: جزئیات بیشتری اضافه کنید، از کلمات کلیدی موثر استفاده کنید.

* استفاده از پرامپت منفی: برای حذف عناصر ناخواسته.

* آزمایش و خطا: با پرامپت‌های مختلف بازی کنید تا به نتیجه مطلوب برسید.

* منابع پرامپت: از وب‌سایت‌هایی مانند Civitai یا PromptBase برای الهام گرفتن از پرامپت‌های موفق استفاده کنید.

5. سرعت تولید پایین

  • علت:

* GPU ضعیف: کارت گرافیک شما به اندازه کافی قدرتمند نیست.

* عدم استفاده از بهینه‌سازی‌ها: xformers یا sdp-attention فعال نیستند.

* CPU bottleneck: پردازنده شما نمی‌تواند به سرعت کافی داده‌ها را به GPU برساند.

* RAM ناکافی: سیستم‌عامل در حال استفاده از Swap (حافظه مجازی روی دیسک) است.

  • راه‌حل‌ها:

* فعال کردن xformers / sdp-attention: اینها می‌توانند سرعت را به طور قابل توجهی افزایش دهند.

* به‌روزرسانی درایورهای GPU: همیشه از آخرین درایورهای کارت گرافیک خود استفاده کنید.

* بستن برنامه‌های پس‌زمینه: منابع سیستم را آزاد کنید.

* استفاده از Axeto.ai: از آنجایی که Axeto بر روی سرورهای قدرتمند اجرا می‌شود، سرعت تولید تصاویر بسیار بالاست و این مشکل را نخواهید داشت.

6. خطاهای VAE (Variational AutoEncoder)

  • پیام خطا: VAE not found, Mismatch in VAE dimensions
  • علت: VAE یک جزء مهم برای رمزگذاری و رمزگشایی تصاویر است. ممکن است VAE مدل بارگذاری نشده باشد یا با مدل اصلی ناسازگار باشد.
  • راه‌حل‌ها:

* بارگذاری VAE صحیح: در Automatic1111، مطمئن شوید که VAE مناسب برای SDXL انتخاب شده است. در ComfyUI، VAE معمولاً از مدل اصلی استخراج می‌شود، اما می‌توانید یک VAE خارجی را نیز بارگذاری کنید.

* به‌روزرسانی مدل‌ها: مطمئن شوید که از نسخه‌های سازگار مدل پایه و VAE استفاده می‌کنید.

با در نظر گرفتن این خطاهای رایج و راه‌حل‌های آن‌ها، می‌توانید تجربه روان‌تر و کارآمدتری با Stable Diffusion XL داشته باشید.

تحلیل Axeto

پلتفرم Axeto.ai به عنوان یک ابزار قدرتمند و بومی برای تولید تصاویر با هوش مصنوعی، مزایای قابل توجهی را برای کاربران ایرانی، به ویژه خالقان محتوا، هنرمندان و کسب‌وکارها ارائه می‌دهد. در اینجا به تحلیل جامع Axeto در زمینه Workflow Stable Diffusion XL می‌پردازیم:

مزایای اصلی Axeto برای Workflow SDXL

1. دسترسی آسان و بدون نیاز به سخت‌افزار گران‌قیمت:

* مشکل: اجرای SDXL به صورت محلی نیازمند کارت گرافیک‌های بسیار قدرتمند و گران‌قیمت (مانند RTX 3090 یا 4090) است که تهیه آن‌ها برای بسیاری از کاربران ایرانی دشوار یا غیرممکن است.

* راه‌حل Axeto: با استفاده از Axeto، شما به سرورهای ابری با GPUهای پیشرفته دسترسی پیدا می‌کنید. این به معنای عدم نیاز به خرید سخت‌افزار، مدیریت درایورها و رفع خطاهای مربوط به VRAM است. این ویژگی، هزینه‌های اولیه را به شدت کاهش می‌دهد.

2. سادگی و سهولت استفاده:

* مشکل: راه‌اندازی و پیکربندی Automatic1111 یا ComfyUI می‌تواند برای کاربران مبتدی پیچیده باشد. مدیریت گره‌ها، نصب پلاگین‌ها، و درک پارامترهای متعدد نیاز به زمان و دانش فنی دارد.

* راه‌حل Axeto: Axeto یک رابط کاربری بسیار ساده و بصری ارائه می‌دهد. تمام تنظیمات کلیدی (پرامپت، ابعاد، Negative Prompt، و غیره) به راحتی قابل دسترسی هستند. این سادگی به کاربران اجازه می‌دهد تا به جای درگیر شدن با مسائل فنی، تمام تمرکز خود را بر روی خلاقیت و ایده‌پردازی بگذارند.

3. بهینه‌سازی شده برای زبان فارسی:

* مشکل: در حالی که مدل‌های پایه SDXL از زبان‌های مختلف پشتیبانی می‌کنند، رابط‌های کاربری و ابزارهای جانبی ممکن است به طور کامل برای زبان فارسی بهینه‌سازی نشده باشند.

* راه‌حل Axeto: Axeto به طور خاص برای کاربران ایرانی طراحی شده است. این پلتفرم درک بسیار خوبی از پرامپت‌های فارسی دارد و نتایج با کیفیتی را ارائه می‌دهد. این موضوع برای خالقان محتوای فارسی‌زبان که می‌خواهند ایده‌های خود را به زبان مادری بیان کنند، یک مزیت بزرگ است. پشتیبانی فارسی نیز در دسترس است.

4. سرعت و کارایی:

* مشکل: تولید تصاویر با SDXL، حتی با سخت‌افزار قدرتمند، می‌تواند زمان‌بر باشد.

* راه‌حل Axeto: با بهره‌گیری از زیرساخت ابری قدرتمند، Axeto تصاویر را با سرعت بالا تولید می‌کند. این به معنای گردش کار سریع‌تر و امکان آزمایش ایده‌های بیشتر در زمان کمتر است.

5. دسترسی به جدیدترین مدل‌ها و ویژگی‌ها:

* مشکل: به‌روز نگه داشتن مدل‌ها، پلاگین‌ها و نسخه‌های مختلف Stable Diffusion به صورت محلی می‌تواند چالش‌برانگیز باشد.

* راه‌حل Axeto: Axeto به طور مداوم به‌روزرسانی می‌شود و جدیدترین نسخه‌های SDXL و سایر مدل‌های پیشرفته را در اختیار کاربران قرار می‌دهد. این اطمینان را می‌دهد که شما همیشه از بهترین تکنولوژی موجود بهره‌مند هستید.

6. مدیریت Workflow داخلی:

* Axeto به طور خودکار Workflow بهینه SDXL (شامل استفاده از مدل پایه و رفاینر) را در پس‌زمینه اجرا می‌کند. کاربران نیازی به پیکربندی دستی این مراحل ندارند، اما از مزایای کیفیت بالای خروجی ناشی از این Workflow بهره‌مند می‌شوند.

مقایسه Axeto با راه‌حل‌های محلی

ویژگیAxeto.aiراه‌حل محلی (ComfyUI/Automatic1111)
سخت‌افزاربدون نیاز به سخت‌افزار قدرتمندنیاز به GPU قوی (12GB+ VRAM)
نصب و راه‌اندازیبدون نصب، فقط مرورگرپیچیده، نیاز به Python, Git, مدل‌ها
پیچیدگی فنیبسیار ساده و کاربرپسندمنحنی یادگیری شیب‌دار
هزینه اولیهصفر (فقط اشتراک ماهانه)بالا (خرید GPU و سخت‌افزار)
زبان فارسیبهینه‌سازی شده، درک عالی پرامپت‌هاممکن است نیاز به تنظیمات خاص داشته باشد
به‌روزرسانیخودکار و مداومدستی، زمان‌بر
قابلیت حملاز هر دستگاهی با اینترنتمحدود به سیستم نصب شده
مدیریت خطاخودکار توسط پلتفرمنیاز به دانش فنی و عیب‌یابی دستی
کنترل دقیقکنترل خوب بر پارامترهای اصلیکنترل بسیار دقیق و عمیق (با پیچیدگی بیشتر)

نتیجه‌گیری برای کاربران Axeto

برای اکثر خالقان محتوای ایرانی که به دنبال تولید تصاویر با کیفیت بالا با SDXL هستند، Axeto.ai بهترین و مقرون‌به‌صرفه‌ترین گزینه است. این پلتفرم موانع فنی و مالی را از سر راه برمی‌دارد و به شما اجازه می‌دهد تا به سرعت و به آسانی ایده‌های خلاقانه خود را به واقعیت تبدیل کنید. در حالی که راه‌حل‌های محلی کنترل بی‌نهایت بیشتری را ارائه می‌دهند، اما با پیچیدگی‌ها و هزینه‌های قابل توجهی همراه هستند که برای بسیاری از کاربران غیرضروری است. Axeto پلی است بین قدرت SDXL و سادگی استفاده، که آن را به ابزاری ایده‌آل برای جامعه خلاق ایران تبدیل می‌کند.

جمع‌بندی

Stable Diffusion XL (SDXL) بدون شک یکی از برجسته‌ترین پیشرفت‌ها در زمینه تولید تصویر با هوش مصنوعی است. این مدل با توانایی‌های بی‌نظیر خود در خلق تصاویر با کیفیت بالا، جزئیات خیره‌کننده و واقع‌گرایی فوتورئالیستیک، افق‌های جدیدی را برای هنرمندان، طراحان و توسعه‌دهندگان گشوده است. در این راهنمای جامع، ما به بررسی عمیق یک Workflow کارآمد برای SDXL پرداختیم و تلاش کردیم تا تمام جنبه‌های لازم برای بهره‌برداری حداکثری از این ابزار قدرتمند را پوشش دهیم.

از مقدمه‌ای بر قابلیت‌های SDXL و پیش‌نیازهای لازم برای شروع کار، تا گام‌های دقیق آماده‌سازی محیط، تنظیم پرامپت‌ها و پارامترها، و اجرای Workflow و بهینه‌سازی خروجی‌ها، تمام مراحل به دقت تشریح شدند. ما همچنین به تکنیک‌های پیشرفته‌ای مانند Image-to-Image، Inpainting، Outpainting و ControlNet اشاره کردیم که هر یک می‌توانند سطح جدیدی از کنترل و خلاقیت را به Workflow شما اضافه کنند.

بخش مهمی از این راهنما به تحلیل Axeto.ai اختصاص داشت. این پلتفرم ایرانی، با ارائه دسترسی آسان و بدون نیاز به سخت‌افزار گران‌قیمت، رابط کاربری ساده، بهینه‌سازی برای زبان فارسی و سرعت بالا، به عنوان یک راه‌حل ایده‌آل برای خالقان محتوای ایرانی معرفی شد. تست‌های انجام شده با پرامپت‌های فارسی در Axeto، توانایی بالای این پلتفرم در درک زبان مادری و تولید تصاویر با کیفیت را به اثبات رساند.

در نهایت، با بررسی خطاهای رایج و ارائه راه‌حل‌های آن‌ها، تلاش کردیم تا تجربه کاربری شما را با SDXL هرچه روان‌تر و لذت‌بخش‌تر کنیم. چه شما یک هنرمند دیجیتال باشید که به دنبال ابزاری برای تجسم ایده‌های خود هستید، چه یک توسعه‌دهنده که می‌خواهید قابلیت‌های تولید تصویر را در پروژه‌های خود ادغام کنید، و چه یک کسب‌وکار که به دنبال تولید محتوای بصری جذاب هستید، SDXL و پلتفرم‌هایی مانند Axeto.ai ابزارهای قدرتمندی را در اختیار شما قرار می‌دهند.

با تمرین و آزمایش مداوم، شما می‌توانید به تسلط بر این تکنولوژی دست یابید و آثاری خلق کنید که نه تنها چشم‌نواز هستند، بلکه داستان‌ها و ایده‌های شما را به شکلی بی‌سابقه بیان می‌کنند. دنیای هوش مصنوعی در حال تکامل است و SDXL تنها آغاز راه است. با Axeto، همواره در خط مقدم این تحول باقی بمانید.

منبع

  • Stability AI: خالق Stable Diffusion XL. وب‌سایت رسمی و مخازن گیت‌هاب Stability AI منابع اصلی برای اطلاعات فنی و مدل‌ها هستند.

* Stable Diffusion XL on Hugging Face

  • ComfyUI: رابط کاربری گره‌محور برای Stable Diffusion.

* ComfyUI GitHub Repository

  • Automatic1111 Stable Diffusion Web UI: یکی از محبوب‌ترین رابط‌های کاربری.

* Automatic1111 GitHub Repository

  • Civitai: پلتفرمی برای به اشتراک‌گذاری مدل‌ها، LoRAها، و پرامپت‌های Stable Diffusion.

* Civitai SDXL Models

  • Hugging Face: پلتفرمی برای مدل‌های هوش مصنوعی و دیتاست‌ها.

* Hugging Face Models

  • Axeto.ai: پلتفرم ایرانی برای تولید تصاویر با هوش مصنوعی.

* Axeto.ai - تولید تصویر

* Axeto.ai - قیمت‌گذاری

* Axeto.ai - پشتیبانی

* Axeto.ai - مقالات آموزشی

* Axeto.ai - پرامپت‌ها

* Axeto.ai - مدل‌ها

* Axeto.ai - درباره ControlNet

* Axeto.ai - درباره LoRA

* Axeto.ai - درباره SDXL

* Axeto.ai - درباره Axeto

* Axeto.ai - درباره یادگیری عمیق

نمودار Workflow پیچیده در ComfyUI برای Stable Diffusion XL
تصویر گرافیکی از سخت‌افزارهای مورد نیاز برای اجرای SDXL
مقایسه رابط کاربری Automatic1111 و ComfyUI

تست Axeto

3 پرامپت فارسی استاندارد روی Stable Diffusion در Axeto تست شد. نتایج بر اساس کیفیت چهره/متن/سبک و سازگاری با پرامپت فارسی ارزیابی شد.

3 پرامپت تست‌شده

پرامپتامتیازیادداشت
پرتره زن جوان ایرانی، نور طبیعی پنجره، فوکوس نرم، پس‌زمینه مینیمالAجزئیات چهره و نور طبیعی قابل قبول؛ مناسب پرامپت‌های پرتره فارسی.
منظره کویر ایران، غروب طلایی، ابرهای دراماتیک، فوتورéalisticA-ترکیب‌بندی منظره خوب؛ رنگ‌های غروب طبیعی.
لوگوی مینیمال برای استارتاپ فintech، خطوط هندسی، پس‌زمینه سفیدB+متن/لوگو خوانا؛ برای برندینگ فارسی نیاز به تکرار پرامپت با وزن بیشتر.

مزایا

  • تولید تصاویر با کیفیت بالا و جزئیات دقیق.
  • درک بهتر پرامپت‌های پیچیده و ترکیب مفاهیم.
  • انعطاف‌پذیری بالا در Workflow با ابزارهایی مانند ComfyUI.
  • جامعه کاربری فعال و منابع آموزشی فراوان.
  • امکان استفاده از Reiner برای بهبود کیفیت نهایی.

معایب

  • نیاز به سخت‌افزار بسیار قدرتمند (GPU با VRAM بالا) برای اجرای محلی.
  • زمان یادگیری اولیه برای Workflowهای پیچیده و ComfyUI.
  • حجم بالای مدل‌ها و نیاز به فضای ذخیره‌سازی زیاد.
  • مصرف بالای منابع سیستمی هنگام تولید تصاویر.

خط زمانی

  1. 2022

    انتشار Stable Diffusion 1.x

  2. 2023

    انتشار Automatic1111 و ComfyUI برای SDXL

  3. 2024

    توسعه و بهینه‌سازی Workflowهای SDXL

منابع

سوالات متداول

Stable Diffusion XL (SDXL) چیست؟

Stable Diffusion XL (SDXL) یک مدل پیشرفته تولید تصویر با هوش مصنوعی است که توسط Stability AI توسعه یافته است. این مدل قادر به تولید تصاویر با کیفیت بالا، جزئیات دقیق و درک بهتر از پرامپت‌ها نسبت به نسخه‌های قبلی است.

چرا باید از SDXL استفاده کنیم؟

SDXL به دلیل توانایی‌اش در تولید تصاویر با رزولوشن بالا، کیفیت بصری عالی و درک بهتر از پرامپت‌های پیچیده، گزینه‌ای ایده‌آل برای هنرمندان و طراحان است. این مدل به شما امکان می‌دهد تا ایده‌های خلاقانه خود را با جزئیات بیشتری به تصویر بکشید.

چه ابزارهایی برای استفاده از SDXL نیاز دارم؟

برای استفاده از SDXL می‌توانید از ابزارهای مختلفی مانند ComfyUI، Automatic1111 (WebUI)، و پلتفرم‌های آنلاین مبتنی بر SDXL استفاده کنید. هر یک از این ابزارها ویژگی‌ها و مزایای خاص خود را دارند.

ComfyUI چه مزایایی برای SDXL دارد؟

ComfyUI یک رابط کاربری گره‌محور (node-based) است که انعطاف‌پذیری بالایی در ساخت ورک‌فلوهای پیچیده برای SDXL فراهم می‌کند. این ابزار به شما امکان می‌دهد تا کنترل دقیقی بر فرآیند تولید تصویر داشته باشید و نتایج بهتری بگیرید.

Automatic1111 (WebUI) چگونه با SDXL کار می‌کند؟

Automatic1111 (WebUI) یک رابط کاربری محبوب و کاربرپسند برای Stable Diffusion است که از SDXL نیز پشتیبانی می‌کند. این ابزار به شما امکان می‌دهد تا به راحتی پرامپت‌ها را وارد کرده، تنظیمات را تغییر دهید و تصاویر را تولید کنید.

پرامپت نویسی مؤثر برای SDXL چگونه است؟

برای پرامپت نویسی مؤثر در SDXL، باید جزئیات را به وضوح بیان کنید. از کلمات کلیدی توصیفی، صفات و قیدها استفاده کنید. همچنین، می‌توانید از پرامپت‌های منفی (negative prompts) برای حذف عناصر ناخواسته استفاده کنید.

آیا SDXL می‌تواند تصاویر واقعی (photorealistic) تولید کند؟

بله، SDXL توانایی بالایی در تولید تصاویر واقع‌گرایانه دارد. با استفاده از پرامپت‌های دقیق و مدل‌های مناسب، می‌توانید نتایج بسیار نزدیک به عکس‌های واقعی به دست آورید.

چگونه می‌توانم کیفیت تصاویر تولید شده با SDXL را بهبود بخشم؟

برای بهبود کیفیت تصاویر، می‌توانید از تکنیک‌هایی مانند استفاده از Refiner، Upscaling، کنترل‌نت (ControlNet) و تنظیم دقیق پارامترهای مدل استفاده کنید. همچنین، آزمایش با پرامپت‌های مختلف بسیار مفید است.

ControlNet چه نقشی در ورک‌فلو SDXL دارد؟

ControlNet به شما امکان می‌دهد تا کنترل بیشتری بر روی ترکیب، ژست، عمق و سایر ویژگی‌های بصری تصویر داشته باشید. این ابزار با استفاده از ورودی‌هایی مانند نقشه‌های عمق یا کانتور، به SDXL کمک می‌کند تا تصاویر دقیق‌تری تولید کند.

آیا می‌توانم SDXL را به صورت لوکال (Local) اجرا کنم؟

بله، SDXL را می‌توان بر روی سیستم‌های محلی با کارت گرافیک مناسب (ترجیحاً حداقل 8GB VRAM) اجرا کرد. نصب و راه‌اندازی آن ممکن است نیاز به دانش فنی داشته باشد، اما منابع و آموزش‌های زیادی برای این کار موجود است.

تفاوت SDXL با نسخه‌های قبلی Stable Diffusion چیست؟

SDXL دارای پارامترهای بیشتری است و از دو مدل U-Net برای تولید تصویر استفاده می‌کند (Base و Refiner). این معماری بهبود یافته، منجر به تولید تصاویر با کیفیت بالاتر، جزئیات بیشتر و درک بهتر از زبان می‌شود.

Refiner در SDXL چه کاری انجام می‌دهد؟

Refiner یک مدل ثانویه در SDXL است که پس از مدل Base اجرا می‌شود. وظیفه آن اضافه کردن جزئیات دقیق‌تر، بهبود بافت‌ها و افزایش کیفیت کلی تصویر است، به خصوص در مراحل پایانی فرآیند تولید.

آیا SDXL برای تولید تصاویر هنری انتزاعی مناسب است؟

بله، SDXL علاوه بر تصاویر واقع‌گرایانه، در تولید تصاویر هنری انتزاعی و سبک‌های مختلف هنری نیز بسیار توانمند است. با پرامپت‌های خلاقانه می‌توانید آثار هنری منحصر به فردی خلق کنید.

چه منابعی برای یادگیری بیشتر در مورد SDXL وجود دارد؟

منابع آموزشی متعددی از جمله وبلاگ‌های Stability AI، کانال‌های یوتیوب، انجمن‌های آنلاین و مستندات گیت‌هاب برای یادگیری SDXL وجود دارد. همچنین، پلتفرم Axeto.ai نیز مقالات و آموزش‌های مفیدی را ارائه می‌دهد.

آیا SDXL رایگان است؟

مدل‌های پایه SDXL به صورت متن‌باز (open-source) منتشر شده‌اند و استفاده از آنها رایگان است. با این حال، برخی پلتفرم‌ها یا سرویس‌های ابری که از SDXL استفاده می‌کنند، ممکن است هزینه‌هایی داشته باشند.

چگونه می‌توانم از سبک‌های هنری خاص در SDXL استفاده کنم؟

برای استفاده از سبک‌های هنری خاص، می‌توانید نام هنرمند، سبک (مانند 'impressionistic', 'surreal', 'cyberpunk') یا دوره زمانی را در پرامپت خود ذکر کنید. همچنین، می‌توانید از LoRA (Low-Rank Adaptation) برای آموزش مدل بر روی سبک‌های خاص استفاده کنید.

آیا SDXL از تصاویر با نسبت ابعاد مختلف پشتیبانی می‌کند؟

بله، SDXL از تولید تصاویر با نسبت ابعاد مختلف پشتیبانی می‌کند. با این حال، برای بهترین نتایج، توصیه می‌شود از نسبت ابعاد بهینه که مدل برای آن آموزش دیده است، استفاده کنید.

تأثیر Seed بر روی نتایج SDXL چیست؟

Seed یک عدد است که نقطه شروع فرآیند تولید نویز را تعیین می‌کند. تغییر Seed منجر به تولید تصاویر متفاوتی می‌شود، حتی اگر پرامپت و سایر پارامترها یکسان باشند. این پارامتر برای تکرارپذیری نتایج مفید است.

آیا SDXL برای تولید انیمیشن نیز قابل استفاده است؟

بله، با استفاده از تکنیک‌هایی مانند Image-to-Image یا فریم به فریم، می‌توان از SDXL برای تولید فریم‌های انیمیشن استفاده کرد. ابزارهایی نیز وجود دارند که این فرآیند را تسهیل می‌کنند.

چگونه می‌توانم از overfitting در SDXL جلوگیری کنم؟

برای جلوگیری از overfitting در SDXL (به خصوص هنگام آموزش مدل‌های سفارشی یا LoRA)، باید از مجموعه داده‌های متنوع و با کیفیت استفاده کنید. همچنین، تنظیم دقیق پارامترهای آموزش و استفاده از تکنیک‌های regularization می‌تواند کمک کننده باشد.

همین حالا در Axeto امتحان کنید

مقاله را خواندید — حالا با ابزار واقعی Axeto خروجی بگیرید.

تاریخچه به‌روزرسانی

  • Initial draft

نظرات (0)

  • در حال بارگذاری نظرات...