Skip to content

Voice Plugin: Support custom/remote provider (URL) instead of local-only processing #468

Description

@SLi95c

Problem

LeanType already supports connecting external AI providers (Gemini, Groq, OpenAI-compatible, and local GGUF models) for text processing like proofreading and translation. The Voice Plugin, however, is currently limited to local/on-device processing only, with no option to configure a custom endpoint or URL.

Requested Feature

Add the ability to configure a custom provider/URL for voice processing, similar to the existing "OpenAI-compatible" approach for text — for example:

  • Custom server URL (e.g. self-hosted Whisper, faster-whisper, or an Ollama-based speech model)
  • API key field for cloud services (e.g. OpenAI Whisper API, Groq Whisper)
  • A toggle between "Local" (current behavior) and "Remote/Custom Endpoint"

Motivation

  • Speed: Audio processing on more powerful server/desktop hardware is typically much faster than on-device processing on a phone.
  • Quality: Larger/better speech models (e.g. Whisper large vs. a small mobile-optimized model) produce noticeably more accurate transcriptions.
  • Consistency with existing features: Text-based AI already supports external/self-hosted providers, so a similar option for voice would make the app's feature set more consistent.
  • Hardware independence: Users with older or lower-end devices would benefit from offloading processing, without losing the feature entirely.

Proposal

Add to the Voice Plugin settings:

  1. A field for a custom endpoint URL
  2. An optional API key field
  3. A clear privacy disclaimer that audio is sent to an external service when a remote provider is used — matching the existing disclaimer for text AI providers

Local processing would remain the default, so the app's privacy/offline model stays intact — remote processing would be strictly opt-in.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions