Livepeer · Capability

Livepeer Studio — Stream

Livepeer Studio — Stream. 11 operations. Self-contained Naftiko capability for one Studio business surface.

Livepeer Studio — Stream is a Naftiko capability published by Livepeer, one of 19 capabilities the APIs.io network indexes for this provider. It bundles 11 operations across the POST, GET, DELETE, and PATCH methods.

The capability includes 3 read-only operations and 8 state-changing operations. Lead operation: Create a stream. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Livepeer, Studio, and Stream.

Run with Naftiko LivepeerStudioStream

What You Can Do

POST
Createstream — Create a stream
/stream
GET
Getstreams — Retrieve streams
/stream
GET
Getstream — Retrieve a stream
/stream/{id}
PATCH
Updatestream — Update a stream
/stream/{id}
DELETE
Deletestream — Delete a stream
/stream/{id}
DELETE
Terminatestream — Terminates a live stream
/stream/{id}/terminate
POST
Startpullstream — Start ingest for a pull stream
/stream/{id}/start-pull
POST
Createclip — Create a clip
/clip
GET
Getclips — Retrieve clips of a livestream
/stream/{id}/clips
POST
Addmultistreamtarget — Add a multistream target
/stream/{id}/create-multistream-target
DELETE
Removemultistreamtarget — Remove a multistream target
/stream/{id}/multistream/{target-id}

MCP Tools

create-a-stream

Create a stream

retrieve-streams

Retrieve streams

read-only idempotent
retrieve-a-stream

Retrieve a stream

read-only idempotent
update-a-stream

Update a stream

delete-a-stream

Delete a stream

idempotent
terminates-a-live-stream

Terminates a live stream

idempotent
start-ingest-for-a-pull-stream

Start ingest for a pull stream

create-a-clip

Create a clip

retrieve-clips-of-a-livestream

Retrieve clips of a livestream

read-only idempotent
add-a-multistream-target

Add a multistream target

remove-a-multistream-target

Remove a multistream target

idempotent

Capability Spec

livepeer-studio-stream.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: "Livepeer Studio \u2014 Stream"
  description: "Livepeer Studio \u2014 Stream. 11 operations. Self-contained Naftiko capability for one Studio business surface."
  tags:
  - Livepeer
  - Studio
  - Stream
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    LIVEPEER_API_KEY: LIVEPEER_API_KEY
capability:
  consumes:
  - type: http
    namespace: livepeer-studio-stream
    baseUri: https://livepeer.studio/api
    description: "Livepeer Studio \u2014 Stream business capability. Self-contained, no shared references."
    resources:
    - name: stream
      path: /stream
      operations:
      - name: createstream
        method: POST
        description: Create a stream
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: getstreams
        method: GET
        description: Retrieve streams
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: streamsonly
          in: query
          type: string
          description: query parameter 'streamsonly'
          required: false
    - name: stream-id
      path: /stream/{id}
      operations:
      - name: getstream
        method: GET
        description: Retrieve a stream
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatestream
        method: PATCH
        description: Update a stream
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deletestream
        method: DELETE
        description: Delete a stream
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: ID of the stream
          required: true
    - name: stream-id-terminate
      path: /stream/{id}/terminate
      operations:
      - name: terminatestream
        method: DELETE
        description: Terminates a live stream
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: stream-id-start-pull
      path: /stream/{id}/start-pull
      operations:
      - name: startpullstream
        method: POST
        description: Start ingest for a pull stream
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: clip
      path: /clip
      operations:
      - name: createclip
        method: POST
        description: Create a clip
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: stream-id-clips
      path: /stream/{id}/clips
      operations:
      - name: getclips
        method: GET
        description: Retrieve clips of a livestream
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: ID of the parent stream or playbackId of parent stream
          required: true
    - name: stream-id-create-multistream-target
      path: /stream/{id}/create-multistream-target
      operations:
      - name: addmultistreamtarget
        method: POST
        description: Add a multistream target
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: ID of the parent stream
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: stream-id-multistream-targetId
      path: /stream/{id}/multistream/{targetId}
      operations:
      - name: removemultistreamtarget
        method: DELETE
        description: Remove a multistream target
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: ID of the parent stream
          required: true
        - name: targetId
          in: path
          type: string
          description: ID of the multistream target
          required: true
    authentication:
      type: bearer
      token: '{{env.LIVEPEER_API_KEY}}'
  exposes:
  - type: rest
    namespace: livepeer-studio-stream-rest
    port: 8080
    description: "REST adapter for Livepeer Studio \u2014 Stream."
    resources:
    - path: /stream
      name: stream
      description: REST surface for stream.
      operations:
      - method: POST
        name: createstream
        description: Create a stream
        call: livepeer-studio-stream.createstream
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getstreams
        description: Retrieve streams
        call: livepeer-studio-stream.getstreams
        with:
          streamsonly: rest.streamsonly
        outputParameters:
        - type: object
          mapping: $.
    - path: /stream/{id}
      name: stream-id
      description: REST surface for stream-id.
      operations:
      - method: GET
        name: getstream
        description: Retrieve a stream
        call: livepeer-studio-stream.getstream
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updatestream
        description: Update a stream
        call: livepeer-studio-stream.updatestream
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletestream
        description: Delete a stream
        call: livepeer-studio-stream.deletestream
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /stream/{id}/terminate
      name: stream-id-terminate
      description: REST surface for stream-id-terminate.
      operations:
      - method: DELETE
        name: terminatestream
        description: Terminates a live stream
        call: livepeer-studio-stream.terminatestream
        outputParameters:
        - type: object
          mapping: $.
    - path: /stream/{id}/start-pull
      name: stream-id-start-pull
      description: REST surface for stream-id-start-pull.
      operations:
      - method: POST
        name: startpullstream
        description: Start ingest for a pull stream
        call: livepeer-studio-stream.startpullstream
        outputParameters:
        - type: object
          mapping: $.
    - path: /clip
      name: clip
      description: REST surface for clip.
      operations:
      - method: POST
        name: createclip
        description: Create a clip
        call: livepeer-studio-stream.createclip
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /stream/{id}/clips
      name: stream-id-clips
      description: REST surface for stream-id-clips.
      operations:
      - method: GET
        name: getclips
        description: Retrieve clips of a livestream
        call: livepeer-studio-stream.getclips
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /stream/{id}/create-multistream-target
      name: stream-id-create-multistream-target
      description: REST surface for stream-id-create-multistream-target.
      operations:
      - method: POST
        name: addmultistreamtarget
        description: Add a multistream target
        call: livepeer-studio-stream.addmultistreamtarget
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /stream/{id}/multistream/{target-id}
      name: stream-id-multistream-targetId
      description: REST surface for stream-id-multistream-targetId.
      operations:
      - method: DELETE
        name: removemultistreamtarget
        description: Remove a multistream target
        call: livepeer-studio-stream.removemultistreamtarget
        with:
          id: rest.id
          targetId: rest.targetId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: livepeer-studio-stream-mcp
    port: 9090
    transport: http
    description: "MCP adapter for Livepeer Studio \u2014 Stream. One tool per consumed operation."
    tools:
    - name: create-a-stream
      description: Create a stream
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: livepeer-studio-stream.createstream
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-streams
      description: Retrieve streams
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: livepeer-studio-stream.getstreams
      with:
        streamsonly: tools.streamsonly
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-a-stream
      description: Retrieve a stream
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: livepeer-studio-stream.getstream
      outputParameters:
      - type: object
        mapping: $.
    - name: update-a-stream
      description: Update a stream
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: livepeer-studio-stream.updatestream
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-a-stream
      description: Delete a stream
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: livepeer-studio-stream.deletestream
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: terminates-a-live-stream
      description: Terminates a live stream
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: livepeer-studio-stream.terminatestream
      outputParameters:
      - type: object
        mapping: $.
    - name: start-ingest-for-a-pull-stream
      description: Start ingest for a pull stream
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: livepeer-studio-stream.startpullstream
      outputParameters:
      - type: object
        mapping: $.
    - name: create-a-clip
      description: Create a clip
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: livepeer-studio-stream.createclip
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-clips-of-a-livestream
      description: Retrieve clips of a livestream
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: livepeer-studio-stream.getclips
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: add-a-multistream-target
      description: Add a multistream target
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: livepeer-studio-stream.addmultistreamtarget
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-a-multistream-target
      description: Remove a multistream target
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: livepeer-studio-stream.removemultistreamtarget
      with:
        id: tools.id
        targetId: tools.targetId
      outputParameters:
      - type: object
        mapping: $.