YepAPI
AI Models

HeyGen Video

HeyGen Video. General-purpose AI video generation up to 2K, 5-15 seconds.

POST/v1/media/queue
from $0.04/second

Overview

HeyGen Video — general-purpose video generation up to 2K with first-frame image-to-video. Async operation — submit a job, poll for completion.

PropertyValue
Model IDheygen/heygen-video-1
ProviderHeyGen
Resolutions480p, 768p, 2K
Aspect Ratios21:9, 16:9, 4:3, 1:1, 3:4, 9:16
Duration5–15 seconds
Audio GenerationNot supported
BillingDynamic (actual cost per job)
Pricingfrom $0.04/second

Usage

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

Step 1: Submit Job

Text-to-Video

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-video-1',
    prompt: 'A cinematic drone shot over a rugged coastline at golden hour',
    options: {
      aspectRatio: '16:9',
      resolution: '480p',
      duration: '5',
    },
  }),
});
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-video-1", "prompt": "A cinematic drone shot over a rugged coastline", "options": {"aspectRatio": "16:9", "resolution": "480p", "duration": "5"}}'

Image-to-Video

Pass a reference image via imageData to generate a video that starts from a still image (imageRole: 'first_frame').

Jobs that include a reference image are billed at the reference-image rates in Pricing.

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-video-1',
    prompt: 'Animate this scene — clouds drifting, light changing',
    options: {
      aspectRatio: '16:9',
      resolution: '480p',
      duration: '5',
      imageRole: 'first_frame',
    },
    imageData: {
      mimeType: 'image/jpeg',
      base64: '...', // Base64-encoded image
    },
  }),
});

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.video — { mimeType, base64 } when completed
curl https://api.yepapi.com/v1/media/status/JOB_ID \
  -H "x-api-key: YOUR_API_KEY"

Request Body

ParameterTypeRequiredDescriptionDefault
modelstringYesheygen/heygen-video-1 or alias heygen-video—
promptstringYesText description of the video to generate—
options.aspectRatiostringNoOne of: 21:9, 16:9, 4:3, 1:1, 3:4, 9:1616:9
options.resolutionstringNo480p, 768p, 2K480p
options.durationstringNo5 to 15 (seconds)5
options.imageRolestringNoHow to use the input image: first_framefirst_frame
imageData.mimeTypestringNoMIME type of input image (image/png, image/jpeg, image/webp)—
imageData.base64stringNoBase64-encoded input image for image-to-video generation—

Pricing

TierCost/sec
480p$0.04
768p$0.08
2K$0.21
480p with reference image$0.15
768p with reference image$0.21
2K with reference image$0.38

Example: 5-second 480p video ≈ 5 x $0.04 = $0.20. Billing is dynamic — each job is billed from the actual cost of the finished video, so shorter or lower-resolution jobs cost less.

Info

Video jobs can take several minutes to complete. Results retained for 1 hour.

Under the Hood

Powered by HeyGen Video via our AI provider.

On this page