Discussions

Ask a Question
Back to all

Understanding API Trial Limits and Usage Monitoring - Free Plan

Hello HeyGen Team,

I'm currently evaluating HeyGen's API for a small project and have successfully integrated your Photo Avatar API. The integration works great, but I've encountered confusion around usage limits and monitoring that I'd like to clarify before proceeding.

Current Situation:

  • Plan: HeyGen Free (10 API Credits)
  • Integration: Photo Avatar video generation via
    /v2/video/generate
  • Issue: Received error "trial_video_limit_exceeded" with
    message "daily api trial limit 5"

My Questions:

  1. Dual Limit System: I see "10 Credits" in my dashboard, but the API returns a "5 video daily limit" error. How do these two limits relate? Do both apply simultaneously on the Free plan?
  2. Daily Limit Reset Window: Does the "5 videos/day" reset at midnight UTC, midnight in a specific timezone, or is it a rolling 24-hour window from first API call?
  3. What Counts Toward Daily Limit: Do failed API requests (404s, validation errors) count toward the 5 video limit? Does test: true mode count separately or toward the same limit?
  4. Usage Monitoring: How can I programmatically track:
  • Remaining daily video count (not just monthly credits)

  • When my daily limit will reset

  • My video generation history

    I found /v2/user/remaining_quota for monthly credits, but
    is there an endpoint for daily video count?

  1. UI vs API Videos: Do videos generated via the HeyGen web UI count toward the API's 5 videos/day limit, or are they separate quotas?

    Context:
    I'm building an API integration and need predictable limits to properly handle rate limiting in my application. Understanding these details will help me decide whether to upgrade to Pro or if the Free tier suits my testing needs.

Current API Request Example:

{
"video_inputs": [{
"character": {"type": "talking_photo",
"talking_photo_id": "..."},
"voice": {"type": "audio", "audio_url": "..."},
"background": {"type": "color", "value": "#1a472a"}
}],
"test": true
}

Thank you for your help in clarifying these limits so I can properly implement usage monitoring and error handling in my application.

Best regards,

Alex