--- 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.1.0-experimental.1 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/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/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: HTML page rendered from an EJS view - 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/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: 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/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/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