SSD Nodes Learn 8GB RAM — $66/साल
गाइड Matt Connorलेखक: Matt Connor · अपडेट किया गया: 2026-08-01

Self-hosted AI image generator के लिए सही hardware

CPU VPS पर Stable Diffusion 1.5 धीमा लेकिन संभव है, जबकि SDXL को 6.94 GB model और GPU चाहिए। ComfyUI commands, समय और disk budget यहाँ देखें।

एक self-hosted AI image generator को वास्तव में क्या चाहिए

एक self-hosted AI image generator में एक web app और एक model file होती है। app का नाम ComfyUI है, और यह किसी भी Linux box पर चलती है। आपका hardware model file पर निर्भर करता है। SDXL-class checkpoint एक single 6.94 GB file है, और इसे GPU memory में रहना होता है। यही तथ्य पूरे budget को निर्धारित करता है। इसलिए कुछ भी rent करने से पहले नीचे दी गई hardware ladder पढ़ें।

सीधी बात: केवल CPU वाला VPS software को install और serve कर सकता है। यह पुराने Stable Diffusion 1.5 model के साथ 512x512 images को प्रति image एक या दो मिनट में generate कर सकता है। उसी box पर SDXL को 1024x1024 पर चलाने में प्रति image दस से बीस मिनट लगते हैं। इसका अर्थ यह नहीं है कि setup खराब है। यह केवल गणना का परिणाम है, और यह guide इसे समझाती है।

मॉडल का आकार मशीन का निर्णय क्यों करता है

इमेज जनरेशन एक denoising loop चलाता है। 30-step render में पूरे model को image पर 30 बार चलाया जाता है, और हर pass में हर weight पढ़ा जाता है। Half precision में SDXL के weights लगभग 6.9 GB होते हैं। इसलिए image दिखने से पहले 30-step render memory में लगभग 200 GB डेटा स्थानांतरित करता है।

24 GB video memory (VRAM, graphics chip के पास soldered memory) वाला GPU सैकड़ों gigabytes प्रति सेकंड की गति से पढ़ता है और सभी 6.9 GB को एक साथ रखता है। CPU VPS system RAM को प्रति सेकंड tens of gigabytes की गति से पढ़ता है। इसमें convolutions के लिए matrix hardware नहीं होता। इसलिए यही loop एक से दो orders of magnitude धीमा चलता है। यही memory-bandwidth तर्क text models पर भी लागू होता है। इसे कब GPU वाला VPS वास्तव में पैसे के लायक होता है के साथ पढ़ना उपयोगी है।

Image generation और text generation में एक महत्वपूर्ण अंतर है। Chat model tokens को stream करता है। इसलिए धीमी मशीन भी उपयोगी लगती है, क्योंकि पढ़ते समय शब्द दिखाई देते रहते हैं। Image केवल अंतिम step पूरा होने पर दिखाई देती है। धीमी मशीन का अर्थ progress bar को देखते रहना है।

वास्तविक संख्याओं के साथ हार्डवेयर स्तर

नीचे दिया गया ब्लॉक जुलाई 2026 तक 1024x1024, 30 steps और Euler sampler पर एक SDXL image के सामान्य आंकड़े दिखाता है। इन्हें परिमाण के अनुमान के रूप में लें। आपका sampler, step count और resolution इन आंकड़ों को बदल सकते हैं।

ChartOne SDXL image, 1024x1024, 30 steps (typical, July 2026)
The data behind this chart
[
  {
    "label": "8 vCPU VPS, no GPU",
    "seconds_per_image": 780
  },
  {
    "label": "8GB VRAM GPU",
    "seconds_per_image": 32
  },
  {
    "label": "12GB VRAM GPU",
    "seconds_per_image": 18
  },
  {
    "label": "24GB VRAM GPU",
    "seconds_per_image": 9
  }
]

CPU वाली पंक्ति 780 seconds की है, यानी लगभग तेरह minutes। 24 GB card वाली पंक्ति 9 seconds की है। यही वह अंतर है जिसके लिए आप hardware खरीद रहे हैं।

इस स्तर-सूची को इस तरह समझें। 8 GB VRAM से कम होने पर भी SDXL चलता है, क्योंकि ComfyUI layers को system RAM में अपने-आप offload करता है और केवल 1 GB वाली card पर भी काम कर सकता है। Offloading में हर step पर समय लगता है। इसलिए 6 GB card पर प्रति image समय तीस seconds के बजाय एक minute के अधिक करीब होता है। 8 GB पर base model फिट हो जाता है और render सुचारु रहता है। 12 GB पर आप checkpoint के साथ एक या दो ControlNet रख सकते हैं और offloading की आवश्यकता नहीं होती। 24 GB पर आप एक ही workflow में SDXL, refiner और upscaling चला सकते हैं। आप LoRA adapters का training भी शुरू कर सकते हैं, जिसके लिए generation की तुलना में बहुत अधिक memory चाहिए।

CPU VPS क्या कर सकता है और क्या नहीं

यह लोगों की अपेक्षा से अधिक कर सकता है और मार्केटिंग के दावों से कम। इस अंतर को स्पष्ट रखें।

CPU VPS पर ComfyUI install किया जा सकता है, web interface उपलब्ध कराया जा सकता है, model library रखी जा सकती है, queue चलाई जा सकती है और बिना किसी GPU के images generate की जा सकती हैं। Stable Diffusion 1.5 को 512x512 और 20 steps पर चलाने में 16 GB RAM वाले 8 आधुनिक vCPUs पर प्रत्येक image में लगभग 60 से 150 seconds लगने की अपेक्षा रखें। रात भर चलने वाले batch job या queue के पीछे कम मात्रा वाले image endpoint के लिए यह वास्तव में पर्याप्त है।

CPU VPS interactive work के लिए पर्याप्त नहीं है। Prompt iteration का अर्थ एक घंटे में बीस renders हो सकता है, लेकिन प्रत्येक render में तेरह minutes लगने पर आप केवल चार renders कर पाएंगे। इससे training भी नहीं की जा सकती। CPU पर LoRA fine-tuning में hours नहीं, बल्कि days लगते हैं। इसलिए इसे अनुपलब्ध मानें।

केवल CPU वाले सिस्टम के लिए memory का नियम GPU वाले सिस्टम से अलग है। Weights system RAM में load होते हैं। इसलिए model size के साथ working space भी चाहिए: SDXL के लिए लगभग 16 GB RAM और SD 1.5 के लिए लगभग 8 GB RAM। 4 GB वाली machine ComfyUI शुरू कर देगी, लेकिन पहले render के दौरान out-of-memory killer इसे समाप्त कर देगा। इसका पता इस तरह चलता है कि process Killed के साथ dmesg में Python traceback के बिना गायब हो जाता है।

GPU मशीन पर ComfyUI इंस्टॉल करें

ये upstream commands हैं। पहले से NVIDIA driver मौजूद वाले साफ़ Ubuntu 24.04 इंस्टॉल से शुरू करें। पहले driver की पुष्टि करें, क्योंकि इस जाँच के बिना बाद की हर विफलता एक जैसी दिखाई देती है।

nvidia-smi

इससे आपके card और CUDA version वाली table दिखनी चाहिए। command not found या NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver का अर्थ है कि driver मौजूद नहीं है या upgrade के बाद kernel module load नहीं हुआ। आगे बढ़ने से पहले इसे ठीक करें, क्योंकि ComfyUI चुपचाप CPU पर चला जाएगा और आप software को दोष देंगे।

sudo apt update
sudo apt install -y git python3-venv python3-pip wget
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
python3 -m venv venv
. venv/bin/activate
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu130
pip install -r requirements.txt

Virtual environment केवल वैकल्पिक सलाह नहीं है। PyTorch बड़ी dependency tree इंस्टॉल करता है। किसी ऐसे box पर इसे system-wide इंस्टॉल करने से, जो अन्य चीज़ें भी चलाता है, दूसरी चीज़ के काम करना बंद होने की संभावना रहती है। आगे बढ़ने से पहले पुष्टि करें कि PyTorch card को देख सकता है।

python -c "import torch; print(torch.cuda.is_available(), torch.cuda.get_device_name(0))"

True और आपके card का नाम दिखने का अर्थ है कि stack काम कर रहा है। False का अर्थ है कि आपके द्वारा इंस्टॉल किया गया wheel driver से मेल नहीं खाता। आमतौर पर ऐसा तब होता है जब CPU-only torch wheel पहले से cache में मौजूद हो। ऊपर दिया गया index URL इस्तेमाल करके फिर से इंस्टॉल करें।

मॉडल प्राप्त करें और डिस्क की योजना बनाएं

ComfyUI में कोई weights शामिल नहीं होते। Checkpoints को models/checkpoints में, VAE files को models/vae में और LoRA adapters को models/loras में रखें।

cd ~/ComfyUI/models/checkpoints
wget https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors

हमेशा .ckpt की तुलना में .safetensors को प्राथमिकता दें। .ckpt file एक pickled Python object होती है। इसे load करने पर इसे बनाने वाले व्यक्ति का code execute होता है। safetensors format में केवल tensors होते हैं। इसलिए कोई दुर्भावनापूर्ण file कुछ execute नहीं कर सकती।

Storage की लागत अक्सर भूल जाती है। एक SDXL base checkpoint का आकार 6.94 GB होता है। refiner के लिए 6 GB और चाहिए। एक ControlNet model का आकार 1.4 से 2.5 GB, एक upscaler का 60 से 350 MB और एक LoRA का 20 से 400 MB होता है। इस काम में रुचि रखने वाला व्यक्ति एक सप्ताह के भीतर दूसरा और तीसरा base model डाउनलोड कर लेता है। किसी कार्यशील installation के लिए 100 GB disk space रखें। outputs directory पर भी नज़र रखें। 1024x1024 PNG files का आकार 1 से 2 MB होता है। बिना निगरानी चलने वाला batch छोटी disk को चुपचाप भर देता है। models/ और output/ को ऐसी volume पर रखें जिसका आकार बढ़ाया जा सके। अपनी workflow JSON files का backup object storage में encrypted incremental backups जैसे किसी तरीके से लें। weights को दोबारा download किया जा सकता है। आपके द्वारा समायोजित किए गए workflows को दोबारा बनाना संभव नहीं होता।

इसे चलाएँ और सुरक्षित रूप से पहुँचें

cd ~/ComfyUI
. venv/bin/activate
python main.py --listen 127.0.0.1 --port 8188

ComfyUI port 8188 पर सेवा देता है। केवल CPU वाले सिस्टम पर --cpu जोड़ें। यह CUDA device उपलब्ध न होने पर विफल होने के बजाय CPU path को बाध्य करता है।

127.0.0.1 से bind करें, 0.0.0.0 से नहीं। ComfyUI में login screen और user accounts नहीं हैं। जो भी port तक पहुँच सकता है, वह jobs को queue कर सकता है, आपके द्वारा बनाई गई सभी images पढ़ सकता है और custom nodes install कर सकता है। इससे आपके server पर arbitrary code execution संभव हो जाता है। इसके बजाय अपने laptop से SSH tunnel के माध्यम से पहुँचें।

ssh -N -L 8188:127.0.0.1:8188 you@your-server

इसके बाद स्थानीय रूप से http://127.0.0.1:8188 खोलें। यदि आपको वास्तविक multi-user access चाहिए, तो authentication वाला reverse proxy इसके आगे रखें और app को localhost से bound रखें। यही कारण किसी भी unauthenticated self-hosted service पर लागू होता है। यह VPS पर Docker Compose deployments का standard pattern है।

इसे systemd के अंतर्गत चालू रखें

SSH session बंद होने पर बंद हो जाने वाली render queue कोई service नहीं है। /etc/systemd/system/comfyui.service लिखें।

[Unit]
Description=ComfyUI
After=network-online.target

[Service]
User=comfy
WorkingDirectory=/home/comfy/ComfyUI
ExecStart=/home/comfy/ComfyUI/venv/bin/python main.py --listen 127.0.0.1 --port 8188
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now comfyui
systemctl status comfyui

active (running) और To see the GUI go to: http://127.0.0.1:8188 पढ़ने वाली log line का अर्थ है कि यह चालू है। ध्यान दें कि ExecStart virtual environment के अंदर interpreter का नाम सीधे देता है, क्योंकि systemd आपकी shell profile नहीं चलाता और activate कभी नहीं होता।

बजट के अनुसार व्यावहारिक सुझाव

यदि आप image generation आज़माना चाहते हैं और speed से अधिक cost महत्वपूर्ण है, तो 16 GB RAM वाला CPU VPS लें, SD 1.5 को 512x512 पर चलाएँ और हर image के लिए एक या दो मिनट लगने को स्वीकार करें। यह ईमानदार शुरुआती विकल्प है और GPU वाले किसी भी विकल्प की तुलना में इसकी cost बहुत कम है। जब तक आप निर्णय लेते हैं, model library और workflows को host करने के लिए भी यह सही स्थान है।

यदि आप हर दिन prompts में बदलाव करते हैं, तो GPU cloud से कम से कम 12 GB VRAM वाला GPU प्रति घंटे के हिसाब से किराये पर लें और काम रुकने पर उसे बंद कर दें। Image generation रुक-रुककर होने वाला काम है। इस स्थिति में idle GPU का monthly billing लोगों के अधिक खर्च करने का सबसे सामान्य कारण है। Checkpoints को सस्ते block storage पर रखें और उन्हें mount करें।

यदि आप अन्य लोगों को सेवा देते हैं या LoRA adapters train करते हैं, तो आपको 24 GB VRAM और ऐसी machine चाहिए जिसे आप लगातार चालू रखें। इस स्थिति में वही box आम तौर पर local language model चलाकर भी अपना खर्च निकाल देता है। यही setup Ollama के साथ self-hosting करना में बताया गया है।

आप कोई भी स्तर चुनें, प्रकाशित आंकड़ों पर विश्वास करने से पहले अपनी machine को स्वयं मापें। उसी prompt को पांच बार queue करें और ComfyUI द्वारा उसके console में प्रदर्शित seconds-per-iteration पढ़ें। यही संख्या आपके वास्तविक स्तर को बताती है।

FAQ

क्या मैं Stable Diffusion को GPU के बिना चला सकता हूं?

हां। ComfyUI python main.py --cpu के साथ चलता है और किसी graphics card के बिना वास्तविक images बनाता है। 8 आधुनिक vCPUs पर Stable Diffusion 1.5 के लिए 512x512 की प्रत्येक image में लगभग 60 से 150 seconds लगने की अपेक्षा रखें। SDXL के लिए 1024x1024 पर 10 से 20 minutes लग सकते हैं। यह overnight batches और कम-volume endpoints के लिए उपयोगी है। यह prompt iteration के लिए उपयुक्त नहीं है। Training पूरी तरह व्यावहारिक नहीं है।

SDXL के लिए मुझे कितनी VRAM चाहिए?

8 GB VRAM पर SDXL को 1024x1024 में आसानी से चलाया जा सकता है। इससे कम VRAM होने पर ComfyUI layers को system RAM में स्वचालित रूप से offload करता है और लगभग 1 GB VRAM तक भी काम करता है। लेकिन प्रत्येक offloaded step में अतिरिक्त समय लगता है। 12 GB VRAM से checkpoint के साथ ControlNet भी memory में रखा जा सकता है। 24 GB VRAM से base, refiner और upscaling को एक workflow में चलाया जा सकता है। LoRA adapters की training के लिए यह व्यावहारिक न्यूनतम है।

Models को कितनी disk space चाहिए?

केवल SDXL base checkpoint 6.94 GB का है। Refiner लगभग 6 GB अतिरिक्त space लेता है। प्रत्येक ControlNet model 1.4 से 2.5 GB का होता है। LoRA adapters 20 से 400 MB के होते हैं। Upscalers 350 MB तक के हो सकते हैं। कुछ base models वाले working install के लिए 100 GB निर्धारित करें। Output directory की अलग से निगरानी करें, क्योंकि 1024x1024 PNG files प्रत्येक 1 से 2 MB की होती हैं।

क्या ComfyUI को public internet पर expose करना सुरक्षित है?

नहीं। ComfyUI में किसी भी प्रकार का authentication नहीं है। इसका custom-node system interface से Python code install और run करता है। इसलिए खुला port आपके server पर remote code execution की अनुमति देता है। इसे 127.0.0.1 से bind करें। ssh -N -L 8188:127.0.0.1:8188 you@your-server के साथ SSH tunnel के माध्यम से access करें। यदि एक से अधिक लोगों को access चाहिए, तो इसके सामने authenticating reverse proxy रखें।

मेरा render बिना किसी error message के क्यों समाप्त हो गया?

dmesg में Killed के साथ process का गायब हो जाना और कोई Python traceback न होना Linux out-of-memory killer का संकेत है। यह ComfyUI bug नहीं है। केवल CPU वाले box पर weights system RAM में रहते हैं। इसलिए SDXL को लगभग 16 GB और SD 1.5 को लगभग 8 GB RAM चाहिए। इसके अतिरिक्त working space भी चाहिए। RAM बढ़ाएं, swap जोड़ें, या छोटा model और कम resolution उपयोग करें।