MODEL IDxai:tts@0
live

xAI Text-to-Speech

xAI
by xAI

xAI Text-to-Speech converts text into natural-sounding spoken audio with a single API call. It offers more than two dozen expressive voices, inline speech tags for fine-grained control over pauses, laughter, whispers, and emphasis, and supports over 20 auto-detected languages.

xAI Text-to-Speech
text-to-audio

Forensic Arboriculture Podcast Intro

0:00

A fallen branch can look like bad luck. To a forensic arborist, it is testimony. The split wood, the hidden decay, even the direction of the wind can reveal what happened—and whether it could have been prevented. Welcome to Rings of Evidence, the podcast where urban trees become witnesses. In this episode, we examine a century-old plane tree, a crowded pavement, and the warning signs everyone walked past.

import { createClient } from '@runware/sdk'

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

const [result] = await client.run({
  model: 'xai:tts@0',
  speech: {
    text: 'A fallen branch can look like bad luck. To a forensic arborist, it is testimony. The split wood, the hidden decay, even the direction of the wind can reveal what happened—and whether it could have been prevented. Welcome to Rings of Evidence, the podcast where urban trees become witnesses. In this episode, we examine a century-old plane tree, a crowded pavement, and the warning signs everyone walked past.',
    voice: 'orion',
    language: 'en'
  }
})
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": "xai:tts@0",
            "speech": {
                "text": "A fallen branch can look like bad luck. To a forensic arborist, it is testimony. The split wood, the hidden decay, even the direction of the wind can reveal what happened—and whether it could have been prevented. Welcome to Rings of Evidence, the podcast where urban trees become witnesses. In this episode, we examine a century-old plane tree, a crowded pavement, and the warning signs everyone walked past.",
                "voice": "orion",
                "language": "en"
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "audioInference",
      "taskUUID": "ae938bee-4c14-4a31-b768-b26e7eba27a5",
      "model": "xai:tts@0",
      "speech": {
        "text": "A fallen branch can look like bad luck. To a forensic arborist, it is testimony. The split wood, the hidden decay, even the direction of the wind can reveal what happened—and whether it could have been prevented. Welcome to Rings of Evidence, the podcast where urban trees become witnesses. In this episode, we examine a century-old plane tree, a crowded pavement, and the warning signs everyone walked past.",
        "voice": "orion",
        "language": "en"
      }
    }
  ]'
runware run xai:tts@0 \
  speech.text="A fallen branch can look like bad luck. To a forensic arborist, it is testimony. The split wood, the hidden decay, even the direction of the wind can reveal what happened—and whether it could have been prevented. Welcome to Rings of Evidence, the podcast where urban trees become witnesses. In this episode, we examine a century-old plane tree, a crowded pavement, and the warning signs everyone walked past." \
  speech.voice=orion \
  speech.language=en
{
  "taskType": "audioInference",
  "taskUUID": "ae938bee-4c14-4a31-b768-b26e7eba27a5",
  "model": "xai:tts@0",
  "speech": {
    "text": "A fallen branch can look like bad luck. To a forensic arborist, it is testimony. The split wood, the hidden decay, even the direction of the wind can reveal what happened—and whether it could have been prevented. Welcome to Rings of Evidence, the podcast where urban trees become witnesses. In this episode, we examine a century-old plane tree, a crowded pavement, and the warning signs everyone walked past.",
    "voice": "orion",
    "language": "en"
  }
}
Response
{
  "taskType": "audioInference",
  "taskUUID": "ae938bee-4c14-4a31-b768-b26e7eba27a5",
  "audioUUID": "aaedf546-8dd7-49cf-b5a3-16f39469eb75",
  "audioURL": "https://am.runware.ai/audio/os/a06dlim3/ws/5/ai/aaedf546-8dd7-49cf-b5a3-16f39469eb75.mp3",
  "cost": 0.00612
}
text-to-audio

Grid Resilience Podcast Cold Open

0:00

The storm began ninety-three million miles away. By sunrise, charged particles were pressing against Earth’s magnetic field—and grid operators were watching the needles move. Welcome to The Long Circuit, the podcast about the hidden systems that keep modern life running. Today: how a burst of solar plasma becomes a problem for transformers, satellites, and the people responsible for keeping the lights on.

import { createClient } from '@runware/sdk'

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

const [result] = await client.run({
  model: 'xai:tts@0',
  speech: {
    text: 'The storm began ninety-three million miles away. By sunrise, charged particles were pressing against Earth’s magnetic field—and grid operators were watching the needles move. Welcome to The Long Circuit, the podcast about the hidden systems that keep modern life running. Today: how a burst of solar plasma becomes a problem for transformers, satellites, and the people responsible for keeping the lights on.',
    voice: 'orion',
    language: 'en'
  }
})
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": "xai:tts@0",
            "speech": {
                "text": "The storm began ninety-three million miles away. By sunrise, charged particles were pressing against Earth’s magnetic field—and grid operators were watching the needles move. Welcome to The Long Circuit, the podcast about the hidden systems that keep modern life running. Today: how a burst of solar plasma becomes a problem for transformers, satellites, and the people responsible for keeping the lights on.",
                "voice": "orion",
                "language": "en"
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "audioInference",
      "taskUUID": "4f13fed5-2310-4c44-8d41-0a61cb97efd7",
      "model": "xai:tts@0",
      "speech": {
        "text": "The storm began ninety-three million miles away. By sunrise, charged particles were pressing against Earth’s magnetic field—and grid operators were watching the needles move. Welcome to The Long Circuit, the podcast about the hidden systems that keep modern life running. Today: how a burst of solar plasma becomes a problem for transformers, satellites, and the people responsible for keeping the lights on.",
        "voice": "orion",
        "language": "en"
      }
    }
  ]'
runware run xai:tts@0 \
  speech.text="The storm began ninety-three million miles away. By sunrise, charged particles were pressing against Earth’s magnetic field—and grid operators were watching the needles move. Welcome to The Long Circuit, the podcast about the hidden systems that keep modern life running. Today: how a burst of solar plasma becomes a problem for transformers, satellites, and the people responsible for keeping the lights on." \
  speech.voice=orion \
  speech.language=en
{
  "taskType": "audioInference",
  "taskUUID": "4f13fed5-2310-4c44-8d41-0a61cb97efd7",
  "model": "xai:tts@0",
  "speech": {
    "text": "The storm began ninety-three million miles away. By sunrise, charged particles were pressing against Earth’s magnetic field—and grid operators were watching the needles move. Welcome to The Long Circuit, the podcast about the hidden systems that keep modern life running. Today: how a burst of solar plasma becomes a problem for transformers, satellites, and the people responsible for keeping the lights on.",
    "voice": "orion",
    "language": "en"
  }
}
Response
{
  "taskType": "audioInference",
  "taskUUID": "4f13fed5-2310-4c44-8d41-0a61cb97efd7",
  "audioUUID": "02333a55-18e6-4efe-8915-04df005c2d4e",
  "audioURL": "https://am.runware.ai/audio/os/a10dlim3/ws/5/ai/02333a55-18e6-4efe-8915-04df005c2d4e.mp3",
  "cost": 0.00612
}
text-to-audio

Restaurant Oyster Shell Recycling Explainer

0:00

Tonight’s oysters can help protect tomorrow’s shoreline. Instead of sending empty shells to a landfill, your restaurant can return them to the coast—where they become the foundation for new oyster reefs. Here’s how it works: collect the shells, schedule a pickup, and the local recovery team handles the rest. The restored reefs create habitat, filter coastal waters, and soften the impact of waves. One small change in your kitchen can make a lasting difference beyond it. Join your community’s oyster shell recycling program.

import { createClient } from '@runware/sdk'

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

const [result] = await client.run({
  model: 'xai:tts@0',
  speech: {
    text: 'Tonight’s oysters can help protect tomorrow’s shoreline. Instead of sending empty shells to a landfill, your restaurant can return them to the coast—where they become the foundation for new oyster reefs. Here’s how it works: collect the shells, schedule a pickup, and the local recovery team handles the rest. The restored reefs create habitat, filter coastal waters, and soften the impact of waves. One small change in your kitchen can make a lasting difference beyond it. Join your community’s oyster shell recycling program.',
    voice: 'orion',
    language: 'en'
  }
})
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": "xai:tts@0",
            "speech": {
                "text": "Tonight’s oysters can help protect tomorrow’s shoreline. Instead of sending empty shells to a landfill, your restaurant can return them to the coast—where they become the foundation for new oyster reefs. Here’s how it works: collect the shells, schedule a pickup, and the local recovery team handles the rest. The restored reefs create habitat, filter coastal waters, and soften the impact of waves. One small change in your kitchen can make a lasting difference beyond it. Join your community’s oyster shell recycling program.",
                "voice": "orion",
                "language": "en"
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "audioInference",
      "taskUUID": "3717e9dd-326c-4e8b-874f-136a155bfc51",
      "model": "xai:tts@0",
      "speech": {
        "text": "Tonight’s oysters can help protect tomorrow’s shoreline. Instead of sending empty shells to a landfill, your restaurant can return them to the coast—where they become the foundation for new oyster reefs. Here’s how it works: collect the shells, schedule a pickup, and the local recovery team handles the rest. The restored reefs create habitat, filter coastal waters, and soften the impact of waves. One small change in your kitchen can make a lasting difference beyond it. Join your community’s oyster shell recycling program.",
        "voice": "orion",
        "language": "en"
      }
    }
  ]'
runware run xai:tts@0 \
  speech.text="Tonight’s oysters can help protect tomorrow’s shoreline. Instead of sending empty shells to a landfill, your restaurant can return them to the coast—where they become the foundation for new oyster reefs. Here’s how it works: collect the shells, schedule a pickup, and the local recovery team handles the rest. The restored reefs create habitat, filter coastal waters, and soften the impact of waves. One small change in your kitchen can make a lasting difference beyond it. Join your community’s oyster shell recycling program." \
  speech.voice=orion \
  speech.language=en
{
  "taskType": "audioInference",
  "taskUUID": "3717e9dd-326c-4e8b-874f-136a155bfc51",
  "model": "xai:tts@0",
  "speech": {
    "text": "Tonight’s oysters can help protect tomorrow’s shoreline. Instead of sending empty shells to a landfill, your restaurant can return them to the coast—where they become the foundation for new oyster reefs. Here’s how it works: collect the shells, schedule a pickup, and the local recovery team handles the rest. The restored reefs create habitat, filter coastal waters, and soften the impact of waves. One small change in your kitchen can make a lasting difference beyond it. Join your community’s oyster shell recycling program.",
    "voice": "orion",
    "language": "en"
  }
}
Response
{
  "taskType": "audioInference",
  "taskUUID": "3717e9dd-326c-4e8b-874f-136a155bfc51",
  "audioUUID": "b04e1bdc-558e-4bec-b92f-e490c6cf33fc",
  "audioURL": "https://am.runware.ai/audio/os/a04d20/ws/5/ai/b04e1bdc-558e-4bec-b92f-e490c6cf33fc.mp3",
  "cost": 0.007905
}
text-to-audio

Antarctic Research Station PA Announcement

0:00

Attention, winter-over team. Katabatic winds are now exceeding seventy knots, and visibility beyond the eastern marker is near zero. Exterior travel is suspended until further notice. Please secure all loose equipment, confirm your radio check, and report to the central module by nineteen hundred hours. The storm may sound close tonight, but this station was built for it—and so were we.

import { createClient } from '@runware/sdk'

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

const [result] = await client.run({
  model: 'xai:tts@0',
  speech: {
    text: 'Attention, winter-over team. Katabatic winds are now exceeding seventy knots, and visibility beyond the eastern marker is near zero. Exterior travel is suspended until further notice. Please secure all loose equipment, confirm your radio check, and report to the central module by nineteen hundred hours. The storm may sound close tonight, but this station was built for it—and so were we.',
    voice: 'orion',
    language: 'en'
  }
})
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": "xai:tts@0",
            "speech": {
                "text": "Attention, winter-over team. Katabatic winds are now exceeding seventy knots, and visibility beyond the eastern marker is near zero. Exterior travel is suspended until further notice. Please secure all loose equipment, confirm your radio check, and report to the central module by nineteen hundred hours. The storm may sound close tonight, but this station was built for it—and so were we.",
                "voice": "orion",
                "language": "en"
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "audioInference",
      "taskUUID": "d0a168d4-b925-4414-8b9c-d2946d0460fe",
      "model": "xai:tts@0",
      "speech": {
        "text": "Attention, winter-over team. Katabatic winds are now exceeding seventy knots, and visibility beyond the eastern marker is near zero. Exterior travel is suspended until further notice. Please secure all loose equipment, confirm your radio check, and report to the central module by nineteen hundred hours. The storm may sound close tonight, but this station was built for it—and so were we.",
        "voice": "orion",
        "language": "en"
      }
    }
  ]'
runware run xai:tts@0 \
  speech.text="Attention, winter-over team. Katabatic winds are now exceeding seventy knots, and visibility beyond the eastern marker is near zero. Exterior travel is suspended until further notice. Please secure all loose equipment, confirm your radio check, and report to the central module by nineteen hundred hours. The storm may sound close tonight, but this station was built for it—and so were we." \
  speech.voice=orion \
  speech.language=en
{
  "taskType": "audioInference",
  "taskUUID": "d0a168d4-b925-4414-8b9c-d2946d0460fe",
  "model": "xai:tts@0",
  "speech": {
    "text": "Attention, winter-over team. Katabatic winds are now exceeding seventy knots, and visibility beyond the eastern marker is near zero. Exterior travel is suspended until further notice. Please secure all loose equipment, confirm your radio check, and report to the central module by nineteen hundred hours. The storm may sound close tonight, but this station was built for it—and so were we.",
    "voice": "orion",
    "language": "en"
  }
}
Response
{
  "taskType": "audioInference",
  "taskUUID": "d0a168d4-b925-4414-8b9c-d2946d0460fe",
  "audioUUID": "0a3b0434-192e-4745-8ec9-4de77b731c6c",
  "audioURL": "https://am.runware.ai/audio/os/a02d21/ws/5/ai/0a3b0434-192e-4745-8ec9-4de77b731c6c.mp3",
  "cost": 0.005835
}
Text to Audio

Expressive Story Narration

0:00

The observatory lights dimmed one by one. [pause] Above the mountain, the sky opened like black velvet stitched with stars. "Do you see it?" she whispered. [whisper] "The comet is early." [pause] Then, with a sudden laugh, she pointed east. [laugh] "There! A silver flame across the dark." And for one breathless moment, the whole world stood still.

import { createClient } from '@runware/sdk'

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

const [result] = await client.run({
  model: 'xai:tts@0',
  speech: {
    text: 'The observatory lights dimmed one by one. [pause] Above the mountain, the sky opened like black velvet stitched with stars. "Do you see it?" she whispered. [whisper] "The comet is early." [pause] Then, with a sudden laugh, she pointed east. [laugh] "There! A silver flame across the dark." And for one breathless moment, the whole world stood still.',
    voice: 'eve',
    language: 'en'
  }
})
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": "xai:tts@0",
            "speech": {
                "text": "The observatory lights dimmed one by one. [pause] Above the mountain, the sky opened like black velvet stitched with stars. \"Do you see it?\" she whispered. [whisper] \"The comet is early.\" [pause] Then, with a sudden laugh, she pointed east. [laugh] \"There! A silver flame across the dark.\" And for one breathless moment, the whole world stood still.",
                "voice": "eve",
                "language": "en"
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "audioInference",
      "taskUUID": "e844d206-9c52-4597-bc4a-f83313956968",
      "model": "xai:tts@0",
      "speech": {
        "text": "The observatory lights dimmed one by one. [pause] Above the mountain, the sky opened like black velvet stitched with stars. \"Do you see it?\" she whispered. [whisper] \"The comet is early.\" [pause] Then, with a sudden laugh, she pointed east. [laugh] \"There! A silver flame across the dark.\" And for one breathless moment, the whole world stood still.",
        "voice": "eve",
        "language": "en"
      }
    }
  ]'
runware run xai:tts@0 \
  speech.text="The observatory lights dimmed one by one. [pause] Above the mountain, the sky opened like black velvet stitched with stars. \"Do you see it?\" she whispered. [whisper] \"The comet is early.\" [pause] Then, with a sudden laugh, she pointed east. [laugh] \"There! A silver flame across the dark.\" And for one breathless moment, the whole world stood still." \
  speech.voice=eve \
  speech.language=en
{
  "taskType": "audioInference",
  "taskUUID": "e844d206-9c52-4597-bc4a-f83313956968",
  "model": "xai:tts@0",
  "speech": {
    "text": "The observatory lights dimmed one by one. [pause] Above the mountain, the sky opened like black velvet stitched with stars. \"Do you see it?\" she whispered. [whisper] \"The comet is early.\" [pause] Then, with a sudden laugh, she pointed east. [laugh] \"There! A silver flame across the dark.\" And for one breathless moment, the whole world stood still.",
    "voice": "eve",
    "language": "en"
  }
}
Response
{
  "taskType": "audioInference",
  "taskUUID": "e844d206-9c52-4597-bc4a-f83313956968",
  "audioUUID": "21467765-7783-4630-8c0d-e618dca19eb7",
  "audioURL": "https://am.runware.ai/audio/os/a01d21/ws/5/ai/21467765-7783-4630-8c0d-e618dca19eb7.mp3",
  "cost": 0.00147
}
Text to Audio

French Travel Narration

0:00

Bienvenue à Paris. <pause time="700ms"/> Au lever du soleil, la Seine scintille comme un ruban d'or, les cafés s'éveillent lentement, et la ville murmure déjà ses histoires. <emphasis level="strong">Écoutez</emphasis> le tintement des tasses, le pas pressé des passants, et le souffle léger du vent autour de la tour Eiffel. <pause time="500ms"/> Ce voyage commence ici, avec élégance, lumière, et un peu de magie.

import { createClient } from '@runware/sdk'

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

const [result] = await client.run({
  model: 'xai:tts@0',
  speech: {
    text: 'Bienvenue à Paris. <pause time="700ms"/> Au lever du soleil, la Seine scintille comme un ruban d\'or, les cafés s\'éveillent lentement, et la ville murmure déjà ses histoires. <emphasis level="strong">Écoutez</emphasis> le tintement des tasses, le pas pressé des passants, et le souffle léger du vent autour de la tour Eiffel. <pause time="500ms"/> Ce voyage commence ici, avec élégance, lumière, et un peu de magie.',
    voice: 'eve',
    language: 'fr'
  }
})
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": "xai:tts@0",
            "speech": {
                "text": "Bienvenue à Paris. <pause time=\"700ms\"/> Au lever du soleil, la Seine scintille comme un ruban d'or, les cafés s'éveillent lentement, et la ville murmure déjà ses histoires. <emphasis level=\"strong\">Écoutez</emphasis> le tintement des tasses, le pas pressé des passants, et le souffle léger du vent autour de la tour Eiffel. <pause time=\"500ms\"/> Ce voyage commence ici, avec élégance, lumière, et un peu de magie.",
                "voice": "eve",
                "language": "fr"
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "audioInference",
      "taskUUID": "583bb6a1-3d00-484f-a442-f1e61bf53dd7",
      "model": "xai:tts@0",
      "speech": {
        "text": "Bienvenue à Paris. <pause time=\"700ms\"/> Au lever du soleil, la Seine scintille comme un ruban d'or, les cafés s'éveillent lentement, et la ville murmure déjà ses histoires. <emphasis level=\"strong\">Écoutez</emphasis> le tintement des tasses, le pas pressé des passants, et le souffle léger du vent autour de la tour Eiffel. <pause time=\"500ms\"/> Ce voyage commence ici, avec élégance, lumière, et un peu de magie.",
        "voice": "eve",
        "language": "fr"
      }
    }
  ]'
runware run xai:tts@0 \
  speech.text="Bienvenue à Paris. <pause time=\"700ms\"/> Au lever du soleil, la Seine scintille comme un ruban d'or, les cafés s'éveillent lentement, et la ville murmure déjà ses histoires. <emphasis level=\"strong\">Écoutez</emphasis> le tintement des tasses, le pas pressé des passants, et le souffle léger du vent autour de la tour Eiffel. <pause time=\"500ms\"/> Ce voyage commence ici, avec élégance, lumière, et un peu de magie." \
  speech.voice=eve \
  speech.language=fr
{
  "taskType": "audioInference",
  "taskUUID": "583bb6a1-3d00-484f-a442-f1e61bf53dd7",
  "model": "xai:tts@0",
  "speech": {
    "text": "Bienvenue à Paris. <pause time=\"700ms\"/> Au lever du soleil, la Seine scintille comme un ruban d'or, les cafés s'éveillent lentement, et la ville murmure déjà ses histoires. <emphasis level=\"strong\">Écoutez</emphasis> le tintement des tasses, le pas pressé des passants, et le souffle léger du vent autour de la tour Eiffel. <pause time=\"500ms\"/> Ce voyage commence ici, avec élégance, lumière, et un peu de magie.",
    "voice": "eve",
    "language": "fr"
  }
}
Response
{
  "taskType": "audioInference",
  "taskUUID": "583bb6a1-3d00-484f-a442-f1e61bf53dd7",
  "audioUUID": "43b5f1e3-5853-42f9-9b34-a74c502f0001",
  "audioURL": "https://am.runware.ai/audio/os/a18d05/ws/5/ai/43b5f1e3-5853-42f9-9b34-a74c502f0001.mp3",
  "cost": 0.00174
}
Text to Audio

Spanish Travel Narration

0:00

Bienvenidos a Sevilla, una ciudad de luz dorada, patios llenos de flores y música que vibra en cada rincón. Al caer la tarde, la Giralda se recorta contra el cielo, y las calles estrechas invitan a perderse sin prisa. [pause] Respira hondo. Escucha el murmullo de las plazas, el eco de los pasos sobre la piedra y la calidez de una noche que apenas comienza.

import { createClient } from '@runware/sdk'

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

const [result] = await client.run({
  model: 'xai:tts@0',
  speech: {
    text: 'Bienvenidos a Sevilla, una ciudad de luz dorada, patios llenos de flores y música que vibra en cada rincón. Al caer la tarde, la Giralda se recorta contra el cielo, y las calles estrechas invitan a perderse sin prisa. [pause] Respira hondo. Escucha el murmullo de las plazas, el eco de los pasos sobre la piedra y la calidez de una noche que apenas comienza.',
    voice: 'eve',
    language: 'es-ES'
  }
})
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": "xai:tts@0",
            "speech": {
                "text": "Bienvenidos a Sevilla, una ciudad de luz dorada, patios llenos de flores y música que vibra en cada rincón. Al caer la tarde, la Giralda se recorta contra el cielo, y las calles estrechas invitan a perderse sin prisa. [pause] Respira hondo. Escucha el murmullo de las plazas, el eco de los pasos sobre la piedra y la calidez de una noche que apenas comienza.",
                "voice": "eve",
                "language": "es-ES"
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "audioInference",
      "taskUUID": "3cc30108-1696-446e-9d02-3c77a94183ef",
      "model": "xai:tts@0",
      "speech": {
        "text": "Bienvenidos a Sevilla, una ciudad de luz dorada, patios llenos de flores y música que vibra en cada rincón. Al caer la tarde, la Giralda se recorta contra el cielo, y las calles estrechas invitan a perderse sin prisa. [pause] Respira hondo. Escucha el murmullo de las plazas, el eco de los pasos sobre la piedra y la calidez de una noche que apenas comienza.",
        "voice": "eve",
        "language": "es-ES"
      }
    }
  ]'
runware run xai:tts@0 \
  speech.text="Bienvenidos a Sevilla, una ciudad de luz dorada, patios llenos de flores y música que vibra en cada rincón. Al caer la tarde, la Giralda se recorta contra el cielo, y las calles estrechas invitan a perderse sin prisa. [pause] Respira hondo. Escucha el murmullo de las plazas, el eco de los pasos sobre la piedra y la calidez de una noche que apenas comienza." \
  speech.voice=eve \
  speech.language=es-ES
{
  "taskType": "audioInference",
  "taskUUID": "3cc30108-1696-446e-9d02-3c77a94183ef",
  "model": "xai:tts@0",
  "speech": {
    "text": "Bienvenidos a Sevilla, una ciudad de luz dorada, patios llenos de flores y música que vibra en cada rincón. Al caer la tarde, la Giralda se recorta contra el cielo, y las calles estrechas invitan a perderse sin prisa. [pause] Respira hondo. Escucha el murmullo de las plazas, el eco de los pasos sobre la piedra y la calidez de una noche que apenas comienza.",
    "voice": "eve",
    "language": "es-ES"
  }
}
Response
{
  "taskType": "audioInference",
  "taskUUID": "3cc30108-1696-446e-9d02-3c77a94183ef",
  "audioUUID": "2457d5b1-ee39-4d7a-af4d-aab1cee49ed6",
  "audioURL": "https://am.runware.ai/audio/os/a10d08/ws/5/ai/2457d5b1-ee39-4d7a-af4d-aab1cee49ed6.mp3",
  "cost": 0.0015
}
Text to Audio

Hindi Guided Meditation

0:00

अपनी आँखें धीरे से बंद करें, और एक लंबी, गहरी साँस लें। <pause time="1.5s"/> महसूस करें कि हर साँस के साथ आपका मन शांत होता जा रहा है। <pause time="1s"/> आपके आसपास एक कोमल, सुनहरी रोशनी फैल रही है, जो आपको सुरक्षा, स्थिरता और सुकून का एहसास दे रही है। <pause time="1.5s"/> अब धीरे-धीरे साँस छोड़ें, और दिन भर का तनाव अपने शरीर से बाहर जाने दें।

import { createClient } from '@runware/sdk'

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

const [result] = await client.run({
  model: 'xai:tts@0',
  speech: {
    text: 'अपनी आँखें धीरे से बंद करें, और एक लंबी, गहरी साँस लें। <pause time="1.5s"/> महसूस करें कि हर साँस के साथ आपका मन शांत होता जा रहा है। <pause time="1s"/> आपके आसपास एक कोमल, सुनहरी रोशनी फैल रही है, जो आपको सुरक्षा, स्थिरता और सुकून का एहसास दे रही है। <pause time="1.5s"/> अब धीरे-धीरे साँस छोड़ें, और दिन भर का तनाव अपने शरीर से बाहर जाने दें।',
    voice: 'ara',
    language: 'hi'
  }
})
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": "xai:tts@0",
            "speech": {
                "text": "अपनी आँखें धीरे से बंद करें, और एक लंबी, गहरी साँस लें। <pause time=\"1.5s\"/> महसूस करें कि हर साँस के साथ आपका मन शांत होता जा रहा है। <pause time=\"1s\"/> आपके आसपास एक कोमल, सुनहरी रोशनी फैल रही है, जो आपको सुरक्षा, स्थिरता और सुकून का एहसास दे रही है। <pause time=\"1.5s\"/> अब धीरे-धीरे साँस छोड़ें, और दिन भर का तनाव अपने शरीर से बाहर जाने दें।",
                "voice": "ara",
                "language": "hi"
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "audioInference",
      "taskUUID": "4a9f110c-7e7a-4f76-91f5-f5e9648d85af",
      "model": "xai:tts@0",
      "speech": {
        "text": "अपनी आँखें धीरे से बंद करें, और एक लंबी, गहरी साँस लें। <pause time=\"1.5s\"/> महसूस करें कि हर साँस के साथ आपका मन शांत होता जा रहा है। <pause time=\"1s\"/> आपके आसपास एक कोमल, सुनहरी रोशनी फैल रही है, जो आपको सुरक्षा, स्थिरता और सुकून का एहसास दे रही है। <pause time=\"1.5s\"/> अब धीरे-धीरे साँस छोड़ें, और दिन भर का तनाव अपने शरीर से बाहर जाने दें।",
        "voice": "ara",
        "language": "hi"
      }
    }
  ]'
runware run xai:tts@0 \
  speech.text="अपनी आँखें धीरे से बंद करें, और एक लंबी, गहरी साँस लें। <pause time=\"1.5s\"/> महसूस करें कि हर साँस के साथ आपका मन शांत होता जा रहा है। <pause time=\"1s\"/> आपके आसपास एक कोमल, सुनहरी रोशनी फैल रही है, जो आपको सुरक्षा, स्थिरता और सुकून का एहसास दे रही है। <pause time=\"1.5s\"/> अब धीरे-धीरे साँस छोड़ें, और दिन भर का तनाव अपने शरीर से बाहर जाने दें।" \
  speech.voice=ara \
  speech.language=hi
{
  "taskType": "audioInference",
  "taskUUID": "4a9f110c-7e7a-4f76-91f5-f5e9648d85af",
  "model": "xai:tts@0",
  "speech": {
    "text": "अपनी आँखें धीरे से बंद करें, और एक लंबी, गहरी साँस लें। <pause time=\"1.5s\"/> महसूस करें कि हर साँस के साथ आपका मन शांत होता जा रहा है। <pause time=\"1s\"/> आपके आसपास एक कोमल, सुनहरी रोशनी फैल रही है, जो आपको सुरक्षा, स्थिरता और सुकून का एहसास दे रही है। <pause time=\"1.5s\"/> अब धीरे-धीरे साँस छोड़ें, और दिन भर का तनाव अपने शरीर से बाहर जाने दें।",
    "voice": "ara",
    "language": "hi"
  }
}
Response
{
  "taskType": "audioInference",
  "taskUUID": "4a9f110c-7e7a-4f76-91f5-f5e9648d85af",
  "audioUUID": "dcbcc15a-5273-4c3a-b87c-569f95adf918",
  "audioURL": "https://am.runware.ai/audio/os/a19d05/ws/5/ai/dcbcc15a-5273-4c3a-b87c-569f95adf918.mp3",
  "cost": 0.00145
}