Beskrivelse
Indigit Imagination is a free WordPress plugin that uses libvips as a local image processing backend through the WP_Image_Editor API.
It supports JPEG, PNG, GIF, WebP, AVIF, HEIC, and TIFF.
All image processing is performed locally on your server. No API key, account, external service, or cloud processing is required.
Indigit Imagination is completely free for any use, including commercial use. There are no ads, tracking, or data collection.
Requirements
Indigit Imagination needs three things on your server:
- PHP 7.4 or newer.
- The PHP FFI extension, with
ffi.enableset totrue. - libvips 8.12 or newer installed as a system library.
The FFI setting must allow FFI use by the PHP SAPI that runs WordPress. The default ffi.enable=preload setting restricts FFI usage and is not sufficient for Indigit Imagination.
libvips must also be available to the PHP environment used by WordPress, such as PHP-FPM. Having libvips available only to the command-line PHP environment is not sufficient.
Indigit Imagination has been tested only on Linux.
These requirements make Indigit Imagination unsuitable for most shared hosting environments, where users cannot change PHP configuration or install system libraries. Ask your hosting provider whether the required configuration is available.
If the requirements are not met, Indigit Imagination is not used. WordPress keeps using another available image editor, such as Imagick or GD. Nothing breaks.
Go to Tools > Site Health, click the Info tab, and find the Indigit Imagination section. It shows whether the requirements are met and the detected server configuration.
Settings
Settings > Indigit Imagination has these options:
- Resampling kernel: Linear (default) or Lanczos3
- Big image threshold
- Metadata: strip all, keep all, or keep only the color profile
- Process all uploads on the server instead of in the browser (WordPress 7.1 and newer)
- Error log for support requests (off by default)
Privacy
Indigit Imagination does not connect to any external service.
The plugin does not make remote requests and does not send images, metadata, diagnostic information, or other data to an external server.
The plugin stores its settings in the options table. The error log is off by default. When you turn it on, it keeps the last 10 image errors on your site. File paths in the messages are replaced with a placeholder such as <file>.jpg or <path>. Turning the log off deletes it.
Included Libraries
The following libraries are included with Indigit Imagination. Their namespaces are prefixed where applicable to avoid conflicts with other WordPress plugins:
- php-vips by John Cupitt, MIT License
- PSR Log, MIT License
- Composer Installers, MIT License
libvips is provided by your server and is licensed under the LGPL-2.1-or-later.
Performance
Indigit Imagination uses libvips for image processing. The libvips project publishes benchmarks covering image-processing performance, memory usage, and multithreading:
These benchmarks are performed using specific workloads and hardware and should not be treated as a performance guarantee for a particular WordPress installation.
Source Code
The source code and the build steps are on GitHub.
Installation
- Make sure your server meets the requirements above.
- Install libvips 8.12 or newer as a system library.
- Install the PHP FFI extension and set
ffi.enabletotruefor the PHP environment used by WordPress. - Install and activate Indigit Imagination through the WordPress Plugins screen.
- Go to Tools > Site Health, click the Info tab, and find the Indigit Imagination section.
FAQ
-
Why does Indigit Imagination require FFI?
-
Indigit Imagination uses php-vips to access libvips from PHP. PHP FFI is required for this integration.
-
Yes, but only when the hosting environment provides all required components and gives you control over the required PHP configuration and system libraries.
Most shared hosting environments do not allow FFI or installation of system libraries such as libvips.
-
Does Indigit Imagination use an external image optimization service?
-
No.
Image processing is performed locally on your server. Indigit Imagination does not upload images or other data to an external service.
-
What happens if a requirement is missing?
-
Indigit Imagination is not used as the image editor when its requirements are not met. WordPress keeps using another available image editor, such as Imagick or GD. Nothing breaks.
To see what is missing, go to Tools > Site Health, click the Info tab, and find the Indigit Imagination section.
-
Which formats work?
-
JPEG, PNG, GIF, WebP, AVIF, HEIC/HEIF, and TIFF. AVIF and HEIC depend on how your libvips and libheif were built. AVIF output needs WordPress 6.5 or newer, because older versions do not know the AVIF file type. HEIC needs WordPress 6.7 or newer. The Indigit Imagination section on the Site Health Info tab lists the input and output formats your server supports.
-
Are my existing images changed?
-
No. The plugin only handles new uploads and new edits. Sizes that already exist stay as they are until you regenerate them.
-
Does it work with WordPress 7.1 client-side media processing?
-
WordPress 7.1 can process images in the browser. Turn on “Process all uploads on the server” in Settings > Indigit Imagination to send them through libvips instead.
-
Do I need to change my theme or plugins to use Indigit Imagination?
-
Indigit Imagination integrates with WordPress through the
WP_Image_EditorAPI. Themes and plugins that use the standard WordPress image editor API do not need to be rewritten to use Indigit Imagination. -
Is Indigit Imagination free?
-
Yes. Indigit Imagination is completely free for any use, including commercial use.
There are no paid features, advertisements, tracking, or data collection.
-
Can I use Indigit Imagination on Windows or macOS?
-
Indigit Imagination has been tested only on Linux.
Anmeldelser
Der er ingen anmeldelser for denne widget.
Bidragsydere & udviklere
“Indigit Imagination” er open source-software. Følgende personer har bidraget til dette plugin.
BidragsydereOversæt “Indigit Imagination” til dit eget sprog.
Interesseret i udvikling?
Gennemse koden, tjek SVN repository, eller abonner på udviklerloggen via RSS.
Ændringslog
1.0.0
- First release.
