live
MODEL IDminimax:speech@2.8

MiniMax Speech 2.8

MiniMax
by

MiniMax Speech 2.8 is an advanced text-to-speech model that turns text into natural, expressive audio in multiple languages. It delivers broadcast-ready speech with rich prosody, emotional control, and a diverse voice library. The model supports up to large input lengths and can be used for voiceovers, narration, accessibility tools, and interactive voice applications.

MiniMax Speech 2.8

text-to-audio

Fermentation Podcast Vocal Stinger$0.0094~4s
0:00

Wake the jar, feed the fizz—this is Culture Counter, where tiny microbes make very big flavor.

Try in Playground
import { createClient } from '@runware/sdk'

const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()

const [result] = await client.run({
  model: 'minimax:speech@2.8',
  speech: {
    text: 'Wake the jar, feed the fizz—this is Culture Counter, where tiny microbes make very big flavor.',
    voice: 'English_PlayfulGirl'
  }
})
import asyncio
import os

from runware import Runware


async def main():
    async with Runware(api_key=os.environ["RUNWARE_API_KEY"]) as client:
        results = await client.run({
            "model": "minimax:speech@2.8",
            "speech": {
                "text": "Wake the jar, feed the fizz—this is Culture Counter, where tiny microbes make very big flavor.",
                "voice": "English_PlayfulGirl"
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "audioInference",
      "taskUUID": "1b03a62f-1f56-4c64-b13a-45786400eed9",
      "model": "minimax:speech@2.8",
      "speech": {
        "text": "Wake the jar, feed the fizz—this is Culture Counter, where tiny microbes make very big flavor.",
        "voice": "English_PlayfulGirl"
      }
    }
  ]'
runware run minimax:speech@2.8 \
  speech.text="Wake the jar, feed the fizz—this is Culture Counter, where tiny microbes make very big flavor." \
  speech.voice=English_PlayfulGirl
{
  "taskType": "audioInference",
  "taskUUID": "1b03a62f-1f56-4c64-b13a-45786400eed9",
  "model": "minimax:speech@2.8",
  "speech": {
    "text": "Wake the jar, feed the fizz—this is Culture Counter, where tiny microbes make very big flavor.",
    "voice": "English_PlayfulGirl"
  }
}
Response
{
  "taskType": "audioInference",
  "taskUUID": "1b03a62f-1f56-4c64-b13a-45786400eed9",
  "audioUUID": "d7e3f5b3-339d-444a-a767-e2789246d184",
  "audioURL": "https://am.runware.ai/audio/os/a05d22/ws/5/ai/d7e3f5b3-339d-444a-a767-e2789246d184.mp3",
  "cost": 0.0094
}

text-to-audio

Lunar Greenhouse PA Ambience$0.0239~5s
0:00

Horticulture cycle seven is now entering artificial dusk. Irrigation will continue in the eastern beds for six minutes. Please keep the pollinator aisle clear, lower your work lights, and allow the night-blooming crops to open undisturbed.

Try in Playground
import { createClient } from '@runware/sdk'

const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()

const [result] = await client.run({
  model: 'minimax:speech@2.8',
  speech: {
    voice: 'English_CalmWoman',
    text: 'Horticulture cycle seven is now entering artificial dusk. Irrigation will continue in the eastern beds for six minutes. Please keep the pollinator aisle clear, lower your work lights, and allow the night-blooming crops to open undisturbed.'
  }
})
import asyncio
import os

from runware import Runware


async def main():
    async with Runware(api_key=os.environ["RUNWARE_API_KEY"]) as client:
        results = await client.run({
            "model": "minimax:speech@2.8",
            "speech": {
                "voice": "English_CalmWoman",
                "text": "Horticulture cycle seven is now entering artificial dusk. Irrigation will continue in the eastern beds for six minutes. Please keep the pollinator aisle clear, lower your work lights, and allow the night-blooming crops to open undisturbed."
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "audioInference",
      "taskUUID": "a2ae4a6a-261e-4ffc-85ba-91ec05221991",
      "model": "minimax:speech@2.8",
      "speech": {
        "voice": "English_CalmWoman",
        "text": "Horticulture cycle seven is now entering artificial dusk. Irrigation will continue in the eastern beds for six minutes. Please keep the pollinator aisle clear, lower your work lights, and allow the night-blooming crops to open undisturbed."
      }
    }
  ]'
runware run minimax:speech@2.8 \
  speech.voice=English_CalmWoman \
  speech.text="Horticulture cycle seven is now entering artificial dusk. Irrigation will continue in the eastern beds for six minutes. Please keep the pollinator aisle clear, lower your work lights, and allow the night-blooming crops to open undisturbed."
{
  "taskType": "audioInference",
  "taskUUID": "a2ae4a6a-261e-4ffc-85ba-91ec05221991",
  "model": "minimax:speech@2.8",
  "speech": {
    "voice": "English_CalmWoman",
    "text": "Horticulture cycle seven is now entering artificial dusk. Irrigation will continue in the eastern beds for six minutes. Please keep the pollinator aisle clear, lower your work lights, and allow the night-blooming crops to open undisturbed."
  }
}
Response
{
  "taskType": "audioInference",
  "taskUUID": "a2ae4a6a-261e-4ffc-85ba-91ec05221991",
  "audioUUID": "63ed7fba-f891-45dd-bad5-81f8ae5fc28d",
  "audioURL": "https://am.runware.ai/audio/os/a10dlim3/ws/5/ai/63ed7fba-f891-45dd-bad5-81f8ae5fc28d.mp3",
  "cost": 0.0239
}

text-to-audio

Textile Forensics Podcast Cold Open$0.065~6s
0:00

A carpet can lie. In 1924, a London collector paid a small fortune for what he believed was a seventeenth-century Persian masterpiece. The wool was hand-spun. The knots were convincing. Even the wear looked ancient. But hidden inside one faded crimson thread was a dye invented barely thirty years earlier. That single fiber unraveled the carpet’s story—and exposed a workshop built on beautiful deception. This is Under the Weft, a podcast about the science, history, and human judgment behind the world’s most contested textiles. Today: how conservators read color like evidence, and why the perfect forgery is often undone by its brightest detail.

Try in Playground
import { createClient } from '@runware/sdk'

const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()

const [result] = await client.run({
  model: 'minimax:speech@2.8',
  speech: {
    voice: 'English_CaptivatingStoryteller',
    text: 'A carpet can lie. In 1924, a London collector paid a small fortune for what he believed was a seventeenth-century Persian masterpiece. The wool was hand-spun. The knots were convincing. Even the wear looked ancient. But hidden inside one faded crimson thread was a dye invented barely thirty years earlier. That single fiber unraveled the carpet’s story—and exposed a workshop built on beautiful deception. This is Under the Weft, a podcast about the science, history, and human judgment behind the world’s most contested textiles. Today: how conservators read color like evidence, and why the perfect forgery is often undone by its brightest detail.'
  }
})
import asyncio
import os

from runware import Runware


async def main():
    async with Runware(api_key=os.environ["RUNWARE_API_KEY"]) as client:
        results = await client.run({
            "model": "minimax:speech@2.8",
            "speech": {
                "voice": "English_CaptivatingStoryteller",
                "text": "A carpet can lie. In 1924, a London collector paid a small fortune for what he believed was a seventeenth-century Persian masterpiece. The wool was hand-spun. The knots were convincing. Even the wear looked ancient. But hidden inside one faded crimson thread was a dye invented barely thirty years earlier. That single fiber unraveled the carpet’s story—and exposed a workshop built on beautiful deception. This is Under the Weft, a podcast about the science, history, and human judgment behind the world’s most contested textiles. Today: how conservators read color like evidence, and why the perfect forgery is often undone by its brightest detail."
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "audioInference",
      "taskUUID": "1f6f9223-dd5b-4eaf-872b-75f356b7dc70",
      "model": "minimax:speech@2.8",
      "speech": {
        "voice": "English_CaptivatingStoryteller",
        "text": "A carpet can lie. In 1924, a London collector paid a small fortune for what he believed was a seventeenth-century Persian masterpiece. The wool was hand-spun. The knots were convincing. Even the wear looked ancient. But hidden inside one faded crimson thread was a dye invented barely thirty years earlier. That single fiber unraveled the carpet’s story—and exposed a workshop built on beautiful deception. This is Under the Weft, a podcast about the science, history, and human judgment behind the world’s most contested textiles. Today: how conservators read color like evidence, and why the perfect forgery is often undone by its brightest detail."
      }
    }
  ]'
runware run minimax:speech@2.8 \
  speech.voice=English_CaptivatingStoryteller \
  speech.text="A carpet can lie. In 1924, a London collector paid a small fortune for what he believed was a seventeenth-century Persian masterpiece. The wool was hand-spun. The knots were convincing. Even the wear looked ancient. But hidden inside one faded crimson thread was a dye invented barely thirty years earlier. That single fiber unraveled the carpet’s story—and exposed a workshop built on beautiful deception. This is Under the Weft, a podcast about the science, history, and human judgment behind the world’s most contested textiles. Today: how conservators read color like evidence, and why the perfect forgery is often undone by its brightest detail."
{
  "taskType": "audioInference",
  "taskUUID": "1f6f9223-dd5b-4eaf-872b-75f356b7dc70",
  "model": "minimax:speech@2.8",
  "speech": {
    "voice": "English_CaptivatingStoryteller",
    "text": "A carpet can lie. In 1924, a London collector paid a small fortune for what he believed was a seventeenth-century Persian masterpiece. The wool was hand-spun. The knots were convincing. Even the wear looked ancient. But hidden inside one faded crimson thread was a dye invented barely thirty years earlier. That single fiber unraveled the carpet’s story—and exposed a workshop built on beautiful deception. This is Under the Weft, a podcast about the science, history, and human judgment behind the world’s most contested textiles. Today: how conservators read color like evidence, and why the perfect forgery is often undone by its brightest detail."
  }
}
Response
{
  "taskType": "audioInference",
  "taskUUID": "1f6f9223-dd5b-4eaf-872b-75f356b7dc70",
  "audioUUID": "23188528-2e2a-439e-b511-369343ee5ff1",
  "audioURL": "https://am.runware.ai/audio/os/a06dlim3/ws/5/ai/23188528-2e2a-439e-b511-369343ee5ff1.mp3",
  "cost": 0.065
}

text-to-audio

Community Heat Mapping Explainer Voiceover$0.0442~6s
0:00

One street has leafy shade. The next feels ten degrees hotter. But if heat changes block by block, how do we protect the people most at risk? This summer, volunteers are carrying pocket-sized sensors along their everyday routes. Each reading helps reveal where trees, cool roofs, and shaded bus stops can make the greatest difference. Walk, ride, or roll with us—and turn a few minutes outdoors into a cooler, safer neighborhood for everyone.

Try in Playground
import { createClient } from '@runware/sdk'

const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()

const [result] = await client.run({
  model: 'minimax:speech@2.8',
  speech: {
    voice: 'English_ConfidentWoman',
    text: 'One street has leafy shade. The next feels ten degrees hotter. But if heat changes block by block, how do we protect the people most at risk? This summer, volunteers are carrying pocket-sized sensors along their everyday routes. Each reading helps reveal where trees, cool roofs, and shaded bus stops can make the greatest difference. Walk, ride, or roll with us—and turn a few minutes outdoors into a cooler, safer neighborhood for everyone.'
  }
})
import asyncio
import os

from runware import Runware


async def main():
    async with Runware(api_key=os.environ["RUNWARE_API_KEY"]) as client:
        results = await client.run({
            "model": "minimax:speech@2.8",
            "speech": {
                "voice": "English_ConfidentWoman",
                "text": "One street has leafy shade. The next feels ten degrees hotter. But if heat changes block by block, how do we protect the people most at risk? This summer, volunteers are carrying pocket-sized sensors along their everyday routes. Each reading helps reveal where trees, cool roofs, and shaded bus stops can make the greatest difference. Walk, ride, or roll with us—and turn a few minutes outdoors into a cooler, safer neighborhood for everyone."
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "audioInference",
      "taskUUID": "fa26205a-8010-4d2b-b65d-5f86a2aa084e",
      "model": "minimax:speech@2.8",
      "speech": {
        "voice": "English_ConfidentWoman",
        "text": "One street has leafy shade. The next feels ten degrees hotter. But if heat changes block by block, how do we protect the people most at risk? This summer, volunteers are carrying pocket-sized sensors along their everyday routes. Each reading helps reveal where trees, cool roofs, and shaded bus stops can make the greatest difference. Walk, ride, or roll with us—and turn a few minutes outdoors into a cooler, safer neighborhood for everyone."
      }
    }
  ]'
runware run minimax:speech@2.8 \
  speech.voice=English_ConfidentWoman \
  speech.text="One street has leafy shade. The next feels ten degrees hotter. But if heat changes block by block, how do we protect the people most at risk? This summer, volunteers are carrying pocket-sized sensors along their everyday routes. Each reading helps reveal where trees, cool roofs, and shaded bus stops can make the greatest difference. Walk, ride, or roll with us—and turn a few minutes outdoors into a cooler, safer neighborhood for everyone."
{
  "taskType": "audioInference",
  "taskUUID": "fa26205a-8010-4d2b-b65d-5f86a2aa084e",
  "model": "minimax:speech@2.8",
  "speech": {
    "voice": "English_ConfidentWoman",
    "text": "One street has leafy shade. The next feels ten degrees hotter. But if heat changes block by block, how do we protect the people most at risk? This summer, volunteers are carrying pocket-sized sensors along their everyday routes. Each reading helps reveal where trees, cool roofs, and shaded bus stops can make the greatest difference. Walk, ride, or roll with us—and turn a few minutes outdoors into a cooler, safer neighborhood for everyone."
  }
}
Response
{
  "taskType": "audioInference",
  "taskUUID": "fa26205a-8010-4d2b-b65d-5f86a2aa084e",
  "audioUUID": "23b7daa7-a97e-4298-9643-017e4de81fbd",
  "audioURL": "https://am.runware.ai/audio/os/a02d21/ws/5/ai/23b7daa7-a97e-4298-9643-017e4de81fbd.mp3",
  "cost": 0.0442
}