Skip to main content
The MiniMax speech models are available through Upmore via the standard audio API (/v1/audio/speech). Send text, get audio bytes back — billing is per input character.

Available models

ModelNotes
speech-2.8-hdLatest generation, high fidelity
speech-2.8-turboLatest generation, low latency
speech-2.6-hd / speech-2.6-turboPrevious generation
speech-02-hd / speech-02-turboLegacy
speech-01-hd / speech-01-turboLegacy
hd variants prioritize audio fidelity; turbo variants prioritize latency and cost less. All models share the same request format.

Quick example

curl https://api.upmore.net/v1/audio/speech \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "speech-2.8-hd",
    "input": "你好,欢迎使用语音合成服务。",
    "voice": "male-qn-qingse",
    "response_format": "mp3"
  }' --output speech.mp3
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.upmore.net/v1"
)

response = client.audio.speech.create(
    model="speech-2.8-hd",
    voice="male-qn-qingse",
    input="你好,欢迎使用语音合成服务。",
    response_format="mp3",
)

response.write_to_file("speech.mp3")
import fs from 'node:fs'
import OpenAI from 'openai'

const client = new OpenAI({
  apiKey: process.env.UPMORE_API_KEY,
  baseURL: 'https://api.upmore.net/v1',
})

const speech = await client.audio.speech.create({
  model: 'speech-2.8-hd',
  voice: 'male-qn-qingse',
  input: '你好,欢迎使用语音合成服务。',
  response_format: 'mp3',
})

fs.writeFileSync('speech.mp3', Buffer.from(await speech.arrayBuffer()))

Parameters

ParameterTypeRequiredDescription
modelstringYesOne of the model IDs from the table above
inputstringYesText to synthesize, billed per character
voicestringYesMiniMax voice ID (e.g. male-qn-qingse, female-shaonv) — not OpenAI voice names
response_formatstringNomp3 (default), wav, flac, aac, or pcm
speednumberNoPlayback speed, 0.52. Default: 1
metadataobjectNoProvider-specific fields merged into the upstream request

Advanced: provider passthrough

Anything MiniMax’s native T2A API supports can be passed through metadata — the object is merged into the upstream request body:
"metadata": {
  "voice_setting": { "emotion": "happy", "pitch": 0 },
  "audio_setting": { "sample_rate": 32000, "bitrate": 128000 },
  "language_boost": "Chinese"
}
By default the platform returns the audio bytes directly. Set "metadata": {"output_format": "url"} to receive a 302 redirect to a temporary audio URL instead (use curl -L).

API Reference

View the interactive API playground.