YepAPI
AI Models

HeyGen Voice

HeyGen's text-to-speech model — 10 built-in voices, raw 44.1 kHz PCM output.

POST/v1/media/queue
$0.0316/1K chars

Overview

HeyGen Voice is a text-to-speech model from HeyGen. It comes with 10 built-in voices, picked by lowercase name, and returns raw PCM at 44.1 kHz.

PropertyValue
Model IDheygen/heygen-voice-1
Aliasheygen-voice
Upstream Modelheygen/heygen-voice-1
CategoryText to Speech
Outputpcm only
Pricing$0.0316 per 1,000 characters

Usage

All media models use the async job queue. Submit a job, then poll for the result.

Step 1: Submit Job

const res = await fetch('https://api.yepapi.com/v1/media/queue', {
  method: 'POST',
  headers: {
    'x-api-key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: 'heygen/heygen-voice-1',
    prompt: 'Your text to speak goes here.',
    options: { voice: 'nadine' },
  }),
});
const { data } = await res.json();
// data.jobId — use this to poll for results
curl -X POST https://api.yepapi.com/v1/media/queue \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "heygen/heygen-voice-1", "prompt": "Your text to speak goes here."}'

Step 2: Poll for Result

const status = await fetch(`https://api.yepapi.com/v1/media/status/${data.jobId}`, {
  headers: { 'x-api-key': 'YOUR_API_KEY' },
});
const { data: job } = await status.json();
// job.status — "pending" | "processing" | "completed" | "failed"
// job.result.audio — { mimeType, base64 } when completed
curl https://api.yepapi.com/v1/media/status/JOB_ID \
  -H "x-api-key: YOUR_API_KEY"

Write the audio to a file:

import { writeFileSync } from 'node:fs';

writeFileSync('speech.pcm', Buffer.from(job.result.audio.base64, 'base64'));

Request Body

ParameterTypeRequiredDescriptionDefault
modelstringYesheygen/heygen-voice-1—
promptstringYesThe text to speak (max 50,000 bytes)—
options.voicestringNoVoice identifiernadine
options.outputFormatstringNopcm onlypcm
options.speednumberNoPlayback speed multiplier. Honoured only by models that support it1.0

Voices

nadine is used when options.voice is omitted. 10 voices available:

  • nadine
  • tabitha
  • bram
  • gareth
  • noelle
  • meredith
  • sabrina
  • lucian
  • weston
  • vincent

Features

  • 10 built-in voices
  • Same voices as HeyGen Voice Turbo
  • 44.1 kHz PCM output
  • Returns raw PCM only (see the note below)
Warning

This model returns raw PCM only — requesting outputFormat: "mp3" is rejected at submit time. job.result.audio.mimeType carries the sample rate, e.g. audio/pcm;rate=44100;channels=1, and the audio is headerless: wrap it in a WAV container or feed it to an audio pipeline directly.

Billing

Speech is billed on the length of the input text, in UTF-8 bytes — for English text one byte is one character. The cost is known before synthesis starts, so the balance check at submit time quotes the exact final charge. Jobs have a $0.01 minimum.

Under the Hood

Powered by OpenRouter's unified speech API.

On this page