An OpenCode plugin that adds vision support to models that lack it — paste images directly into the chat and ask questions, just like you would with Claude or GPT.
- The Problem
- Demo
- Setup
- Usage
- Configuration
- Supported Image Formats
- Troubleshooting
- Uninstallation
- Contributing
- License
- References
Many models — open-weight ones especially — have no vision capability. They are text-only and simply cannot process image input. For some (like MiniMax), a workaround exists: an MCP tool that reads the image externally using a vision service and returns the analysis as text. But that tool requires a local file path, not a clipboard paste — meaning you'd have to save every screenshot manually, find the path, and type it in.
This plugin automates the entire workaround. It intercepts pasted images, saves them to disk, and injects the right instructions for the model to call the MCP tool with the correct path. You paste, you ask — the plugin handles the rest.
| Without the plugin | With the plugin |
|---|---|
![]() |
![]() |
| The image is silently ignored by the model. | The model analyzes the attached image correctly before answering. |
Screen.Recording.2026-01-18.at.00.39.17.mov
Screen.Recording.2026-01-18.at.00.40.12.mov
The plugin works with any MCP server that can read an image and return its analysis as text. Add one to your opencode.json.
Default — MiniMax Coding Plan MCP:
{
"mcp": {
"MiniMax": {
"type": "local",
"command": ["uvx", "minimax-coding-plan-mcp"],
"environment": {
"MINIMAX_API_KEY": "your-api-key-here",
"MINIMAX_API_HOST": "https://api.minimax.io"
}
}
}
}Alternative — openrouter-image-mcp:
Routes image analysis through OpenRouter, giving you access to any vision-capable model including free ones.
{
"mcp": {
"openrouter_image": {
"type": "local",
"command": ["npx", "openrouter-image-mcp"],
"environment": {
"OPENROUTER_API_KEY": "your-api-key-here",
"OPENROUTER_MODEL": "nvidia/nemotron-nano-12b-v2-vl:free"
}
}
}
}Tip
nvidia/nemotron-nano-12b-v2-vl:free is a free vision model on OpenRouter that requires no credits.
Note
Any MCP server with an image analysis tool will work — the above are just examples. For a different tool, point the plugin to it using imageAnalysisTool — see Configuration.
With the OpenCode CLI (v1.3.4+):
Global (all projects):
opencode plugin opencode-minimax-easy-vision --globalProject-level (current directory only):
opencode plugin opencode-minimax-easy-visionOr manually, add it to the plugin array in your opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-minimax-easy-vision"]
}Paste this into OpenCode and let your agent handle the rest:
Set up opencode-minimax-easy-vision by following https://raw.githubusercontent.com/devadathanmb/opencode-minimax-easy-vision/main/AGENT_SETUP.md
What the agent will do
The agent follows the instructions in AGENT_SETUP.md. It will:
- Pre-fetch your existing config and the full configuration reference before asking anything
- Ask which MCP image analysis tool you want (MiniMax, OpenRouter, or something else) and collect the relevant API key
- Ask which models the plugin should activate for
- Apply all changes — updating existing files in place rather than replacing them
- Walk you through verifying the setup after a restart
- Select a configured model in OpenCode.
- Paste an image (
Cmd+V/Ctrl+V). - Ask your question — just like you would with Claude or GPT.
Important
By default, this plugin only activates for MiniMax provider models — i.e. models where MiniMax is the direct provider in OpenCode (IDs matching minimax/*, minimax-cn/*, etc.). If you're accessing a MiniMax model through a third-party provider like OpenRouter, or using a completely different model, the plugin won't activate until you add that model's pattern to the models config — see CONFIGURATION.md.
Config files are loaded in priority order:
- Project level:
.opencode/opencode-minimax-easy-vision.json(or.jsonc) - User level:
~/.config/opencode/opencode-minimax-easy-vision.json(or.jsonc)
On first load, an example config is created at ~/.config/opencode/opencode-minimax-easy-vision.jsonc with all options and inline comments. See CONFIGURATION.md for the full reference.
PNG, JPEG, WebP — exact formats depend on the image analysis tool you've configured.
Plugin not updating after a new release?
OpenCode caches plugins under ~/.cache/opencode/packages/. If it's still running an old version after a release, clear the cache entry and restart:
rm -rf ~/.cache/opencode/packages/opencode-minimax-easy-vision@latestPlugin not activating?
By default the plugin only fires for MiniMax provider models (IDs matching minimax/*, minimax-cn/*, etc.). It will not activate for a MiniMax model accessed through OpenRouter or any other provider. To use the plugin with a different model or provider, add the model's ID pattern to models in your config — see CONFIGURATION.md.
-
Remove
opencode-minimax-easy-visionfrom thepluginarray in youropencode.jsonfile. -
Delete the config files the plugin created:
rm -f ~/.config/opencode/opencode-minimax-easy-vision.{json,jsonc}See CONTRIBUTING.md for local development setup.
AGPL-3.0. See LICENSE.

