HeyGen Avatar IV
https://api.hiapi.ai /v1/tasks Image, video, and audio models are called through theUnified Async API POST /v1/tasks endpoint; only the input fields differ (see input parameters below).
Model summary
| Model | heygen-avatar-iv |
|---|---|
| Capability | Photo avatar video |
| Driving method | Script and voice / driving audio |
| Output | MP4, 720p / 1080p |
Turn one portrait photo into a lip-synced talking video from a script or driving audio.
Production guidance
- Use exactly one of prompt or audio_url.
- Pass the photo, audio and background image as publicly accessible HTTPS URLs.
- Use a front-facing portrait with even lighting and an unobstructed face.
- Use callback.url for terminal notifications and GET /v1/tasks/:id as a fallback query.
Best suited for
Send a photo and a script, then pick a voice to generate a presenter video.
image_urlpromptvoiceSend a photo and existing audio to drive lip-sync directly.
image_urlaudio_urlOutput 9:16 and fill the area outside the portrait with a background.
aspect_ratiobackgroundRequest parameters
model string required Model ID.
input object required HeyGen Avatar IV parameters.
image_url string required Photo of the person who speaks in the video; it needs one clear face.
prompt string optional Script the person in the photo speaks, up to 5,000 characters. Use either prompt or audio_url.
voice string optional Voice used for script-driven video. See all voice presets ↓
audio_url string optional Audio that drives lip-sync; the person speaks along with this recording, up to 600 seconds. Use either audio_url or prompt.
resolution enum optional Output video resolution.
aspect_ratio enum optional Aspect ratio of the video, such as landscape 16:9 or vertical 9:16; auto keeps the photo ratio.
background object optional Fills the area outside the portrait when the aspect ratio differs from the photo; white when omitted.
type enum required Background type.
value string required #RRGGBB for color, or an image HTTPS URL for image.
callback object optional Sends the task object when the task reaches a terminal state.
url string required HTTPS URL that receives terminal notifications.
when enum optional Triggers on terminal status.
Voice presets (102)
Pass the exact Request value shown on each card in input.voice.
Show all 102 voice presets Hide all 102 voice presets
Warm Pro Narrator Chill Brian Ivy John Doe Monika Sogam Hope Archer Brittney Patrick David Castlemore Michael C Adam Stone Juniper Cassidy Jessica Anne Bogart Arabella Andrew Spuds Oxley Grace Elder Helen Canyon Rivers Derya - Lifelike - Excited Mellow Marcus Jack Sterling - Broadcaster Brenda - UGC - 1.mp4 Reid Reagan Terry Jenny Radio Rick Denise Tim in car - Excited Iskander Thompson Delicate Daisy - Excited Kingston George UGC 1 Bold Blake Jane Expressive Evan Marianne - IA Aaron Modern Recipe Host - Voice 1 Willow Cute Chloe - Friendly Rafael June - Lifelike Crisp Chloe Slick Simon Nassim - Informative Baritone Ben Maxwell Ellie Faye - Excited Milani Feisty Fiona - Excited Professor Dean Rose - UGC - 1.mp4 Shona Hudson Wilder Ann - IA Alastair Kensington Oxley Christina Andrew Rizz Peyton Gerardo - Outdoor Chloe - Lifelike Stephanie Anthony - IA Signal - Voice 1 Luca Lisa - Voice 1 T.W.Tucker Jack Sullivan - Serious Winter Mireia - Lifelike Georgia Stella Masha - Lifelike Charming Charles - Friendly Serenity Annie - Excited Ralph Bethany Dominic Mason Finn Leena Veteran Victor Tamara Nik Public Calm Chloe Sevik Reilly Raul Imposing Ian Relaxed Ray Dexter - Professional Relaxed Rick Edwin Rupert Blackwood Ginny Hope No matching voice values
Example requests
Generate a landscape presenter video from a photo and script.
{
"model": "heygen-avatar-iv",
"input": {
"image_url": "https://example.com/portrait.png",
"prompt": "Hi, I'm Lin. With one photo and a short script, I can present your product or record a lesson, with natural lip-sync and expressions.",
"voice": "Cute Chloe - Friendly",
"resolution": "1080p",
"aspect_ratio": "16:9"
}
}Drive lip-sync from existing audio and fill the 9:16 frame with a solid color.
{
"model": "heygen-avatar-iv",
"input": {
"image_url": "https://example.com/portrait.png",
"audio_url": "https://example.com/voice.mp3",
"resolution": "720p",
"aspect_ratio": "9:16",
"background": {
"type": "color",
"value": "#F5EFE6"
}
}
}Getting the result
- Read data.taskId after creating the task.
- Wait for the callback or query GET /v1/tasks/:id.
- On status=success, read the video URL from the output item whose type is video.