live
MODEL IDinworld:tts@1.5-max

Inworld TTS-1.5 Max

Inworld AI
by

Inworld TTS-1.5 Max is a high-fidelity text-to-speech model engineered for expressive voice synthesis with rich prosody, nuanced emotional range, and broadcast-ready audio quality. It supports a wide set of languages and delivers more natural pronunciation and expressive variation suitable for narration, content creation, and immersive character voices. The Max variant prioritizes audio quality and expressiveness while still supporting responsive generation.

Inworld TTS-1.5 Max

text-to-audio

Cold Storage Energy Explainer Voiceover$0.0297~9s
0:00

Your freezers work around the clock. But the price of powering them changes by the hour. A thermal battery turns that problem into an opportunity. When electricity is cleaner and less expensive, the system stores energy as cold. Then, during peak demand, it keeps your warehouse at the right temperature while compressors use less power. No change to daily operations. No compromise on food safety. Just steadier energy use, lower peak charges, and more flexibility when the grid is under pressure. Because in cold storage, timing matters — for every shipment, every degree, and every kilowatt.

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({
  audioSettings: {
    bitrate: 192,
    sampleRate: 48000,
    channels: 2
  },
  model: 'inworld:tts@1.5-max',
  speech: {
    text: 'Your freezers work around the clock. But the price of powering them changes by the hour. A thermal battery turns that problem into an opportunity. When electricity is cleaner and less expensive, the system stores energy as cold. Then, during peak demand, it keeps your warehouse at the right temperature while compressors use less power. No change to daily operations. No compromise on food safety. Just steadier energy use, lower peak charges, and more flexibility when the grid is under pressure. Because in cold storage, timing matters — for every shipment, every degree, and every kilowatt.',
    voice: 'Claire',
    speed: 1
  },
  settings: {
    temperature: 1.1,
    textNormalization: true
  }
})
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({
            "audioSettings": {
                "bitrate": 192,
                "sampleRate": 48000,
                "channels": 2
            },
            "model": "inworld:tts@1.5-max",
            "speech": {
                "text": "Your freezers work around the clock. But the price of powering them changes by the hour. A thermal battery turns that problem into an opportunity. When electricity is cleaner and less expensive, the system stores energy as cold. Then, during peak demand, it keeps your warehouse at the right temperature while compressors use less power. No change to daily operations. No compromise on food safety. Just steadier energy use, lower peak charges, and more flexibility when the grid is under pressure. Because in cold storage, timing matters — for every shipment, every degree, and every kilowatt.",
                "voice": "Claire",
                "speed": 1
            },
            "settings": {
                "temperature": 1.1,
                "textNormalization": True
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "audioInference",
      "taskUUID": "76e6ba1a-535f-40dc-a6f8-7d84569eab50",
      "audioSettings": {
        "bitrate": 192,
        "sampleRate": 48000,
        "channels": 2
      },
      "model": "inworld:tts@1.5-max",
      "speech": {
        "text": "Your freezers work around the clock. But the price of powering them changes by the hour. A thermal battery turns that problem into an opportunity. When electricity is cleaner and less expensive, the system stores energy as cold. Then, during peak demand, it keeps your warehouse at the right temperature while compressors use less power. No change to daily operations. No compromise on food safety. Just steadier energy use, lower peak charges, and more flexibility when the grid is under pressure. Because in cold storage, timing matters — for every shipment, every degree, and every kilowatt.",
        "voice": "Claire",
        "speed": 1
      },
      "settings": {
        "temperature": 1.1,
        "textNormalization": true
      }
    }
  ]'
runware run inworld:tts@1.5-max \
  audioSettings.bitrate=192 \
  audioSettings.sampleRate=48000 \
  audioSettings.channels=2 \
  speech.text="Your freezers work around the clock. But the price of powering them changes by the hour. A thermal battery turns that problem into an opportunity. When electricity is cleaner and less expensive, the system stores energy as cold. Then, during peak demand, it keeps your warehouse at the right temperature while compressors use less power. No change to daily operations. No compromise on food safety. Just steadier energy use, lower peak charges, and more flexibility when the grid is under pressure. Because in cold storage, timing matters — for every shipment, every degree, and every kilowatt." \
  speech.voice=Claire \
  speech.speed=1 \
  settings.temperature=1.1 \
  settings.textNormalization=true
{
  "taskType": "audioInference",
  "taskUUID": "76e6ba1a-535f-40dc-a6f8-7d84569eab50",
  "audioSettings": {
    "bitrate": 192,
    "sampleRate": 48000,
    "channels": 2
  },
  "model": "inworld:tts@1.5-max",
  "speech": {
    "text": "Your freezers work around the clock. But the price of powering them changes by the hour. A thermal battery turns that problem into an opportunity. When electricity is cleaner and less expensive, the system stores energy as cold. Then, during peak demand, it keeps your warehouse at the right temperature while compressors use less power. No change to daily operations. No compromise on food safety. Just steadier energy use, lower peak charges, and more flexibility when the grid is under pressure. Because in cold storage, timing matters — for every shipment, every degree, and every kilowatt.",
    "voice": "Claire",
    "speed": 1
  },
  "settings": {
    "temperature": 1.1,
    "textNormalization": true
  }
}
Response
{
  "taskType": "audioInference",
  "taskUUID": "76e6ba1a-535f-40dc-a6f8-7d84569eab50",
  "audioUUID": "4bb8fc83-ef66-404c-9249-bf2e97f23d2d",
  "audioURL": "https://am.runware.ai/audio/os/a03d21/ws/5/ai/4bb8fc83-ef66-404c-9249-bf2e97f23d2d.mp3",
  "cost": 0.0297
}

text-to-audio

Championship Pinball Broadcast Vocal Stinger$0.00455~3s
0:00

Tilt warning cleared—multiball is live! You're back at the 2026 World Pinball Championship.

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({
  audioSettings: {
    bitrate: 192,
    sampleRate: 48000,
    channels: 2
  },
  model: 'inworld:tts@1.5-max',
  speech: {
    text: 'Tilt warning cleared—multiball is live! You\'re back at the 2026 World Pinball Championship.',
    voice: 'Loretta',
    speed: 1
  },
  settings: {
    temperature: 1.1,
    textNormalization: true
  }
})
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({
            "audioSettings": {
                "bitrate": 192,
                "sampleRate": 48000,
                "channels": 2
            },
            "model": "inworld:tts@1.5-max",
            "speech": {
                "text": "Tilt warning cleared—multiball is live! You're back at the 2026 World Pinball Championship.",
                "voice": "Loretta",
                "speed": 1
            },
            "settings": {
                "temperature": 1.1,
                "textNormalization": True
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "audioInference",
      "taskUUID": "5f5adde3-9f1d-43ad-8e48-6ff022fb31bb",
      "audioSettings": {
        "bitrate": 192,
        "sampleRate": 48000,
        "channels": 2
      },
      "model": "inworld:tts@1.5-max",
      "speech": {
        "text": "Tilt warning cleared—multiball is live! You're back at the 2026 World Pinball Championship.",
        "voice": "Loretta",
        "speed": 1
      },
      "settings": {
        "temperature": 1.1,
        "textNormalization": true
      }
    }
  ]'
runware run inworld:tts@1.5-max \
  audioSettings.bitrate=192 \
  audioSettings.sampleRate=48000 \
  audioSettings.channels=2 \
  speech.text="Tilt warning cleared—multiball is live! You're back at the 2026 World Pinball Championship." \
  speech.voice=Loretta \
  speech.speed=1 \
  settings.temperature=1.1 \
  settings.textNormalization=true
{
  "taskType": "audioInference",
  "taskUUID": "5f5adde3-9f1d-43ad-8e48-6ff022fb31bb",
  "audioSettings": {
    "bitrate": 192,
    "sampleRate": 48000,
    "channels": 2
  },
  "model": "inworld:tts@1.5-max",
  "speech": {
    "text": "Tilt warning cleared—multiball is live! You're back at the 2026 World Pinball Championship.",
    "voice": "Loretta",
    "speed": 1
  },
  "settings": {
    "temperature": 1.1,
    "textNormalization": true
  }
}
Response
{
  "taskType": "audioInference",
  "taskUUID": "5f5adde3-9f1d-43ad-8e48-6ff022fb31bb",
  "audioUUID": "760feb91-0cdd-466b-beb7-e4cbb4006f67",
  "audioURL": "https://am.runware.ai/audio/os/a06dlim3/ws/5/ai/760feb91-0cdd-466b-beb7-e4cbb4006f67.mp3",
  "cost": 0.00455
}

text-to-audio

Urban Forestry Podcast Cold Open$0.0297~9s
0:00

One city block, forty-seven honey locusts, and a maintenance bill nobody budgeted for. So, who decides what a street tree is worth before the next heat wave tests it? This is Canopy Ledger, the show where urban forestry meets public money. I’m Mara Chen. Today, we’re following a single sapling from nursery bid to sidewalk—and asking why the cheapest tree can become the most expensive one on the block. You’ll hear from a city arborist, a procurement officer, and the contractor watering 18,000 new trees through August. First, though: the tiny line item that changed an entire planting plan.

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({
  audioSettings: {
    bitrate: 192,
    sampleRate: 48000,
    channels: 2
  },
  model: 'inworld:tts@1.5-max',
  speech: {
    text: 'One city block, forty-seven honey locusts, and a maintenance bill nobody budgeted for. So, who decides what a street tree is worth before the next heat wave tests it? This is Canopy Ledger, the show where urban forestry meets public money. I’m Mara Chen. Today, we’re following a single sapling from nursery bid to sidewalk—and asking why the cheapest tree can become the most expensive one on the block. You’ll hear from a city arborist, a procurement officer, and the contractor watering 18,000 new trees through August. First, though: the tiny line item that changed an entire planting plan.',
    voice: 'Loretta',
    speed: 1
  },
  settings: {
    temperature: 1.1,
    textNormalization: true
  }
})
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({
            "audioSettings": {
                "bitrate": 192,
                "sampleRate": 48000,
                "channels": 2
            },
            "model": "inworld:tts@1.5-max",
            "speech": {
                "text": "One city block, forty-seven honey locusts, and a maintenance bill nobody budgeted for. So, who decides what a street tree is worth before the next heat wave tests it? This is Canopy Ledger, the show where urban forestry meets public money. I’m Mara Chen. Today, we’re following a single sapling from nursery bid to sidewalk—and asking why the cheapest tree can become the most expensive one on the block. You’ll hear from a city arborist, a procurement officer, and the contractor watering 18,000 new trees through August. First, though: the tiny line item that changed an entire planting plan.",
                "voice": "Loretta",
                "speed": 1
            },
            "settings": {
                "temperature": 1.1,
                "textNormalization": True
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "audioInference",
      "taskUUID": "e1406f38-f321-44d0-bcf5-a6e449d2e8c9",
      "audioSettings": {
        "bitrate": 192,
        "sampleRate": 48000,
        "channels": 2
      },
      "model": "inworld:tts@1.5-max",
      "speech": {
        "text": "One city block, forty-seven honey locusts, and a maintenance bill nobody budgeted for. So, who decides what a street tree is worth before the next heat wave tests it? This is Canopy Ledger, the show where urban forestry meets public money. I’m Mara Chen. Today, we’re following a single sapling from nursery bid to sidewalk—and asking why the cheapest tree can become the most expensive one on the block. You’ll hear from a city arborist, a procurement officer, and the contractor watering 18,000 new trees through August. First, though: the tiny line item that changed an entire planting plan.",
        "voice": "Loretta",
        "speed": 1
      },
      "settings": {
        "temperature": 1.1,
        "textNormalization": true
      }
    }
  ]'
runware run inworld:tts@1.5-max \
  audioSettings.bitrate=192 \
  audioSettings.sampleRate=48000 \
  audioSettings.channels=2 \
  speech.text="One city block, forty-seven honey locusts, and a maintenance bill nobody budgeted for. So, who decides what a street tree is worth before the next heat wave tests it? This is Canopy Ledger, the show where urban forestry meets public money. I’m Mara Chen. Today, we’re following a single sapling from nursery bid to sidewalk—and asking why the cheapest tree can become the most expensive one on the block. You’ll hear from a city arborist, a procurement officer, and the contractor watering 18,000 new trees through August. First, though: the tiny line item that changed an entire planting plan." \
  speech.voice=Loretta \
  speech.speed=1 \
  settings.temperature=1.1 \
  settings.textNormalization=true
{
  "taskType": "audioInference",
  "taskUUID": "e1406f38-f321-44d0-bcf5-a6e449d2e8c9",
  "audioSettings": {
    "bitrate": 192,
    "sampleRate": 48000,
    "channels": 2
  },
  "model": "inworld:tts@1.5-max",
  "speech": {
    "text": "One city block, forty-seven honey locusts, and a maintenance bill nobody budgeted for. So, who decides what a street tree is worth before the next heat wave tests it? This is Canopy Ledger, the show where urban forestry meets public money. I’m Mara Chen. Today, we’re following a single sapling from nursery bid to sidewalk—and asking why the cheapest tree can become the most expensive one on the block. You’ll hear from a city arborist, a procurement officer, and the contractor watering 18,000 new trees through August. First, though: the tiny line item that changed an entire planting plan.",
    "voice": "Loretta",
    "speed": 1
  },
  "settings": {
    "temperature": 1.1,
    "textNormalization": true
  }
}
Response
{
  "taskType": "audioInference",
  "taskUUID": "e1406f38-f321-44d0-bcf5-a6e449d2e8c9",
  "audioUUID": "263f96d9-5a8e-417c-8f66-1deb6c4a0f39",
  "audioURL": "https://am.runware.ai/audio/os/a07dlim3/ws/5/ai/263f96d9-5a8e-417c-8f66-1deb6c4a0f39.mp3",
  "cost": 0.0297
}

text-to-audio

Antarctic Field Lab PA Bed$0.0251~8s
0:00

Attention, Halley field team. The 18:40 surface check is complete. Exterior temperature is minus 31 degrees Celsius; wind is holding at 42 kilometers per hour. Visibility beyond Marker 6 is now poor. Secure loose instruments, close the west airlock manually, and log all departures with Operations. Dr. Imani, your ice-core transfer is cleared for Cold Store B. Power will shift to night load in ten minutes. Please finish nonessential equipment cycles now. The next weather update will follow at 19:00.

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({
  audioSettings: {
    bitrate: 192,
    sampleRate: 48000,
    channels: 2
  },
  model: 'inworld:tts@1.5-max',
  speech: {
    text: 'Attention, Halley field team. The 18:40 surface check is complete. Exterior temperature is minus 31 degrees Celsius; wind is holding at 42 kilometers per hour. Visibility beyond Marker 6 is now poor. Secure loose instruments, close the west airlock manually, and log all departures with Operations. Dr. Imani, your ice-core transfer is cleared for Cold Store B. Power will shift to night load in ten minutes. Please finish nonessential equipment cycles now. The next weather update will follow at 19:00.',
    voice: 'Loretta',
    speed: 1
  },
  settings: {
    temperature: 1.1,
    textNormalization: true
  }
})
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({
            "audioSettings": {
                "bitrate": 192,
                "sampleRate": 48000,
                "channels": 2
            },
            "model": "inworld:tts@1.5-max",
            "speech": {
                "text": "Attention, Halley field team. The 18:40 surface check is complete. Exterior temperature is minus 31 degrees Celsius; wind is holding at 42 kilometers per hour. Visibility beyond Marker 6 is now poor. Secure loose instruments, close the west airlock manually, and log all departures with Operations. Dr. Imani, your ice-core transfer is cleared for Cold Store B. Power will shift to night load in ten minutes. Please finish nonessential equipment cycles now. The next weather update will follow at 19:00.",
                "voice": "Loretta",
                "speed": 1
            },
            "settings": {
                "temperature": 1.1,
                "textNormalization": True
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "audioInference",
      "taskUUID": "1a4787b1-968c-4c50-be7f-cc18a6f1d815",
      "audioSettings": {
        "bitrate": 192,
        "sampleRate": 48000,
        "channels": 2
      },
      "model": "inworld:tts@1.5-max",
      "speech": {
        "text": "Attention, Halley field team. The 18:40 surface check is complete. Exterior temperature is minus 31 degrees Celsius; wind is holding at 42 kilometers per hour. Visibility beyond Marker 6 is now poor. Secure loose instruments, close the west airlock manually, and log all departures with Operations. Dr. Imani, your ice-core transfer is cleared for Cold Store B. Power will shift to night load in ten minutes. Please finish nonessential equipment cycles now. The next weather update will follow at 19:00.",
        "voice": "Loretta",
        "speed": 1
      },
      "settings": {
        "temperature": 1.1,
        "textNormalization": true
      }
    }
  ]'
runware run inworld:tts@1.5-max \
  audioSettings.bitrate=192 \
  audioSettings.sampleRate=48000 \
  audioSettings.channels=2 \
  speech.text="Attention, Halley field team. The 18:40 surface check is complete. Exterior temperature is minus 31 degrees Celsius; wind is holding at 42 kilometers per hour. Visibility beyond Marker 6 is now poor. Secure loose instruments, close the west airlock manually, and log all departures with Operations. Dr. Imani, your ice-core transfer is cleared for Cold Store B. Power will shift to night load in ten minutes. Please finish nonessential equipment cycles now. The next weather update will follow at 19:00." \
  speech.voice=Loretta \
  speech.speed=1 \
  settings.temperature=1.1 \
  settings.textNormalization=true
{
  "taskType": "audioInference",
  "taskUUID": "1a4787b1-968c-4c50-be7f-cc18a6f1d815",
  "audioSettings": {
    "bitrate": 192,
    "sampleRate": 48000,
    "channels": 2
  },
  "model": "inworld:tts@1.5-max",
  "speech": {
    "text": "Attention, Halley field team. The 18:40 surface check is complete. Exterior temperature is minus 31 degrees Celsius; wind is holding at 42 kilometers per hour. Visibility beyond Marker 6 is now poor. Secure loose instruments, close the west airlock manually, and log all departures with Operations. Dr. Imani, your ice-core transfer is cleared for Cold Store B. Power will shift to night load in ten minutes. Please finish nonessential equipment cycles now. The next weather update will follow at 19:00.",
    "voice": "Loretta",
    "speed": 1
  },
  "settings": {
    "temperature": 1.1,
    "textNormalization": true
  }
}
Response
{
  "taskType": "audioInference",
  "taskUUID": "1a4787b1-968c-4c50-be7f-cc18a6f1d815",
  "audioUUID": "9b672c48-0e38-4539-b0d3-e56c5ca3e351",
  "audioURL": "https://am.runware.ai/audio/os/a07dlim3/ws/5/ai/9b672c48-0e38-4539-b0d3-e56c5ca3e351.mp3",
  "cost": 0.02515
}