首先,感谢 MiniMax 团队提供了丰富的人工智能模型(文本生成、图像生成、视频生成、音乐生成、语音合成、图像理解和网络搜索),以及官方的 mmx-cli 集成工具。这些资源对于希望将 MiniMax 能力集成到应用中的开发者来说非常宝贵。
为什么需要 SDK?
虽然 mmx-cli 是一个优秀的命令行工具,对 agent 场景非常友好,但提供 SDK 将大大降低二次开发的门槛。程序化的 SDK 可以让开发者:
- 将 MiniMax 能力直接集成到 Node.js 应用中
- 构建自定义工作流和自动化方案
- 根据特定使用场景创建更高层次的抽象
- 通过 TypeScript 支持保持完整的类型安全
我的 SDK 项目
基于 mmx-cli 我开发了 mmx-sdk,这是一个 TypeScript SDK,将 mmx-cli 的功能封装成可编程接口。该项目包括:
- 面向对象架构:
MiniMaxSDK 作为主入口类,每个功能都有独立模块(ChatSDK、SpeechSDK、ImageSDK、VideoSDK、MusicSDK、SearchSDK、VisionSDK、QuotaSDK)
- TypeScript 支持:从源代码生成完整的类型定义
- 灵活的请求处理:同时支持流式和非流式响应
- 异步任务管理:内置视频生成等长时任务的轮询机制
我只有 Plus 套餐,所以视频生成并没有校验,我不确定是否能正确运行,欢迎大家尝试并反馈问题
import { MiniMaxSDK } from 'mmx-sdk';
const sdk = new MiniMaxSDK({ apiKey: 'sk-xxxxx' });
// 文本对话
const response = await sdk.chat({ message: '你好,MiniMax!' });
console.log(response);
// 图像生成
const image = await sdk.generateImage({ prompt: '一只穿宇航服的猫' });
console.log(image);
// 语音合成
await sdk.speech({ text: '你好!' });
// 视频生成(异步)
const { taskId } = await sdk.generateVideo({ prompt: '海浪拍打礁石', async: true });
const task = await sdk.getVideoTask({ taskId });
// 音乐生成
const music = await sdk.generateMusic({ prompt: '欢快的流行乐', lyrics: '[主歌] 啦啦啦,阳光照' });
// 网络搜索
const results = await sdk.search({ query: 'MiniMax AI 最新动态' });
// 图像理解
const description = await sdk.describeImage({ image: 'photo.jpg' });
// 查询配额
const quota = await sdk.getQuota();
贡献意愿
如果 MiniMax 团队认为官方 SDK 支持是生态系统的有价值补充,我非常愿意完善这个功能并提一个PR。我相信一个设计良好的 SDK 可以显著扩大 MiniMax 在开发者社区的影响力。
关于开源协议
我使用 MIT 协议创建了 mmx-sdk。如果这违规请告诉我,我将移除这个仓库并转交 mmx-sdk npm 包名
首先,感谢 MiniMax 团队提供了丰富的人工智能模型(文本生成、图像生成、视频生成、音乐生成、语音合成、图像理解和网络搜索),以及官方的
mmx-cli集成工具。这些资源对于希望将 MiniMax 能力集成到应用中的开发者来说非常宝贵。为什么需要 SDK?
虽然
mmx-cli是一个优秀的命令行工具,对 agent 场景非常友好,但提供 SDK 将大大降低二次开发的门槛。程序化的 SDK 可以让开发者:我的 SDK 项目
基于
mmx-cli我开发了mmx-sdk,这是一个 TypeScript SDK,将mmx-cli的功能封装成可编程接口。该项目包括:MiniMaxSDK作为主入口类,每个功能都有独立模块(ChatSDK、SpeechSDK、ImageSDK、VideoSDK、MusicSDK、SearchSDK、VisionSDK、QuotaSDK)贡献意愿
如果 MiniMax 团队认为官方 SDK 支持是生态系统的有价值补充,我非常愿意完善这个功能并提一个PR。我相信一个设计良好的 SDK 可以显著扩大 MiniMax 在开发者社区的影响力。
关于开源协议
我使用 MIT 协议创建了
mmx-sdk。如果这违规请告诉我,我将移除这个仓库并转交mmx-sdknpm 包名