HeyGen Streaming API

Streaming avatar session lifecycle and task endpoints.

Operations 8

POST /v1/streaming.task Send Task #
POST /v1/streaming.stop Close Session #
POST /v1/streaming.start Start Session #
GET /v1/streaming.list List Sessions #
POST /v1/streaming.new New Session #
POST /v1/streaming.create_token Create Session Token #
POST /v1/streaming.interrupt Interrupt Task #
GET /v1/streaming/avatar.list List Streaming Avatars #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/heygen-streaming-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

heygen-streaming-api-openapi.yml Raw ↑
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