Skip to content

v1.0.1

Latest

Choose a tag to compare

@github-actions github-actions released this 03 Jan 19:21

1.0.1 (2026-01-03)

Bug Fixes

  • ci fixed on appending benchmark (34ea164)
  • fixed release config (4ff9850)

Compression Benchmark Results

Compression Benchmark & Cost Analysis Report

Dataset Summary

Category Files Purpose
Synthetic 69 Codec/format validation
Real 101 Realistic compression ratios
Edge 5 Stress testing (long videos)

Real Sample Results (Measured Performance)

File Type Status Original Output Ratio SSIM Time
real_img_dpreview_5.jpg Image Compressed 132.47 KB 58.38 KB (.webp) 44.07% 0.9833 43ms
real_img_dpreview_18.jpg Image Compressed 176.02 KB 73.91 KB (.webp) 41.99% 0.9755 49ms
real_img_dpreview_3.jpg Image Compressed 193.52 KB 63.88 KB (.webp) 33.01% 0.9839 40ms
real_img_dpreview_28.jpg Image Compressed 146.28 KB 90.00 KB (.webp) 61.53% 0.9665 51ms
real_img_dpreview_26.jpg Image Compressed 180.02 KB 65.58 KB (.webp) 36.43% 0.9846 40ms
real_img_hires_27.jpg Image Passthrough 1007.63 KB 1007.63 KB (.jpg) 100.00% 1.0000 1391ms
real_img_hires_15.jpg Image Passthrough 896.95 KB 896.95 KB (.jpg) 100.00% 1.0000 1270ms
real_aud_recording.mp3 Audio Passthrough 1.83 MB 1.83 MB (.mp3) 100.00% - 0ms
real_img_hires_26.jpg Image Passthrough 840.26 KB 840.26 KB (.jpg) 100.00% 1.0000 1331ms
real_img_dpreview_17.jpg Image Compressed 157.09 KB 55.01 KB (.webp) 35.01% 0.9859 45ms
real_img_dpreview_14.jpg Image Compressed 297.94 KB 185.93 KB (.webp) 62.40% 0.9757 137ms
real_img_dpreview_8.jpg Image Compressed 162.93 KB 72.75 KB (.webp) 44.65% 0.9904 58ms
real_img_scanned_doc_2.png Image Passthrough 32.47 KB 32.47 KB (.png) 100.00% 1.0000 464ms
real_vid_short_6.mp4 Video Passthrough 16.31 MB 7.20 MB (.mp4) 44.14% - 51697ms
real_img_dpreview_4.jpg Image Compressed 152.26 KB 83.63 KB (.webp) 54.93% 0.9863 98ms
real_img_dpreview_24.jpg Image Passthrough 88.15 KB 88.15 KB (.jpg) 100.00% 1.0000 39ms
real_img_dpreview_19.jpg Image Passthrough 96.43 KB 96.43 KB (.jpg) 100.00% 1.0000 40ms
real_img_dpreview_15.jpg Image Compressed 243.45 KB 105.11 KB (.webp) 43.17% 0.9897 52ms
real_img_dpreview_23.jpg Image Compressed 160.37 KB 102.81 KB (.webp) 64.11% 0.9415 51ms
real_img_hires_18.jpg Image Passthrough 1.14 MB 1.14 MB (.jpg) 100.00% 1.0000 1463ms
real_img_scanned_doc_3.png Image Passthrough 32.47 KB 32.47 KB (.png) 100.00% 1.0000 460ms
real_img_hires_21.jpg Image Passthrough 1.87 MB 1.87 MB (.jpg) 100.00% 1.0000 1699ms
real_img_screenshot_iphone_3.png Image Passthrough 13.91 KB 13.91 KB (.png) 100.00% 1.0000 170ms
real_img_medres_107.jpg Image Passthrough 717.76 KB 717.76 KB (.jpg) 100.00% 1.0000 751ms
real_img_hires_17.jpg Image Compressed 454.32 KB 372.91 KB (.webp) 82.08% 0.9958 1020ms
real_img_hires_3.jpg Image Passthrough 1.56 MB 1.56 MB (.jpg) 100.00% 1.0000 1566ms
real_img_hires_14.jpg Image Passthrough 649.55 KB 649.55 KB (.jpg) 100.00% 1.0000 1193ms
real_img_hires_2.jpg Image Compressed 339.35 KB 233.87 KB (.webp) 68.92% 0.9957 951ms
real_img_dpreview_21.jpg Image Compressed 236.72 KB 122.01 KB (.webp) 51.54% 0.9904 116ms
real_img_hires_22.jpg Image Passthrough 1.55 MB 1.55 MB (.jpg) 100.00% 1.0000 1587ms
real_img_medres_109.jpg Image Passthrough 351.83 KB 351.83 KB (.jpg) 100.00% 1.0000 608ms
real_img_portrait_145.jpg Image Passthrough 603.17 KB 603.17 KB (.jpg) 100.00% 1.0000 775ms
real_vid_medium_15_2098988-hd_1920_1080_30fps.mp4.mp4 Video Passthrough 10.74 MB 10.74 MB (.mp4) 100.00% - 42829ms
real_img_dpreview_2.jpg Image Compressed 88.62 KB 24.37 KB (.webp) 27.50% 0.9892 33ms
real_img_portrait_141.jpg Image Passthrough 561.65 KB 561.65 KB (.jpg) 100.00% 1.0000 716ms
real_img_dpreview_27.jpg Image Compressed 432.56 KB 294.59 KB (.webp) 68.10% 0.9804 182ms
real_img_screenshot_iphone_1.png Image Passthrough 13.91 KB 13.91 KB (.png) 100.00% 1.0000 169ms
real_img_hires_16.jpg Image Passthrough 1.12 MB 1.12 MB (.jpg) 100.00% 1.0000 1356ms
real_img_hires_1.jpg Image Passthrough 1.39 MB 1.39 MB (.jpg) 100.00% 1.0000 1548ms
real_img_hires_20.jpg Image Passthrough 265.21 KB 265.21 KB (.jpg) 100.00% 1.0000 983ms
real_img_medres_105.jpg Image Passthrough 152.76 KB 152.76 KB (.jpg) 100.00% 1.0000 511ms
real_img_screenshot_iphone_4.png Image Passthrough 13.91 KB 13.91 KB (.png) 100.00% 1.0000 170ms
real_img_screenshot_159.jpg Image Passthrough 305.71 KB 305.71 KB (.jpg) 100.00% 1.0000 307ms
real_img_dpreview_10.jpg Image Compressed 79.37 KB 19.98 KB (.webp) 25.18% 0.9820 26ms
real_img_hires_29.jpg Image Passthrough 970.23 KB 970.23 KB (.jpg) 100.00% 1.0000 1421ms
real_img_screenshot_160.jpg Image Passthrough 151.76 KB 151.76 KB (.jpg) 100.00% 1.0000 229ms
real_img_medres_106.jpg Image Passthrough 351.83 KB 351.83 KB (.jpg) 100.00% 1.0000 608ms
real_img_hires_11.jpg Image Compressed 311.35 KB 258.29 KB (.webp) 82.96% 0.9946 1015ms
real_aud_voice_memo.m4a Audio Passthrough 241.25 KB 241.25 KB (.m4a) 100.00% - 0ms
real_img_screenshot_158.jpg Image Passthrough 120.19 KB 120.19 KB (.jpg) 100.00% 1.0000 230ms
real_img_screenshot_iphone_2.png Image Passthrough 13.91 KB 13.91 KB (.png) 100.00% 1.0000 165ms
real_img_hires_10.jpg Image Passthrough 863.96 KB 863.96 KB (.jpg) 100.00% 1.0000 1316ms
real_img_medres_101.jpg Image Passthrough 905.90 KB 905.90 KB (.jpg) 100.00% 1.0000 874ms
real_img_hires_19.jpg Image Passthrough 1.55 MB 1.55 MB (.jpg) 100.00% 1.0000 1608ms
real_img_hires_5.jpg Image Passthrough 1.04 MB 1.04 MB (.jpg) 100.00% 1.0000 1390ms
real_img_hires_25.jpg Image Compressed 413.14 KB 362.56 KB (.webp) 87.76% 0.9923 1058ms
real_img_dpreview_9.jpg Image Compressed 95.56 KB 28.85 KB (.webp) 30.19% 0.9871 33ms
real_img_lowq_whatsapp_3.jpg Image Passthrough 32.30 KB 32.30 KB (.jpg) 100.00% 1.0000 107ms
real_img_portrait_142.jpg Image Passthrough 355.89 KB 355.89 KB (.jpg) 100.00% 1.0000 620ms
real_img_dpreview_16.jpg Image Compressed 273.44 KB 122.25 KB (.webp) 44.71% 0.9856 55ms
real_img_dpreview_13.jpg Image Compressed 171.74 KB 95.61 KB (.webp) 55.67% 0.9758 51ms
real_img_medres_102.jpg Image Passthrough 421.09 KB 421.09 KB (.jpg) 100.00% 1.0000 695ms
real_vid_medium_13_3044127-uhd_3840_2160_24fps.mp4.mp4 Video Passthrough 41.58 MB 18.53 MB (.mp4) 44.57% - 94306ms
real_img_medres_103.jpg Image Passthrough 392.61 KB 392.61 KB (.jpg) 100.00% 1.0000 627ms
real_img_hires_7.jpg Image Passthrough 446.76 KB 446.76 KB (.jpg) 100.00% 1.0000 1073ms
real_img_hires_24.jpg Image Passthrough 1.25 MB 1.25 MB (.jpg) 100.00% 1.0000 1527ms
real_aud_notification.ogg Audio Passthrough 13.16 KB 13.16 KB (.ogg) 100.00% - 0ms
real_img_dpreview_11.jpg Image Compressed 167.86 KB 75.48 KB (.webp) 44.97% 0.9558 43ms
real_img_dpreview_7.jpg Image Compressed 764.66 KB 40.66 KB (.webp) 5.32% 0.9863 49ms
real_img_hires_23.jpg Image Passthrough 1.64 MB 1.64 MB (.jpg) 100.00% 1.0000 1589ms
real_img_dpreview_25.jpg Image Compressed 208.08 KB 94.95 KB (.webp) 45.63% 0.9712 45ms
real_img_portrait_144.jpg Image Passthrough 458.02 KB 458.02 KB (.jpg) 100.00% 1.0000 700ms
real_img_dpreview_12.jpg Image Compressed 144.48 KB 70.17 KB (.webp) 48.56% 0.9835 98ms
real_img_screenshot_156.jpg Image Passthrough 270.11 KB 270.11 KB (.jpg) 100.00% 1.0000 288ms
real_img_scanned_doc_1.png Image Passthrough 32.47 KB 32.47 KB (.png) 100.00% 1.0000 461ms
real_img_hires_4.jpg Image Passthrough 1.36 MB 1.36 MB (.jpg) 100.00% 1.0000 1536ms
real_img_medres_110.jpg Image Passthrough 308.13 KB 308.13 KB (.jpg) 100.00% 1.0000 585ms
real_img_dpreview_20.jpg Image Compressed 137.24 KB 78.91 KB (.webp) 57.49% 0.9506 44ms
real_img_medres_108.jpg Image Passthrough 533.87 KB 533.87 KB (.jpg) 100.00% 1.0000 733ms
real_img_hires_13.jpg Image Passthrough 1.37 MB 1.37 MB (.jpg) 100.00% 1.0000 1455ms
real_img_dpreview_1.jpg Image Compressed 103.25 KB 29.17 KB (.webp) 28.25% 0.9787 32ms
real_img_hires_8.jpg Image Passthrough 587.09 KB 587.09 KB (.jpg) 100.00% 1.0000 1235ms
real_aud_music.flac Audio Compressed 733.53 KB 572.55 KB (.opus) 78.05% - 571ms
real_img_lowq_whatsapp_2.jpg Image Passthrough 11.72 KB 11.72 KB (.jpg) 100.00% 1.0000 69ms
real_img_medres_104.jpg Image Passthrough 268.65 KB 268.65 KB (.jpg) 100.00% 1.0000 622ms
real_img_hires_30.jpg Image Passthrough 1.37 MB 1.37 MB (.jpg) 100.00% 1.0000 1547ms
real_vid_short_4.mp4 Video Passthrough 12.06 MB 12.06 MB (.mp4) 100.00% - 43509ms
real_img_hires_28.jpg Image Passthrough 513.66 KB 513.66 KB (.jpg) 100.00% 1.0000 1147ms
real_vid_short_5.mp4 Video Passthrough 8.67 MB 3.91 MB (.mp4) 45.09% - 21161ms
real_img_hires_6.jpg Image Passthrough 1.06 MB 1.06 MB (.jpg) 100.00% 1.0000 1592ms
real_img_dpreview_22.jpg Image Compressed 193.11 KB 73.63 KB (.webp) 38.13% 0.9917 45ms
real_img_lowq_whatsapp_5.jpg Image Passthrough 8.21 KB 8.21 KB (.jpg) 100.00% 1.0000 65ms
real_img_lowq_whatsapp_4.jpg Image Passthrough 33.65 KB 33.65 KB (.jpg) 100.00% 1.0000 110ms
real_img_screenshot_157.jpg Image Passthrough 161.85 KB 161.85 KB (.jpg) 100.00% 1.0000 237ms
real_img_hires_9.jpg Image Passthrough 1.44 MB 1.44 MB (.jpg) 100.00% 1.0000 1504ms
real_img_hires_12.jpg Image Passthrough 588.13 KB 588.13 KB (.jpg) 100.00% 1.0000 1049ms
real_img_portrait_143.jpg Image Passthrough 268.23 KB 268.23 KB (.jpg) 100.00% 1.0000 599ms
real_img_dpreview_6.jpg Image Compressed 189.40 KB 103.89 KB (.webp) 54.85% 0.9890 103ms
real_img_dpreview_29.jpg Image Compressed 132.19 KB 68.46 KB (.webp) 51.79% 0.9904 105ms
real_img_screenshot_iphone_5.png Image Passthrough 13.91 KB 13.91 KB (.png) 100.00% 1.0000 170ms
real_img_lowq_whatsapp_1.jpg Image Passthrough 31.67 KB 31.67 KB (.jpg) 100.00% 1.0000 100ms
Synthetic Results
File Status Ratio Time
synth_img_red_1080p.png Passthrough 100.00% 135ms
synth_aud_pink_noise.wav Compressed 8.57% 134ms
synth_aud_pcm_16bit.wav Compressed 9.48% 133ms
synth_img_var_solid_1920x1080.tiff Compressed 0.15% 270ms
synth_img_var_solid_800x600.bmp Compressed 0.07% 154ms
synth_img_var_gradient_320x240.tiff Compressed 2.27% 94ms
synth_img_tiny_icon.png Passthrough 100.00% 0ms
synth_vid_lowfps.mp4 Passthrough 100.00% 922ms
synth_img_transparent.png Passthrough 100.00% 18ms
synth_img_high_entropy.jpg Compressed 41.72% 1499ms
synth_img_var_solid_320x240.bmp Passthrough 100.00% 84ms
synth_img_vertical_strip.jpg Passthrough 100.00% 14ms
synth_img_fractal.tiff Compressed 4.51% 212ms
synth_vid_high_bitrate.mp4 Passthrough 19.33% 4003ms
synth_img_var_noise_800x600.tiff Compressed 46.77% 363ms
synth_vid_h264_1080p.mp4 Passthrough 100.00% 4552ms
synth_img_var_gradient_1920x1080.tiff Compressed 0.39% 285ms
synth_img_var_gradient_800x600.png Passthrough 100.00% 59ms
synth_aud_sine.mp3 Passthrough 100.00% 0ms
synth_img_var_solid_800x600.jpg Passthrough 100.00% 48ms
synth_img_var_noise_800x600.png Compressed 53.16% 155ms
synth_aud_aac.m4a Passthrough 100.00% 0ms
synth_aud_sine.flac Passthrough 100.00% 118ms
synth_vid_vp9.webm Passthrough 100.00% 922ms
synth_img_already.webp Passthrough 100.00% 91ms
synth_img_var_solid_320x240.jpg Passthrough 100.00% 5ms
synth_vid_vertical.mp4 Passthrough 100.00% 1828ms
synth_img_var_solid_320x240.png Passthrough 100.00% 6ms
synth_img_var_solid_320x240.tiff Passthrough 100.00% 87ms
synth_vid_container.mkv Passthrough 100.00% 2060ms
synth_img_var_gradient_800x600.jpg Passthrough 100.00% 61ms
synth_img_var_noise_800x600.jpg Passthrough 100.00% 153ms
synth_img_var_gradient_1920x1080.png Passthrough 100.00% 145ms
synth_aud_24bit.wav Compressed 5.45% 123ms
synth_img_noise.png Compressed 52.94% 228ms
synth_img_test.bmp Compressed 0.75% 124ms
synth_aud_sine.ogg Passthrough 100.00% 0ms
synth_img_var_gradient_1920x1080.jpg Passthrough 100.00% 145ms
synth_img_black.jpg Passthrough 100.00% 62ms
synth_vid_prores.mov Compressed 2.85% 2060ms
synth_img_var_solid_800x600.tiff Compressed 0.16% 148ms
synth_img_var_gradient_320x240.png Passthrough 100.00% 8ms
synth_vid_screen_recording.mp4 Passthrough 19.82% 4811ms
synth_img_var_noise_1920x1080.tiff Compressed 46.69% 1030ms
synth_img_animated.gif Passthrough 100.00% 108ms
synth_vid_low_bitrate.mp4 Passthrough 100.00% 2342ms
synth_img_var_noise_320x240.png Passthrough 100.00% 25ms
synth_vid_medium_bitrate.mp4 Passthrough 24.35% 4000ms
synth_img_var_gradient_320x240.bmp Compressed 1.76% 93ms
synth_vid_hevc.mp4 Passthrough 100.00% 3090ms
synth_img_var_gradient_800x600.bmp Compressed 0.67% 165ms
synth_img_uhd_testsrc.jpg Compressed 22.09% 509ms
synth_img_var_gradient_800x600.tiff Compressed 0.87% 162ms
synth_img_var_noise_320x240.bmp Compressed 24.45% 126ms
synth_aud_highq.mp3 Passthrough 100.00% 0ms
synth_img_var_noise_320x240.jpg Passthrough 100.00% 24ms
synth_img_var_gradient_320x240.jpg Passthrough 100.00% 9ms
synth_img_var_noise_320x240.tiff Compressed 46.70% 126ms
synth_img_var_solid_1920x1080.bmp Compressed 0.06% 262ms
synth_vid_quicktime.mov Passthrough 100.00% 1457ms
synth_img_var_gradient_1920x1080.bmp Compressed 0.30% 290ms
synth_img_var_noise_1920x1080.bmp Compressed 24.33% 993ms
synth_img_var_solid_1920x1080.jpg Passthrough 100.00% 122ms
synth_img_var_solid_800x600.png Passthrough 100.00% 50ms
synth_img_var_noise_800x600.bmp Compressed 24.41% 356ms
synth_img_var_solid_1920x1080.png Passthrough 100.00% 129ms
synth_img_var_noise_1920x1080.jpg Passthrough 100.00% 436ms
synth_img_var_noise_1920x1080.png Compressed 53.08% 448ms
synth_vid_mjepg.mov Compressed 1.75% 1044ms

Dataset Composition Validation

Metric Value Target
Video/Audio 58.2% ~65%
Images 41.8% ~33%

Upload Request Costs

One-time costs when uploading files (PUT requests per 1,000 files).

Storage Class Cost/1K Requests Cost per 10K Files Cost per 100K Files
S3 Standard $0.005 $0.05 $0.50
Glacier IR $0.020 $0.20 $2.00
Deep Archive $0.050 $0.50 $5.00

Fresh Upload Transition Costs (After 60 Days)

Files uploaded with fresh=true stay in S3 Standard for 60 days, then transition automatically.

Metric Glacier IR Deep Archive
Transition Fee $0.020/GB $0.020/GB
Per 100 GB $2.00 $2.00
Per 1 TB $20.48 $20.48

Additional 60-day Standard storage cost:

  • Per 100 GB: $4.60
  • Per 1 TB: $47.10

Retrieval Costs

Cost to retrieve archived originals (e.g., for download or editing).

Storage Class Retrieval Tier Cost/GB Wait Time Per 100 GB Per 1 TB
Glacier IR Instant $0.030 Instant $3.00 $30.72
Deep Archive Standard $0.010 12 hours $1.00 $10.24
Deep Archive Bulk $0.0025 48 hours $0.25 $2.56

Retrieval Cost Projections (Based on Benchmark Data)

Using projected thumbnail size of 36.25 GB per 1TB library:

Thumbnails (always on Glacier IR):

  • Retrieve all thumbnails: $1.09 (36.25 GB)

Originals (697.60 GB projected per 1TB library):

Scenario Glacier IR Deep Archive (Std) Deep Archive (Bulk)
Retrieve 100% $20.93 $6.98 (12h) $1.74 (48h)
Retrieve 10% $2.09 $0.70 (12h) $0.17 (48h)
Retrieve 1% $0.21 $0.07 (12h) $0.02 (48h)

Commercial Provider Comparison

Provider Cost per TB/month
Google One / Google Photos $5.00
iCloud $5.00
Dropbox $6.00
OneDrive $6.99
Amazon Photos (Prime) ~$7.50

Monthly Cost Scenarios (1TB Library)

Projections based on actual measured sizes.

Desktop (Compress Everything)

Storage Class Originals Cost/Mo Audio Cost/Mo Thumbnail Cost/Mo Total Cost/Mo
Deep Archive $0.69 (697.60 GB) $0.08 (20.01 GB) $0.15 (36.25 GB) $0.92
Instant Retrieval $2.79 (697.60 GB) $0.08 (20.01 GB) $0.15 (36.25 GB) $3.02

Mobile (Compress Images Only)

Storage Class Originals Cost/Mo Audio Cost/Mo Thumbnail Cost/Mo Total Cost/Mo
Deep Archive $0.97 (977.53 GB) $0.08 (20.01 GB) $0.15 (36.25 GB) $1.19
Instant Retrieval $3.91 (977.53 GB) $0.08 (20.01 GB) $0.15 (36.25 GB) $4.14