Skip to content

Compress AVIF images at build time instead of at runtime - #5451

Merged
axelhzf merged 4 commits into
mainfrom
optimize-images
Jul 31, 2026
Merged

Compress AVIF images at build time instead of at runtime#5451
axelhzf merged 4 commits into
mainfrom
optimize-images

Conversation

@axelhzf

@axelhzf axelhzf commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

ImageMagick's default AVIF quality is near-lossless and produces unnecessarily large files. Add -quality 80 to the PNG/JPG → AVIF conversion steps (saveImages.ts, cell_output_data.py), and re-encode the ~3,257 existing AVIF images under public/ at the same quality, saving 17.49 MB across 778 files.

ImageMagick's default AVIF quality is near-lossless and produces
unnecessarily large files. Add -quality 80 to the PNG/JPG → AVIF
conversion steps (saveImages.ts, cell_output_data.py), and re-encode
the ~3,257 existing AVIF images under public/ at the same quality,
saving 17.49 MB across 778 files.
@axelhzf
axelhzf requested a review from a team July 30, 2026 07:03
@axelhzf
axelhzf requested review from a team, Alienah, brownjedi and eharvey328 and removed request for Alienah, brownjedi and eharvey328 July 30, 2026 07:03
Alienah
Alienah previously approved these changes Jul 30, 2026
axelhzf added 2 commits July 31, 2026 09:44
# Conflicts:
#	public/docs/images/api/qiskit-ibm-runtime/dev/fake_provider-2.avif
#	public/docs/images/api/qiskit-ibm-runtime/dev/fake_provider-3.avif
#	public/docs/images/api/qiskit-ibm-runtime/dev/twirling_strategy_options.avif
#	public/docs/images/api/qiskit/dev/circuit_random-1.avif
#	public/docs/images/api/qiskit/dev/circuit_random-3.avif
#	public/docs/images/api/qiskit/dev/providers_fake_provider-1_01.avif
#	public/docs/images/api/qiskit/dev/providers_fake_provider-1_02.avif
#	public/docs/images/api/qiskit/dev/qiskit-circuit-ControlledGate-2.avif
#	public/docs/images/api/qiskit/dev/qiskit-circuit-Parameter-1_00.avif
#	public/docs/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-31.avif
#	public/docs/images/api/qiskit/dev/qiskit-circuit-library-AndGate-1.avif
#	public/docs/images/api/qiskit/dev/qiskit-circuit-library-AndGate-2.avif
#	public/docs/images/api/qiskit/dev/qiskit-circuit-library-BitwiseXorGate-1.avif
#	public/docs/images/api/qiskit/dev/qiskit-circuit-library-InnerProductGate-1.avif
#	public/docs/images/api/qiskit/dev/qiskit-circuit-library-OrGate-1.avif
#	public/docs/images/api/qiskit/dev/qiskit-circuit-library-OrGate-2.avif
#	public/docs/images/api/qiskit/dev/qiskit-circuit-library-PermutationGate-2.avif
#	public/docs/images/api/qiskit/dev/qiskit-circuit-library-PhaseEstimation-1.avif
#	public/docs/images/api/qiskit/dev/qiskit-circuit-library-random_iqp-1.avif
#	public/docs/images/api/qiskit/dev/qiskit-circuit-library-unitary_overlap-1.avif
#	public/docs/images/api/qiskit/dev/qiskit-quantum_info-Statevector-1.avif
#	public/docs/images/api/qiskit/dev/qiskit-transpiler-passes-FilterOpNodes-1.avif
#	public/docs/images/api/qiskit/dev/qiskit-transpiler-passes-RemoveBarriers-1.avif
#	public/docs/images/api/qiskit/dev/qiskit-transpiler-passes-TwoQubitPeepholeOptimization-1.avif
#	public/docs/images/api/qiskit/dev/qiskit-visualization-circuit_drawer-1.avif
#	public/docs/images/api/qiskit/dev/qiskit-visualization-plot_error_map-1.avif
#	public/docs/images/api/qiskit/dev/qiskit-visualization-plot_histogram-1_01.avif
#	public/docs/images/api/qiskit/dev/qiskit-visualization-plot_state_hinton-1.avif
#	public/docs/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-1.avif
#	public/docs/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-2.avif
#	public/docs/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-3.avif
#	public/docs/images/api/qiskit/dev/transpiler-10.avif
#	public/docs/images/api/qiskit/dev/transpiler-9.avif
#	public/docs/images/api/qiskit/dev/visualization-1.avif
#	public/docs/images/api/qiskit/dev/visualization-3.avif

@abbycross abbycross left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@axelhzf
axelhzf added this pull request to the merge queue Jul 31, 2026
Merged via the queue into main with commit 8f07087 Jul 31, 2026
7 checks passed
@axelhzf
axelhzf deleted the optimize-images branch July 31, 2026 13:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants