Open-source licences
MediaBastion Web is built on the libraries and models below. Each is served unmodified from this site's vendor/ or models/ folder (the only exception is qrcode, whose CommonJS browser entry is bundled into one ES module with esbuild; its MIT notice is kept inline). Licence texts are in licenses/. Nothing is fetched from a third-party CDN at run time.
Libraries
| Library | Version | Licence | Used for | Source |
|---|---|---|---|---|
| @imagemagick/magick-wasm | 0.0.43 (ImageMagick 7.1.2-30) | Apache-2.0 wrapper; see the LGPL note below · NOTICE | HEIC, RAW, PSD, TIFF, JXL decode; GIF, BMP, TIFF, JXL output; metadata-keeping conversions; X-ray profile listing | github.com/dlemstra/magick-wasm |
| @jsquash/avif | 2.1.1 | Apache-2.0 (Squoosh / libaom) | AVIF encoding | github.com/jamsinclair/jSquash |
| pica | 10.0.3 | MIT | Lanczos resizing | github.com/nodeca/pica |
| exifr | 7.1.3 | MIT | EXIF, GPS, XMP, IPTC, ICC and thumbnail reading | github.com/MikeKovarik/exifr |
| ExifReader | 4.44.0 | MPL-2.0 (file unmodified) | Second metadata reader: WebP, GIF, JXL, MakerNotes, XMP | github.com/mattiasw/ExifReader |
| client-zip | 2.5.0 | MIT | "Download all as ZIP" | github.com/Touffy/client-zip |
| @huggingface/transformers (Transformers.js) | 4.2.0 | Apache-2.0 | Runs the background-removal models | github.com/huggingface/transformers.js |
| onnxruntime-web | 1.26.0-dev.20260416 (the wasm bundled by Transformers.js, plus ort.wasm.min.mjs from the same package for the upscaler worker) | MIT | ONNX inference on WebAssembly (background removal, upscaling, transcription) | github.com/microsoft/onnxruntime |
| pdf-lib | 1.17.1 | MIT | Pictures to PDF | github.com/Hopding/pdf-lib |
| pdfjs-dist (PDF.js) | 6.3.289 | Apache-2.0 (bundled OpenJPEG BSD-2, JBIG2 Apache-2.0, qcms MIT: see vendor/pdfjs/wasm/) | PDF pages to pictures | github.com/mozilla/pdf.js |
| qrcode | 1.5.4 | MIT | QR code generation | github.com/soldair/node-qrcode |
| zxing-wasm | 3.1.3 | MIT wrapper; zxing-cpp Apache-2.0 inside the wasm | QR code reading when the browser has no BarcodeDetector | github.com/Sec-ant/zxing-wasm |
| mediabunny | 1.55.6 | MPL-2.0 (file unmodified) | Video and audio reading, writing, trimming, conversion on WebCodecs | github.com/Vanilagy/mediabunny |
| @mediabunny/mp3-encoder | 1.55.6 | MPL-2.0 wrapper around LAME (LGPL-2.1+); separate file, see the LGPL note | MP3 encoding where the browser has no MP3 encoder | mediabunny/packages/mp3-encoder |
| gifenc | 1.0.3 | MIT | GIF encoding (video to GIF, pictures to animation, boomerang, before/after GIF) | github.com/mattdesl/gifenc |
AI models
| Model | File | Licence | Used for | Source |
|---|---|---|---|---|
| MODNet (Xenova/modnet) | onnx/model_quantized.onnx, 6.6 MB | Apache-2.0 | Background removal (people and portraits, CPU); head and person framing for Smart crop and Passport photo | huggingface.co/Xenova/modnet · github.com/ZHKKKe/MODNet |
| Real-ESRGAN AnimeVideo v3, compact x4 (SRVGGNetCompact) | realesr/RealESR-AnimeVideo-v3_x4.onnx, 2.5 MB | BSD-3-Clause | "Enlarge (upscale)", AI path, on the CPU through onnxruntime-web | huggingface.co/tidus2102/Real-ESRGAN · github.com/xinntao/Real-ESRGAN |
| Whisper tiny, English only (Xenova/whisper-tiny.en) | onnx/encoder_model_quantized.onnx 10.1 MB + onnx/decoder_model_merged_quantized.onnx 30.7 MB + tokenizer 2.1 MB | Apache-2.0 conversion of OpenAI's MIT model | "Transcribe (any language)", the "English only, faster" model: speech to SRT, VTT, TXT, LRC, Markdown through Transformers.js | huggingface.co/Xenova/whisper-tiny.en · github.com/openai/whisper |
| Whisper tiny, multilingual (Xenova/whisper-tiny) | onnx/encoder_model_quantized.onnx 10.1 MB + onnx/decoder_model_merged_quantized.onnx 30.7 MB + tokenizer 2.8 MB | Apache-2.0 conversion of OpenAI's MIT model | "Transcribe (any language)", the "Any language" model: 99 languages, transcribe or translate into English | huggingface.co/Xenova/whisper-tiny · github.com/openai/whisper |
Total model bytes served by this edition: about 52 MB. Models are fetched into models/ by _build/models.mjs (pinned repository and file names) and never at run time from Hugging Face.
Written for this app, no library: the EXIF/TIFF reader and writer (js/exif.js), the APNG muxer (js/anim.js), the BlurHash and ThumbHash encoders (js/hashes.js, from the published MIT reference algorithms by Wolt and Evan Wallace), the ASE swatch writer, and all pixel maths in js/pixels.js (curves, LUTs, dithering, colour-blindness matrices from Machado, Oliveira and Fernandes 2009, SSIM after Wang et al. 2004).
Evaluated and held back: BiRefNet-lite (onnx-community/BiRefNet_lite-ONNX, MIT) for objects and products; it needs WebGPU and the current onnxruntime WebGPU build failed on the reference laptop, so it is not shipped in this version. Not used, on purpose: BRIA RMBG-1.4 / RMBG-2.0 (non-commercial licences) and @imgly/background-removal (AGPL-3.0 or paid). The stock @ffmpeg/core is GPL (built with x264 and x265) and is not shipped either; video and audio run on the browser's own WebCodecs encoders through mediabunny.
The LGPL note (magick-wasm and the MP3 encoder)
vendor/magick-wasm/magick.wasm is the unmodified wasm32 build of ImageMagick from the magick-wasm project. Its Apache-2.0 wrapper statically links several LGPL libraries inside the wasm file: libheif and libde265 (LGPL-3.0, HEIC decoding), glib (LGPL-2.1) and LibRaw (LGPL-2.1 / CDDL-1.0, RAW decoding), together with permissively licensed delegates (libjpeg-turbo, libpng, libwebp, libtiff, aom, libjxl, OpenJPEG, lcms, zlib, brotli, freetype and others; the full list with copyright notices is in the NOTICE file). MediaBastion Web loads that file at run time as a separate, replaceable component, exactly as published: it is not inlined, minified or altered, so it can be swapped for any other build from its source repository. The same applies to vendor/mediabunny/mediabunny-mp3-encoder.min.mjs, which carries the LAME encoder (LGPL-2.1+) inside an MPL-2.0 wrapper and is likewise shipped as its own unmodified file.
Fonts and everything else
The page uses the system font stack (Segoe UI on Windows). No web fonts, no icon fonts, no scripts from other origins. Icons are inline SVG drawn for this product.
To rebuild vendor/: cd _build && npm install && node vendor.mjs (the _build folder and its node_modules are never deployed).