Mux · Arazzo Workflow

Mux Live Stream With Simulcast Target

Version 1.0.0

Create a live stream, read it back, add an RTMP simulcast target, and confirm the target is registered.

1 workflow 1 source API 1 provider
View Spec View on GitHub Video InfrastructureVideo StreamingLive StreamingVideo AnalyticsVideo AIEncodingArazzoWorkflows

Provider

mux-com

Workflows

live-stream-with-simulcast
Create a live stream and attach a simulcast target, then verify the target.
Creates a live stream, reads its stream key, adds an RTMP simulcast target, and reads the target back to confirm.
4 steps inputs: latencyMode, simulcastStreamKey, simulcastUrl outputs: liveStreamId, simulcastStatus, simulcastTargetId, streamKey
1
createLiveStream
Create a live stream with a public playback policy so it can be viewed and restreamed.
2
getLiveStream
Read the live stream back to confirm it exists and capture its current status and stream key.
3
addSimulcastTarget
Add a simulcast target so the live stream is restreamed to the third party RTMP destination.
4
verifySimulcastTarget
Read the simulcast target back to confirm it is registered against the live stream.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Mux Live Stream With Simulcast Target
  summary: Create a live stream, read it back, add an RTMP simulcast target, and confirm the target is registered.
  description: >-
    Stands up a Mux Video live stream and restreams it to a third party RTMP
    destination such as YouTube or Twitch. The workflow creates a live stream
    with a public playback policy, reads the stream back to capture its stream
    key, adds a simulcast target pointing at the external RTMP endpoint, and then
    reads that simulcast target to confirm it was created. Every step spells out
    its request inline so the flow can be read and executed without opening the
    underlying OpenAPI description.
  version: 1.0.0
  x-realizes-capability-ids:
  - BC-3740.20
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-3740.20
      capability_name: OTT & Streaming Delivery
      spec: mux-com-live-streams-api-openapi.yml
      confidence: 0.8
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: liveStreamsApi
  url: ../openapi/mux-com-live-streams-api-openapi.yml
  type: openapi
workflows:
- workflowId: live-stream-with-simulcast
  summary: Create a live stream and attach a simulcast target, then verify the target.
  description: >-
    Creates a live stream, reads its stream key, adds an RTMP simulcast target,
    and reads the target back to confirm.
  inputs:
    type: object
    required:
    - simulcastUrl
    - simulcastStreamKey
    properties:
      simulcastUrl:
        type: string
        description: The RTMP(s) endpoint of the third party destination (e.g. rtmp://live.example.com/app).
      simulcastStreamKey:
        type: string
        description: The stream key on the third party service to send the parent live stream to.
      latencyMode:
        type: string
        description: Latency mode for the live stream (low, reduced, or standard).
        default: low
  steps:
  - stepId: createLiveStream
    description: >-
      Create a live stream with a public playback policy so it can be viewed and
      restreamed.
    operationId: create-live-stream
    requestBody:
      contentType: application/json
      payload:
        playback_policies:
        - public
        latency_mode: $inputs.latencyMode
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      liveStreamId: $response.body#/data/id
      streamKey: $response.body#/data/stream_key
      status: $response.body#/data/status
  - stepId: getLiveStream
    description: >-
      Read the live stream back to confirm it exists and capture its current
      status and stream key.
    operationId: get-live-stream
    parameters:
    - name: LIVE_STREAM_ID
      in: path
      value: $steps.createLiveStream.outputs.liveStreamId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      liveStreamId: $response.body#/data/id
      status: $response.body#/data/status
      streamKey: $response.body#/data/stream_key
  - stepId: addSimulcastTarget
    description: >-
      Add a simulcast target so the live stream is restreamed to the third party
      RTMP destination.
    operationId: create-live-stream-simulcast-target
    parameters:
    - name: LIVE_STREAM_ID
      in: path
      value: $steps.createLiveStream.outputs.liveStreamId
    requestBody:
      contentType: application/json
      payload:
        url: $inputs.simulcastUrl
        stream_key: $inputs.simulcastStreamKey
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      simulcastTargetId: $response.body#/data/id
      simulcastStatus: $response.body#/data/status
  - stepId: verifySimulcastTarget
    description: >-
      Read the simulcast target back to confirm it is registered against the
      live stream.
    operationId: get-live-stream-simulcast-target
    parameters:
    - name: LIVE_STREAM_ID
      in: path
      value: $steps.createLiveStream.outputs.liveStreamId
    - name: SIMULCAST_TARGET_ID
      in: path
      value: $steps.addSimulcastTarget.outputs.simulcastTargetId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      simulcastTargetId: $response.body#/data/id
      simulcastStatus: $response.body#/data/status
  outputs:
    liveStreamId: $steps.getLiveStream.outputs.liveStreamId
    streamKey: $steps.getLiveStream.outputs.streamKey
    simulcastTargetId: $steps.verifySimulcastTarget.outputs.simulcastTargetId
    simulcastStatus: $steps.verifySimulcastTarget.outputs.simulcastStatus

Work with this as data

Every workflow 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 arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • 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 workflow
curl "https://apis.io/api/v1/arazzo/mux-com-live-stream-with-simulcast-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?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.