---
id: plugin.lumi_transcription
title: Lumi Transcription
scope: plugins
status: active
priority: 10
visibility: user
category: Plugin
tags: plugin, lumi_transcription
generated: true
editable: false
---
# Lumi Transcription
Server-hosted whisper.cpp transcription for Lumi Companion and OBS closed captions.
## Metadata
Plugin ID: lumi_transcription
Version: 0.2.0
Default state: enabled
## Web Routes
- /plugins/lumi_transcription
- GET /plugins/lumi_transcription
- GET /plugins/lumi_transcription/api/status
- POST /plugins/lumi_transcription/api/pairing-package
- POST /plugins/lumi_transcription/api/companion/download
- GET /plugins/lumi_transcription/api/companion/update
- POST /plugins/lumi_transcription/api/companion/update
- GET /plugins/lumi_transcription/api/companion/dev-artifact/:buildId
- POST /plugins/lumi_transcription/api/pair
- GET /plugins/lumi_transcription/api/devices
- POST /plugins/lumi_transcription/api/devices/:id/revoke
- POST /plugins/lumi_transcription/api/devices/:id/capabilities
- GET /plugins/lumi_transcription/api/tests
- GET /plugins/lumi_transcription/api/tests/:id
- GET /plugins/lumi_transcription/api/settings
- PATCH /plugins/lumi_transcription/api/settings
- POST /plugins/lumi_transcription/api/models/:id/download
- POST /plugins/lumi_transcription/api/models/:id/load
- POST /plugins/lumi_transcription/api/runtime/:id/install
- GET /plugins/lumi_transcription/api/logs
## Route Reference
### MOUNT /plugins/lumi_transcription

- Purpose: Mounts the plugin router at this base WebUI path.
- Inputs: No request parameters detected by static analysis.
- Response format: Plugin router mount point.
- Access: Access is controlled by the mount options and individual plugin routes.
- Side effects: No direct route action; child routes handle requests.
- Limits/notes: Mount metadata is inferred from static source scanning.

### GET /plugins/lumi_transcription

- Purpose: Renders or serves the lumi_transcription plugin page.
- Inputs: No request parameters detected by static analysis.
- Response format: plain or HTML response
- Access: admin access expected
- Side effects: Usually read-only.
- Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations.

### GET /plugins/lumi_transcription/api/status

- Purpose: Renders or serves the lumi_transcription plugin page for api status.
- Inputs: No request parameters detected by static analysis.
- Response format: JSON response
- Access: admin access expected
- Side effects: Usually read-only.
- Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. API consumers should expect JSON unless the response format says otherwise.

### POST /plugins/lumi_transcription/api/pairing-package

- Purpose: Processes the lumi_transcription plugin action for api pairing package.
- Inputs: No request parameters detected by static analysis.
- Response format: plain or HTML response
- Access: admin access expected; logged-in session required or used
- Side effects: Action route; side effects were not detected statically.
- Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. Errors are caught and usually returned as a flash message, JSON error, or error page. Most non-API POST routes are browser form submissions and usually redirect after completion. API consumers should expect JSON unless the response format says otherwise.

### POST /plugins/lumi_transcription/api/companion/download

- Purpose: Processes the lumi_transcription plugin action for api companion download.
- Inputs: No request parameters detected by static analysis.
- Response format: plain or HTML response
- Access: admin access expected; logged-in session required or used
- Side effects: Action route; side effects were not detected statically.
- Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. Errors are caught and usually returned as a flash message, JSON error, or error page. Most non-API POST routes are browser form submissions and usually redirect after completion. API consumers should expect JSON unless the response format says otherwise.

### GET /plugins/lumi_transcription/api/companion/update

- Purpose: Renders or serves the lumi_transcription plugin page for api companion update.
- Inputs: No request parameters detected by static analysis.
- Response format: HTML or data response; exact format was not detected statically.
- Access: No explicit access guard detected in the route handler; check surrounding router/mount middleware.
- Side effects: Usually read-only.
- Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. API consumers should expect JSON unless the response format says otherwise.

### POST /plugins/lumi_transcription/api/companion/update

- Purpose: Processes the lumi_transcription plugin action for api companion update.
- Inputs: No request parameters detected by static analysis.
- Response format: Form/action response; exact format was not detected statically.
- Access: No explicit access guard detected in the route handler; check surrounding router/mount middleware.
- Side effects: Action route; side effects were not detected statically.
- Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. Most non-API POST routes are browser form submissions and usually redirect after completion. API consumers should expect JSON unless the response format says otherwise.

### GET /plugins/lumi_transcription/api/companion/dev-artifact/:buildId

- Purpose: Renders or serves the lumi_transcription plugin page for api companion dev artifact buildId.
- Inputs: path params: `buildId`
- Response format: file download
- Access: No explicit access guard detected in the route handler; check surrounding router/mount middleware.
- Side effects: Usually read-only.
- Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. API consumers should expect JSON unless the response format says otherwise.

### POST /plugins/lumi_transcription/api/pair

- Purpose: Processes the lumi_transcription plugin action for api pair.
- Inputs: body: full submitted body is passed to a helper; exact fields are defined by the matching form/service
- Response format: Form/action response; exact format was not detected statically.
- Access: No explicit access guard detected in the route handler; check surrounding router/mount middleware.
- Side effects: Action route; side effects were not detected statically.
- Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. Errors are caught and usually returned as a flash message, JSON error, or error page. Most non-API POST routes are browser form submissions and usually redirect after completion. API consumers should expect JSON unless the response format says otherwise.

### GET /plugins/lumi_transcription/api/devices

- Purpose: Renders or serves the lumi_transcription plugin page for api devices.
- Inputs: query: `status`
- Response format: JSON response
- Access: admin access expected
- Side effects: Usually read-only.
- Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. API consumers should expect JSON unless the response format says otherwise.

### POST /plugins/lumi_transcription/api/devices/:id/revoke

- Purpose: Processes the lumi_transcription plugin action for api devices id revoke.
- Inputs: path params: `id`
- Response format: JSON response
- Access: admin access expected
- Side effects: Action route; side effects were not detected statically.
- Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. Most non-API POST routes are browser form submissions and usually redirect after completion. API consumers should expect JSON unless the response format says otherwise.

### POST /plugins/lumi_transcription/api/devices/:id/capabilities

- Purpose: Processes the lumi_transcription plugin action for api devices id capabilities.
- Inputs: path params: `id`; body: `capabilities`
- Response format: JSON response
- Access: admin access expected
- Side effects: writes or mutates server-side state
- Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. Most non-API POST routes are browser form submissions and usually redirect after completion. API consumers should expect JSON unless the response format says otherwise.

### GET /plugins/lumi_transcription/api/tests

- Purpose: Renders or serves the lumi_transcription plugin page for api tests.
- Inputs: No request parameters detected by static analysis.
- Response format: JSON response
- Access: admin access expected
- Side effects: Usually read-only.
- Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. API consumers should expect JSON unless the response format says otherwise.

### GET /plugins/lumi_transcription/api/tests/:id

- Purpose: Renders or serves the lumi_transcription plugin page for api tests id.
- Inputs: path params: `id`
- Response format: JSON response
- Access: admin access expected
- Side effects: Usually read-only.
- Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. API consumers should expect JSON unless the response format says otherwise.

### GET /plugins/lumi_transcription/api/settings

- Purpose: Renders or serves the lumi_transcription plugin page for api settings.
- Inputs: No request parameters detected by static analysis.
- Response format: JSON response
- Access: No explicit access guard detected in the route handler; check surrounding router/mount middleware.
- Side effects: Usually read-only.
- Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. API consumers should expect JSON unless the response format says otherwise.

### PATCH /plugins/lumi_transcription/api/settings

- Purpose: Processes the lumi_transcription plugin action for api settings.
- Inputs: body: `changes`
- Response format: Form/action response; exact format was not detected statically.
- Access: No explicit access guard detected in the route handler; check surrounding router/mount middleware.
- Side effects: No side effects detected statically.
- Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. Errors are caught and usually returned as a flash message, JSON error, or error page. API consumers should expect JSON unless the response format says otherwise.

### POST /plugins/lumi_transcription/api/models/:id/download

- Purpose: Processes the lumi_transcription plugin action for api models id download.
- Inputs: path params: `id`; body: `confirmed`
- Response format: Form/action response; exact format was not detected statically.
- Access: admin access expected
- Side effects: Consumes submitted data; state mutation happens in called helpers if present.
- Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. Errors are caught and usually returned as a flash message, JSON error, or error page. Most non-API POST routes are browser form submissions and usually redirect after completion. API consumers should expect JSON unless the response format says otherwise.

### POST /plugins/lumi_transcription/api/models/:id/load

- Purpose: Processes the lumi_transcription plugin action for api models id load.
- Inputs: path params: `id`
- Response format: JSON response
- Access: admin access expected; logged-in session required or used
- Side effects: Action route; side effects were not detected statically.
- Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. Errors are caught and usually returned as a flash message, JSON error, or error page. Most non-API POST routes are browser form submissions and usually redirect after completion. API consumers should expect JSON unless the response format says otherwise.

### POST /plugins/lumi_transcription/api/runtime/:id/install

- Purpose: Processes the lumi_transcription plugin action for api runtime id install.
- Inputs: path params: `id`; body: `confirmed`
- Response format: Form/action response; exact format was not detected statically.
- Access: admin access expected
- Side effects: writes or mutates server-side state
- Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. Errors are caught and usually returned as a flash message, JSON error, or error page. Most non-API POST routes are browser form submissions and usually redirect after completion. API consumers should expect JSON unless the response format says otherwise.

### GET /plugins/lumi_transcription/api/logs

- Purpose: Renders or serves the lumi_transcription plugin page for api logs.
- Inputs: No request parameters detected by static analysis.
- Response format: JSON response
- Access: admin access expected
- Side effects: Usually read-only.
- Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. API consumers should expect JSON unless the response format says otherwise.
## Commands
- No plugin command triggers detected.
## Source
Plugin folder: plugins/lumi_transcription
