/** * MiniMax TTS provider — async task model (submit → poll → download). * * MiniMax's t2a_async_v2 endpoint does not match the OpenAI POST /audio/speech * shape (it returns task_id, then we poll, then we fetch the file by file_id), * so we implement the contract directly rather than using * createOpenAiCompatibleSpeechProvider. * * Implementation notes (per docs/voice-rearchitecture.md §8.4.4): * - Default per-call timeout: 150s. Submit + poll + download can legitimately * take 60-120s on long inputs, so we enforce `Math.max(timeoutMs, 150000)`. * - `synthesizeStream` is intentionally not implemented. MiniMax has a * separate WebSocket streaming endpoint that does not match the * buffer-then-wrap pattern; speak-core falls back to wrapBufferAsStream. * - Poll interval = 2s, max 60 attempts (2 min cap). Aligns with MiniMax docs. * - `groupId` is read from config but not passed into the request body — * MiniMax embeds groupId in the API key for this account tier. Kept as a * forward-compat slot for the enterprise account tier. */ import type { SpeechProviderPlugin } from '../speech-provider-types.js'; export declare const MINIMAX_TTS_MODELS: readonly ["speech-2.8-hd", "speech-2.8-turbo", "speech-2.6-hd", "speech-2.6-turbo", "speech-02-hd", "speech-02-turbo"]; export declare const MINIMAX_TTS_VOICES: readonly ["male-qn-qingse", "male-qn-jingying", "male-qn-badao", "male-qn-daxuesheng", "female-shaonv", "female-yujie", "female-chengshu", "female-tianmei", "audiobook_male_1", "audiobook_male_2", "audiobook_female_1", "audiobook_female_2", "presenter_male", "presenter_female"]; export declare const minimaxSpeechProvider: SpeechProviderPlugin;