HeyGen Streaming API
Streaming avatar session lifecycle and task endpoints.
Streaming avatar session lifecycle and task endpoints.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/heygen-streaming-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: HeyGen Account Streaming API
version: 4.0.8
description: OpenAPI specification for the HeyGen API endpoints referenced across the documentation.
servers:
- url: https://api.heygen.com
security:
- ApiKeyAuth: []
tags:
- name: Streaming
description: Streaming avatar session lifecycle and task endpoints.
paths:
/v1/streaming.task:
post:
summary: Send Task
description: This endpoint is used to send a text to an Interactive Avatar, prompting it to speak the provided text.
operationId: send-task
requestBody:
content:
application/json:
schema:
type: object
properties:
RAW_BODY:
type: string
default: '{"session_id": "<SESSION_ID>","text": "<TEXT>"}'
format: json
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
x-mint:
href: /reference/send-task
tags:
- Streaming
security:
- ApiKeyAuth: []
/v1/streaming.stop:
post:
summary: Close Session
description: This endpoint is used to terminate an active streaming session.
operationId: close-session
requestBody:
content:
application/json:
schema:
type: object
properties:
session_id:
type: string
description: The ID of the session to be stopped.
default: session_id
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
x-mint:
href: /reference/close-session
tags:
- Streaming
security:
- ApiKeyAuth: []
/v1/streaming.start:
post:
summary: Start Session
description: This endpoint is used to start the connection for an existing streaming session.
operationId: start-session
requestBody:
content:
application/json:
schema:
type: object
properties:
session_id:
type: string
default: '123456'
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
x-mint:
href: /reference/start-session
tags:
- Streaming
security:
- ApiKeyAuth: []
/v1/streaming.list:
get:
summary: List Sessions
description: This endpoint is used to retrieve a list of currently active streaming sessions.
operationId: list-sessions
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
x-mint:
href: /reference/list-sessions
tags:
- Streaming
security:
- ApiKeyAuth: []
/v1/streaming.new:
post:
summary: New Session
description: This endpoint is used to initiate a new streaming session.
operationId: new-session
requestBody:
content:
application/json:
schema:
type: object
properties:
quality:
type: string
default: medium
avatar_id:
type: string
description: ID of the Interactive Avatar you would like to use with the Streaming API
voice_name:
type: string
description: voice to use
voice:
type: object
properties:
voice_id:
type: string
rate:
type: number
default: 1
format: float
emotion:
type: string
knowledge_base:
type: string
description: Knowledge Base prompt used for chat task type.
video_encoding:
type: string
default: VP8
disable_idle_timeout:
type: boolean
description: By default session has a 2 minute idle timeout, setting to true disables it
default: false
version:
type: string
default: v2
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
x-mint:
href: /reference/new-session
tags:
- Streaming
security:
- ApiKeyAuth: []
/v1/streaming.create_token:
post:
summary: Create Session Token
description: This endpoint is used to generate a new access token for a streaming session.
operationId: create-session-token
requestBody:
content:
application/json:
schema:
type: object
properties:
RAW_BODY:
type: string
default: '{}'
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
x-mint:
href: /reference/create-session-token
tags:
- Streaming
security:
- ApiKeyAuth: []
/v1/streaming.interrupt:
post:
summary: Interrupt Task
description: This endpoint is used to interrupt the speaking of an Interactive Avatar.
operationId: interrupt-task
requestBody:
content:
application/json:
schema:
type: object
properties:
session_id:
type: string
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
x-mint:
href: /reference/interrupt-task
tags:
- Streaming
security:
- ApiKeyAuth: []
/v1/streaming/avatar.list:
get:
summary: List Streaming Avatars
description: This API endpoint allows you to retrieve a list of public and custom interactive avatars.
operationId: streaming-avatar-list
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
x-mint:
href: /reference/streaming-avatar-list
tags:
- Streaming
security:
- ApiKeyAuth: []
components:
securitySchemes:
sec0:
type: apiKey
in: header
name: x-api-key
x-default: <your-api-key>
ApiKeyAuth:
type: apiKey
in: header
name: X-API-KEY