PHPackages                             krecit/laravel-gemini-image - 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. krecit/laravel-gemini-image

ActiveLibrary[Image &amp; Media](/categories/media)

krecit/laravel-gemini-image
===========================

Laravel wrapper for krecit/gemini-image-core with automatic image optimization.

v1.0.0(1mo ago)00MITPHPPHP &gt;=8.1

Since Jun 1Pushed 1mo agoCompare

[ Source](https://github.com/Abepk777/laravel-krecit-image)[ Packagist](https://packagist.org/packages/krecit/laravel-gemini-image)[ RSS](/packages/krecit-laravel-gemini-image/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)Dependencies (3)Versions (2)Used By (0)

Laravel Gemini Image
====================

[](#laravel-gemini-image)

🌍 *[Read this in English](#english)* | 🇪🇸 *[Leer en Español](#espa%C3%B1ol)*

---

🌍 English
---------

[](#-english)

An elegant Laravel wrapper that integrates the `krecit/gemini-image-core` package. This package is optimized for processing large image payloads (using Intervention Image) and preventing memory leaks in environments like Laravel Octane.

### Features

[](#features)

- Seamless integration with Google Gemini (Imagen 4 and Gemini 2.5 Flash).
- `GeminiImage` Facade for quick static usage.
- On-the-fly compression to WebP.
- Automatic scaling (Scale down to 1200px) to prevent exceeding Google's payload limits.
- **Octane Safe:** Strict memory management (`unset()`) to free up heavy binaries from RAM.

### Installation

[](#installation)

1. Require the package via Composer:

```
composer require krecit/laravel-gemini-image
```

2. Publish the configuration file:

```
php artisan vendor:publish --tag="gemini-image-config"
```

3. Add your API Key in your Laravel `.env` file:

```
GEMINI_API_KEY="your_api_key_here"
```

### Usage

[](#usage)

The package automatically registers a Facade called `GeminiImage`.

#### 1. Generate an image from scratch (Uses Imagen 4 model)

[](#1-generate-an-image-from-scratch-uses-imagen-4-model)

```
use KrecIT\LaravelGeminiImage\Facades\GeminiImage;
use Illuminate\Support\Facades\Storage;

// Returns raw binary image string
$rawImageBinary = GeminiImage::generateImage('A futuristic landscape', '16:9');

// Save it using Laravel Storage
Storage::disk('public')->put('futuristic.jpg', $rawImageBinary);
```

#### 2. Generate an image with references (Uses Gemini 2.5 Flash Image)

[](#2-generate-an-image-with-references-uses-gemini-25-flash-image)

The package automatically handles your uploaded files (`Illuminate\Http\UploadedFile`), compresses them to WebP, and passes them to Gemini.

```
use KrecIT\LaravelGeminiImage\Facades\GeminiImage;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;

public function generateWithProduct(Request $request)
{
    // Array of UploadedFile
    $files = $request->file('references');

    // The package compresses to WebP, scales down, and frees RAM automatically
    $rawImageBinary = GeminiImage::generateImageWithReferences(
        'Improve the lighting of this product and place it on a wooden table',
        $files,
        '1:1'
    );

    Storage::disk('s3')->put('improved_product.jpg', $rawImageBinary);

    return response()->json(['success' => true]);
}
```

---

🇪🇸 Español
----------

[](#-español)

Wrapper exclusivo para Laravel que integra el paquete `krecit/gemini-image-core`. Este paquete está optimizado para procesar grandes cargas de imágenes (usando Intervention Image) y prevenir fugas de memoria en entornos como Laravel Octane.

### Características

[](#características)

- Integración fluida con Google Gemini (Imagen 4 y Gemini 2.5 Flash).
- Facade `GeminiImage` para uso estático rápido.
- Compresión automática al vuelo (On-the-fly) a WebP.
- Redimensionamiento automático (Scale down a 1200px) para no exceder los límites de payload de Google.
- **Octane Safe:** Manejo estricto de memoria (`unset()`) para liberar binarios pesados de la RAM.

### Instalación

[](#instalación)

1. Requiere el paquete vía Composer:

```
composer require krecit/laravel-gemini-image
```

2. Publica el archivo de configuración:

```
php artisan vendor:publish --tag="gemini-image-config"
```

3. Añade tu API Key en el archivo `.env` de tu proyecto Laravel:

```
GEMINI_API_KEY="tu_api_key_aqui"
```

### Uso Práctico

[](#uso-práctico)

El paquete registra automáticamente un Facade llamado `GeminiImage`.

#### 1. Generar una imagen desde cero (Usa modelo Imagen 4)

[](#1-generar-una-imagen-desde-cero-usa-modelo-imagen-4)

```
use KrecIT\LaravelGeminiImage\Facades\GeminiImage;
use Illuminate\Support\Facades\Storage;

// Devuelve el string binario crudo de la imagen
$rawImageBinary = GeminiImage::generateImage('Un paisaje futurista', '16:9');

// Guardar en disco (Ejemplo usando S3 o Local)
Storage::disk('public')->put('futurista.jpg', $rawImageBinary);
```

#### 2. Generar una imagen con referencias (Usa Gemini 2.5 Flash Image)

[](#2-generar-una-imagen-con-referencias-usa-gemini-25-flash-image)

El paquete se encarga automáticamente de recibir tus archivos subidos (`Illuminate\Http\UploadedFile`), comprimirlos a WebP, y pasarlos a Gemini.

```
use KrecIT\LaravelGeminiImage\Facades\GeminiImage;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;

public function generateWithProduct(Request $request)
{
    // Array de UploadedFile
    $archivos = $request->file('references');

    // El paquete comprime en WebP, hace scaleDown y libera la RAM automáticamente
    $rawImageBinary = GeminiImage::generateImageWithReferences(
        'Mejora la iluminación de este producto y ponlo sobre una mesa de madera',
        $archivos,
        '1:1'
    );

    Storage::disk('s3')->put('producto_mejorado.jpg', $rawImageBinary);

    return response()->json(['success' => true]);
}
```

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance89

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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

Unknown

Total

1

Last Release

53d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/285738941?v=4)[Abraham](/maintainers/Abepk777)[@Abepk777](https://github.com/Abepk777)

---

Top Contributors

[![Abepk777](https://avatars.githubusercontent.com/u/285738941?v=4)](https://github.com/Abepk777 "Abepk777 (2 commits)")

---

Tags

aiapi-clientgenerative-aigoogle-geminiimage-generationimagen-4intervention-imagelaravellaravel-octanephp

### Embed Badge

![Health badge](/badges/krecit-laravel-gemini-image/health.svg)

```
[![Health](https://phpackages.com/badges/krecit-laravel-gemini-image/health.svg)](https://phpackages.com/packages/krecit-laravel-gemini-image)
```

###  Alternatives

[intervention/image-laravel

Laravel Integration of Intervention Image

1588.9M201](/packages/intervention-image-laravel)[laravel-at/laravel-image-sanitize

A small but handy package to prevent malicious code execution coming into your application through uploaded image files.

33866.8k](/packages/laravel-at-laravel-image-sanitize)[hasinhayder/tyro-dashboard

Tyro Dashboard - Beautiful admin dashboard for managing Tyro roles, privileges, users, and settings

5443.8k](/packages/hasinhayder-tyro-dashboard)[fleetbase/core-api

Core Framework and Resources for Fleetbase API

1235.9k21](/packages/fleetbase-core-api)

PHPackages © 2026

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