in2code / imager
Adding images from Gemini with Nano Banana
Installs: 14
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 0
Forks: 0
Open Issues: 0
Type:typo3-cms-extension
pkg:composer/in2code/imager
Requires
- php: >=8.2.0
- typo3/cms-core: ^13.4
Requires (Dev)
- helhum/typo3-console: ^8.2
- typo3/cms-backend: ^13.4
- typo3/cms-belog: ^13.4
- typo3/cms-beuser: ^13.4
- typo3/cms-dashboard: ^13.4
- typo3/cms-extbase: ^13.4
- typo3/cms-extensionmanager: ^13.4
- typo3/cms-filelist: ^13.4
- typo3/cms-fluid: ^13.4
- typo3/cms-fluid-styled-content: ^13.4
- typo3/cms-frontend: ^13.4
- typo3/cms-info: ^13.4
- typo3/cms-install: ^13.4
- typo3/cms-lowlevel: ^13.4
- typo3/cms-rte-ckeditor: ^13.4
- typo3/cms-scheduler: ^13.4
- typo3/cms-setup: ^13.4
- typo3/cms-t3editor: ^13.4
- typo3/cms-tstemplate: ^13.4
Replaces
- typo3-ter/imager: 1.3.0
README
Introduction
This allows editors to generate AI-generated images directly in the TYPO3 backend. This works using Google Gemini (with Nano Banana).
Google Gemini with Nano Banana
- To use the extension, you need a Google Gemini API key. You can register for one at https://aistudio.google.com/app/api-keys.
- Look at https://ai.google.dev/gemini-api/docs/image-generation?hl=de#rest_22 for example prompts and to learn more about the power of Gemini image creation
Installation
composer req in2code/imager
After that, you have to set some initial configuration in Extension Manager configuration:
| Title | Default value | Description |
|---|---|---|
| promptPlaceholder | LLL:EXT:imager/Resources/Private/Language/Backend/locallang.xlf:prompt.placeholder | LLL path to a label for placeholder for prompt field in backend |
| promptValue | LLL:EXT:imager/Resources/Private/Language/Backend/locallang.xlf:prompt.value | LLL path for a default value for prompt field in backend |
| promptPrefix | - | Prefix text that should be always added to the prompt at the beginning |
| combinedIdentifier | 1:/_imager/ | Define where to store new ai generated images |
| aspectRatio | 16:9 | Default ratio for new ai images. Must be one of this values: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9 |
| model | 3_pro_image_preview | Select a Gemini model (prices in Gemini may differ on different models) |
| apiKey | - | Google Gemini API key. You can let this value empty and simply use ENV_VAR "GOOGLE_API_KEY" instead if you want to use CI pipelines for this setting |
Note: It's recommended to use ENV vars for in2code/imager instead of saving the API-Key in Extension Manager configuration
GOOGLE_API_KEY=your_api_key_from_google
Extendability
There are some events in EXT:imager that can be used to
- Decide to hide the button in backend (\In2code\Imager\Events\ButtonAllowedEvent::class)
- Manipulate or overrule the template of the rendered button in backend (\In2code\Imager\Events\TemplateButtonEvent::class)
- Manipulte the URL and request values before sending to Gemini (\In2code\Imager\Events\BeforeRequestEvent::class)
Changelog and breaking changes
| Version | Date | State | Description |
|---|---|---|---|
| 1.3.0 | 2025-12-04 | Feature | Add ddev as local environment |
| 1.2.0 | 2025-11-29 | Feature | Add event to manipulate the rendered button in the backend |
| 1.1.0 | 2025-11-27 | Task | Add extension icon |
| 1.0.0 | 2025-11-27 | Task | Initial release of in2code/imager |
Contribution with ddev
This repository provides a DDEV-backed development environment. If DDEV is installed, simply run the following commands to quickly set up a local environment with example usages:
ddev startddev initialize
Backend Login:
Username: admin
Password: admin
Installation hint:
- Install ddev before, see: https://ddev.readthedocs.io/en/stable/#installation
- Install git-lfs before, see: https://git-lfs.github.com/


