TranscodingUpdate Transcoding Profile

Update Transcoding Profile

Update the transcode of a publish stream

curl -X POST "https://api.5centscdn.com/v2/streams/publish/1001/transcode" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
  "vprofiles": [],
  "aprofiles": [
    "12345"
  ],
  "filters": [
    "3",
    "4"
  ],
  "ltc": 1,
  "autostop": 0
}'
{
  "result": "success",
  "message": "Stream Updated",
  "stream": {
    "monitoring_id": null,
    "type": "publish",
    "id": 54220,
    "serviceid": 103,
    "name": "testalthaf2/testpublish2",
    "codec": "h264",
    "ingests": [
      [
        "RTMP"
      ],
      [
        "RTMP"
      ]
    ],
    "protocols": [
      [
        "HLS"
      ],
      [
        "HLS"
      ]
    ],
    "parentid": null,
    "server": "11,211",
    "backup": "",
    "dedicatedLTC": 1,
    "hasAdvancedFeatures": "0",
    "monitoring_triggers": null,
    "draft": "0",
    "disabled": "1",
    "created_at": "2026-01-01 00:00:00",
    "updated_at": "2026-05-06 06:52:16",
    "lastseen_at": false,
    "deleted": null,
    "ingestsLock": 0,
    "protocolsLock": 0,
    "status": "Deploying",
    "has": {
      "rtmp": 1,
      "rtsp": 0,
      "hls": 0,
      "dash": 0,
      "rtmpauth": true
    },
    "fms": {
      "server": {
        "country": "North America",
        "meta": {
          "fmsUrl": "rtmp://fms-01-01.5centscdn.com"
        }
      }
    },
    "parts": {
      "pp": "testalthaf2",
      "sn": "testpublish2",
      "full": "testalthaf2testpublish2"
    },
    "restream": {},
    "platformsCount": 7,
    "ssl_enabled": true,
    "hash": "8afd74abdfae5ccf1fe6251bbc9cd0ed.sdp",
    "publish": {
      "id": 54220,
      "type": "push",
      "mode": "hls",
      "urls": "",
      "audiofix": "N"
    },
    "ipaccess": {
      "enabled": "Y",
      "policy": "Y",
      "list": "123.2.2.2,111.2.3.4",
      "ips": "",
      "active": "Y"
    },
    "useragent": {
      "enabled": "Y",
      "policy": "Y",
      "list": "test",
      "ips": "",
      "casesensitive": "N",
      "active": "Y",
      "listArr": [
        "test"
      ]
    },
    "rtmpauth": {
      "password": "",
      "active": "N"
    },
    "transcode": {
      "ltc": 1,
      "type": "mixed",
      "enabled": true,
      "isEditable": true,
      "autostop": 0,
      "vprofiles": [],
      "aprofiles": [
        "12345"
      ],
      "filters": [
        "3",
        "4"
      ],
      "disabled": "0",
      "count": 1,
      "countRaw": 1,
      "codec": "h265",
      "isRunning": false,
      "profiles": {
        "count": {
          "total": 1,
          "sd": 1
        }
      }
    },
    "platforms": [
      {
        "id": 46674,
        "rtmp": "",
        "auth": "N",
        "username": "",
        "password": "",
        "isSRT": false,
        "key": "",
        "schedule": "instant",
        "scheduletime": "",
        "codec": null,
        "length": "00:00",
        "relid": 54220,
        "dedicatedLTC": "0",
        "transcode": {
          "ltc": 0,
          "type": "mixed",
          "enabled": false,
          "isEditable": true
        },
        "disabled": 1,
        "name": "YouTube - 1",
        "platform_id": 1,
        "provider_id": 2,
        "video_id": ""
      }
    ],
    "messages": {
      "warning": [
        "Stream is disabled.<a href='#enableModal' class='modal-trigger' style='margin-left: 25px;'>Click here to Enable Stream</a>"
      ]
    },
    "adInsertion": null
  }
}
POST
/streams/publish/{streamid}/transcode
POST
Base URLstring

Target server for requests. Edit to use your own host.

API Key (header: X-API-Key)
X-API-Keystring
Required

API key (sent in header)

Content-Typestring
Required

The media type of the request body

Options: application/json
vprofilesarray

Video transcoding profile IDs to apply, from the GET /streams/settings/profiles list. All selected profiles must share the same video codec (h264 or h265) — mixing codecs is rejected. In per-profile billing mode, a maximum of 5 profiles is allowed, further capped by the account's available SD/HD/UHD profile slots; per-minute billing mode has no profile-count limit. Send an empty array for no additional video transcoding.

aprofilesarray

Audio transcoding profile ID to apply, from the GET /streams/settings/profiles list. Single-select — send at most one profile ID in the array, or an empty array for no audio transcoding.

filtersarray

List of transcoding filter IDs to apply, from the GET /streams/settings/filters list.

ltcinteger

ID of the Live Transcoder Core (LTC) tier to allocate for this stream — for example 1 = LT1C @ $0.06/hr, up to 16 = LT16C @ $0.96/hr. The selectable range is further capped by the number of LTC cores currently available on the account; tiers above that count are out of stock and rejected.

Min: 1 • Max: 16
autostopinteger

Controls when the transcoder automatically stops after the source goes offline. -1 = Always Run (keeps running and is billed hourly until manually stopped); 0 or null = Stop After Event Ends (recommended default — stops at the end of the current event or billing hour); 1-48 = stop that many hours after the source goes offline (custom).

Min: -1 • Max: 48
Request Preview
Response

Response will appear here after sending the request

Authentication

header
X-API-Keystring
Required

API Key for authentication. Provide your API key in the header.

Path Parameters

streamidstring
Required

Stream ID

Example:
1001

Body

application/json
vprofilesarray

Video transcoding profile IDs to apply, from the GET /streams/settings/profiles list. All selected profiles must share the same video codec (h264 or h265) — mixing codecs is rejected. In per-profile billing mode, a maximum of 5 profiles is allowed, further capped by the account's available SD/HD/UHD profile slots; per-minute billing mode has no profile-count limit. Send an empty array for no additional video transcoding.

Example:
[]
aprofilesarray

Audio transcoding profile ID to apply, from the GET /streams/settings/profiles list. Single-select — send at most one profile ID in the array, or an empty array for no audio transcoding.

Example:
["12345"]
filtersarray

List of transcoding filter IDs to apply, from the GET /streams/settings/filters list.

Example:
["3","4"]
ltcinteger

ID of the Live Transcoder Core (LTC) tier to allocate for this stream — for example 1 = LT1C @ $0.06/hr, up to 16 = LT16C @ $0.96/hr. The selectable range is further capped by the number of LTC cores currently available on the account; tiers above that count are out of stock and rejected.

Example:
1
autostopinteger

Controls when the transcoder automatically stops after the source goes offline. -1 = Always Run (keeps running and is billed hourly until manually stopped); 0 or null = Stop After Event Ends (recommended default — stops at the end of the current event or billing hour); 1-48 = stop that many hours after the source goes offline (custom).

Example:
0

Responses

resultstring

Status of the API response.

messagestring

Human-readable message describing the result.

streamobject

Stream object containing configuration and status details.