Skip to content

[Feature]: SDK for MiniMax AI Platform #83

@FliPPeDround

Description

@FliPPeDround

首先,感谢 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 套餐,所以视频生成并没有校验,我不确定是否能正确运行,欢迎大家尝试并反馈问题

pnpm i mmx-sdk
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 包名

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions