You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Stability Matrix Inference under Cachyos Create Massive 100mb+ png #1728
Operating System: CachyOS Linux
KDE Plasma Version: 6.7.4
KDE Frameworks Version: 6.29.0
Qt Version: 6.11.2
Kernel Version: 7.2.2-1-cachyos (64-bit)
Graphics Platform: Wayland
When i use Stability Matrix Inference he output PNG images with 100mb or more, i try change models or image size 1024x1024 or 512x512 and many other settings always the same result png is over 100mb.
When i open the output browser he try to preview them and the CPU load go to 100% the only way to stop that its close Stability Matrix .
In Comfyui self over workflows all runs normal png its 1-2mb with same settings and prompt.
i ask the Google AI thats the result:
Problem Description
The built-in Stability Matrix Inference interface generates massive, uncompressed PNG files (sometimes exceeding 100MB per image) even for standard resolutions where the pure pixel data should only be around 1-3MB.
Root Cause
Uncompressed Metadata Chunks: Stability Matrix embeds the entire UI state, used LoRA weights, and project configurations directly into the PNG as custom metadata blocks. These metadata blocks are stored completely uncompressed.
Missing Format Alternatives: The application strictly enforces this heavy PNG structure because the internal gallery UI relies on reading these .smproj embedded chunks to load history. There is currently no user toggle to disable metadata embedding or switch the output format to highly efficient WebP/JPEG (which handles embedded data much better).
Linux Impact (Avalonia UI): On Linux systems (specifically Arch/CachyOS), when the Avalonia UI framework tries to scale and render these 100MB+ files for the gallery sidebar preview, it triggers massive CPU spikes and crashes/freezes the system instead of using hardware acceleration efficiently.
Suggested Solutions
Provide an option in the Inference settings to disable metadata embedding.
Allow changing the output format to WebP while safely compressing the generation workflow data.
Optimize the Avalonia UI gallery loader so it doesn't parse the entire 100MB metadata overhead just to show a tiny preview thumbnail.
This would also help keep the issue from being closed as stale. A quick way to see what's actually taking up the space is to list the PNG chunks with their sizes:
(python chunks.py image.png). Inference adds three text chunks before the image data in PngDataHelper.AddMetadata: parameters, parameters-json and smproj. They're written uncompressed. smproj is the whole project state of the Inference tab, so if that's the 100 MB one, the size comes from whatever the tab state holds, not from the pixels. If the big one is IDAT instead, the image data itself isn't being compressed. The output from one affected file would tell the devs which of the two it is.
If it is smproj, this copies a file without it and keeps parameters and parameters-json, so the prompt and settings stay readable in other apps:
(python strip.py big.png small.png). The catch is that Stability Matrix uses smproj to reopen the project from the image, so keep the originals of anything you may want to load back.
Activity
github-actions commentedon Oct 30, 2026
This issue is stale because it has been open 60 days with no activity. Remove the stale label or comment, else this will be closed in 7 days.
shivamdwn commentedon Nov 6, 2026
This would also help keep the issue from being closed as stale. A quick way to see what's actually taking up the space is to list the PNG chunks with their sizes:
(
python chunks.py image.png). Inference adds three text chunks before the image data inPngDataHelper.AddMetadata:parameters,parameters-jsonandsmproj. They're written uncompressed.smprojis the whole project state of the Inference tab, so if that's the 100 MB one, the size comes from whatever the tab state holds, not from the pixels. If the big one is IDAT instead, the image data itself isn't being compressed. The output from one affected file would tell the devs which of the two it is.If it is
smproj, this copies a file without it and keepsparametersandparameters-json, so the prompt and settings stay readable in other apps:(
python strip.py big.png small.png). The catch is that Stability Matrix usessmprojto reopen the project from the image, so keep the originals of anything you may want to load back.