Skip to main content
Two workspace records control how on-brand a generated video is, and they cover different halves of the problem:
  • Brand kit — how the video looks. Your colors, fonts, and logo, applied to scene backgrounds, text treatments, chart palettes, and logo placement.
  • Brand glossary — how the video sounds and reads. A list of your custom terms with the pronunciation each one should get, so HeyGen is spoken hey-jen and product names survive translation intact.
Both are authored in the HeyGen web app under Brand Kit and are read-only over the API — you list them, get their IDs, and pass those IDs when you create a video. There is no endpoint that creates or edits either one.

Which endpoint takes which

The two IDs go to different endpoints, and no endpoint accepts both. Video Agent is the only consumer of a brand kit; everything that turns a written script into speech takes a glossary instead. A brand kit reaches a Studio or Templates video the other way around: build the look into the composition or the template itself, then use a glossary for the audio.

Scope of each field

brand_kit_id and brand_glossary_id are both global to the request — one value per call, applied to everything it produces. In a translation batch or a video batch the glossary is per item, so a single batch can send different glossaries to different videos. On POST /v3/videos, brand_glossary_id applies to the studio, avatar, and image composition types. It takes effect only where speech is synthesized from a script, so a caller-supplied audio_url or audio_asset_id is unaffected, and captions keep the original script wording either way. cinematic_avatar does not accept the field, because it has no script or voice: motion and speech are driven by the prompt and its reference assets.

Both IDs are workspace-scoped

A brand kit or glossary is visible only to API keys belonging to the workspace that owns it. IDs are 32-character hex strings with no prefix:
An ID that does not exist in the caller’s workspace is rejected when the request is made, so a bad ID costs you nothing — no video is created and no credits are consumed. If a valid-looking ID is rejected, confirm the API key belongs to the same workspace that owns the record.

Combining brand with a style

For Video Agent, brand_kit_id and style_id are independent and compose: a style picks the look — scene layout, pacing, aesthetic — and the brand kit makes that look yours. Use a style for the shape of the video and a brand kit to make it recognizably you.