live
MODEL IDheygen:avatar@5

HeyGen Avatar V

HeyGen
by

HeyGen Avatar V is an avatar video generation model for talking digital twins and other eligible registered avatar looks. It improves identity preservation, lip sync accuracy, facial expressiveness, and motion coherence across angle changes, scene changes, and long-form videos, making it well suited to presenter, training, and localization workflows where avatar stability matters.

HeyGen Avatar V

captioned-stock-avatar

Funeral Home Mystery Teaser$2.64~9m 0s
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:avatar@5',
  width: 1280,
  height: 720,
  speech: {
    text: 'At Bellwether House, we prepare the dead for their final journey. Last Tuesday, one returned wearing my sister\'s ring. The register says she died thirty years ago. The register lies. This autumn, every farewell leaves a clue. The Last Appointment.',
    voice: 'mabel_forsythe_serious_female_english',
    language: 'en-GB'
  },
  settings: {
    caption: true
  },
  inputs: {
    avatar: 'Scarlett_siiting_fireplace_front'
  }
})
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:avatar@5",
            "width": 1280,
            "height": 720,
            "speech": {
                "text": "At Bellwether House, we prepare the dead for their final journey. Last Tuesday, one returned wearing my sister's ring. The register says she died thirty years ago. The register lies. This autumn, every farewell leaves a clue. The Last Appointment.",
                "voice": "mabel_forsythe_serious_female_english",
                "language": "en-GB"
            },
            "settings": {
                "caption": True
            },
            "inputs": {
                "avatar": "Scarlett_siiting_fireplace_front"
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "videoInference",
      "taskUUID": "42ab6706-fab3-4e70-896c-970cb756519d",
      "model": "heygen:avatar@5",
      "width": 1280,
      "height": 720,
      "speech": {
        "text": "At Bellwether House, we prepare the dead for their final journey. Last Tuesday, one returned wearing my sister's ring. The register says she died thirty years ago. The register lies. This autumn, every farewell leaves a clue. The Last Appointment.",
        "voice": "mabel_forsythe_serious_female_english",
        "language": "en-GB"
      },
      "settings": {
        "caption": true
      },
      "inputs": {
        "avatar": "Scarlett_siiting_fireplace_front"
      }
    }
  ]'
runware run heygen:avatar@5 \
  width=1280 \
  height=720 \
  speech.text="At Bellwether House, we prepare the dead for their final journey. Last Tuesday, one returned wearing my sister's ring. The register says she died thirty years ago. The register lies. This autumn, every farewell leaves a clue. The Last Appointment." \
  speech.voice=mabel_forsythe_serious_female_english \
  speech.language=en-GB \
  settings.caption=true \
  inputs.avatar=Scarlett_siiting_fireplace_front
{
  "taskType": "videoInference",
  "taskUUID": "42ab6706-fab3-4e70-896c-970cb756519d",
  "model": "heygen:avatar@5",
  "width": 1280,
  "height": 720,
  "speech": {
    "text": "At Bellwether House, we prepare the dead for their final journey. Last Tuesday, one returned wearing my sister's ring. The register says she died thirty years ago. The register lies. This autumn, every farewell leaves a clue. The Last Appointment.",
    "voice": "mabel_forsythe_serious_female_english",
    "language": "en-GB"
  },
  "settings": {
    "caption": true
  },
  "inputs": {
    "avatar": "Scarlett_siiting_fireplace_front"
  }
}
Response
{
  "taskType": "videoInference",
  "taskUUID": "42ab6706-fab3-4e70-896c-970cb756519d",
  "videoUUID": "74b7ef8c-7daf-46b3-935a-a6df1bb0ab41",
  "videoURL": "https://vm.runware.ai/video/os/a01d21/ws/5/vi/74b7ef8c-7daf-46b3-935a-a6df1bb0ab41.mp4",
  "cost": 2.6448
}

audio-driven-stock-avatar

Draft Line Hygiene Meter Demo$3.35~2m 38s
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:avatar@5',
  width: 1080,
  height: 1920,
  inputs: {
    avatar: 'Annie_Bar_Standing_Front_public',
    audio: 'https://assets.runware.ai/assets/inputs/efaa8e30-02f6-40c1-8874-487cfd10a98b.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:avatar@5",
            "width": 1080,
            "height": 1920,
            "inputs": {
                "avatar": "Annie_Bar_Standing_Front_public",
                "audio": "https://assets.runware.ai/assets/inputs/efaa8e30-02f6-40c1-8874-487cfd10a98b.mp3"
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "videoInference",
      "taskUUID": "f2a4bc8a-24d5-4250-82b5-87ebfd2da484",
      "model": "heygen:avatar@5",
      "width": 1080,
      "height": 1920,
      "inputs": {
        "avatar": "Annie_Bar_Standing_Front_public",
        "audio": "https://assets.runware.ai/assets/inputs/efaa8e30-02f6-40c1-8874-487cfd10a98b.mp3"
      }
    }
  ]'
runware run heygen:avatar@5 \
  width=1080 \
  height=1920 \
  inputs.avatar=Annie_Bar_Standing_Front_public \
  inputs.audio=https://assets.runware.ai/assets/inputs/efaa8e30-02f6-40c1-8874-487cfd10a98b.mp3
{
  "taskType": "videoInference",
  "taskUUID": "f2a4bc8a-24d5-4250-82b5-87ebfd2da484",
  "model": "heygen:avatar@5",
  "width": 1080,
  "height": 1920,
  "inputs": {
    "avatar": "Annie_Bar_Standing_Front_public",
    "audio": "https://assets.runware.ai/assets/inputs/efaa8e30-02f6-40c1-8874-487cfd10a98b.mp3"
  }
}
Response
{
  "taskType": "videoInference",
  "taskUUID": "f2a4bc8a-24d5-4250-82b5-87ebfd2da484",
  "videoUUID": "3e3bc6b9-f634-4e20-95e4-1defcf65be25",
  "videoURL": "https://vm.runware.ai/video/os/a05d22/ws/5/vi/3e3bc6b9-f634-4e20-95e4-1defcf65be25.mp4",
  "cost": 3.3512
}

scripted-stock-avatar

Heritage Documentary Series Teaser$2.71~3m 6s
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:avatar@5',
  width: 1920,
  height: 1080,
  speech: {
    text: 'Before steel sang in factories, bronze carried news across valleys. It marked weddings, warned of fire, and mourned the dead. Now, the last bell founders are preparing one final cast. From furnace to tower, discover the sound that outlived empires. The Last Foundry.',
    voice: 'scarlett_lifelike_female_english',
    language: 'en-GB'
  },
  inputs: {
    avatar: 'Scarlett_siiting_fireplace_front'
  }
})
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:avatar@5",
            "width": 1920,
            "height": 1080,
            "speech": {
                "text": "Before steel sang in factories, bronze carried news across valleys. It marked weddings, warned of fire, and mourned the dead. Now, the last bell founders are preparing one final cast. From furnace to tower, discover the sound that outlived empires. The Last Foundry.",
                "voice": "scarlett_lifelike_female_english",
                "language": "en-GB"
            },
            "inputs": {
                "avatar": "Scarlett_siiting_fireplace_front"
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "videoInference",
      "taskUUID": "d1683a06-9924-4600-8a3b-a8ca6e5928a9",
      "model": "heygen:avatar@5",
      "width": 1920,
      "height": 1080,
      "speech": {
        "text": "Before steel sang in factories, bronze carried news across valleys. It marked weddings, warned of fire, and mourned the dead. Now, the last bell founders are preparing one final cast. From furnace to tower, discover the sound that outlived empires. The Last Foundry.",
        "voice": "scarlett_lifelike_female_english",
        "language": "en-GB"
      },
      "inputs": {
        "avatar": "Scarlett_siiting_fireplace_front"
      }
    }
  ]'
runware run heygen:avatar@5 \
  width=1920 \
  height=1080 \
  speech.text="Before steel sang in factories, bronze carried news across valleys. It marked weddings, warned of fire, and mourned the dead. Now, the last bell founders are preparing one final cast. From furnace to tower, discover the sound that outlived empires. The Last Foundry." \
  speech.voice=scarlett_lifelike_female_english \
  speech.language=en-GB \
  inputs.avatar=Scarlett_siiting_fireplace_front
{
  "taskType": "videoInference",
  "taskUUID": "d1683a06-9924-4600-8a3b-a8ca6e5928a9",
  "model": "heygen:avatar@5",
  "width": 1920,
  "height": 1080,
  "speech": {
    "text": "Before steel sang in factories, bronze carried news across valleys. It marked weddings, warned of fire, and mourned the dead. Now, the last bell founders are preparing one final cast. From furnace to tower, discover the sound that outlived empires. The Last Foundry.",
    "voice": "scarlett_lifelike_female_english",
    "language": "en-GB"
  },
  "inputs": {
    "avatar": "Scarlett_siiting_fireplace_front"
  }
}
Response
{
  "taskType": "videoInference",
  "taskUUID": "d1683a06-9924-4600-8a3b-a8ca6e5928a9",
  "videoUUID": "14824484-ef9a-460b-9be0-651e025a002e",
  "videoURL": "https://vm.runware.ai/video/os/a05d22/ws/5/vi/14824484-ef9a-460b-9be0-651e025a002e.mp4",
  "cost": 2.712
}

background-replacement

Rare Book Handling Stock Clip$1.14~3m 23s
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:avatar@5',
  width: 1080,
  height: 1080,
  speech: {
    text: 'Before opening a rare volume, support the spine, wash and dry your hands, and keep food, pens, and direct light away.',
    voice: 'piper_lifelike_female_english',
    language: 'en-US'
  },
  settings: {
    removeBackground: true,
    fit: 'contain'
  },
  inputs: {
    avatar: 'Piper_standing_education_front',
    background: 'https://assets.runware.ai/assets/inputs/eed3b84d-e8b1-4b3e-9286-692d3ffbba02.jpg'
  }
})
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:avatar@5",
            "width": 1080,
            "height": 1080,
            "speech": {
                "text": "Before opening a rare volume, support the spine, wash and dry your hands, and keep food, pens, and direct light away.",
                "voice": "piper_lifelike_female_english",
                "language": "en-US"
            },
            "settings": {
                "removeBackground": True,
                "fit": "contain"
            },
            "inputs": {
                "avatar": "Piper_standing_education_front",
                "background": "https://assets.runware.ai/assets/inputs/eed3b84d-e8b1-4b3e-9286-692d3ffbba02.jpg"
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "videoInference",
      "taskUUID": "667f9d1f-8acc-435a-8e20-5350d8918547",
      "model": "heygen:avatar@5",
      "width": 1080,
      "height": 1080,
      "speech": {
        "text": "Before opening a rare volume, support the spine, wash and dry your hands, and keep food, pens, and direct light away.",
        "voice": "piper_lifelike_female_english",
        "language": "en-US"
      },
      "settings": {
        "removeBackground": true,
        "fit": "contain"
      },
      "inputs": {
        "avatar": "Piper_standing_education_front",
        "background": "https://assets.runware.ai/assets/inputs/eed3b84d-e8b1-4b3e-9286-692d3ffbba02.jpg"
      }
    }
  ]'
runware run heygen:avatar@5 \
  width=1080 \
  height=1080 \
  speech.text="Before opening a rare volume, support the spine, wash and dry your hands, and keep food, pens, and direct light away." \
  speech.voice=piper_lifelike_female_english \
  speech.language=en-US \
  settings.removeBackground=true \
  settings.fit=contain \
  inputs.avatar=Piper_standing_education_front \
  inputs.background=https://assets.runware.ai/assets/inputs/eed3b84d-e8b1-4b3e-9286-692d3ffbba02.jpg
{
  "taskType": "videoInference",
  "taskUUID": "667f9d1f-8acc-435a-8e20-5350d8918547",
  "model": "heygen:avatar@5",
  "width": 1080,
  "height": 1080,
  "speech": {
    "text": "Before opening a rare volume, support the spine, wash and dry your hands, and keep food, pens, and direct light away.",
    "voice": "piper_lifelike_female_english",
    "language": "en-US"
  },
  "settings": {
    "removeBackground": true,
    "fit": "contain"
  },
  "inputs": {
    "avatar": "Piper_standing_education_front",
    "background": "https://assets.runware.ai/assets/inputs/eed3b84d-e8b1-4b3e-9286-692d3ffbba02.jpg"
  }
}
Response
{
  "taskType": "videoInference",
  "taskUUID": "667f9d1f-8acc-435a-8e20-5350d8918547",
  "videoUUID": "9cec4698-9b5a-4fed-9a17-ff5331b04d59",
  "videoURL": "https://vm.runware.ai/video/os/a04d20/ws/5/vi/9cec4698-9b5a-4fed-9a17-ff5331b04d59.mp4",
  "cost": 1.1446
}