Livepeer · Capability

Livepeer Studio — Asset

Livepeer Studio — Asset. 6 operations. Self-contained Naftiko capability for one Studio business surface.

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

The capability includes 2 read-only operations and 4 state-changing operations. Lead operation: Retrieve assets. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Livepeer, Studio, and Asset.

Run with Naftiko LivepeerStudioAsset

What You Can Do

GET
Getassets — Retrieve assets
/asset
POST
Requestupload — Upload an asset
/asset/request-upload
POST
Uploadasset — Upload asset via URL
/asset/upload/url
GET
Getasset — Retrieves an asset
/asset/{asset-id}
PATCH
Updateasset — Patch an asset
/asset/{asset-id}
DELETE
Deleteasset — Delete an asset
/asset/{asset-id}

MCP Tools

retrieve-assets

Retrieve assets

read-only idempotent
upload-an-asset

Upload an asset

upload-asset-via-url

Upload asset via URL

retrieves-an-asset

Retrieves an asset

read-only idempotent
patch-an-asset

Patch an asset

delete-an-asset

Delete an asset

idempotent

Capability Spec

livepeer-studio-asset.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: "Livepeer Studio \u2014 Asset"
  description: "Livepeer Studio \u2014 Asset. 6 operations. Self-contained Naftiko capability for one Studio business surface."
  tags:
  - Livepeer
  - Studio
  - Asset
  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-asset
    baseUri: https://livepeer.studio/api
    description: "Livepeer Studio \u2014 Asset business capability. Self-contained, no shared references."
    resources:
    - name: asset
      path: /asset
      operations:
      - name: getassets
        method: GET
        description: Retrieve assets
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: asset-request-upload
      path: /asset/request-upload
      operations:
      - name: requestupload
        method: POST
        description: Upload an asset
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: asset-upload-url
      path: /asset/upload/url
      operations:
      - name: uploadasset
        method: POST
        description: Upload asset via URL
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: asset-assetId
      path: /asset/{assetId}
      operations:
      - name: getasset
        method: GET
        description: Retrieves an asset
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: assetId
          in: path
          type: string
          description: ID of the asset
          required: true
      - name: updateasset
        method: PATCH
        description: Patch an asset
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: assetId
          in: path
          type: string
          description: ID of the asset
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deleteasset
        method: DELETE
        description: Delete an asset
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: assetId
          in: path
          type: string
          description: ID of the asset
          required: true
    authentication:
      type: bearer
      token: '{{env.LIVEPEER_API_KEY}}'
  exposes:
  - type: rest
    namespace: livepeer-studio-asset-rest
    port: 8080
    description: "REST adapter for Livepeer Studio \u2014 Asset."
    resources:
    - path: /asset
      name: asset
      description: REST surface for asset.
      operations:
      - method: GET
        name: getassets
        description: Retrieve assets
        call: livepeer-studio-asset.getassets
        outputParameters:
        - type: object
          mapping: $.
    - path: /asset/request-upload
      name: asset-request-upload
      description: REST surface for asset-request-upload.
      operations:
      - method: POST
        name: requestupload
        description: Upload an asset
        call: livepeer-studio-asset.requestupload
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /asset/upload/url
      name: asset-upload-url
      description: REST surface for asset-upload-url.
      operations:
      - method: POST
        name: uploadasset
        description: Upload asset via URL
        call: livepeer-studio-asset.uploadasset
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /asset/{asset-id}
      name: asset-assetId
      description: REST surface for asset-assetId.
      operations:
      - method: GET
        name: getasset
        description: Retrieves an asset
        call: livepeer-studio-asset.getasset
        with:
          assetId: rest.assetId
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updateasset
        description: Patch an asset
        call: livepeer-studio-asset.updateasset
        with:
          assetId: rest.assetId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteasset
        description: Delete an asset
        call: livepeer-studio-asset.deleteasset
        with:
          assetId: rest.assetId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: livepeer-studio-asset-mcp
    port: 9090
    transport: http
    description: "MCP adapter for Livepeer Studio \u2014 Asset. One tool per consumed operation."
    tools:
    - name: retrieve-assets
      description: Retrieve assets
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: livepeer-studio-asset.getassets
      outputParameters:
      - type: object
        mapping: $.
    - name: upload-an-asset
      description: Upload an asset
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: livepeer-studio-asset.requestupload
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: upload-asset-via-url
      description: Upload asset via URL
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: livepeer-studio-asset.uploadasset
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieves-an-asset
      description: Retrieves an asset
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: livepeer-studio-asset.getasset
      with:
        assetId: tools.assetId
      outputParameters:
      - type: object
        mapping: $.
    - name: patch-an-asset
      description: Patch an asset
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: livepeer-studio-asset.updateasset
      with:
        assetId: tools.assetId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-an-asset
      description: Delete an asset
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: livepeer-studio-asset.deleteasset
      with:
        assetId: tools.assetId
      outputParameters:
      - type: object
        mapping: $.