arfaram / connector-gemini
Google Gemini AI connector for Ibexa DXP
Package info
github.com/arfaram/connector-gemini
Type:ibexa-bundle
pkg:composer/arfaram/connector-gemini
Requires
- php: >=8.3
- ibexa/connector-ai: ~5.0
- ibexa/core: ~5.0
- symfony/config: ^7.3
- symfony/dependency-injection: ^7.3
- symfony/http-client: ^7.3
- symfony/http-kernel: ^7.3
- symfony/yaml: ^7.3
Requires (Dev)
- dama/doctrine-test-bundle: ^8.2
- ibexa/behat: ~5.0
- ibexa/code-style: ~2.0.0
- ibexa/phpstan: ~5.0
- ibexa/rector: ~5.0
- ibexa/test-core: ~5.0
- matthiasnoback/symfony-dependency-injection-test: ^5.0
- phpstan/phpstan: ^2.0
- phpstan/phpstan-phpunit: ^2.0
- phpstan/phpstan-strict-rules: ^2
- phpstan/phpstan-symfony: ^2.0
- phpunit/phpunit: ^9.5
- qossmic/deptrac-shim: ^0.24.0 || ^1.0.2
- symfony/phpunit-bridge: ^7.3
This package is auto-updated.
Last update: 2026-04-19 18:24:54 UTC
README
connector-gemini
Google Gemini AI connector for Ibexa DXP.
This bundle integrates Google Gemini API with the Ibexa AI framework (ibexa/connector-ai), providing action handlers for text-to-text and image-to-text AI operations.
Requirements
- PHP >= 8.3
- Ibexa DXP ~5.0
ibexa/connector-ai~5.0- Google Gemini API key
Installation
Require the package:
composer require arfaram/connector-gemini
Register the bundle in config/bundles.php:
return [ // ... ConnectorGeminiBundle\ConnectorGeminiBundle::class => ['all' => true], ];
Environment Variable
Set your Gemini API key in .env:
GEMINI_API_KEY=your-google-gemini-api-key
See: https://aistudio.google.com/api-keys
Configuration
Available Gemini Models (latest 4)
| Model ID | Description | Max Output Tokens | Input |
|---|---|---|---|
gemini-2.5-pro |
Most capable model, best for complex reasoning and coding | 65,536 | Text, Image, Audio, Video |
gemini-2.5-flash |
Best balance of speed, quality and cost | 65,536 | Text, Image, Audio, Video |
gemini-2.0-flash |
Fast, versatile, next-gen features | 8,192 | Text, Image, Audio, Video |
gemini-2.0-flash-lite |
Fastest, most cost-efficient | 8,192 | Text, Image, Audio, Video |
Basic Configuration
Create config/packages/ibexa_connector_gemini.yaml:
ibexa_connector_gemini: text_to_text: default_model: gemini-2.5-flash default_temperature: 1.0 default_max_tokens: 8192 models: gemini-2.5-pro: 'Gemini 2.5 Pro' gemini-2.5-flash: 'Gemini 2.5 Flash' gemini-2.0-flash: 'Gemini 2.0 Flash' gemini-2.0-flash-lite: 'Gemini 2.0 Flash Lite' image_to_text: default_model: gemini-2.5-flash default_temperature: 1.0 default_max_tokens: 8192 models: gemini-2.5-pro: 'Gemini 2.5 Pro' gemini-2.5-flash: 'Gemini 2.5 Flash' gemini-2.0-flash: 'Gemini 2.0 Flash' gemini-2.0-flash-lite: 'Gemini 2.0 Flash Lite'
SiteAccess-Aware API Key Configuration
You can configure the API key per SiteAccess in config/packages/ibexa.yaml:
ibexa: system: default: connector_gemini: gemini: api_key: '%env(GEMINI_API_KEY)%' my_siteaccess: connector_gemini: gemini: api_key: '%env(GEMINI_API_KEY_MY_SITEACCESS)%'
Minimal Configuration (uses defaults)
If you only want to override the default model:
ibexa_connector_gemini: text_to_text: default_model: gemini-2.5-pro
All other values will use their defaults:
default_temperature:1.0default_max_tokens:8192models: all 4 latest Gemini models
Production-Optimized Configuration
For production environments favoring speed and cost:
ibexa_connector_gemini: text_to_text: default_model: gemini-2.5-flash default_temperature: 0.7 default_max_tokens: 4096 models: gemini-2.5-flash: 'Gemini 2.5 Flash' gemini-2.0-flash-lite: 'Gemini 2.0 Flash Lite' image_to_text: default_model: gemini-2.5-flash default_temperature: 0.5 default_max_tokens: 2048 models: gemini-2.5-flash: 'Gemini 2.5 Flash' gemini-2.0-flash: 'Gemini 2.0 Flash'
License
MIT - See LICENSE for details.
Author
Ramzi Arfaoui - ramzi_arfa@hotmail.de