live
MODEL IDheygen:voice@1.0

HeyGen Voice 1.0

HeyGen
by
Available with Zero Data Retention

HeyGen Voice 1.0 is HeyGen's text-to-speech model for spoken audio in 39 languages, with the language detected from the text when none is set. It speaks with a public voice or clones a new one from a single recording, and returns the cloned voice so later requests can reuse it. It suits voiceovers, narration for training and product videos, and localized content.

HeyGen Voice 1.0

text-to-audio

Polar Seed Vault PA Announcement$0.00715~13s
0:00

Attention, conservation team. Chamber three has reached stable temperature, and the evening inventory may now begin. Please keep the inner doors closed while seed cases are in transit. The next surface transfer is scheduled after the weather station gives clearance. Until then, return all scanning equipment to the decontamination bay and report any damaged seals to cold-storage control. Night staff, your briefing will begin in the lower archive at twenty-one hundred hours.

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: 'heygen:voice@1.0',
  speech: {
    text: 'Attention, conservation team. Chamber three has reached stable temperature, and the evening inventory may now begin. Please keep the inner doors closed while seed cases are in transit. The next surface transfer is scheduled after the weather station gives clearance. Until then, return all scanning equipment to the decontamination bay and report any damaged seals to cold-storage control. Night staff, your briefing will begin in the lower archive at twenty-one hundred hours.',
    voice: 'aa9746e325ff46d482a54fe5bc87890f'
  }
})
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": "heygen:voice@1.0",
            "speech": {
                "text": "Attention, conservation team. Chamber three has reached stable temperature, and the evening inventory may now begin. Please keep the inner doors closed while seed cases are in transit. The next surface transfer is scheduled after the weather station gives clearance. Until then, return all scanning equipment to the decontamination bay and report any damaged seals to cold-storage control. Night staff, your briefing will begin in the lower archive at twenty-one hundred hours.",
                "voice": "aa9746e325ff46d482a54fe5bc87890f"
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "audioInference",
      "taskUUID": "c09c8094-99b0-43a8-9ac6-56018544b3d8",
      "model": "heygen:voice@1.0",
      "speech": {
        "text": "Attention, conservation team. Chamber three has reached stable temperature, and the evening inventory may now begin. Please keep the inner doors closed while seed cases are in transit. The next surface transfer is scheduled after the weather station gives clearance. Until then, return all scanning equipment to the decontamination bay and report any damaged seals to cold-storage control. Night staff, your briefing will begin in the lower archive at twenty-one hundred hours.",
        "voice": "aa9746e325ff46d482a54fe5bc87890f"
      }
    }
  ]'
runware run heygen:voice@1.0 \
  speech.text="Attention, conservation team. Chamber three has reached stable temperature, and the evening inventory may now begin. Please keep the inner doors closed while seed cases are in transit. The next surface transfer is scheduled after the weather station gives clearance. Until then, return all scanning equipment to the decontamination bay and report any damaged seals to cold-storage control. Night staff, your briefing will begin in the lower archive at twenty-one hundred hours." \
  speech.voice=aa9746e325ff46d482a54fe5bc87890f
{
  "taskType": "audioInference",
  "taskUUID": "c09c8094-99b0-43a8-9ac6-56018544b3d8",
  "model": "heygen:voice@1.0",
  "speech": {
    "text": "Attention, conservation team. Chamber three has reached stable temperature, and the evening inventory may now begin. Please keep the inner doors closed while seed cases are in transit. The next surface transfer is scheduled after the weather station gives clearance. Until then, return all scanning equipment to the decontamination bay and report any damaged seals to cold-storage control. Night staff, your briefing will begin in the lower archive at twenty-one hundred hours.",
    "voice": "aa9746e325ff46d482a54fe5bc87890f"
  }
}
Response
{
  "taskType": "audioInference",
  "taskUUID": "c09c8094-99b0-43a8-9ac6-56018544b3d8",
  "audioUUID": "c133ee3d-5911-48a4-910a-eff61aa8b56e",
  "audioURL": "https://am.runware.ai/audio/os/a09dlim3/ws/5/ai/c133ee3d-5911-48a4-910a-eff61aa8b56e.mp3",
  "cost": 0.007155
}

text-to-audio

Ballast Water Compliance Explainer Voiceover$0.0108~7s
0:00

Every voyage moves more than cargo. Ballast water can carry microscopic organisms between ecosystems, threatening local fisheries and exposing operators to costly compliance failures. Before discharge, confirm that the vessel’s treatment system is operational, verify the approved flow rate, and check ultraviolet intensity, filter pressure, and alarm status. Record each operation accurately in the ballast water record book, including the date, location, volume, and treatment method. If the system reports a fault, stop the discharge and follow the vessel’s contingency plan. Effective ballast water management protects marine habitats, keeps inspections straightforward, and helps every voyage arrive responsibly.

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: 'heygen:voice@1.0',
  speech: {
    text: 'Every voyage moves more than cargo. Ballast water can carry microscopic organisms between ecosystems, threatening local fisheries and exposing operators to costly compliance failures. Before discharge, confirm that the vessel’s treatment system is operational, verify the approved flow rate, and check ultraviolet intensity, filter pressure, and alarm status. Record each operation accurately in the ballast water record book, including the date, location, volume, and treatment method. If the system reports a fault, stop the discharge and follow the vessel’s contingency plan. Effective ballast water management protects marine habitats, keeps inspections straightforward, and helps every voyage arrive responsibly.',
    voice: '7e48c8d406b04a8089c5eb3cd057cb2e'
  }
})
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": "heygen:voice@1.0",
            "speech": {
                "text": "Every voyage moves more than cargo. Ballast water can carry microscopic organisms between ecosystems, threatening local fisheries and exposing operators to costly compliance failures. Before discharge, confirm that the vessel’s treatment system is operational, verify the approved flow rate, and check ultraviolet intensity, filter pressure, and alarm status. Record each operation accurately in the ballast water record book, including the date, location, volume, and treatment method. If the system reports a fault, stop the discharge and follow the vessel’s contingency plan. Effective ballast water management protects marine habitats, keeps inspections straightforward, and helps every voyage arrive responsibly.",
                "voice": "7e48c8d406b04a8089c5eb3cd057cb2e"
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "audioInference",
      "taskUUID": "430bee4f-7075-49fa-bfbf-5718f958f3f4",
      "model": "heygen:voice@1.0",
      "speech": {
        "text": "Every voyage moves more than cargo. Ballast water can carry microscopic organisms between ecosystems, threatening local fisheries and exposing operators to costly compliance failures. Before discharge, confirm that the vessel’s treatment system is operational, verify the approved flow rate, and check ultraviolet intensity, filter pressure, and alarm status. Record each operation accurately in the ballast water record book, including the date, location, volume, and treatment method. If the system reports a fault, stop the discharge and follow the vessel’s contingency plan. Effective ballast water management protects marine habitats, keeps inspections straightforward, and helps every voyage arrive responsibly.",
        "voice": "7e48c8d406b04a8089c5eb3cd057cb2e"
      }
    }
  ]'
runware run heygen:voice@1.0 \
  speech.text="Every voyage moves more than cargo. Ballast water can carry microscopic organisms between ecosystems, threatening local fisheries and exposing operators to costly compliance failures. Before discharge, confirm that the vessel’s treatment system is operational, verify the approved flow rate, and check ultraviolet intensity, filter pressure, and alarm status. Record each operation accurately in the ballast water record book, including the date, location, volume, and treatment method. If the system reports a fault, stop the discharge and follow the vessel’s contingency plan. Effective ballast water management protects marine habitats, keeps inspections straightforward, and helps every voyage arrive responsibly." \
  speech.voice=7e48c8d406b04a8089c5eb3cd057cb2e
{
  "taskType": "audioInference",
  "taskUUID": "430bee4f-7075-49fa-bfbf-5718f958f3f4",
  "model": "heygen:voice@1.0",
  "speech": {
    "text": "Every voyage moves more than cargo. Ballast water can carry microscopic organisms between ecosystems, threatening local fisheries and exposing operators to costly compliance failures. Before discharge, confirm that the vessel’s treatment system is operational, verify the approved flow rate, and check ultraviolet intensity, filter pressure, and alarm status. Record each operation accurately in the ballast water record book, including the date, location, volume, and treatment method. If the system reports a fault, stop the discharge and follow the vessel’s contingency plan. Effective ballast water management protects marine habitats, keeps inspections straightforward, and helps every voyage arrive responsibly.",
    "voice": "7e48c8d406b04a8089c5eb3cd057cb2e"
  }
}
Response
{
  "taskType": "audioInference",
  "taskUUID": "430bee4f-7075-49fa-bfbf-5718f958f3f4",
  "audioUUID": "8d2fa0fe-8c3b-4cfc-b6af-252ed96c58d1",
  "audioURL": "https://am.runware.ai/audio/os/a02d21/ws/5/ai/8d2fa0fe-8c3b-4cfc-b6af-252ed96c58d1.mp3",
  "cost": 0.010755
}

voice-cloning

Perfume Archive Handling Course Narration$0.00792~22s
0:00

Begin with the bottle resting upright in its padded tray. Without touching the stopper, inspect the neck for crystalline residue, hairline fractures, or signs of evaporation. Next, check the label under soft, indirect light. If the paper is lifting, stained, or brittle, do not attempt to flatten it. Record the condition from several angles, then return the bottle to its assigned compartment. Even when the fragrance has faded, the vessel, label, and remaining sediment can reveal how the perfume was made, marketed, and used.

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: 'heygen:voice@1.0',
  speech: {
    text: 'Begin with the bottle resting upright in its padded tray. Without touching the stopper, inspect the neck for crystalline residue, hairline fractures, or signs of evaporation. Next, check the label under soft, indirect light. If the paper is lifting, stained, or brittle, do not attempt to flatten it. Record the condition from several angles, then return the bottle to its assigned compartment. Even when the fragrance has faded, the vessel, label, and remaining sediment can reveal how the perfume was made, marketed, and used.',
    language: 'en'
  },
  inputs: {
    audio: 'https://assets.runware.ai/assets/inputs/76db71b5-5b90-4dc7-a45e-f0c6b03512ae.mp3'
  }
})
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": "heygen:voice@1.0",
            "speech": {
                "text": "Begin with the bottle resting upright in its padded tray. Without touching the stopper, inspect the neck for crystalline residue, hairline fractures, or signs of evaporation. Next, check the label under soft, indirect light. If the paper is lifting, stained, or brittle, do not attempt to flatten it. Record the condition from several angles, then return the bottle to its assigned compartment. Even when the fragrance has faded, the vessel, label, and remaining sediment can reveal how the perfume was made, marketed, and used.",
                "language": "en"
            },
            "inputs": {
                "audio": "https://assets.runware.ai/assets/inputs/76db71b5-5b90-4dc7-a45e-f0c6b03512ae.mp3"
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "audioInference",
      "taskUUID": "3303418e-f5a9-4767-9997-43e0b50a4101",
      "model": "heygen:voice@1.0",
      "speech": {
        "text": "Begin with the bottle resting upright in its padded tray. Without touching the stopper, inspect the neck for crystalline residue, hairline fractures, or signs of evaporation. Next, check the label under soft, indirect light. If the paper is lifting, stained, or brittle, do not attempt to flatten it. Record the condition from several angles, then return the bottle to its assigned compartment. Even when the fragrance has faded, the vessel, label, and remaining sediment can reveal how the perfume was made, marketed, and used.",
        "language": "en"
      },
      "inputs": {
        "audio": "https://assets.runware.ai/assets/inputs/76db71b5-5b90-4dc7-a45e-f0c6b03512ae.mp3"
      }
    }
  ]'
runware run heygen:voice@1.0 \
  speech.text="Begin with the bottle resting upright in its padded tray. Without touching the stopper, inspect the neck for crystalline residue, hairline fractures, or signs of evaporation. Next, check the label under soft, indirect light. If the paper is lifting, stained, or brittle, do not attempt to flatten it. Record the condition from several angles, then return the bottle to its assigned compartment. Even when the fragrance has faded, the vessel, label, and remaining sediment can reveal how the perfume was made, marketed, and used." \
  speech.language=en \
  inputs.audio=https://assets.runware.ai/assets/inputs/76db71b5-5b90-4dc7-a45e-f0c6b03512ae.mp3
{
  "taskType": "audioInference",
  "taskUUID": "3303418e-f5a9-4767-9997-43e0b50a4101",
  "model": "heygen:voice@1.0",
  "speech": {
    "text": "Begin with the bottle resting upright in its padded tray. Without touching the stopper, inspect the neck for crystalline residue, hairline fractures, or signs of evaporation. Next, check the label under soft, indirect light. If the paper is lifting, stained, or brittle, do not attempt to flatten it. Record the condition from several angles, then return the bottle to its assigned compartment. Even when the fragrance has faded, the vessel, label, and remaining sediment can reveal how the perfume was made, marketed, and used.",
    "language": "en"
  },
  "inputs": {
    "audio": "https://assets.runware.ai/assets/inputs/76db71b5-5b90-4dc7-a45e-f0c6b03512ae.mp3"
  }
}
Response
{
  "taskType": "audioInference",
  "taskUUID": "3303418e-f5a9-4767-9997-43e0b50a4101",
  "audioUUID": "ae13fbed-4045-42f2-a150-2b95b489e7fb",
  "audioURL": "https://am.runware.ai/audio/os/a08dlim3/ws/5/ai/ae13fbed-4045-42f2-a150-2b95b489e7fb.mp3",
  "cost": 0.00792,
  "outputs": {
    "voiceId": "8cfd95d27ae8418fa4934a8467b8098f"
  }
}

voice-cloning

Dutch Flower Auction Lot Call$0.00304~14s
0:00

Kavel zevenendertig: honderdtwintig bossen witte tulpen, kwaliteit A1, rechtstreeks uit Rijnsburg. De klok loopt. Negentig cent, vijfentachtig, tachtig, vijfenzeventig. Verkocht aan koper tweehonderdzes.

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: 'heygen:voice@1.0',
  speech: {
    text: 'Kavel zevenendertig: honderdtwintig bossen witte tulpen, kwaliteit A1, rechtstreeks uit Rijnsburg. De klok loopt. Negentig cent, vijfentachtig, tachtig, vijfenzeventig. Verkocht aan koper tweehonderdzes.',
    language: 'nl'
  },
  inputs: {
    audio: 'https://assets.runware.ai/assets/inputs/6c12314a-0bd3-4fd5-9fd4-7e5375b923a3.mp3'
  }
})
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": "heygen:voice@1.0",
            "speech": {
                "text": "Kavel zevenendertig: honderdtwintig bossen witte tulpen, kwaliteit A1, rechtstreeks uit Rijnsburg. De klok loopt. Negentig cent, vijfentachtig, tachtig, vijfenzeventig. Verkocht aan koper tweehonderdzes.",
                "language": "nl"
            },
            "inputs": {
                "audio": "https://assets.runware.ai/assets/inputs/6c12314a-0bd3-4fd5-9fd4-7e5375b923a3.mp3"
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "audioInference",
      "taskUUID": "93d0f3f1-d052-45ea-a822-b7e452f3e9e0",
      "model": "heygen:voice@1.0",
      "speech": {
        "text": "Kavel zevenendertig: honderdtwintig bossen witte tulpen, kwaliteit A1, rechtstreeks uit Rijnsburg. De klok loopt. Negentig cent, vijfentachtig, tachtig, vijfenzeventig. Verkocht aan koper tweehonderdzes.",
        "language": "nl"
      },
      "inputs": {
        "audio": "https://assets.runware.ai/assets/inputs/6c12314a-0bd3-4fd5-9fd4-7e5375b923a3.mp3"
      }
    }
  ]'
runware run heygen:voice@1.0 \
  speech.text="Kavel zevenendertig: honderdtwintig bossen witte tulpen, kwaliteit A1, rechtstreeks uit Rijnsburg. De klok loopt. Negentig cent, vijfentachtig, tachtig, vijfenzeventig. Verkocht aan koper tweehonderdzes." \
  speech.language=nl \
  inputs.audio=https://assets.runware.ai/assets/inputs/6c12314a-0bd3-4fd5-9fd4-7e5375b923a3.mp3
{
  "taskType": "audioInference",
  "taskUUID": "93d0f3f1-d052-45ea-a822-b7e452f3e9e0",
  "model": "heygen:voice@1.0",
  "speech": {
    "text": "Kavel zevenendertig: honderdtwintig bossen witte tulpen, kwaliteit A1, rechtstreeks uit Rijnsburg. De klok loopt. Negentig cent, vijfentachtig, tachtig, vijfenzeventig. Verkocht aan koper tweehonderdzes.",
    "language": "nl"
  },
  "inputs": {
    "audio": "https://assets.runware.ai/assets/inputs/6c12314a-0bd3-4fd5-9fd4-7e5375b923a3.mp3"
  }
}
Response
{
  "taskType": "audioInference",
  "taskUUID": "93d0f3f1-d052-45ea-a822-b7e452f3e9e0",
  "audioUUID": "f4e3b72d-a265-41b7-9405-b16fb359a192",
  "audioURL": "https://am.runware.ai/audio/os/a04d20/ws/5/ai/f4e3b72d-a265-41b7-9405-b16fb359a192.mp3",
  "cost": 0.003045,
  "outputs": {
    "voiceId": "991b67df4e1c45e89cc9ab63abcfb679"
  }
}