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

prismstudio

v0.3.1

Published

多模态生成控制台:图像 / 视频 / 音频一键生成,兼容国内外主流模型,内嵌 WebUI 配置与试用台。

Downloads

1,356

Readme

Prismstudio

独立多模态生成 MCP Server —— 一条命令,让任意 AI agent 生成图像 / 视频 / 音频

图像 · 视频 · 音频 · 60 个预置模型 · 14 种协议 · 13 家厂商 · 内嵌 WebUI

License: MIT Node Version npm version CI

简体中文English


Prismstudio 是一个遵循 Model Context Protocol 的独立服务,让任意支持 MCP 的 AI agent(Claude Desktop、Cursor、Cline、Windsurf、VS Code 等)都能直接调用几十个主流多模态模型生成图像、视频、音频,而无需自己对接各家 API。

它把"配置麻烦"这件事用内嵌 WebUI 解决了:一条命令打开浏览器,选模型、填 Key、试用、一键复制接入配置,体验和桌面应用一样简单。

核心卖点

市面上主流模型,几乎全覆盖

60 个预置模型 · 13 家厂商,国内外一次接齐:

🖼️ 图像 · OpenAI gpt-image · Google Gemini(nano-banana)/Vertex · 豆包 Seedream · 智谱 GLM-Image/CogView · 通义 Qwen-Image · 万相 · Stability · 腾讯混元 · MiniMax · Midjourney

🎬 视频 · Google Veo 3.1 · 智谱 CogVideoX · 豆包 Seedance · 可灵 Kling · MiniMax · 万相 wan2.7 · Qwen HappyHorse · 腾讯混元

🔊 音频 · CosyVoice · Qwen3-TTS · 智谱 GLM-TTS · MiniMax speech/music · 声音克隆

新模型?加一条预设即可,引擎自动分派 14 种协议族。

一个 MCP,适配任意 agent

遵循开放 MCP 标准,凡是支持 MCP 的本地 agent 都能直接接入

  • Claude Desktop
  • Cursor
  • Cline
  • Windsurf
  • VS Code (Copilot Chat)
  • … 以及任何 stdio MCP 客户端

接入零代码:WebUI 向导一键复制 mcpServers JSON,粘进 agent 配置即可。写一次配置,所有 agent 共用。

还有这些

  • 多模态全覆盖:文生图、图生图/编辑、文生视频、图生视频、TTS 语音合成、音乐生成、声音克隆
  • 内嵌 WebUI:配置台、试用台、接入向导三合一,零配置门槛,不用手写 JSON;API Key 眼睛切换、完整请求地址与接口协议一目了然
  • 动态工具暴露:只有配置好的模态才会暴露给 agent,不产生空壳工具
  • 本地优先:凭证明文存在本地 ~/.prismstudio/config.json,WebUI 仅绑定 127.0.0.1,不上传任何数据

能力总览

Prismstudio 把「模态 × 厂商」封装成 14 种协议族,引擎内核按配置自动分派到对应 provider。当前共 60 个预置模型

图像生成(28 个模型 / 文生图 · 图生图 · 编辑)

| 厂商 | 模型 | 能力 | |---|---|---| | OpenAI | gpt-image-1 / 2 | 文生图、参考图编辑、透明背景 | | Google Gemini | flash / flash-lite / pro(nano-banana) | 文生图、多轮编辑、宽高比与分辨率 | | Google Vertex | flash / flash-lite / pro | Gemini 同款,走 Vertex AI 配额 | | 豆包 | Seedream(含 4 / 4.5 / 5 / 5-Lite) | 高质量国产图像;另有 Agent Plan 接入(独立鉴权) | | 智谱 | GLM-Image、CogView-4 | 国产开源生态 | | MiniMax | image-01 | 单图生成 | | 通义万相 | Qwen-Image、Plus / Max / 2-Pro | 阿里云图像 | | 万相 | wanx-2.1-turbo / plus | 高性价比 | | Stability | SDXL / SD3 / Ultra | 经典 Stable Diffusion | | 腾讯 | 混元 image v3 / lite | 腾讯云图像 | | Midjourney | midjourney | 风格化生成 |

视频生成(19 个模型 / 文生视频 · 图生视频 · 异步)

| 厂商 | 模型 | 能力 | |---|---|---| | 智谱 | CogVideoX 2 / 3 / Flash | 国产开源视频 | | 豆包 | Seedance(含 1.5-pro / 2 / 2-fast / 2-mini) | 字节视频;另有 Agent Plan 接入(独立鉴权) | | 可灵 | Kling v2 | 高质量国产视频 | | MiniMax | video-01 | 视频生成 | | 万相 | wan2.7-t2v、wan2.7-videoedit | 文生视频、视频编辑 | | 通义 | Qwen HappyHorse | 文/图/参考生视频 | | 腾讯 | 混元 video v1.5 | 腾讯云视频 | | Google Gemini | Veo 3.1 / 3.1-fast / 3.1-lite、Omni-flash | 国际顶级视频,支持音频 | | Google Vertex | Omni-flash | Vertex 配额 |

音频生成(13 个模型 / TTS · 音乐 · 声音克隆)

| 厂商 | 模型 | 能力 | |---|---|---| | 智谱 | GLM-TTS、GLM-TTS-Clone | 语音合成、声音克隆 | | 阿里 | CosyVoice | 通义语音合成 | | 通义 | Qwen3-TTS(Flash / Instruct / 多方言) | 30+ 内置音色、方言 | | MiniMax | speech-02 / async、music(含免费档/翻唱)、voice-clone | TTS、音乐生成、声音克隆 |

完整的预设 ID 与对应 protocol/baseUrl/vendor预设清单--webui 配置台下拉。


系统要求

Prismstudio 是一个 Node.js MCP Server。macOS 和 Windows 默认不自带 Node.js / npm / npx;请先安装 Node.js 20 或更高版本。Node.js 官方安装包通常会同时安装 npm 与 npx。

检查是否已安装

node -v
npm -v
npx -v

如果 node -v 显示 v20.xv22.x 或更高版本,就可以继续。

安装 Node.js

macOS

推荐任选一种:

# 官方安装包:下载并安装 LTS 版本
# https://nodejs.org/

# 或 Homebrew
brew install node

# 或 nvm
nvm install --lts

Windows

推荐任选一种:

# 官方安装包:下载并安装 LTS 版本
# https://nodejs.org/

# 或 winget
winget install OpenJS.NodeJS.LTS

安装完成后,重新打开终端 / PowerShell,再运行上面的 node -vnpm -vnpx -v 检查。


快速开始

第 1 步:按需打开 WebUI 完成配置(推荐首次使用)

npx -y prismstudio@latest webui

浏览器会自动打开 http://127.0.0.1:17899。WebUI 是按需配置面板,不是常驻服务

  • 只有这条命令运行时才会占用 17899 端口
  • 关掉终端或按 Ctrl+C 后,WebUI 会停止,不再占用电脑内存 / CPU
  • 配置会保存到本地 ~/.prismstudio/config.json,不会因为 WebUI 关闭而丢失
  • 以后需要换模型、改 API Key、测试生成时,再运行同一条命令打开即可
  • 设置好一次后,日常在 agent 里生成图片 / 视频 / 音频不需要 WebUI 常驻

在页面里:

  1. 配置台:为想用的模态(图片/视频/音频)选择预设模型、填写 API Key,点保存
  2. 试用台:直接生成一张图 / 一段 TTS 验证配置是否生效
  3. 接入向导:选择你的 agent,一键复制 mcpServers 配置 JSON

第 2 步:接入到你的 agent

以 Claude Desktop 为例,编辑配置文件(macOS:~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "prismstudio": {
      "command": "npx",
      "args": ["-y", "prismstudio@latest"],
      "timeoutMs": 1800000
    }
  }
}

如果你的 agent 不支持直接粘贴 JSON,而是逐字段填写表单(如部分 GUI 客户端),按下面的对照填即可:

| 字段 | 填写内容 | | --- | --- | | 名称 / Name | prismstudio | | 传输方式 / Type | stdio | | 命令 / Command | npx -y prismstudio@latest | | 环境变量 / Env | (留空) |

⚠️ 关于超时(timeout):上面 JSON 里的 timeoutMs: 1800000(30 分钟)属于 MCP 客户端的配置项,不是环境变量,无法写进 Env 字段。表单模式下能否设置取决于你的 agent:

  • 表单里有独立的 Timeout 字段 → 填 1800000
  • 没有 timeout 字段 → 该客户端只能用默认超时(常见 30 秒 / 60 秒),视频 / 音乐等长任务可能被提前切断。建议改用 JSON 粘贴模式(见上方代码块)来带上 timeoutMs

保存 MCP 配置后,请重启 Claude Desktop / Cursor / Cline / Windsurf 等 agent,让它重新加载 MCP server。重启后,就能在对话中让 agent 生成图片、视频、音频了。

timeoutMs: 1800000 表示让 agent 最多等待 30 分钟,推荐保留,避免视频 / 音乐等长任务被客户端 30 秒默认超时提前切断。如果你的 agent 不支持这个字段并报错,删除这一行即可。

如果你的 agent 提供“表单 / JSON”切换,请选择 JSON 格式,把 WebUI 接入向导复制出的 JSON 粘贴进去;如果表单里要求填写类型(type),请选择 stdio

Cursor~/.cursor/mcp.json):

{
  "mcpServers": {
    "prismstudio": { "command": "npx", "args": ["-y", "prismstudio@latest"], "timeoutMs": 1800000 }
  }
}

Cline / Windsurf / VS Code:同上结构,写入对应 MCP 配置位置即可。

通用 stdio:直接运行 npx -y prismstudio@latest,通过标准输入输出交互。


命令参考

prismstudio                       # 以 stdio MCP 模式运行(默认,供 agent 调用)
prismstudio webui                 # 启动本地 WebUI 配置台(等价于 --webui)
prismstudio --webui               # 启动本地 WebUI 配置台(浏览器打开 127.0.0.1:<port>)
prismstudio --webui --port 8080   # 指定 WebUI 端口(默认 17899)
prismstudio --output-dir <path>   # 覆盖生成物输出目录
prismstudio --version             # 显示版本号
prismstudio --help                # 显示帮助

环境变量:

| 变量 | 默认值 | 说明 | |---|---|---| | PRISMSTUDIO_CONFIG | ~/.prismstudio/config.json | 指定配置文件路径(便于多套配置切换) |


提供的 MCP 工具

只有已配置好的模态才会暴露对应工具(动态工具暴露,避免给 agent 留下一堆用不了的空壳):

| 工具 | 模态 | 能力 | |---|---|---| | generate_image | 图片 | 文生图、参考图编辑、多轮迭代优化 | | generate_video | 视频 | 文生视频(异步,1-5 分钟)、图生视频 | | generate_audio | 音频 | TTS 语音、音乐生成、声音克隆 |

每个工具支持丰富的厂商专属参数(如 OpenAI 的 quality/background、Gemini 的 aspectRatio/imageSize、Stability 的 stylePreset、视频的 withAudio/frames 等),详见各工具的 inputSchema

生成产物会保存到 <输出目录>/generated-media/

  • 如果没有手动设置 outputDir,默认输出目录是 ~/.prismstudio/generated-media/
  • WebUI 试用台的临时试用产物默认保存在 ~/.prismstudio/playground/
  • 图片 / 音频同时以 base64 内联回传给 agent,便于直接预览
  • 视频体积大,仅返回本地路径

~/.prismstudio 是用户主目录下的隐藏文件夹(文件夹名前有一个点)。配置文件、默认生成产物和 WebUI 试用产物都会放在这里。

如何查看隐藏文件夹:

  • macOS Finder:按 Command + Shift + . 显示/隐藏隐藏文件;或按 Command + Shift + G,输入 ~/.prismstudio 后回车直接打开。
  • Windows 文件资源管理器:点击“查看 / View” → “显示 / Show” → 勾选“隐藏的项目 / Hidden items”;也可以按 Win + R,输入 %USERPROFILE%\.prismstudio 后回车打开。

你也可以直接让 agent 帮你处理文件,例如:

“请把刚才生成的视频复制到我的桌面。” “请把最新生成的图片移动到 /Users/你的用户名/Downloads/作品/。”


配置文件说明

配置文件位于 ~/.prismstudio/config.json(可用 PRISMSTUDIO_CONFIG 覆盖):

{
  "image": {
    "enabled": true,
    "presetId": "openai-gpt-image-2",  // 预设 ID,或 "custom" 手动指定
    "apiKey": "sk-...",                  // 明文存储
    "model": "...",                      // 可选,覆盖预设模型(仅 custom 必填)
    "protocol": "openai-images",         // 可选,仅 custom 时有意义
    "baseUrl": "..."                     // 可选,覆盖预设 endpoint
  },
  "video": { /* ... */ },
  "audio": { /* ... */ },
  "outputDir": "/path/to/out"           // 可选,生成物输出目录
}

同厂商 Key 记忆:每个模态按厂商(vendor)单独记忆 API Key(存在 apiKeyByVendor,并兼容旧的 apiKeyByPreset)。同一模态内切换同厂商模型无需重填;图片 / 视频 / 音频三类工具之间不强制共用。

火山引擎接入分组:因鉴权方式不同,火山引擎在配置台里拆成三个独立 vendor:火山 API(普通方舟 Ark key)、火山 Agent Plan(Agent Plan 独立 key)、火山语音(语音服务独立 key)。三组各自记忆 Key,互不覆盖。

安全说明:凭证以明文存储(与 MCP 生态惯例一致)。WebUI 仅绑定 127.0.0.1,不加载第三方 CDN 脚本/字体,并通过安全响应头、Origin / Sec-Fetch-Site 校验与 JSON Content-Type 校验降低本机跨站请求风险。生产环境请自行做好文件权限管控。详见 SECURITY.md


本地开发

# 依赖
bun install

# 开发(直接跑 TS)
bun run dev              # stdio 模式
bun run dev:webui        # WebUI 模式

# 质量检查
bun run typecheck        # 类型检查
bun test                 # 测试套件
bun run build            # 构建到 dist/

# 测试 stdio 握手
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"t","version":"1"}}}' | bun run dev

更多见 CONTRIBUTING.md


架构

┌──────────────────────────────────────────────────┐
│  prismstudio(一个进程、一条命令)                     │
│                                                   │
│  ┌────────────────────────────────────────────┐  │
│  │  引擎内核(14 协议族,60 预置模型)           │  │
│  │  generateMedia() 统一入口                    │  │
│  └────────────────────────────────────────────┘  │
│            ▲                       ▲              │
│            │                       │              │
│   ┌────────┴───────┐      ┌────────┴─────────┐    │
│   │ stdio MCP 传输  │      │ 内嵌 HTTP WebUI  │    │
│   │ (给 agent 用)   │      │ (给人配置/试用)  │    │
│   └────────┬───────┘      └────────┬─────────┘    │
│            └───────┬────────────────┘             │
│         共享 ~/.prismstudio/config.json               │
└───────────────────────────────────────────────────┘

| 模块 | 职责 | |---|---| | src/engine/media-generation-engine.ts | 生成内核,按「模态 × 协议族」分派,裸 fetch 调用各 provider | | src/engine/google-auth.ts | Google Vertex / Gemini 服务账号鉴权 | | src/config.ts | 配置读写,把结构化配置转成引擎所需的 flat credentials | | src/persist.ts | 生成产物落盘 + 构造 MCP content 块(纯 node:fs) | | src/mcp-server.ts | 底层 Server + JSON Schema 注册工具,串联引擎/配置/落盘 | | src/index.ts | CLI 入口,分流 stdio / --webui 两种模式 | | src/webui/server.ts | HTTP server + REST API(仅 127.0.0.1) | | src/webui/index-html.ts | Alpine.js 单文件页面(配置/试用台/接入向导) |


License

MIT © Jacky Huang