PHPackages                             wineworlds/image-on-demand-service - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. wineworlds/image-on-demand-service

ActiveTypo3-cms-extension[Image &amp; Media](/categories/media)

wineworlds/image-on-demand-service
==================================

A TYPO3 extension for providing on-demand image processing services.

1.1.4(1y ago)1775[2 issues](https://github.com/wineworlds/image-on-demand-service/issues)MITPHP

Since Aug 25Pushed 1y ago3 watchersCompare

[ Source](https://github.com/wineworlds/image-on-demand-service)[ Packagist](https://packagist.org/packages/wineworlds/image-on-demand-service)[ Docs](https://www.wineworlds.de)[ RSS](/packages/wineworlds-image-on-demand-service/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (12)Used By (0)

Image on Demand Service TYPO3 Extension
=======================================

[](#image-on-demand-service-typo3-extension)

**Image on Demand Service** is a TYPO3 extension that provides on-demand image processing services for your TYPO3 website. It allows you to dynamically manipulate and generate images based on specific requests.

Features
--------

[](#features)

- On-the-fly image processing.
- Dynamic resizing and formatting of images.

Installation
------------

[](#installation)

The extension can be easily installed using [Composer](https://getcomposer.org/) and is available on [Packagist](https://packagist.org/packages/wineworlds/image-on-demand-service).

1. Install the extension using Composer: ```
    composer require wineworlds/image-on-demand-service
    ```
2. Activate the extension in the TYPO3 backend.

Usage
-----

[](#usage)

The Image on Demand Service extension automatically processes requested images that match a specific URL pattern. It uses the `ImageOnDemandMiddleware` class to handle image requests. When an image request URL matches the specified pattern, the middleware processes the request and serves the manipulated image.

### URL Pattern (1.1.0)

[](#url-pattern-110)

The URL pattern for image requests is: `/image-service/{width}/{height}/{filename}?id={fileReferenceId}&type={format}&crop={cropVariant}&text={dummyImageText}&bgColor={dummyImageBgColor}&textColor={dummyImageTextColor}`

The `filename` is not taken into account in caching.

ParameterDescriptionDefault ValueRequired`/width/`The width of the generated image.-Yes`/height/`The height of the generated image.-Yes`&id=18`The unique ID of the `fileReference`.-No`&type=webp`The format of the image (e.g., JPEG, PNG, WebP, etc.).-No`&crop=desktop`The selected image crop variant.`'default'`No`&text=No Image`The text displayed on the dummy image if no ID is provided or no image is found.`'Dummy Image'`No`&bgColor=ff0000`The background color of the dummy image.`'000000'`No`&textColor=0000ff`The text color of the text displayed on the dummy image.`'ffffff'`No### URL Pattern (1.0.3)

[](#url-pattern-103)

The URL pattern for image requests is: `/image-service/{fileId}/{width}/{height}/{format}/{filename}`

- `fileReferenceId`: The unique ID of the file reference to process.
- `width`: The desired width of the processed image. [TYPO3 Docs Image width](https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/Functions/Imgresource.html#width)
- `height`: The desired height of the processed image. [TYPO3 Docs Image height](https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/Functions/Imgresource.html#height)
- `format`: The desired format (file extension) of the processed image. [TYPO3 Docs GFX file extension](https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/Configuration/Typo3ConfVars/GFX.html#imagefile-ext)
- `filename`: The name of the image file (for SEO-friendly URLs).

For example: `/image-service/123/300c/200c/jpeg/my-seo-friendly-image.jpeg` will request an image with the ID 123, resized to a width of 300c pixels and a height of 200c pixels, saved in JPEG format, and with the filename "my-seo-friendly-image.jpeg".

If the requested image is not found or an error occurs during processing, a placeholder "Image Not Found" image will be returned.

Contributors
------------

[](#contributors)

- [Kubilay Melnikov](https://www.wineworlds.de/team#kubilay_melnikov) - Developer

License
-------

[](#license)

This TYPO3 extension is licensed under the [MIT License](LICENSE).

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community5

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~57 days

Recently: every ~103 days

Total

9

Last Release

530d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/cc19060018e2f7d2b0ecd6776e204a086c7a9ecc99009031af9c6945bfaab240?d=identicon)[melnikov](/maintainers/melnikov)

---

Tags

image processingTYPO3 CMSImage Service

### Embed Badge

![Health badge](/badges/wineworlds-image-on-demand-service/health.svg)

```
[![Health](https://phpackages.com/badges/wineworlds-image-on-demand-service/health.svg)](https://phpackages.com/packages/wineworlds-image-on-demand-service)
```

###  Alternatives

[imagine/imagine

Image processing for PHP

4.5k72.4M341](/packages/imagine-imagine)[fluidtypo3/vhs

This is a collection of ViewHelpers for performing rendering tasks that are not natively provided by TYPO3's Fluid templating engine.

1954.1M49](/packages/fluidtypo3-vhs)[netresearch/rte-ckeditor-image

Image support in CKEditor for the TYPO3 ecosystem - by Netresearch

63991.3k4](/packages/netresearch-rte-ckeditor-image)[sitegeist/sms-responsive-images

Provides ViewHelpers and configuration to render valid responsive images based on TYPO3's image cropping tool.

34493.1k2](/packages/sitegeist-sms-responsive-images)[in2code/in2publish_core

Content publishing extension to connect stage and production server

40135.8k](/packages/in2code-in2publish-core)[rokka/imagine-vips

libvips adapter for imagine

43564.1k5](/packages/rokka-imagine-vips)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
