npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@jwongart/openclaw-minimax-media

v0.8.8

Published

OpenClaw MiniMax media plugin, providing image understanding, image generation, music generation, video generation, text-to-speech, and web search tools through MiniMax APIs (api.minimaxi.com).

Readme

Openclaw MiniMax Media

Openclaw MiniMax Media is an OpenClaw plugin that registers MiniMax-powered tools for media and search workflows. It currently provides image understanding through the MiniMax Coding Plan VLM API, image generation through MiniMax image-01, music generation through MiniMax music-2.6, video generation through MiniMax MiniMax-Hailuo-2.3, text-to-speech through MiniMax speech-2.8-hd, and web search through the MiniMax Coding Plan search API. All six tools use the same MiniMax Coding Plan (Token Plan) API key.

Naming

This package follows the scoped npm package pattern used by official OpenClaw plugins: the npm package is published under the maintainer scope, while the OpenClaw plugin identity remains unscoped and stable.

| Item | Value | | --- | --- | | npm package | @jwongart/openclaw-minimax-media | | npm install spec | @jwongart/openclaw-minimax-media | | plugin ID | openclaw-minimax-media | | config path | plugins.entries.openclaw-minimax-media | | plugin name | Openclaw MiniMax Media | | tool names | minimax_image, minimax_image_generate, minimax_music_generate, minimax_video_generate, minimax_tts, minimax_web_search |

Features

  • Provides the minimax_image OpenClaw tool for image understanding.
  • Provides the minimax_image_generate OpenClaw tool for MiniMax image-01 image generation.
  • Provides the minimax_music_generate OpenClaw tool for MiniMax music-2.6 music generation.
  • Provides the minimax_video_generate OpenClaw tool for MiniMax MiniMax-Hailuo-2.3 video generation.
  • Provides the minimax_tts OpenClaw tool for MiniMax speech-2.8-hd text-to-speech with Chinese (Mandarin)_Warm_Girl.
  • Provides the minimax_web_search OpenClaw tool, merged from openclaw-minimax-web-search.
  • Uses MiniMax Coding Plan APIs for VLM and web search, and MiniMax media APIs for image generation, music generation, video generation, and TTS.
  • Reads credentials from OpenClaw plugin config, MINIMAX_CODE_PLAN_KEY, MINIMAX_CODING_API_KEY, or MINIMAX_API_KEY.
  • Accepts HTTP/HTTPS image URLs, local image paths, @-prefixed local paths, and Base64 data URLs.
  • Supports JPEG, PNG, and WebP image inputs.
  • Supports MiniMax image generation with aspect ratio control, up to 9 outputs, and one subject-reference image.
  • Supports MiniMax music generation with lyrics, instrumental mode, duration hints, and MP3 output.
  • Supports MiniMax video generation with text-to-video, one first-frame reference image, duration normalization, and resolution control.
  • Supports MiniMax text-to-speech with MP3 output.
  • Returns normalized web search result objects: title, URL, description, published date, and site name.
  • Marks image analysis and search outputs as untrusted external content.
  • Does not bundle any API key, token, personal account, private path, or internal network address.

Installation

Use OpenClaw's plugin installer after publishing the package:

openclaw plugins install npm:@jwongart/[email protected] --pin

Restart the OpenClaw Gateway after installation if the CLI asks you to do so.

If openclaw-minimax-web-search is already installed and enabled, disable or uninstall it before enabling this package. Both plugins register minimax_web_search, and duplicate tool registration can conflict.

Configuration

Configure the plugin under its plugin ID: openclaw-minimax-media.

Example OpenClaw config entry:

{
  "plugins": {
    "entries": {
      "openclaw-minimax-media": {
        "enabled": true,
        "config": {
          "apiKey": "YOUR_MINIMAX_CODING_PLAN_API_KEY",
          "vlmTimeoutMs": 30000,
          "imageGenerationTimeoutMs": 180000,
          "musicGenerationTimeoutMs": 300000,
          "videoGenerationTimeoutMs": 1200000,
          "ttsTimeoutMs": 120000,
          "searchTimeoutMs": 10000
        }
      }
    }
  }
}

You can also provide the API key through an environment variable:

export MINIMAX_API_KEY="YOUR_MINIMAX_CODING_PLAN_API_KEY"
# Optional alternatives:
export MINIMAX_CODE_PLAN_KEY="YOUR_MINIMAX_CODING_PLAN_API_KEY"
export MINIMAX_CODING_API_KEY="YOUR_MINIMAX_CODING_PLAN_API_KEY"
# Optional: route media generation through the CN endpoint when supported by your account.
export MINIMAX_API_HOST="https://api.minimaxi.com"

Config fields

| Field | Type | Default | Description | | --- | --- | --- | --- | | apiKey | string | none | MiniMax Coding Plan (Token Plan) API key. | | vlmUrl | string | https://api.minimaxi.com/v1/coding_plan/vlm | MiniMax Coding Plan VLM API endpoint. | | vlmModel | string | minimax-VL-01 | MiniMax VLM model name. | | vlmTimeoutMs | number | 30000 | VLM request timeout in milliseconds. Valid range: 1000-120000. | | imageGenerationBaseUrl | string | https://api.minimaxi.com | MiniMax image generation base URL. The tool appends /v1/image_generation unless a full endpoint is provided. | | imageGenerationTimeoutMs | number | 180000 | Image generation request timeout in milliseconds. Valid range: 1000-600000. | | musicGenerationBaseUrl | string | https://api.minimaxi.com | MiniMax music generation base URL. The tool appends /v1/music_generation unless a full endpoint is provided. | | musicGenerationTimeoutMs | number | 300000 | Music generation request timeout in milliseconds. Valid range: 1000-900000. | | videoGenerationBaseUrl | string | https://api.minimaxi.com | MiniMax video generation base URL. The tool appends /v1/video_generation unless a full endpoint is provided. | | videoGenerationTimeoutMs | number | 1200000 | End-to-end video generation operation timeout in milliseconds. Valid range: 1000-1800000. | | ttsBaseUrl | string | https://api.minimaxi.com | MiniMax T2A API base URL. The tool appends /v1/t2a_v2 and strips trailing /anthropic or /v1 suffixes. | | ttsTimeoutMs | number | 120000 | TTS request timeout in milliseconds. Valid range: 1000-600000. | | ttsSpeed | number | 1 | MiniMax TTS playback speed. Valid range: 0.5-2.0. | | ttsVolume | number | 1 | MiniMax TTS volume. Valid range: 0.01-10. | | ttsPitch | number | 0 | MiniMax TTS integer pitch shift. Valid range: -12 to 12. | | searchUrl | string | https://api.minimaxi.com/v1/coding_plan/search | MiniMax Coding Plan search API endpoint. | | searchTimeoutMs | number | 10000 | Search request timeout in milliseconds. Valid range: 1000-60000. |

Tool: minimax_image

Parameters:

| Parameter | Type | Required | Description | | --- | --- | --- | --- | | prompt | string | yes | Text instruction describing what to analyze or extract from the image. | | image_source | string | yes | HTTP/HTTPS image URL, local file path, @-prefixed local file path, or Base64 data URL. |

Example tool result shape:

{
  "content": "The image shows...",
  "provider": "openclaw-minimax-media",
  "model": "minimax-VL-01",
  "sourceType": "url",
  "externalContent": {
    "untrusted": true,
    "source": "image_analysis",
    "provider": "minimax"
  }
}

Tool: minimax_image_generate

Parameters:

| Parameter | Type | Required | Description | | --- | --- | --- | --- | | action | "generate" or "list" | no | Defaults to generate. Use list to inspect MiniMax image generation capabilities. | | prompt | string | yes for generate | Image generation prompt. | | image | string | no | Single subject-reference image path, URL, @-prefixed local path, or Base64 data URL. | | images | string[] | no | Reference images. MiniMax image-01 supports one reference image; extra entries are ignored. | | aspectRatio | string | no | Supported values: 1:1, 16:9, 4:3, 3:2, 2:3, 3:4, 9:16, 21:9. | | count | integer | no | Number of images to generate, from 1 to 9. Defaults to 1. | | timeoutMs | integer | no | Per-call timeout in milliseconds. Valid range: 1000-600000. | | filename | string | no | Output filename hint in returned image metadata. Directory components are ignored. |

MiniMax image-01 uses the dedicated image endpoint: {imageGenerationBaseUrl}/v1/image_generation. The request body uses response_format: "url"; returned image URLs are downloaded and saved to disk, with inline Base64 responses still accepted as a fallback. Default base URL is https://api.minimaxi.com.

Example tool result shape:

{
  "provider": "openclaw-minimax-media",
  "model": "image-01",
  "count": 1,
  "images": [
    {
      "path": "/tmp/openclaw-minimax-media/image-1.png",
      "mimeType": "image/png",
      "filename": "image-1.png"
    }
  ],
  "externalContent": {
    "untrusted": true,
    "source": "image_generation",
    "provider": "minimax"
  }
}

Tool: minimax_music_generate

Parameters:

| Parameter | Type | Required | Description | | --- | --- | --- | --- | | action | "generate" or "list" | no | Defaults to generate. Use list to inspect MiniMax music generation capabilities. | | prompt | string | yes for generate | Music generation prompt. | | lyrics | string | no | Optional lyrics text. Cannot be used with instrumental=true. | | instrumental | boolean | no | Request instrumental-only music. | | durationSeconds | number | no | Target duration hint in seconds. MiniMax receives this as part of the prompt. | | format | "mp3" | no | Output format. MiniMax music generation currently supports MP3 only. | | timeoutMs | integer | no | Per-call timeout in milliseconds. Valid range: 1000-900000. | | filename | string | no | Output filename hint in returned track metadata. Directory components are ignored. |

MiniMax music-2.6 uses the dedicated music endpoint: {musicGenerationBaseUrl}/v1/music_generation. The request body uses output_format: "url" and MP3 audio settings. The tool accepts both URL and inline audio responses from MiniMax, saves the MP3 to disk, and returns the file path. Default base URL is https://api.minimaxi.com.

Example tool result shape:

{
  "provider": "openclaw-minimax-media",
  "model": "music-2.6",
  "count": 1,
  "tracks": [
    {
      "path": "/tmp/openclaw-minimax-media/track-1.mp3",
      "mimeType": "audio/mpeg",
      "filename": "track-1.mp3"
    }
  ],
  "lyrics": ["Generated or returned lyrics..."],
  "externalContent": {
    "untrusted": true,
    "source": "music_generation",
    "provider": "minimax"
  }
}

Tool: minimax_video_generate

Parameters:

| Parameter | Type | Required | Description | | --- | --- | --- | --- | | action | "generate" or "list" | no | Defaults to generate. Use list to inspect MiniMax video generation capabilities. | | prompt | string | yes for generate | Video generation prompt. | | image | string | no | Single first-frame reference image path, URL, @-prefixed local path, or Base64 data URL. | | images | string[] | no | Reference images. MiniMax video generation supports one first-frame image; extra entries are ignored. | | durationSeconds | number | no | Target duration. MiniMax-Hailuo-2.3 supports 6 or 10 seconds; the nearest supported value is used. | | resolution | "768P" or "1080P" | no | MiniMax-supported output resolution. | | timeoutMs | integer | no | End-to-end operation timeout in milliseconds. Valid range: 1000-1800000. | | filename | string | no | Output filename hint in returned video metadata. Directory components are ignored. |

MiniMax MiniMax-Hailuo-2.3 uses the dedicated video endpoint: {videoGenerationBaseUrl}/v1/video_generation. The initial request returns a task_id; the tool polls /v1/query/video_generation, then downloads the completed video_url or resolves file_id through /v1/files/retrieve. Returned videos are saved to disk as MP4 files. Default base URL is https://api.minimaxi.com.

Example tool result shape:

{
  "provider": "openclaw-minimax-media",
  "model": "MiniMax-Hailuo-2.3",
  "count": 1,
  "videos": [
    {
      "path": "/tmp/openclaw-minimax-media/video-1.mp4",
      "mimeType": "video/mp4",
      "filename": "video-1.mp4"
    }
  ],
  "metadata": {
    "taskId": "example-task-id",
    "status": "Success"
  },
  "externalContent": {
    "untrusted": true,
    "source": "video_generation",
    "provider": "minimax"
  }
}

Tool: minimax_tts

Parameters:

| Parameter | Type | Required | Description | | --- | --- | --- | --- | | text | string | yes | Text to convert to speech. | | timeoutMs | integer | no | Request timeout in milliseconds. Valid range: 1000-600000. | | filename | string | no | Output filename hint in returned audio metadata. Directory components are ignored. |

This tool intentionally implements text-to-speech only. It always uses MiniMax speech-2.8-hd with voice Chinese (Mandarin)_Warm_Girl, calls {ttsBaseUrl}/v1/t2a_v2, decodes MiniMax's hex audio payload, and saves the MP3 to disk. Default base URL is https://api.minimaxi.com.

Example tool result shape:

{
  "provider": "openclaw-minimax-media",
  "model": "speech-2.8-hd",
  "voiceId": "Chinese (Mandarin)_Warm_Girl",
  "audio": {
    "path": "/tmp/openclaw-minimax-media/tts-1.mp3",
    "mimeType": "audio/mpeg",
    "filename": "tts-1.mp3"
  },
  "externalContent": {
    "untrusted": true,
    "source": "tts",
    "provider": "minimax"
  }
}

Tool: minimax_web_search

Parameters:

| Parameter | Type | Required | Description | | --- | --- | --- | --- | | query | string | yes | Search query string. Must not be empty. | | count | integer | no | Number of results to return, from 1 to 10. Defaults to 5. |

Example tool result shape:

{
  "query": "OpenClaw AI agent framework",
  "provider": "openclaw-minimax-media",
  "count": 3,
  "results": [
    {
      "title": "Example result",
      "url": "https://example.com/article",
      "description": "Short snippet...",
      "published": "2026-01-01 12:00:00",
      "siteName": "example.com"
    }
  ],
  "externalContent": {
    "untrusted": true,
    "source": "web_search",
    "provider": "minimax"
  }
}

Operational notes and limitations

  • This package registers direct OpenClaw tools. It does not register OpenClaw's built-in imageGenerationProviders, musicGenerationProviders, or videoGenerationProviders contracts, so it does not participate in built-in provider fallback routing.
  • Generated images, music, videos, and TTS audio are saved to disk and returned as host-visible file paths in the tool result. When OpenClaw provides a workspace directory, outputs are written under files/input/openclaw-minimax-media/ inside that active workspace; otherwise they fall back to ~/.openclaw/media/openclaw-minimax-media/.
  • Long video generation runs are handled inside one tool call by polling MiniMax. If the host or channel imposes a shorter tool execution timeout, prefer a shorter timeoutMs or move this implementation to a provider/background-task integration later.
  • Only JPEG, PNG, and WebP image inputs are accepted for image understanding, image generation references, and video first-frame references.

Safety and privacy

  • Do not publish real API keys in this package, README, examples, or OpenClaw config files.
  • This package does not include any bundled credentials.
  • Remote image URLs, search results, and model responses are external, untrusted content; agents should treat them accordingly.
  • Local image paths are read from the machine running OpenClaw. Only use local paths that are intended to be analyzed.
  • Input images are converted to Base64 data URLs before being sent to MiniMax VLM or image generation APIs.
  • Generated images are saved as PNG files and returned as host-visible file paths.
  • Generated tracks are saved as MP3 files and returned as host-visible file paths.
  • Generated videos are saved as MP4 files and returned as host-visible file paths.
  • TTS audio is saved as an MP3 file to $TMPDIR/openclaw-minimax-media/ and returned as a file path.
  • MiniMax API calls may consume your MiniMax Token Plan quota.
  • Avoid using minimax_web_search for sensitive queries, including political, religious, private, credential, or otherwise restricted content.

Development

npm install
npm test
npm pack --dry-run

Publish the scoped package publicly:

npm publish --access public

The package publishes only these files:

  • dist/
  • openclaw.plugin.json
  • README.md
  • LICENSE

Source files, local lockfiles, node_modules, backups, generated tarballs, and local workspace paths are excluded from the npm package.

License

MIT