Send Video Agent Message
Sends a follow-up turn to a session created in either generate or chat mode; follow-up turns preserve the session mode. Send a message, a scene edit_plan built from GET /v3/videos//scenes, or both. Items may reference different scene snapshots from this session; none identifies the output draft. edit_version is not a document lock, so two edits from one version may both be accepted. Returns the current working draft in video_id. Poll GET /v3/videos/ for status.
Authorizations
HeyGen API key. Obtain from your HeyGen dashboard.
Headers
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.
1 - 255^[A-Za-z0-9_\-:.]{1,255}$Path Parameters
Session ID
Body
- SendMessageRequest
- SendMessageRequest
One conversational or scene-edit turn in an existing Video Agent session.
Text message to the agent. Required when edit_plan is omitted; may be omitted or empty when edit_plan is provided.
1 - 10000Override avatar for this message
Override voice for this message
Brand kit ID to apply for this message. In enterprise workspaces with a locked brand policy, only the workspace default brand kit is accepted.
Optional file attachments (max 20 files)
20Asset input via publicly accessible HTTPS URL.
- AssetUrl
- AssetId
- AssetBase64
Scene-scoped natural-language edits to validate and submit atomically. Required when message is omitted or empty.
1 - 50 elementsResponse
Successful response
Response from submitting a turn to a session.

