{"id":130,"date":"2025-02-18T17:03:00","date_gmt":"2025-02-18T09:03:00","guid":{"rendered":"https:\/\/blog.liu-qi.cn\/?p=130"},"modified":"2026-04-18T21:47:16","modified_gmt":"2026-04-18T13:47:16","slug":"comfyui-%e5%a6%82%e4%bd%95ai%e6%94%be%e5%a4%a7%e7%85%a7%e7%89%87%e4%b8%8d%e6%a8%a1%e7%b3%8a%ef%bc%9f%e6%8e%a8%e8%8d%90%e4%b8%80%e4%b8%aa%e5%86%b7%e9%97%a8%e7%9a%84%e5%9b%be%e7%89%87%e6%94%be","status":"publish","type":"post","link":"https:\/\/en.blog.liu-qi.cn\/2025\/02\/18\/comfyui-%e5%a6%82%e4%bd%95ai%e6%94%be%e5%a4%a7%e7%85%a7%e7%89%87%e4%b8%8d%e6%a8%a1%e7%b3%8a%ef%bc%9f%e6%8e%a8%e8%8d%90%e4%b8%80%e4%b8%aa%e5%86%b7%e9%97%a8%e7%9a%84%e5%9b%be%e7%89%87%e6%94%be\/","title":{"rendered":"ComfyUI | A Lesser-Known AI Image Upscaler Model That Preserves Original Details"},"content":{"rendered":"<p>I&#8217;m sick of talking about large language models and DeepSeek, so let&#8217;s change the pace.<\/p>\n<p>Let me share an image upscaling model I&#8217;ve been using for a while, which is relatively obscure but really useful. It&#8217;s not widely used in China, but it&#8217;s excellent. It can upscale an image almost losslessly with minimal redrawing, preserving as much of the original quality as possible.<\/p>\n<p>No need to beat around the bush\u2014the model is named: 4xNomos8kSCHAT-L.<\/p>\n<p>Here&#8217;s a demonstration of the effect: the left side is the upscaled version, and the right side is the original image:<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/001-260f16609974.png\" \/><\/p>\n<p>You can find this model by searching on Google, or if you&#8217;re too lazy to search, you can directly refer to this article:<a href=\"https:\/\/blog.liu-qi.cn\/2025\/02\/18\/4xnomos8kschat-l-pth\/\">4xNomos8kSCHAT-L<\/a>\u3002<\/p>\n<p>(To use this model, you&#8217;ll need a computer or cloud computer with decent specs and some basic knowledge of ComfyUI operations. If you don&#8217;t have access to these right now, you can save this for later.)<\/p>\n<p>Many people prefer using SUPIR for image upscaling, and of course, SUPIR is good too.<\/p>\n<p>But I think its issues are also quite obvious.<\/p>\n<p>First, it can easily cause out-of-memory errors with large images.<\/p>\n<p>Whether the original image is large or the upscaling factor is high, it can lead to memory overflow.<\/p>\n<p>Upscaling a photo of around 3 million pixels isn&#8217;t too much to ask, really.<\/p>\n<p>But as a user with an RTX 4090, I can confirm that this is quite challenging even for consumer-grade graphics cards.<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/002-278e3764b0d8.png\" \/><\/p>\n<p>Second, SUPIR requires two models.<\/p>\n<p>One is the SUPIR model, and the other is an SDXL model.<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/003-369f11001f1d.png\" \/><\/p>\n<p>Having this SDXL model means it will resample the image, which can easily introduce unnecessary variables.<\/p>\n<p>Even if you only use a quality prompt and set s_noise very low, the fact is that it redraws the image.<\/p>\n<p>For example, using the Juggernaut model, which is the most commonly used with SUPIR, and only applying quality prompts, I upscale this photo of a girl:<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/004-980721ca252a.png\" \/><\/p>\n<p>Zooming in on the details, what&#8217;s with the hair in front of the face and on the wall behind?<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/005-0beda3373d5d.png\" \/><\/p>\n<p>Changing the SDXL model produces a different result. For instance, without modifying any other parameters, if I switch to the LEOSAM HelloWorld New World model, the hair issue disappears. However, since the HelloWorld model has built-in skin smoothing for portraits, it might appear slightly blurred.<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/006-4edb3ae43e7b.png\" \/><\/p>\n<p>Let me show a few more.<\/p>\n<p>Juggernaut\uff1a<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/007-a0c2f15a3dca.png\" \/><\/p>\n<p>HelloWorld\uff1a<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/008-9ac71faf2acf.png\" \/><br \/>\nJuggernaut\uff1a<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/009-8e7acc17c760.png\" \/><\/p>\n<p>HelloWorld\uff1a<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/010-83c75025bd70.png\" \/><\/p>\n<p>(SUPIR is actually quite suitable for restoring old photos.)<\/p>\n<p>The difference is quite noticeable, right?<\/p>\n<p>It&#8217;s heavily influenced by the SDXL model.<\/p>\n<p>Moreover, when it comes to commercial use, adding an extra SDXL model complicates things significantly.<\/p>\n<p>This is where 4xNomos8k excels.<\/p>\n<p>It&#8217;s just one upscaling model that handles the task independently.<\/p>\n<p>Upscale by 4x, simple as that:<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/011-69781209db3d.png\" \/><\/p>\n<p>It can be used commercially.<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/012-48744539bfb1.png\" \/><\/p>\n<p>And it stays as faithful to the original image as possible.<\/p>\n<p>Here are some opinions posted by the author on Reddit (viewable via Google Translate):<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/013-a0dc434fdfaa.png\" \/><\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/014-38af05003b5c.png\" \/><\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/015-91802bf6f365.png\" \/><\/p>\n<p>Therefore, this upscaling model is very suitable for upscaling real-life photos (excluding damaged old photos, of course).<\/p>\n<p>For instance, this world-famous photo that was just upscaled:<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/016-ab265379a885.jpg\" \/><\/p>\n<p>Let&#8217;s look at the original image and the enlarged dimensions:<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/017-786f7e8436ed.png\" \/><\/p>\n<p>From less than 3 megapixels directly enlarged to nearly 45 megapixels.<\/p>\n<p>This is still with a small original image; enlarging to over 150 megapixels is also completely fine, without running out of VRAM.<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/018-24f093338809.png\" \/><\/p>\n<p>Images of this size can&#8217;t be uploaded, so let&#8217;s directly screenshot the details: the left side is the enlarged version, and the right side is the original.<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/019-30b3ae8e91bc.png\" \/><\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/001-260f16609974.png\" \/><\/p>\n<p>Let&#8217;s find another small original image, like this one:<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/021-5a4fc091a92c.png\" \/><\/p>\n<p>The original image is 512*350, which can already be considered blurry, right? Why not su&#8230; okay, I&#8217;ll put the meme away.<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/022-d08fb29fd409.png\" \/><\/p>\n<p>After enlargement:<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/023-212b1c24d328.png\" \/><\/p>\n<p>Details:<\/p>\n<p>This time, I&#8217;ve reversed the connection of the comparison node. On the right is the enlarged version. Notice the position of the mole\u2014it hasn&#8217;t changed at all, completely faithful to the original.<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/024-f6a0b213fc2f.png\" \/><\/p>\n<p>Also, pay attention to the clothing details, which are all sufficiently restored:<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/025-c3d53476d016.png\" \/><\/p>\n<p>Let&#8217;s do it again with the most familiar 4x-UltraSharp.<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/026-6a565384baac.png\" \/><\/p>\n<p>After enlargement:<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/027-c1d21ff5726d.png\" \/><\/p>\n<p>Below: left is 4x-UltraSharp, right is 4xNomos8kSCHAT-L.<\/p>\n<p>UltraSharp comes with built-in sharpening, which looks clearer at first glance, but upon closer inspection, it&#8217;s not natural enough.<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/028-ffc6e2aae029.png\" \/><\/p>\n<p>Especially in the details, UltraSharp shows obvious distortion.<\/p>\n<p>4x-UltraSharp sweater details \u2b07\ufe0f<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/029-9dffee0bef95.png\" \/><\/p>\n<p>4xNomos8kSCHAT-L Sweater Details \u2b07\ufe0f<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/030-7bdd9520473b.png\" \/><\/p>\n<p>4x-UltraSharp Hair Strands \u2b07\ufe0f<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/031-a6d582ac0c6f.png\" \/><\/p>\n<p>4xNomos8kSCHAT-L Hair Strands \u2b07\ufe0f<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/032-bae3aa2c7776.png\" \/><\/p>\n<p>If you say, I just want to have an image generation model redraw some details, I don&#8217;t intend to use it commercially, and I don&#8217;t mind if it&#8217;s not completely identical to the original image, I just want to resample and upscale to get better image quality.<\/p>\n<p>That&#8217;s perfectly fine.<\/p>\n<p>I&#8217;ll use 4xNomos8kSCHAT-L for the upscaling model, and switch the redraw model to the fp16 version of flux.1 dev for you. How does that sound?<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/033-2abd2764ef3e.png\" \/><\/p>\n<p>This enhancement should be sufficient.<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/034-eda2fe059ac3.png\" \/><\/p>\n<p>Details of skin and lips:<\/p>\n<p>flux Redraw + Upscale \u2b07\ufe0f<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/035-777e32368975.png\" \/><\/p>\n<p>Original Image Upscaled \u2b07\ufe0f<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/036-f2d35927c3db.png\" \/><\/p>\n<p>Original Image \u2b07\ufe0f<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/037-6a42f4df9b69.png\" \/><\/p>\n<p>Details of eyebrows and hair:<\/p>\n<p>flux Redraw + Upscale \u2b07\ufe0f<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/038-96b4002419a3.png\" \/><\/p>\n<p>Original Image Upscaled \u2b07\ufe0f<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/039-245db0e5a473.png\" \/><\/p>\n<p>Original Image \u2b07\ufe0f<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2025\/02\/040-f00c5048cdf1.png\" \/><\/p>\n<p>Place the model files in the modelsupscale_models folder.<\/p>\n<p>Enjoy\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article introduces a hidden gem for AI image upscaling that minimizes blurring and redrawing artifacts.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24],"tags":[],"class_list":["post-130","post","type-post","status-publish","format-standard","hentry","category-articles"],"_links":{"self":[{"href":"https:\/\/en.blog.liu-qi.cn\/index.php\/wp-json\/wp\/v2\/posts\/130","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/en.blog.liu-qi.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/en.blog.liu-qi.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/en.blog.liu-qi.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/en.blog.liu-qi.cn\/index.php\/wp-json\/wp\/v2\/comments?post=130"}],"version-history":[{"count":0,"href":"https:\/\/en.blog.liu-qi.cn\/index.php\/wp-json\/wp\/v2\/posts\/130\/revisions"}],"wp:attachment":[{"href":"https:\/\/en.blog.liu-qi.cn\/index.php\/wp-json\/wp\/v2\/media?parent=130"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/en.blog.liu-qi.cn\/index.php\/wp-json\/wp\/v2\/categories?post=130"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/en.blog.liu-qi.cn\/index.php\/wp-json\/wp\/v2\/tags?post=130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}