PHPackages                             iamprincesly/googlevertexai - 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. [API Development](/categories/api)
4. /
5. iamprincesly/googlevertexai

ActiveLibrary[API Development](/categories/api)

iamprincesly/googlevertexai
===========================

Laravel wrapper for Google Vertex AI API

12PHP

Since Oct 13Pushed 1y ago1 watchersCompare

[ Source](https://github.com/iamprincesly/googlevertexai)[ Packagist](https://packagist.org/packages/iamprincesly/googlevertexai)[ RSS](/packages/iamprincesly-googlevertexai/feed)WikiDiscussions main Synced today

READMEChangelog (1)DependenciesVersions (2)Used By (0)

Google Vertex AI for Laravel
============================

[](#google-vertex-ai-for-laravel)

Laravel wrapper for Google Vertex AI with Gemini models

Installation

```
composer require iamprincesly/googlevertexai

```

Usage is simple

```
use Iamprincesly\GoogleVertexAI\Facades\VertexAI;

$ai = VertexAI::text('Who is the current president of Nigeria?');
dd($ai->answer())
```

Add Video and Image from url

```
use Iamprincesly\GoogleVertexAI\Facades\VertexAI;

$ai = VertexAI::text('Please watch the video and the image and explain what is all about?');
                ->video('url-any-video-or-youtube')
                ->image('url-to-any-image')

dd($ai->answer())
```

With chat history

```
use Iamprincesly\GoogleVertexAI\Enums\Role;
use Iamprincesly\GoogleVertexAI\Facades\VertexAI;
use Iamprincesly\GoogleVertexAI\Resources\Content;

$history = [
    Content::text('what is the video all about', Role::User)
            ->file('https://www.youtube.com/watch?v=zintSf6A78g', MimeType::VIDEO_MP4)
            ->inlineData(base64_encode(file_get_contents('https://storage.googleapis.com/generativeai-downloads/images/scones.jpg')), MimeType::VIDEO_MP4),
    Content::text('The video is and file is all about PHP.' Role::Model),
];

$ai = VertexAI::text('Please watch the video and the image and explain what is all about?');
                ->video('url-any-video-or-youtube')
                ->image('url-to-any-image')
                ->withChatHistory($history)

dd($ai->answer())
```

With generation config

```
use Iamprincesly\GoogleVertexAI\Facades\VertexAI;
use Iamprincesly\GoogleVertexAI\Settings\GenerationConfig;

$generationConfig = (new GenerationConfig())
                    ->withCandidateCount(1)
                    ->withMaxOutputTokens(40)
                    ->withTemperature(0.5)
                    ->withTopK(40)
                    ->withTopP(0.6)
                    ->withStopSequences(['STOP']);

$ai = VertexAI::text('Please watch the video and the image and explain what is all about?');
                ->video('url-any-video-or-youtube')
                ->image('url-to-any-image')
                ->setGenerationConfig($generationConfig)

dd($ai->answer())
```

With safety settings

```
use Iamprincesly\GoogleVertexAI\Facades\VertexAI;
use Iamprincesly\GoogleVertexAI\Enums\HarmCategory;
use Iamprincesly\GoogleVertexAI\Settings\SafetySetting;
use Iamprincesly\GoogleVertexAI\Enums\HarmBlockThreshold;

$ai = VertexAI::text('Please watch the video and the image and explain what is all about?');
                ->video('url-any-video-or-youtube')
                ->image('url-to-any-image')
                ->addSafetySetting(new SafetySetting(HarmCategory::HARM_CATEGORY_UNSPECIFIED, HarmBlockThreshold::HARM_BLOCK_THRESHOLD_UNSPECIFIED))
                ->addSafetySetting(new SafetySetting(HarmCategory::HARM_CATEGORY_HARASSMENT, HarmBlockThreshold::BLOCK_MEDIUM_AND_ABOVE))

dd($ai->answer())
```

###  Health Score

15

—

LowBetter than 3% of packages

Maintenance28

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity19

Early-stage or recently created project

 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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/64446276?v=4)[Sylvanus Etim](/maintainers/iamprincesly)[@iamprincesly](https://github.com/iamprincesly)

---

Top Contributors

[![iamprincesly](https://avatars.githubusercontent.com/u/64446276?v=4)](https://github.com/iamprincesly "iamprincesly (6 commits)")

### Embed Badge

![Health badge](/badges/iamprincesly-googlevertexai/health.svg)

```
[![Health](https://phpackages.com/badges/iamprincesly-googlevertexai/health.svg)](https://phpackages.com/packages/iamprincesly-googlevertexai)
```

###  Alternatives

[exsyst/swagger

A php library to manipulate Swagger specifications

35916.4M7](/packages/exsyst-swagger)[hubspot/api-client

Hubspot API client

24016.2M20](/packages/hubspot-api-client)[pocketmine/bedrock-protocol

An implementation of the Minecraft: Bedrock Edition protocol in PHP

172445.0k15](/packages/pocketmine-bedrock-protocol)[botman/driver-telegram

Telegram driver for BotMan

93459.5k6](/packages/botman-driver-telegram)

PHPackages © 2026

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