Whisper

class Whisper : AI

Transcripts speech to text via a Whisper-Server.

Domains to whitelist

  • github.com — whisper-server binary releases (ggml-org/whisper.cpp) & ffmpeg (BtbN/FFmpeg-Builds)

  • objects.githubusercontent.com — GitHub release asset CDN

  • huggingface.co — Whisper GGML model downloads

DSGVO / GDPR Compliance

All audio data is processed locally on the server (using a local server only). No data is transmitted to any cloud service (Google, Microsoft, OpenAI, etc.). This makes it the ideal solution for organizations that require DSGVO-compliant speech recognition.

Plugin Properties

PropertyTypeDefaultDescription
Active_AIStringMust contain whisper to activate
AI_RemoveIf contains whisper, clean up all whisper files
AI_Whisper_ModelUrlURLggml-smallGGML model URL. Alternatives: ggml-base, ggml-medium, ggml-large-v3-turbo-q5_0
AI_Whisper_PortInt8393Local port for whisper-server
AI_Whisper_ReleaseStringv1.7.6whisper.cpp release tag for binary downloads
AI_Whisper_ReleaseBaseUrlURLGitHub releaseBase URL prefix used to download whisper.cpp release assets (release tag is appended automatically).
AI_Whisper_NoGpuBoolfalseSet true to disable GPU and force CPU-only
AI_Whisper_ThreadsIntphysical coresCPU threads for whisper-server
AI_Whisper_MaxRAMPercentDouble101.0RAM usage threshold (%) — blocks requests when exceeded
AI_Whisper_MaxComputePercentDouble101.0Compute usage threshold (%) — gates on GPU% (CUDA) or CPU% (fallback). Blocks requests when exceeded
AI_Whisper_MaxCPUPercentDoubleLegacy alias for MaxComputePercent (accepted as fallback)
AI_Whisper_ExternalUrlURLBase URL of an OpenAI-compatible speech-to-text API (e.g. https://api.openai.com). When set, the local whisper-server is NOT started.
AI_Whisper_ExternalApiKeyStringBearer token / API key for the external API.
AI_Whisper_ExternalModelStringwhisper-1Model name to send in the model field of the external API request.

Constructors

Link copied to clipboard
constructor()

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
open override fun execute(params: IPluginServletActionParams): IPluginServletActionRetVal
Link copied to clipboard
Link copied to clipboard
open override fun getDisplayName(p0: Locale): String
Link copied to clipboard
open override fun getName(): String

States the Name of this AI.

Link copied to clipboard
open override fun initialize(configData: IPluginInitializeData)

Initializes the AI components by reading configuration properties. Specifically, it acquires the msExpirationIDedImages from the plugin property "AI_CachedImageExpiration". Subclasses should call this method at the beginning of their own initialize implementation.

Link copied to clipboard
open fun initPlugin()
Link copied to clipboard
open fun install(p0: IPluginInstallData)
Link copied to clipboard
open override fun shutdown(shutdownData: IPluginShutdownData?)

Shuts down the Whisper module — stops the resource monitor, kills the whisper-server process, and resets readiness state.

open fun shutdown()
Link copied to clipboard

Initiates a task that removes unused images that're expired (msExpirationIDedImages) from the cache (cacheIDedImages).

Link copied to clipboard
open fun uninstall(p0: IPluginUninstallData)
Link copied to clipboard
open override fun validateConfigurationData(configData: IPluginValidationData): IPluginInitializeValidationResult?

Rejects tenant-level installation. CodBi must be installed as a system plugin because its AI services (Whisper, LLAMA) bind local server ports and manage heavyweight processes that would conflict when instantiated once per tenant.