feat: add minimax tts support (#1043)

This commit is contained in:
Thiên Toán 2026-05-13 15:34:10 +07:00 committed by GitHub
parent 3c2503c4b4
commit 74c9879e8e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 578 additions and 32 deletions

View file

@ -40,6 +40,17 @@ export const THINKING_CONFIG = {
}
};
const MINIMAX_TTS_MODELS = [
{ id: "speech-2.8-hd", name: "Speech 2.8 HD" },
{ id: "speech-2.8-turbo", name: "Speech 2.8 Turbo" },
{ id: "speech-2.6-hd", name: "Speech 2.6 HD" },
{ id: "speech-2.6-turbo", name: "Speech 2.6 Turbo" },
{ id: "speech-02-hd", name: "Speech 02 HD" },
{ id: "speech-02-turbo", name: "Speech 02 Turbo" },
{ id: "speech-01-hd", name: "Speech 01 HD" },
{ id: "speech-01-turbo", name: "Speech 01 Turbo" },
];
// OAuth Providers
export const OAUTH_PROVIDERS = {
claude: { id: "claude", alias: "cc", name: "Claude Code", icon: "smart_toy", color: "#D97757", website: "https://claude.ai", notice: { signupUrl: "https://claude.ai" } },
@ -57,8 +68,8 @@ export const APIKEY_PROVIDERS = {
glm: { id: "glm", alias: "glm", name: "GLM Coding", icon: "code", color: "#2563EB", textIcon: "GL", website: "https://open.bigmodel.cn", notice: { apiKeyUrl: "https://open.bigmodel.cn/usercenter/apikeys" } },
"glm-cn": { id: "glm-cn", alias: "glm-cn", name: "GLM (China)", icon: "code", color: "#DC2626", textIcon: "GC", website: "https://open.bigmodel.cn", notice: { apiKeyUrl: "https://open.bigmodel.cn/usercenter/apikeys" } },
kimi: { id: "kimi", alias: "kimi", name: "Kimi", icon: "psychology", color: "#1E3A8A", textIcon: "KM", website: "https://kimi.moonshot.cn", notice: { apiKeyUrl: "https://platform.moonshot.ai/console/api-keys" }, serviceKinds: ["llm", "webSearch"], searchViaChat: { defaultModel: "kimi-k2.5", pricingUrl: "https://platform.moonshot.ai/docs/pricing/chat" } },
minimax: { id: "minimax", alias: "minimax", name: "Minimax Coding", icon: "memory", color: "#7C3AED", textIcon: "MM", website: "https://www.minimaxi.com", notice: { apiKeyUrl: "https://platform.minimaxi.com/user-center/basic-information/interface-key" }, serviceKinds: ["llm", "image", "imageToText", "webSearch"], searchViaChat: { defaultModel: "MiniMax-M2.7", pricingUrl: "https://www.minimaxi.com/document/price" } },
"minimax-cn": { id: "minimax-cn", alias: "minimax-cn", name: "Minimax (China)", icon: "memory", color: "#DC2626", textIcon: "MC", website: "https://www.minimaxi.com", notice: { apiKeyUrl: "https://platform.minimaxi.com/user-center/basic-information/interface-key" } },
minimax: { id: "minimax", alias: "minimax", name: "Minimax Coding", icon: "memory", color: "#7C3AED", textIcon: "MM", website: "https://www.minimaxi.com", notice: { apiKeyUrl: "https://platform.minimaxi.com/user-center/basic-information/interface-key" }, serviceKinds: ["llm", "image", "imageToText", "webSearch", "tts"], searchViaChat: { defaultModel: "MiniMax-M2.7", pricingUrl: "https://www.minimaxi.com/document/price" }, ttsConfig: { baseUrl: "https://api.minimax.io/v1/t2a_v2", authType: "apikey", authHeader: "bearer", format: "minimax-tts", models: MINIMAX_TTS_MODELS } },
"minimax-cn": { id: "minimax-cn", alias: "minimax-cn", name: "Minimax (China)", icon: "memory", color: "#DC2626", textIcon: "MC", website: "https://www.minimaxi.com", notice: { apiKeyUrl: "https://platform.minimaxi.com/user-center/basic-information/interface-key" }, serviceKinds: ["llm", "tts"], ttsConfig: { baseUrl: "https://api.minimaxi.com/v1/t2a_v2", authType: "apikey", authHeader: "bearer", format: "minimax-tts", models: MINIMAX_TTS_MODELS } },
alicode: { id: "alicode", alias: "alicode", name: "Alibaba", icon: "cloud", color: "#FF6A00", textIcon: "ALi", website: "https://bailian.console.aliyun.com", notice: { apiKeyUrl: "https://bailian.console.aliyun.com/?apiKey=1" } },
"alicode-intl": { id: "alicode-intl", alias: "alicode-intl", name: "Alibaba Intl", icon: "cloud", color: "#FF6A00", textIcon: "ALi", website: "https://modelstudio.console.alibabacloud.com", notice: { apiKeyUrl: "https://modelstudio.console.alibabacloud.com/?apiKey=1" } },
"xiaomi-mimo": { id: "xiaomi-mimo", alias: "mimo", name: "Xiaomi MiMo", icon: "smart_toy", color: "#FF6900", textIcon: "XM", website: "https://xiaomimimo.com", notice: { apiKeyUrl: "https://xiaomimimo.com" } },

View file

@ -109,6 +109,22 @@ export const TTS_PROVIDER_CONFIG = {
hasVoiceIdInput: true,
voiceSource: "config",
},
"minimax": {
hasModelSelector: true,
hasBrowseButton: true,
hasVoiceIdInput: true,
voiceSource: "api-language",
apiEndpoint: "/api/media-providers/tts/minimax/voices",
defaultVoiceId: "English_expressive_narrator",
},
"minimax-cn": {
hasModelSelector: true,
hasBrowseButton: true,
hasVoiceIdInput: true,
voiceSource: "api-language",
apiEndpoint: "/api/media-providers/tts/minimax/voices?provider=minimax-cn",
defaultVoiceId: "English_expressive_narrator",
},
"gemini": {
hasLanguageDropdown: false,
hasLanguageHint: true, // sends body.language to guide TTS pronunciation