---
title: HeyGen API Alternative: Talking Video From One Photo
description: HeyGen's photo avatar API costs $0.05/s. ModelsLab's OmniHuman 1.5 costs $0.14/s and takes any photo, audio and a prompt, with voice and lip sync on one key.
url: https://modelslab.com/heygen-api-alternative
canonical: https://modelslab.com/heygen-api-alternative
type: website
component: Seo/HeygenApiAlternative
generated_at: 2026-10-15T15:54:47.431174Z
---

Video Fusion

HeyGen API Alternative: Talking Video From One Photo
---

Last updated Oct 15, 2026 · By ModelsLab Engineering

HeyGen's API is pay-as-you-go from $5 and prices a photo avatar at $0.05 a second. ModelsLab is not cheaper per second: OmniHuman 1.5 turns one photo and an audio track into a talking video for $0.14 a second of audio. It fits when you want the photo, the voice and the video from one API key, a text prompt that directs the performance, or lip sync on footage you already have at $0.07 a second.

[Get API key](https://modelslab.com/register) [API Documentation](https://docs.modelslab.com)

- OmniHuman 1.5: $0.14 per second
- lipsync-2: $0.07 per second
- Voice, image and video on one key

HeyGen vs ModelsLab for Talking Video
---

A photo avatar on HeyGen's API against OmniHuman 1.5 on ModelsLab, from each provider's own pages.

|  | HeyGen API (Photo Avatar) | ModelsLab OmniHuman 1.5 |
|---|---|---|
| Price | $0.05 per second ($3.00 a minute) | $0.14 per second of audio ($8.40 a minute) |
| To start | Pay as you go from $5 | Plan from $21/month |
| Input | A HeyGen avatar (photo or digital twin), plus a script or audio | Any photo URL, an audio URL and a text prompt in one request |
| Length per request | Not compared here | Up to 35 seconds of audio (30 s on OmniHuman 1.0) |
| Voice | Built-in voices; video translation billed separately | Text to speech and voice cloning on the same key, $0.001 per second of audio |
| Existing footage | Lip sync billed per second of source video | lipsync-2 at $0.07 per second, up to 60 seconds of audio |
| Output | MP4 | MP4 URL, fetch by id, or webhook |

Read on October 15, 2026. HeyGen's figure is its Avatar IV photo avatar rate; its Digital Twin and Avatar III rates differ.

When Each One Is the Better Choice
---

### Choose HeyGen for long presenter videos

At $0.05 a second, a 10-minute training video costs about $30 on HeyGen against $84 on OmniHuman 1.5, rendered in 35-second pieces. D-ID’s monthly plans work out near $1 a minute. If your product is long-form talking-head video, those are the cheaper APIs.

### Choose ModelsLab for short clips inside a larger pipeline

OmniHuman 1.5 takes any photo you pass by URL — no avatar to create first — and a prompt that directs gestures, expression and camera, and it renders up to 35 seconds of audio per call. The rest of the pipeline is on the same key: generate the character with an image model, write the line with an LLM, voice it with text to speech, then animate it. For ads, social clips and in-app characters, that is one bill instead of four.

For a selfie-to-avatar image instead of a video, see the [AI avatar API](/ai-avatar-api); to sync new audio onto video you already have, see the [lip sync API](/lip-sync-api).

Make a photo talk with one request
---

Send one image URL, one audio URL and a prompt. Renders are queued: read the MP4 URL from the fetch reply.

### cURL — OmniHuman 1.5

bash

```
<code>1curl -X POST 'https://modelslab.com/api/v7/video-fusion/image-to-video' \
2  -H 'Content-Type: application/json' \
3  -d '{
4    "key": "YOUR_MODELSLAB_API_KEY",
5    "model_id": "omni-human-1.5",
6    "init_image": ["https://example.com/presenter.png"],
7    "init_audio": "https://example.com/line.mp3",
8    "prompt": "She speaks warmly to the camera, small nods, hands still, fixed framing"
9  }'
10# The reply carries "fetch_result". POST it with your key until "status"
11# is "success"; the MP4 URL is in "output".</code>
```

### Python — wait for the video

python

```
<code>1import time
2

3import requests
4

5KEY = "YOUR_MODELSLAB_API_KEY"
6

7result = requests.post(
8    "https://modelslab.com/api/v7/video-fusion/image-to-video",
9    json={
10        "key": KEY,
11        "model_id": "omni-human-1.5",
12        "init_image": ["https://example.com/presenter.png"],
13        "init_audio": "https://example.com/line.mp3",
14        "prompt": "She speaks warmly to the camera, small nods, fixed framing",
15    },
16    timeout=60,
17).json()
18fetch_url = result.get("fetch_result")
19

20while result.get("status") == "processing":
21    time.sleep(20)
22    result = requests.post(fetch_url, json={"key": KEY}, timeout=60).json()
23

24print(result["output"][0] if result.get("status") == "success" else result)</code>
```

Talking Avatar API Prices Compared
---

HeyGen alternatives with a public price, per minute of finished video.

| Provider | API access | Published price | Per minute of video |
|---|---|---|---|
| HeyGen (Photo Avatar, Avatar IV) | Pay as you go from $5 | $0.05 per second | $3.00 |
| D-ID | Monthly API plans | Build $18 for 16 min, Launch $50 for 45 min, Scale $198 for 200 min | $0.99 to $1.13 |
| Synthesia | API on Pro ($89/month) and Enterprise only | Minutes come out of the plan | Not published per minute |
| Tavus | Monthly plans | Builder $59 for 15 min, then $1 a minute | $1.00 overage |
| ModelsLab OmniHuman 1.5 | Public REST API, plans from $21/month | $0.14 per second of audio | $8.40 |
| ModelsLab lipsync-2 (existing video) | Same key | $0.07 per second of audio | $4.20 |

Read on each provider's own page on October 15, 2026, in the unit the provider publishes. HeyGen's developer docs price a Photo Avatar at 0.1 credits a second on Enterprise and state that this equals $0.05 a second on pay-as-you-go. D-ID's per-minute figures divide each plan's price by its included minutes.

Sources
---

Every competitor price on this page, with the page we read it on.

- [HeyGen — FAQ (API pricing)](https://www.heygen.com/faq) — "You can start with $5 (100% pay-as-you-go)"
- [HeyGen — developer docs, enterprise pricing](https://developers.heygen.com/docs/enterprise-pricing) — Photo Avatar 0.1 credits/sec, "the equivalent of $0.05 / sec"; 1 credit = $0.50; video translation and lip sync billed per second of source video
- [D-ID — API pricing](https://www.d-id.com/pricing/api/) — Build $18 (16 min), Launch $50 (45 min), Scale $198 (200 min), monthly
- [Synthesia — pricing](https://www.synthesia.io/pricing) — API access on Pro and Enterprise; Pro $89/month
- [Tavus — pricing](https://www.tavus.io/pricing) — Builder $59 for 15 video minutes, $1 per extra minute

Get Expert Support in Seconds

We're Here to Help.
---

Want to know more? You can email us anytime at <support@modelslab.com>

Chat with support[View Docs](https://docs.modelslab.com)


Per second, HeyGen's photo avatar at $0.05 is cheaper than ModelsLab's OmniHuman 1.5 at $0.14, and D-ID's API plans work out at $0.99 to $1.13 a minute (prices read October 15, 2026). ModelsLab fits short clips where you also need the image, the voice and lip sync on one API key.


POST https://modelslab.com/api/v7/video-fusion/image-to-video with model_id omni-human-1.5, init_image (a list with one image URL), init_audio (an audio URL) and a prompt describing the performance. It is billed per second of audio, and the MP4 URL comes back in output after you POST the fetch_result URL.


OmniHuman 1.5 takes up to 35 seconds of audio per request and OmniHuman 1.0 up to 30 seconds. For a longer video, split the script and join the clips.


Yes. POST https://modelslab.com/api/v7/video-fusion/lip-sync with model_id lipsync-2, init_video and init_audio. It costs $0.07 per second of audio and takes up to 60 seconds.


Yes. Text to speech and voice cloning run on the same key at $0.001 per second of audio through POST /api/v6/voice/text_to_audio; pass the returned audio URL as init_audio.

## Frequently Asked Questions

### Is there a cheaper alternative to the HeyGen API?
Per second, HeyGen's photo avatar at $0.05 is cheaper than ModelsLab's OmniHuman 1.5 at $0.14, and D-ID's API plans work out at $0.99 to $1.13 a minute (prices read October 15, 2026). ModelsLab fits short clips where you also need the image, the voice and lip sync on one API key.

### How do I make a photo talk with the ModelsLab API?
POST https://modelslab.com/api/v7/video-fusion/image-to-video with model_id omni-human-1.5, init_image (a list with one image URL), init_audio (an audio URL) and a prompt describing the performance. It is billed per second of audio, and the MP4 URL comes back in output after you POST the fetch_result URL.

### How long can one clip be?
OmniHuman 1.5 takes up to 35 seconds of audio per request and OmniHuman 1.0 up to 30 seconds. For a longer video, split the script and join the clips.

### Can I lip-sync video I already have?
Yes. POST https://modelslab.com/api/v7/video-fusion/lip-sync with model_id lipsync-2, init_video and init_audio. It costs $0.07 per second of audio and takes up to 60 seconds.

### Can I generate the voice too?
Yes. Text to speech and voice cloning run on the same key at $0.001 per second of audio through POST /api/v6/voice/text_to_audio; pass the returned audio URL as init_audio.


---

*This markdown version is optimized for AI agents and LLMs.*

**Links:**
- [Website](https://modelslab.com)
- [API Documentation](https://docs.modelslab.com)
- [Blog](https://modelslab.com/blog)

---
*Generated by ModelsLab - 2026-10-15*