Twilio MediaProcessors API

The MediaProcessors API from Twilio — 2 operation(s) for mediaprocessors.

Operations 4

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /v1/MediaProcessors Start a media processor · Create media processor #
Ask an LLM
“How do I start a Media Extension like the video composer on a live video room?”
“Can I cap how long a media processor runs before it stops on its own?”
Tell an agent
Start a media processor with extension {extension} and context {extension_context}.
Run extension {extension} with context {extension_context} for at most {max_duration} seconds and send events to {status_callback}.
GET /v1/MediaProcessors List media processors · List media processor #
Ask an LLM
“Which of my media processors have failed?”
“Can I list media processors oldest first?”
Tell an agent
List media processors with status {status}.
Show my media processors sorted {order} by creation date.
GET /v1/MediaProcessors/{Sid} Get one media processor · Fetch media processor #
Ask an LLM
“Is a particular media processor still running?”
“What extension and settings is one media processor using?”
Tell an agent
Get media processor {sid}.
Check the status of media processor {sid}.
POST /v1/MediaProcessors/{Sid} Stop a running media processor · Update media processor #
Ask an LLM
“How do I end a media processor before its maximum duration?”
“Can I change the status of a running media processor?”
Tell an agent
Set media processor {sid} to status {status}.
End running media processor {sid} now by updating its status to {status}.

Documentation

Specifications

Other Resources

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/twilio-mediaprocessors-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

twilio-mediaprocessors-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Twilio - Media Media Processors API
  description: This is the public Twilio REST API.
  termsOfService: https://www.twilio.com/legal/tos
  contact:
    name: Twilio Support
    url: https://support.twilio.com
    email: support@twilio.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  version: 1.52.0
servers:
- url: https://media.twilio.com
tags:
- name: MediaProcessors
paths:
  /v1/MediaProcessors:
    servers:
    - url: https://media.twilio.com
    description: A MediaProcessor resource provides the ability to capture content from a web application with a Twilio Media Extension to create a livestream.
    x-twilio:
      defaultOutputProperties:
      - sid
      - status
      - extension
      - extension_context
      pathType: list
      mountName: media_processor
    post:
      description: ''
      tags:
      - MediaProcessors
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/media.v1.media_processor'
          description: Created
      security:
      - accountSid_authToken: []
      operationId: CreateMediaProcessor
      x-maturity:
      - GA
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateMediaProcessorRequest'
      summary: Create media processor
      x-summary-source: derived
    get:
      description: Returns a list of MediaProcessors.
      tags:
      - MediaProcessors
      parameters:
      - name: Order
        in: query
        description: 'The sort order of the list by `date_created`. Can be: `asc` (ascending) or `desc` (descending) with `desc` as the default.'
        schema:
          type: string
          $ref: '#/components/schemas/media_processor_enum_order'
      - name: Status
        in: query
        description: Status to filter by, with possible values `started`, `ended` or `failed`.
        schema:
          type: string
          $ref: '#/components/schemas/media_processor_enum_status'
      - name: PageSize
        in: query
        description: How many resources to return in each list page. The default is 50, and the maximum is 1000.
        schema:
          type: integer
          minimum: 1
          maximum: 1000
      - name: Page
        in: query
        description: The page index. This value is simply for client state.
        schema:
          type: integer
          minimum: 0
      - name: PageToken
        in: query
        description: The page token. This is provided by the API.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListMediaProcessorResponse'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: ListMediaProcessor
      x-maturity:
      - GA
      summary: List media processor
      x-summary-source: derived
  /v1/MediaProcessors/{Sid}:
    servers:
    - url: https://media.twilio.com
    description: A MediaProcessor resource provides the ability to capture content from a web application with a Twilio Media Extension to create a livestream.
    x-twilio:
      defaultOutputProperties:
      - sid
      - status
      - extension
      - extension_context
      pathType: instance
      mountName: media_processor
    get:
      description: Returns a single MediaProcessor resource identified by a SID.
      tags:
      - MediaProcessors
      parameters:
      - name: Sid
        in: path
        description: The SID of the MediaProcessor resource to fetch.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^ZX[0-9a-fA-F]{32}$
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/media.v1.media_processor'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: FetchMediaProcessor
      x-maturity:
      - GA
      summary: Fetch media processor
      x-summary-source: derived
    post:
      description: Updates a MediaProcessor resource identified by a SID.
      tags:
      - MediaProcessors
      parameters:
      - name: Sid
        in: path
        description: The SID of the MediaProcessor resource to update.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^ZX[0-9a-fA-F]{32}$
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/media.v1.media_processor'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: UpdateMediaProcessor
      x-maturity:
      - GA
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateMediaProcessorRequest'
      summary: Update media processor
      x-summary-source: derived
components:
  schemas:
    media.v1.media_processor:
      type: object
      properties:
        account_sid:
          type:
          - string
          - 'null'
          minLength: 34
          maxLength: 34
          pattern: ^AC[0-9a-fA-F]{32}$
          description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the MediaProcessor resource.
        sid:
          type:
          - string
          - 'null'
          minLength: 34
          maxLength: 34
          pattern: ^ZX[0-9a-fA-F]{32}$
          description: The unique string generated to identify the MediaProcessor resource.
        date_created:
          type:
          - string
          - 'null'
          format: date-time
          description: The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        date_updated:
          type:
          - string
          - 'null'
          format: date-time
          description: The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        extension:
          type:
          - string
          - 'null'
          description: 'The [Media Extension](/docs/live/media-extensions-overview) name or URL. Ex: `video-composer-v2`'
          x-twilio:
            pii:
              handling: standard
              deleteSla: 30
        extension_context:
          type:
          - string
          - 'null'
          description: The context of the Media Extension, represented as a JSON dictionary. See the documentation for the specific [Media Extension](/docs/live/media-extensions-overview) you are using for more information about the context to send.
        status:
          type:
          - string
          - 'null'
          $ref: '#/components/schemas/media_processor_enum_status'
          description: 'The status of the MediaProcessor. Can be: `started`, `ended` or `failed`.'
        url:
          type:
          - string
          - 'null'
          format: uri
          description: The absolute URL of the resource.
        ended_reason:
          type:
          - string
          - 'null'
          description: The reason why a MediaProcessor ended. When a MediaProcessor is in progress, will be `null`. When a MediaProcessor is completed, can be `ended-via-api`, `max-duration-exceeded`, `error-loading-extension`, `error-streaming-media` or `internal-service-error`. See [ended reasons](/docs/live/api/mediaprocessors#mediaprocessor-ended-reason-values) for more details.
        status_callback:
          type:
          - string
          - 'null'
          format: uri
          description: The URL to which Twilio will send asynchronous webhook requests for every MediaProcessor event. See [Status Callbacks](/docs/live/api/status-callbacks) for details.
        status_callback_method:
          type:
          - string
          - 'null'
          format: http-method
          enum:
          - HEAD
          - GET
          - POST
          - PATCH
          - PUT
          - DELETE
          description: The HTTP method Twilio should use to call the `status_callback` URL. Can be `POST` or `GET` and the default is `POST`.
        max_duration:
          type:
          - integer
          - 'null'
          description: The maximum time, in seconds, that the MediaProcessor can run before automatically ends. The default value is 300 seconds, and the maximum value is 90000 seconds. Once this maximum duration is reached, Twilio will end the MediaProcessor, regardless of whether media is still streaming.
    UpdateMediaProcessorRequest:
      type: object
      required:
      - Status
      properties:
        Status:
          type: string
          $ref: '#/components/schemas/media_processor_enum_update_status'
          description: The status of the MediaProcessor. Can be `ended`.
    media_processor_enum_status:
      type: string
      enum:
      - failed
      - started
      - ended
    CreateMediaProcessorRequest:
      type: object
      required:
      - Extension
      - ExtensionContext
      properties:
        Extension:
          type: string
          description: 'The [Media Extension](/docs/live/media-extensions-overview) name or URL. Ex: `video-composer-v2`'
        ExtensionContext:
          type: string
          description: The context of the Media Extension, represented as a JSON dictionary. See the documentation for the specific [Media Extension](/docs/live/media-extensions-overview) you are using for more information about the context to send.
        ExtensionEnvironment:
          description: User-defined environment variables for the Media Extension, represented as a JSON dictionary of key/value strings. See the documentation for the specific [Media Extension](/docs/live/media-extensions-overview) you are using for more information about whether you need to provide this.
        StatusCallback:
          type: string
          format: uri
          description: The URL to which Twilio will send asynchronous webhook requests for every MediaProcessor event. See [Status Callbacks](/docs/live/api/status-callbacks) for details.
        StatusCallbackMethod:
          type: string
          format: http-method
          enum:
          - HEAD
          - GET
          - POST
          - PATCH
          - PUT
          - DELETE
          description: The HTTP method Twilio should use to call the `status_callback` URL. Can be `POST` or `GET` and the default is `POST`.
        MaxDuration:
          type: integer
          description: The maximum time, in seconds, that the MediaProcessor can run before automatically ends. The default value is 300 seconds, and the maximum value is 90000 seconds. Once this maximum duration is reached, Twilio will end the MediaProcessor, regardless of whether media is still streaming.
    media_processor_enum_order:
      type: string
      enum:
      - asc
      - desc
    ListMediaProcessorResponse:
      type: object
      properties:
        media_processors:
          type: array
          items:
            $ref: '#/components/schemas/media.v1.media_processor'
        meta:
          type: object
          properties:
            first_page_url:
              type: string
              format: uri
            next_page_url:
              type:
              - string
              - 'null'
              format: uri
            page:
              type: integer
            page_size:
              type: integer
            previous_page_url:
              type:
              - string
              - 'null'
              format: uri
            url:
              type: string
              format: uri
            key:
              type: string
    media_processor_enum_update_status:
      type: string
      enum:
      - ended
  securitySchemes:
    accountSid_authToken:
      type: http
      scheme: basic
x-maturity:
- name: GA
  description: This product is Generally Available.
- name: Preview
  description: PLEASE NOTE that this is a Preview product that is subject to change. Use it with caution. If you currently do not have developer preview access, please contact https://www.twilio.com/help/contact.