---
title: SCTE-35 Insertion
slug: zixi-broadcaster-v18/scte-35-insertion
docTags: 
createdAt: 2025-12-24T18:03:26.026Z
---

Zixi supports SCTE-35 Insertion on Inputs using the API (speak to your account rep for access to broadcaster API documentation)

The SCTE-35 payload must be pre-formed by the customer and encoded as base-64 or hex to be inserted.

SCTE-35 options can be enabled by using `?advanced=1 `option when logging into broadcaster GUI in version 17+.

## To insert SCTE-35 (pre version 19)

### Setup:

::::WorkflowBlock
:::WorkflowBlockItem
On supported inputs, select **Support SCTE-35 injection:**

![Support SCTE-35 injection](https://api.archbee.com/api/optimize/mzxtTQEvCNIdUNgF2kuwJ/NOvhH4HTXvM93YXBUZIBR-20260102-201717.png)
:::

:::WorkflowBlockItem
Enter a **PID** number for SCTE-35 injection (or leave as **Auto** to match existing SCTE-35 PID):

![SCTE-35 PID](https://api.archbee.com/api/optimize/mzxtTQEvCNIdUNgF2kuwJ/7gs-vpFv9_K93JzfLOUR2-20260102-202326.png)
:::

:::WorkflowBlockItem
Select **Remove old SCTE-35 packets** to clear out existing packets:

![Remove old SCTE-35](https://api.archbee.com/api/optimize/mzxtTQEvCNIdUNgF2kuwJ/wBL_2Ekqu_KGy58_YqC7s-20260102-202426.png)
:::

:::WorkflowBlockItem
Choose “Keep Stream CBR” to insert on NULL packets and maintain PCR Accuracy in CBR Streams:

![Keep Stream CBR](https://api.archbee.com/api/optimize/mzxtTQEvCNIdUNgF2kuwJ/VJHgfIJ4NWKh5nRbldcNq-20260102-202557.png)
:::
::::

### Insertion:

Use the API to insert desired SCTE-35 payload encoded as Base64 or Hex.

- Auth=basic auth using broadcaster login
- POST to **`?add_stream_scte.json?stream=<stream-id>&scte=<base64-scte35-payload>`**

## To insert SCTE-35 (version 19+)

### Setup:

::::WorkflowBlock
:::WorkflowBlockItem
On supported inputs, select **Support SCTE-35 injection:**

![Support SCTE-35 injection](https://api.archbee.com/api/optimize/mzxtTQEvCNIdUNgF2kuwJ/YtAcQeC7KDfNAl7io49rr-20260102-203057.png)
:::

:::WorkflowBlockItem
Enter a **PID** number for SCTE-35 injection (or leave as **Auto** to match existing SCTE-35 PID):

![SCTE-35 PID](https://api.archbee.com/api/optimize/mzxtTQEvCNIdUNgF2kuwJ/6ZZ2kC_vGSKZDqblLJNLk-20260102-203241.png)
:::

:::WorkflowBlockItem
Select **Remove old SCTE-35 packets** to clear out existing packets:

![Remove old SCTE-35 packets ](https://api.archbee.com/api/optimize/mzxtTQEvCNIdUNgF2kuwJ/txJT62M0Kvt5D6MRvppxU-20260102-203455.png)
:::

:::WorkflowBlockItem
Designate an appropriate **timeout interval** when searching for NULL packet to replace with the SCTE-35 packet to maintain PCR accuracy in CBR streams. If no NULL Packet is detected by the time the timeout is reached, the SCTE-35 will be inserted anyway breaking PCR Accuracy momentarily. (if stream is VBR, set this to 0). The value is in cycle ticks, so 90,000 = 1000 ms, 180,000 = 2000 ms, etc.

![Timeout Interval for SCTE-35 Injection](https://api.archbee.com/api/optimize/mzxtTQEvCNIdUNgF2kuwJ/JS4ef-Has_7XdYLZXVz-O-20260102-204637.png)
:::
::::

### Insertion:

Use the API to insert desired SCTE-35 payload encoded as Base64 or Hex.

- Auth=basic auth using broadcaster login
- POST to **`?add_stream_scte.json?stream=<stream-id>&scte=<base64-scte35-payload>`**
