live
MODEL IDfishaudio:s2.1@pro

Fish Audio S2.1 Pro

Fish Audio
by

Fish Audio S2.1 Pro is a flagship text-to-speech model built for highly expressive, low-latency speech generation. It supports natural-language bracket cues for emotion and delivery control, multi-speaker dialogue in a single generation, 80+ languages with automatic language detection, and realtime streaming with very fast time to first audio.

Fish Audio S2.1 Pro

text-to-audio

Reservoir Science Podcast Cold Open$0.0168~14s
0:00

[quietly, with intrigue] At 6:12 on a Tuesday morning, the first complaint reached the water department: the tap water tasted like wet soil. By breakfast, forty-three households had called. By noon, people were clearing bottled water from supermarket shelves. [short pause] The reservoir was clean. Every safety test came back normal. But something invisible had crossed the city overnight—and nearly everyone could taste it. [warmer, explanatory] The culprit was geosmin, a harmless compound made by microorganisms and detectable by the human palate in astonishingly tiny amounts. Finding out why it appeared would lead investigators into the chemistry of autumn algae, shifting winds, and a phenomenon called reservoir turnover. [measured emphasis] This is The Water Line, a podcast about the hidden systems behind an ordinary glass of water. I’m your host, and today: how a flavor older than plumbing became a twenty-first-century communications crisis—and what one utility learned from telling the public, truthfully, “It’s safe to drink,” when safe was no longer the only question people were asking.

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: 'fishaudio:s2.1@pro',
  speech: {
    text: '[quietly, with intrigue] At 6:12 on a Tuesday morning, the first complaint reached the water department: the tap water tasted like wet soil. By breakfast, forty-three households had called. By noon, people were clearing bottled water from supermarket shelves. [short pause] The reservoir was clean. Every safety test came back normal. But something invisible had crossed the city overnight—and nearly everyone could taste it.\n\n[warmer, explanatory] The culprit was geosmin, a harmless compound made by microorganisms and detectable by the human palate in astonishingly tiny amounts. Finding out why it appeared would lead investigators into the chemistry of autumn algae, shifting winds, and a phenomenon called reservoir turnover.\n\n[measured emphasis] This is The Water Line, a podcast about the hidden systems behind an ordinary glass of water. I’m your host, and today: how a flavor older than plumbing became a twenty-first-century communications crisis—and what one utility learned from telling the public, truthfully, “It’s safe to drink,” when safe was no longer the only question people were asking.',
    voice: 'e3cd384158934cc9a01029cd7d278634'
  }
})
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": "fishaudio:s2.1@pro",
            "speech": {
                "text": "[quietly, with intrigue] At 6:12 on a Tuesday morning, the first complaint reached the water department: the tap water tasted like wet soil. By breakfast, forty-three households had called. By noon, people were clearing bottled water from supermarket shelves. [short pause] The reservoir was clean. Every safety test came back normal. But something invisible had crossed the city overnight—and nearly everyone could taste it.\n\n[warmer, explanatory] The culprit was geosmin, a harmless compound made by microorganisms and detectable by the human palate in astonishingly tiny amounts. Finding out why it appeared would lead investigators into the chemistry of autumn algae, shifting winds, and a phenomenon called reservoir turnover.\n\n[measured emphasis] This is The Water Line, a podcast about the hidden systems behind an ordinary glass of water. I’m your host, and today: how a flavor older than plumbing became a twenty-first-century communications crisis—and what one utility learned from telling the public, truthfully, “It’s safe to drink,” when safe was no longer the only question people were asking.",
                "voice": "e3cd384158934cc9a01029cd7d278634"
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "audioInference",
      "taskUUID": "5e2f5957-4b78-476d-bff8-04cc8e75905c",
      "model": "fishaudio:s2.1@pro",
      "speech": {
        "text": "[quietly, with intrigue] At 6:12 on a Tuesday morning, the first complaint reached the water department: the tap water tasted like wet soil. By breakfast, forty-three households had called. By noon, people were clearing bottled water from supermarket shelves. [short pause] The reservoir was clean. Every safety test came back normal. But something invisible had crossed the city overnight—and nearly everyone could taste it.\n\n[warmer, explanatory] The culprit was geosmin, a harmless compound made by microorganisms and detectable by the human palate in astonishingly tiny amounts. Finding out why it appeared would lead investigators into the chemistry of autumn algae, shifting winds, and a phenomenon called reservoir turnover.\n\n[measured emphasis] This is The Water Line, a podcast about the hidden systems behind an ordinary glass of water. I’m your host, and today: how a flavor older than plumbing became a twenty-first-century communications crisis—and what one utility learned from telling the public, truthfully, “It’s safe to drink,” when safe was no longer the only question people were asking.",
        "voice": "e3cd384158934cc9a01029cd7d278634"
      }
    }
  ]'
runware run fishaudio:s2.1@pro \
  speech.text="[quietly, with intrigue] At 6:12 on a Tuesday morning, the first complaint reached the water department: the tap water tasted like wet soil. By breakfast, forty-three households had called. By noon, people were clearing bottled water from supermarket shelves. [short pause] The reservoir was clean. Every safety test came back normal. But something invisible had crossed the city overnight—and nearly everyone could taste it.

[warmer, explanatory] The culprit was geosmin, a harmless compound made by microorganisms and detectable by the human palate in astonishingly tiny amounts. Finding out why it appeared would lead investigators into the chemistry of autumn algae, shifting winds, and a phenomenon called reservoir turnover.

[measured emphasis] This is The Water Line, a podcast about the hidden systems behind an ordinary glass of water. I’m your host, and today: how a flavor older than plumbing became a twenty-first-century communications crisis—and what one utility learned from telling the public, truthfully, “It’s safe to drink,” when safe was no longer the only question people were asking." \
  speech.voice=e3cd384158934cc9a01029cd7d278634
{
  "taskType": "audioInference",
  "taskUUID": "5e2f5957-4b78-476d-bff8-04cc8e75905c",
  "model": "fishaudio:s2.1@pro",
  "speech": {
    "text": "[quietly, with intrigue] At 6:12 on a Tuesday morning, the first complaint reached the water department: the tap water tasted like wet soil. By breakfast, forty-three households had called. By noon, people were clearing bottled water from supermarket shelves. [short pause] The reservoir was clean. Every safety test came back normal. But something invisible had crossed the city overnight—and nearly everyone could taste it.\n\n[warmer, explanatory] The culprit was geosmin, a harmless compound made by microorganisms and detectable by the human palate in astonishingly tiny amounts. Finding out why it appeared would lead investigators into the chemistry of autumn algae, shifting winds, and a phenomenon called reservoir turnover.\n\n[measured emphasis] This is The Water Line, a podcast about the hidden systems behind an ordinary glass of water. I’m your host, and today: how a flavor older than plumbing became a twenty-first-century communications crisis—and what one utility learned from telling the public, truthfully, “It’s safe to drink,” when safe was no longer the only question people were asking.",
    "voice": "e3cd384158934cc9a01029cd7d278634"
  }
}
Response
{
  "taskType": "audioInference",
  "taskUUID": "5e2f5957-4b78-476d-bff8-04cc8e75905c",
  "audioUUID": "8da0fa40-bfea-49a3-b280-c56222f35cb3",
  "audioURL": "https://am.runware.ai/audio/os/a06dlim3/ws/5/ai/8da0fa40-bfea-49a3-b280-c56222f35cb3.mp3",
  "cost": 0.016785
}

text-to-audio

Forensic Entomology Training Narration$0.0227~20s
0:00

In forensic entomology, the insects at a scene are not a clock. They are evidence from which a timeline can be estimated. [short pause] Blow flies may arrive within minutes when remains are accessible, but their development depends on temperature, species, and the conditions surrounding the body. Begin by documenting before collecting. Photograph each insect cluster in place, record its location, and measure the temperature at the body surface, beneath the remains, and within the largest maggot mass. That final reading matters: feeding larvae generate heat, so the center of a mass may be considerably warmer than the surrounding air. Collect specimens from several locations and preserve them in two groups. One group should be preserved promptly for age assessment. The other should remain alive for rearing to adulthood, when species identification is often more reliable. Label every container with the date, time, precise recovery location, and collector's initials. [measured] Weather-station data alone are not sufficient. Investigators must consider shade, indoor climate control, burial depth, wrapping, and any barrier that could delay insect access. These variables can alter colonization and development. [short pause] The key principle is simple: insect evidence does not provide an exact time of death. It establishes a scientifically supported minimum period of colonization. Careful documentation, representative sampling, and an unbroken chain of custody make that estimate defensible.

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: 'fishaudio:s2.1@pro',
  speech: {
    text: 'In forensic entomology, the insects at a scene are not a clock. They are evidence from which a timeline can be estimated. [short pause] Blow flies may arrive within minutes when remains are accessible, but their development depends on temperature, species, and the conditions surrounding the body.\n\nBegin by documenting before collecting. Photograph each insect cluster in place, record its location, and measure the temperature at the body surface, beneath the remains, and within the largest maggot mass. That final reading matters: feeding larvae generate heat, so the center of a mass may be considerably warmer than the surrounding air.\n\nCollect specimens from several locations and preserve them in two groups. One group should be preserved promptly for age assessment. The other should remain alive for rearing to adulthood, when species identification is often more reliable. Label every container with the date, time, precise recovery location, and collector\'s initials.\n\n[measured] Weather-station data alone are not sufficient. Investigators must consider shade, indoor climate control, burial depth, wrapping, and any barrier that could delay insect access. These variables can alter colonization and development.\n\n[short pause] The key principle is simple: insect evidence does not provide an exact time of death. It establishes a scientifically supported minimum period of colonization. Careful documentation, representative sampling, and an unbroken chain of custody make that estimate defensible.',
    voice: 'e3cd384158934cc9a01029cd7d278634'
  }
})
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": "fishaudio:s2.1@pro",
            "speech": {
                "text": "In forensic entomology, the insects at a scene are not a clock. They are evidence from which a timeline can be estimated. [short pause] Blow flies may arrive within minutes when remains are accessible, but their development depends on temperature, species, and the conditions surrounding the body.\n\nBegin by documenting before collecting. Photograph each insect cluster in place, record its location, and measure the temperature at the body surface, beneath the remains, and within the largest maggot mass. That final reading matters: feeding larvae generate heat, so the center of a mass may be considerably warmer than the surrounding air.\n\nCollect specimens from several locations and preserve them in two groups. One group should be preserved promptly for age assessment. The other should remain alive for rearing to adulthood, when species identification is often more reliable. Label every container with the date, time, precise recovery location, and collector's initials.\n\n[measured] Weather-station data alone are not sufficient. Investigators must consider shade, indoor climate control, burial depth, wrapping, and any barrier that could delay insect access. These variables can alter colonization and development.\n\n[short pause] The key principle is simple: insect evidence does not provide an exact time of death. It establishes a scientifically supported minimum period of colonization. Careful documentation, representative sampling, and an unbroken chain of custody make that estimate defensible.",
                "voice": "e3cd384158934cc9a01029cd7d278634"
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "audioInference",
      "taskUUID": "e17bd5d0-5395-44b3-8aac-f31f63891dc2",
      "model": "fishaudio:s2.1@pro",
      "speech": {
        "text": "In forensic entomology, the insects at a scene are not a clock. They are evidence from which a timeline can be estimated. [short pause] Blow flies may arrive within minutes when remains are accessible, but their development depends on temperature, species, and the conditions surrounding the body.\n\nBegin by documenting before collecting. Photograph each insect cluster in place, record its location, and measure the temperature at the body surface, beneath the remains, and within the largest maggot mass. That final reading matters: feeding larvae generate heat, so the center of a mass may be considerably warmer than the surrounding air.\n\nCollect specimens from several locations and preserve them in two groups. One group should be preserved promptly for age assessment. The other should remain alive for rearing to adulthood, when species identification is often more reliable. Label every container with the date, time, precise recovery location, and collector's initials.\n\n[measured] Weather-station data alone are not sufficient. Investigators must consider shade, indoor climate control, burial depth, wrapping, and any barrier that could delay insect access. These variables can alter colonization and development.\n\n[short pause] The key principle is simple: insect evidence does not provide an exact time of death. It establishes a scientifically supported minimum period of colonization. Careful documentation, representative sampling, and an unbroken chain of custody make that estimate defensible.",
        "voice": "e3cd384158934cc9a01029cd7d278634"
      }
    }
  ]'
runware run fishaudio:s2.1@pro \
  speech.text="In forensic entomology, the insects at a scene are not a clock. They are evidence from which a timeline can be estimated. [short pause] Blow flies may arrive within minutes when remains are accessible, but their development depends on temperature, species, and the conditions surrounding the body.

Begin by documenting before collecting. Photograph each insect cluster in place, record its location, and measure the temperature at the body surface, beneath the remains, and within the largest maggot mass. That final reading matters: feeding larvae generate heat, so the center of a mass may be considerably warmer than the surrounding air.

Collect specimens from several locations and preserve them in two groups. One group should be preserved promptly for age assessment. The other should remain alive for rearing to adulthood, when species identification is often more reliable. Label every container with the date, time, precise recovery location, and collector's initials.

[measured] Weather-station data alone are not sufficient. Investigators must consider shade, indoor climate control, burial depth, wrapping, and any barrier that could delay insect access. These variables can alter colonization and development.

[short pause] The key principle is simple: insect evidence does not provide an exact time of death. It establishes a scientifically supported minimum period of colonization. Careful documentation, representative sampling, and an unbroken chain of custody make that estimate defensible." \
  speech.voice=e3cd384158934cc9a01029cd7d278634
{
  "taskType": "audioInference",
  "taskUUID": "e17bd5d0-5395-44b3-8aac-f31f63891dc2",
  "model": "fishaudio:s2.1@pro",
  "speech": {
    "text": "In forensic entomology, the insects at a scene are not a clock. They are evidence from which a timeline can be estimated. [short pause] Blow flies may arrive within minutes when remains are accessible, but their development depends on temperature, species, and the conditions surrounding the body.\n\nBegin by documenting before collecting. Photograph each insect cluster in place, record its location, and measure the temperature at the body surface, beneath the remains, and within the largest maggot mass. That final reading matters: feeding larvae generate heat, so the center of a mass may be considerably warmer than the surrounding air.\n\nCollect specimens from several locations and preserve them in two groups. One group should be preserved promptly for age assessment. The other should remain alive for rearing to adulthood, when species identification is often more reliable. Label every container with the date, time, precise recovery location, and collector's initials.\n\n[measured] Weather-station data alone are not sufficient. Investigators must consider shade, indoor climate control, burial depth, wrapping, and any barrier that could delay insect access. These variables can alter colonization and development.\n\n[short pause] The key principle is simple: insect evidence does not provide an exact time of death. It establishes a scientifically supported minimum period of colonization. Careful documentation, representative sampling, and an unbroken chain of custody make that estimate defensible.",
    "voice": "e3cd384158934cc9a01029cd7d278634"
  }
}
Response
{
  "taskType": "audioInference",
  "taskUUID": "e17bd5d0-5395-44b3-8aac-f31f63891dc2",
  "audioUUID": "b8953421-9a4c-4b21-81fa-c6c6439eb4ad",
  "audioURL": "https://am.runware.ai/audio/os/a06dlim3/ws/5/ai/b8953421-9a4c-4b21-81fa-c6c6439eb4ad.mp3",
  "cost": 0.02268
}

voice-cloning

Bronze Bell Inspection Course Narration$0.0171~18s
0:00

[calmly] Begin the inspection at the crown, where the bell meets its supporting hardware. Use diffuse light and examine each junction for green powder, lifting scale, or narrow lines radiating into the shoulder. [short pause] A smooth brown or dark green patina is usually stable. Loose, pale green material may indicate active corrosion and should be documented before it is disturbed. Move clockwise around the waist, keeping the same viewing distance. Record dents, casting flaws, and previous repairs separately; they do not carry the same significance. At the sound bow, pay particular attention to bright metal exposed by an uneven clapper strike. Repeated contact outside the established wear track can concentrate stress in the rim. [slightly more serious] Do not perform a sounding test until the supports, clapper, and surrounding structure have been cleared by a qualified engineer. If a crack is visible, suspend all movement of the bell and photograph the feature with a scale marker. [short pause] Your goal is not an immediate diagnosis. It is a consistent record that allows the conservation team to compare change over time.

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: 'fishaudio:s2.1@pro',
  speech: {
    text: '[calmly] Begin the inspection at the crown, where the bell meets its supporting hardware. Use diffuse light and examine each junction for green powder, lifting scale, or narrow lines radiating into the shoulder. [short pause] A smooth brown or dark green patina is usually stable. Loose, pale green material may indicate active corrosion and should be documented before it is disturbed.\n\nMove clockwise around the waist, keeping the same viewing distance. Record dents, casting flaws, and previous repairs separately; they do not carry the same significance. At the sound bow, pay particular attention to bright metal exposed by an uneven clapper strike. Repeated contact outside the established wear track can concentrate stress in the rim.\n\n[slightly more serious] Do not perform a sounding test until the supports, clapper, and surrounding structure have been cleared by a qualified engineer. If a crack is visible, suspend all movement of the bell and photograph the feature with a scale marker. [short pause] Your goal is not an immediate diagnosis. It is a consistent record that allows the conservation team to compare change over time.'
  },
  inputs: {
    referenceVoices: [
      {
        audio: 'https://assets.runware.ai/assets/inputs/ceea9f17-232a-4640-ba40-e7df23ebdf7f.mp3',
        text: 'My work begins with patience. Bronze records every season it has endured, from winter frost to summer heat. Before any decision is made, I study the surface, note the old repairs, and listen carefully. Conservation is not about making an object new; it is about helping its original voice endure.'
      }
    ]
  }
})
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": "fishaudio:s2.1@pro",
            "speech": {
                "text": "[calmly] Begin the inspection at the crown, where the bell meets its supporting hardware. Use diffuse light and examine each junction for green powder, lifting scale, or narrow lines radiating into the shoulder. [short pause] A smooth brown or dark green patina is usually stable. Loose, pale green material may indicate active corrosion and should be documented before it is disturbed.\n\nMove clockwise around the waist, keeping the same viewing distance. Record dents, casting flaws, and previous repairs separately; they do not carry the same significance. At the sound bow, pay particular attention to bright metal exposed by an uneven clapper strike. Repeated contact outside the established wear track can concentrate stress in the rim.\n\n[slightly more serious] Do not perform a sounding test until the supports, clapper, and surrounding structure have been cleared by a qualified engineer. If a crack is visible, suspend all movement of the bell and photograph the feature with a scale marker. [short pause] Your goal is not an immediate diagnosis. It is a consistent record that allows the conservation team to compare change over time."
            },
            "inputs": {
                "referenceVoices": [
                    {
                        "audio": "https://assets.runware.ai/assets/inputs/ceea9f17-232a-4640-ba40-e7df23ebdf7f.mp3",
                        "text": "My work begins with patience. Bronze records every season it has endured, from winter frost to summer heat. Before any decision is made, I study the surface, note the old repairs, and listen carefully. Conservation is not about making an object new; it is about helping its original voice endure."
                    }
                ]
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "audioInference",
      "taskUUID": "c4c246b3-d41b-4460-87c7-017b1970ad74",
      "model": "fishaudio:s2.1@pro",
      "speech": {
        "text": "[calmly] Begin the inspection at the crown, where the bell meets its supporting hardware. Use diffuse light and examine each junction for green powder, lifting scale, or narrow lines radiating into the shoulder. [short pause] A smooth brown or dark green patina is usually stable. Loose, pale green material may indicate active corrosion and should be documented before it is disturbed.\n\nMove clockwise around the waist, keeping the same viewing distance. Record dents, casting flaws, and previous repairs separately; they do not carry the same significance. At the sound bow, pay particular attention to bright metal exposed by an uneven clapper strike. Repeated contact outside the established wear track can concentrate stress in the rim.\n\n[slightly more serious] Do not perform a sounding test until the supports, clapper, and surrounding structure have been cleared by a qualified engineer. If a crack is visible, suspend all movement of the bell and photograph the feature with a scale marker. [short pause] Your goal is not an immediate diagnosis. It is a consistent record that allows the conservation team to compare change over time."
      },
      "inputs": {
        "referenceVoices": [
          {
            "audio": "https://assets.runware.ai/assets/inputs/ceea9f17-232a-4640-ba40-e7df23ebdf7f.mp3",
            "text": "My work begins with patience. Bronze records every season it has endured, from winter frost to summer heat. Before any decision is made, I study the surface, note the old repairs, and listen carefully. Conservation is not about making an object new; it is about helping its original voice endure."
          }
        ]
      }
    }
  ]'
runware run fishaudio:s2.1@pro \
  speech.text="[calmly] Begin the inspection at the crown, where the bell meets its supporting hardware. Use diffuse light and examine each junction for green powder, lifting scale, or narrow lines radiating into the shoulder. [short pause] A smooth brown or dark green patina is usually stable. Loose, pale green material may indicate active corrosion and should be documented before it is disturbed.

Move clockwise around the waist, keeping the same viewing distance. Record dents, casting flaws, and previous repairs separately; they do not carry the same significance. At the sound bow, pay particular attention to bright metal exposed by an uneven clapper strike. Repeated contact outside the established wear track can concentrate stress in the rim.

[slightly more serious] Do not perform a sounding test until the supports, clapper, and surrounding structure have been cleared by a qualified engineer. If a crack is visible, suspend all movement of the bell and photograph the feature with a scale marker. [short pause] Your goal is not an immediate diagnosis. It is a consistent record that allows the conservation team to compare change over time." \
  inputs.referenceVoices.0.audio=https://assets.runware.ai/assets/inputs/ceea9f17-232a-4640-ba40-e7df23ebdf7f.mp3 \
  inputs.referenceVoices.0.text="My work begins with patience. Bronze records every season it has endured, from winter frost to summer heat. Before any decision is made, I study the surface, note the old repairs, and listen carefully. Conservation is not about making an object new; it is about helping its original voice endure."
{
  "taskType": "audioInference",
  "taskUUID": "c4c246b3-d41b-4460-87c7-017b1970ad74",
  "model": "fishaudio:s2.1@pro",
  "speech": {
    "text": "[calmly] Begin the inspection at the crown, where the bell meets its supporting hardware. Use diffuse light and examine each junction for green powder, lifting scale, or narrow lines radiating into the shoulder. [short pause] A smooth brown or dark green patina is usually stable. Loose, pale green material may indicate active corrosion and should be documented before it is disturbed.\n\nMove clockwise around the waist, keeping the same viewing distance. Record dents, casting flaws, and previous repairs separately; they do not carry the same significance. At the sound bow, pay particular attention to bright metal exposed by an uneven clapper strike. Repeated contact outside the established wear track can concentrate stress in the rim.\n\n[slightly more serious] Do not perform a sounding test until the supports, clapper, and surrounding structure have been cleared by a qualified engineer. If a crack is visible, suspend all movement of the bell and photograph the feature with a scale marker. [short pause] Your goal is not an immediate diagnosis. It is a consistent record that allows the conservation team to compare change over time."
  },
  "inputs": {
    "referenceVoices": [
      {
        "audio": "https://assets.runware.ai/assets/inputs/ceea9f17-232a-4640-ba40-e7df23ebdf7f.mp3",
        "text": "My work begins with patience. Bronze records every season it has endured, from winter frost to summer heat. Before any decision is made, I study the surface, note the old repairs, and listen carefully. Conservation is not about making an object new; it is about helping its original voice endure."
      }
    ]
  }
}
Response
{
  "taskType": "audioInference",
  "taskUUID": "c4c246b3-d41b-4460-87c7-017b1970ad74",
  "audioUUID": "8df29860-03b6-4727-8313-743774213d40",
  "audioURL": "https://am.runware.ai/audio/os/a09dlim3/ws/5/ai/8df29860-03b6-4727-8313-743774213d40.mp3",
  "cost": 0.017145
}

multi-speaker-dialogue

Midnight Cinema Channel Vocal Stinger$0.00356~4s
0:00

<|speaker:0|>[whispering] House lights? <|speaker:1|>Down. [short pause] Projector? <|speaker:0|>Rolling. Tonight’s restoration is ready. <|speaker:1|>[warmly] Then let the lost films speak. Afterimage: midnight cinema, frame by frame.

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: 'fishaudio:s2.1@pro',
  speech: {
    text: '<|speaker:0|>[whispering] House lights?\n<|speaker:1|>Down. [short pause] Projector?\n<|speaker:0|>Rolling. Tonight’s restoration is ready.\n<|speaker:1|>[warmly] Then let the lost films speak. Afterimage: midnight cinema, frame by frame.',
    voices: [
      '933563129e564b19a115bedd57b7406a',
      '536d3a5e000945adb7038665781a4aca'
    ]
  }
})
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": "fishaudio:s2.1@pro",
            "speech": {
                "text": "<|speaker:0|>[whispering] House lights?\n<|speaker:1|>Down. [short pause] Projector?\n<|speaker:0|>Rolling. Tonight’s restoration is ready.\n<|speaker:1|>[warmly] Then let the lost films speak. Afterimage: midnight cinema, frame by frame.",
                "voices": [
                    "933563129e564b19a115bedd57b7406a",
                    "536d3a5e000945adb7038665781a4aca"
                ]
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "audioInference",
      "taskUUID": "27e78d19-e4ed-4d94-aded-d60d13c85216",
      "model": "fishaudio:s2.1@pro",
      "speech": {
        "text": "<|speaker:0|>[whispering] House lights?\n<|speaker:1|>Down. [short pause] Projector?\n<|speaker:0|>Rolling. Tonight’s restoration is ready.\n<|speaker:1|>[warmly] Then let the lost films speak. Afterimage: midnight cinema, frame by frame.",
        "voices": [
          "933563129e564b19a115bedd57b7406a",
          "536d3a5e000945adb7038665781a4aca"
        ]
      }
    }
  ]'
runware run fishaudio:s2.1@pro \
  speech.text="<|speaker:0|>[whispering] House lights?
<|speaker:1|>Down. [short pause] Projector?
<|speaker:0|>Rolling. Tonight’s restoration is ready.
<|speaker:1|>[warmly] Then let the lost films speak. Afterimage: midnight cinema, frame by frame." \
  speech.voices.0=933563129e564b19a115bedd57b7406a \
  speech.voices.1=536d3a5e000945adb7038665781a4aca
{
  "taskType": "audioInference",
  "taskUUID": "27e78d19-e4ed-4d94-aded-d60d13c85216",
  "model": "fishaudio:s2.1@pro",
  "speech": {
    "text": "<|speaker:0|>[whispering] House lights?\n<|speaker:1|>Down. [short pause] Projector?\n<|speaker:0|>Rolling. Tonight’s restoration is ready.\n<|speaker:1|>[warmly] Then let the lost films speak. Afterimage: midnight cinema, frame by frame.",
    "voices": [
      "933563129e564b19a115bedd57b7406a",
      "536d3a5e000945adb7038665781a4aca"
    ]
  }
}
Response
{
  "taskType": "audioInference",
  "taskUUID": "27e78d19-e4ed-4d94-aded-d60d13c85216",
  "audioUUID": "bb4d3f3e-2721-4e74-8e30-1d40ce9affc4",
  "audioURL": "https://am.runware.ai/audio/os/a03d21/ws/5/ai/bb4d3f3e-2721-4e74-8e30-1d40ce9affc4.mp3",
  "cost": 0.003555
}