PHPackages                             spora-ai/spora-plugin-minimax - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. spora-ai/spora-plugin-minimax

ActiveSpora-plugin[Utility &amp; Helpers](/categories/utility)

spora-ai/spora-plugin-minimax
=============================

MiniMax multimodal tools (image, speech, music, lyrics, video) for Spora agents.

v0.1.1(today)01↑2900%MITPHPPHP ^8.4.1CI passing

Since Jun 29Pushed todayCompare

[ Source](https://github.com/spora-ai/spora-plugin-minimax)[ Packagist](https://packagist.org/packages/spora-ai/spora-plugin-minimax)[ RSS](/packages/spora-ai-spora-plugin-minimax/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (9)Versions (3)Used By (0)

MiniMax Plugin for Spora
========================

[](#minimax-plugin-for-spora)

Adds MiniMax's non-text multimodal capabilities — **image, speech, music (instrumental, with lyrics, or standalone lyrics), video** — to [Spora](https://github.com/spora-ai/Spora) agents. Text/chat is provided by Spora's built-in Anthropic-compatible driver pointed at MiniMax's base URL (see below).

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

[](#installation)

```
# Option A — clone into the Spora repo
git clone https://github.com/spora-ai/spora-plugin-minimax.git plugins/minimax
php bin/spora spora:install   # applies the plugin's migration

# Option B — external path (no Spora checkout changes)
git clone https://github.com/spora-ai/spora-plugin-minimax.git /opt/spora-plugins/minimax
echo 'SPORA_PLUGINS_PATHS=/opt/spora-plugins/minimax' >> .env
php bin/spora spora:install
```

After install, tools are exposed as `minimax:image`, `minimax:speech`, `minimax:music`, `minimax:video`.

Configuration
-------------

[](#configuration)

Settings → Tools → MiniMax. All four tools share the same `MINIMAX_API_KEY`(issued at  → API Keys).

The default `base_url` is the **Global** endpoint (`https://api.minimax.io`). Operators in China should override `plugin.minimax.{provider}.base_url` to `https://api.minimaxi.com` for the China-region endpoint.

SettingRequiredDefault`plugin.minimax.{provider}.api_key`yes—`plugin.minimax.{provider}.base_url`no`https://api.minimax.io` (Global)`plugin.minimax.{provider}.model`noper provider (see below)`plugin.minimax.speech.voice_id`no`English_PassionateWarrior``plugin.minimax.video.poll_interval_seconds`no`10``plugin.minimax.video.poll_timeout_seconds`no`600``api_key` fields are encrypted at rest by Spora's `ToolConfigService`, masked in the UI, and never logged.

Per-tool parameters
-------------------

[](#per-tool-parameters)

Each tool accepts a `prompt` and returns `ToolResult::ok` (with the upstream CDN URL, valid 24h) or `ToolResult::fail`. Never throws — a single API failure cannot kill the agent loop.

ToolDefault modelNotes`minimax:image``image-01``aspect_ratio` ∈ 1:1, 16:9, 4:3, 3:2, 2:3, 3:4, 9:16, 21:9`minimax:speech``speech-2.8-hd`TTS; `voice_id`, `speed` (0.5-2.0)`minimax:music``music-2.6`Operations: `compose` (instrumental or with `lyrics`, 1-3500 chars), `write_lyrics` (full song from a topic), `edit_lyrics` (rewrite existing lyrics)`minimax:video``MiniMax-Hailuo-2.3`Async — polls until `Success` or timeout. Returns `file_id` (the underlying file-retrieval endpoint is not documented on the public docs and is out of v1 scope).The music tool's `action` discriminator selects the operation. `compose` uses `/v1/music_generation` and accepts an optional `lyrics` parameter. The `write_lyrics` and `edit_lyrics` operations use `/v1/lyrics_generation`. All three operations share the same `api_key`, `base_url`, and (compose-only) `model` settings.

Every call writes one row to `minimax_generation_log` (redacted of `api_key`, `Authorization`, and base64 blobs &gt; 1 KB) for audit.

Text generation via MiniMax
---------------------------

[](#text-generation-via-minimax)

Spora's **Anthropic-compatible driver** talks to MiniMax's Anthropic-protocol endpoint. Configure any agent with:

- `llm_provider`: `anthropic`
- `base_url` (Global / international): `https://api.minimax.io/anthropic`
- `base_url` (China): `https://api.minimaxi.com/anthropic`
- `llm_api_key`: the same `MINIMAX_API_KEY`
- `llm_model`: e.g. `MiniMax-M3`

No plugin code is involved.

Development
-----------

[](#development)

```
composer install
./vendor/bin/pest           # 19 tests
./vendor/bin/phpstan analyse
./vendor/bin/php-cs-fixer fix --dry-run --diff
```

CI: `.github/workflows/ci.yml` — Pest on PHP 8.4 + 8.5, PHPStan level 5, php-cs-fixer dry-run. A separate `coverage` job runs Pest with `pcov` and uploads `coverage.xml` + JUnit; the `sonar` job then uploads both to SonarCloud (project key `spora-ai_spora-plugin-minimax`), so the `new_coverage` metric is measurable per PR. Requires the `SONAR_TOKEN`secret in the repo. MIT license.

###  Health Score

39

—

LowBetter than 85% of packages

Maintenance100

Actively maintained with recent releases

Popularity2

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

Every ~1 days

Total

2

Last Release

0d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5be6ae8a46a938dbf3d35611aa2724446742020f0eeefdfa94333aa2d0ee40a2?d=identicon)[fabeat](/maintainers/fabeat)

---

Top Contributors

[![fabeat](https://avatars.githubusercontent.com/u/186884?v=4)](https://github.com/fabeat "fabeat (35 commits)")

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/spora-ai-spora-plugin-minimax/health.svg)

```
[![Health](https://phpackages.com/badges/spora-ai-spora-plugin-minimax/health.svg)](https://phpackages.com/packages/spora-ai-spora-plugin-minimax)
```

###  Alternatives

[symfony/http-client

Provides powerful methods to fetch HTTP resources synchronously or asynchronously

2.0k338.8M4.8k](/packages/symfony-http-client)[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M345](/packages/psalm-plugin-laravel)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M199](/packages/sulu-sulu)[ecotone/ecotone

Enterprise architecture layer for Laravel and Symfony — CQRS, Event Sourcing, Durable Workflows (Sagas, Orchestrators), Projections, and Outbox messaging via PHP attributes.

564576.7k48](/packages/ecotone-ecotone)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.6M559](/packages/shopware-core)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

751291.4k39](/packages/civicrm-civicrm-core)

PHPackages © 2026

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