Skip to main content
POST
/
v3
/
assets
Upload Asset
curl --request POST \
  --url https://api.heygen.com/v3/assets \
  --header 'Content-Type: multipart/form-data' \
  --header 'x-api-key: <api-key>' \
  --form file='@example-file'
{
  "data": {
    "asset_id": "<string>",
    "url": "<string>",
    "mime_type": "<string>",
    "size_bytes": 123
  }
}

Documentation Index

Fetch the complete documentation index at: https://heygen-1fa696a7.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

x-api-key
string
header
required

HeyGen API key. Obtain from your HeyGen dashboard.

Headers

Idempotency-Key
string

Optional client-supplied key for safely retrying mutations. Subsequent calls within 24 hours that share this key replay the original response — even if the request body differs slightly (a warning is logged). A retry that arrives while the original is still in flight gets a 409 request_in_progress. Keys must be 1–255 characters from [A-Za-z0-9_:.-]; a UUID is a safe default. Scope is per-endpoint and per-resource: the same key on a different route or path parameter is independent.

Required string length: 1 - 255
Pattern: ^[A-Za-z0-9_\-:.]{1,255}$

Body

multipart/form-data
file
file
required

File to upload (image, video, audio, or PDF). Max 32 MB.

Response

Successful response

data
UploadAssetV3Response · object

Response from uploading an asset via POST /v3/assets.