openapi: 3.1.0 info: title: Red5 Pro Brew Mixer Admin Mixers API description: The Red5 Pro Brew Mixer API is a REST interface for the Cauldron Media Engine that enables dynamic composition of multiple live video and audio streams into a single mixed output stream. It supports creating and managing mixers, controlling input sources and layout, and producing composite streams for broadcasting. The API provides both v1 and v2 endpoints for mixer lifecycle management and image overlay control, making it useful for virtual events, live production, and multi-participant streaming scenarios. version: '2.0' contact: name: Red5 Support url: https://www.red5.net/contact/ termsOfService: https://www.red5.net/terms/ servers: - url: http://{host}:5080 description: Red5 Pro Server with Brew Mixer variables: host: default: localhost description: Hostname or IP address of the Red5 Pro server security: - accessToken: [] tags: - name: Mixers description: Mixer session lifecycle management paths: /brewmixer/2.0/mixers: get: operationId: listMixers summary: List Active Mixers description: Returns a list of all currently active mixer sessions on the Red5 Pro server, including their configuration and current input stream count. tags: - Mixers parameters: - $ref: '#/components/parameters/accessTokenParam' responses: '200': description: List of mixers returned successfully content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Mixer' '401': $ref: '#/components/responses/Unauthorized' post: operationId: createMixer summary: Create a Mixer description: Creates a new mixer session that combines multiple live input streams into a single composite output stream. Specify output dimensions, frame rate, bitrate, and the name of the output stream. tags: - Mixers parameters: - $ref: '#/components/parameters/accessTokenParam' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MixerCreate' responses: '201': description: Mixer created successfully content: application/json: schema: $ref: '#/components/schemas/Mixer' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' /brewmixer/2.0/mixers/{mixerId}: get: operationId: getMixer summary: Get Mixer Details description: Returns configuration and status details for the specified mixer session, including active inputs, output stream name, and rendering parameters. tags: - Mixers parameters: - $ref: '#/components/parameters/mixerIdParam' - $ref: '#/components/parameters/accessTokenParam' responses: '200': description: Mixer details returned successfully content: application/json: schema: $ref: '#/components/schemas/Mixer' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' delete: operationId: deleteMixer summary: Delete a Mixer description: Terminates the specified mixer session and stops the composite output stream. All input stream connections are released when the mixer is deleted. tags: - Mixers parameters: - $ref: '#/components/parameters/mixerIdParam' - $ref: '#/components/parameters/accessTokenParam' responses: '200': description: Mixer deleted successfully '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: schemas: Mixer: type: object description: A mixer session combining multiple input streams into a composite output properties: id: type: string description: Unique mixer session identifier outputStreamName: type: string description: Name of the composite output stream outputWidth: type: integer description: Output frame width in pixels outputHeight: type: integer description: Output frame height in pixels outputFrameRate: type: number description: Output frame rate in frames per second outputBitrate: type: integer description: Output video bitrate in bits per second inputCount: type: integer description: Number of currently connected input streams status: type: string description: Mixer operational status (active, idle, error) MixerCreate: type: object description: Parameters for creating a new mixer session required: - outputStreamName - outputWidth - outputHeight properties: outputStreamName: type: string description: Name for the composite output stream outputWidth: type: integer description: Output frame width in pixels outputHeight: type: integer description: Output frame height in pixels outputFrameRate: type: number description: Output frame rate in frames per second default: 30 outputBitrate: type: integer description: Output video bitrate in bits per second default: 2000000 backgroundColor: type: string description: Background fill color in hex format (e.g., Error: type: object description: Error response properties: code: type: integer description: HTTP status code message: type: string description: Human-readable error message responses: NotFound: description: The requested resource was not found content: application/json: schema: $ref: '#/components/schemas/Error' BadRequest: description: Request body or parameters are invalid content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized: description: Authentication failed or access token is missing or invalid content: application/json: schema: $ref: '#/components/schemas/Error' parameters: mixerIdParam: name: mixerId in: path description: Unique identifier for the mixer session required: true schema: type: string accessTokenParam: name: accessToken in: query description: API access token for authentication required: true schema: type: string securitySchemes: accessToken: type: apiKey in: query name: accessToken description: API access token for authenticating Brew Mixer API requests externalDocs: description: Red5 Pro Brew Mixer API Documentation url: https://www.red5.net/docs/red5-pro/development/api/mixer/brew-mixer-api/