HeyGen brand kit from a website URL vs Sume product and scene

HeyGen builds a stored brand kit from a website URL with POST /v3/brand-kits. Sume has no kit object: you pass product, scene and avatar inputs per request.

4 min readSume
All posts

HeyGen's changelog describes POST /v3/brand-kits, which builds a brand kit from a public website URL and returns a brand_kit_id you poll until it completes. Sume's talking-video request has no stored kit in the docs read here; brand context goes in per request through an avatar handle, an optional product image and a scene.

HeyGen facts are from its changelog; Sume facts from Avatar videos, read 2026-10-01.

How does the HeyGen brand kit flow work?

The endpoint imports a brand's logos, colors and fonts from a website. The response returns a brand_kit_id usable immediately with status: "loading"; you poll GET /v3/brand-kits/{brand_kit_id} every 2 to 5 seconds until status is completed before relying on the imported assets. An Idempotency-Key header makes retries safe. The changelog says the kit goes to Video Agent output.

What does Sume take instead?

The avatar video docs list optional product and scene inputs. Omit product_image for a productless video. Use scene with type: "prompt" for scene direction, or type: "photo" with an image_url for a photo reference. Media fields must be fetchable public HTTPS URLs. The avatar itself is reused by avatar_handle, and multi-scene plans can set a background per scene.

Stored kit or per-request inputs?

Brand context in a request, from the HeyGen changelog and the Sume docs, read 2026-10-01.
NeedHeyGenSume
Reuse brand identitybrand_kit_id from a website importReuse avatar_handle; keep your own brand fields
Set the backgroundKit shapes the lookscene or per-scene background as prompt or photo
Retry safelyIdempotency-Key on kit creationIdempotency-Key on avatar calls

How do I keep a brand consistent on Sume?

Store your own brand brief (product image URL, scene prompt, avatar handle) and send it with every request. A reusable shape is a small config object in your code or database. Send the Idempotency-Key header on each create so a retry does not start a second render; for the HeyGen comparison see HeyGen idempotency vs Sume 409 conflict.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume