Voxtral HF Plugin

Plugin implementation for Mistral Voxtral transcription through Hugging Face Transformers

source

VoxtralHFPlugin

 VoxtralHFPlugin ()

Mistral Voxtral transcription plugin via Hugging Face Transformers.

Streaming Support

The execute_stream method provides real-time transcription output:

  • Yields: Partial transcription text chunks as they become available during generation
  • Returns: Final TranscriptionResult with complete text and metadata after streaming completes
  • Parameters: Same as execute() - accepts AudioData, file path string, or Path object, plus optional kwargs to override config
  • Usage: Iterate over the generator to receive text chunks, then access the return value for the final result

source

VoxtralHFPlugin.execute_stream

 VoxtralHFPlugin.execute_stream (audio:Union[cjm_transcription_plugin_syst
                                 em.core.AudioData,str,pathlib.Path],
                                 **kwargs)

Stream transcription results chunk by chunk.

Type Details
audio Union Audio data or path to audio file
kwargs VAR_KEYWORD
Returns Generator Yields text chunks, returns final result

source

VoxtralHFPlugin.supports_streaming

 VoxtralHFPlugin.supports_streaming ()

Check if this plugin supports streaming transcription.

Testing the Plugin

# Test basic functionality
plugin = VoxtralHFPlugin()

# Check availability
print(f"Voxtral available: {plugin.is_available()}")
print(f"Plugin name: {plugin.name}")
print(f"Plugin version: {plugin.version}")
print(f"Supported formats: {plugin.supported_formats}")
print(f"Supports streaming: {plugin.supports_streaming()}")
Voxtral available: True
Plugin name: voxtral_hf
Plugin version: 1.0.0
Supported formats: ['wav', 'mp3', 'flac', 'm4a', 'ogg', 'webm', 'mp4', 'avi', 'mov']
Supports streaming: True
# Test configuration schema
schema = plugin.get_config_schema()
print("Available models:")
for model in schema["properties"]["model_id"]["enum"]:
    print(f"  - {model}")
Available models:
  - mistralai/Voxtral-Mini-3B-2507
  - mistralai/Voxtral-Small-24B-2507
# Test configuration validation
test_configs = [
    ({"model_id": "mistralai/Voxtral-Mini-3B-2507"}, "Valid config"),
    ({"model_id": "invalid_model"}, "Invalid model"),
    ({"temperature": 2.5}, "Temperature out of range"),
]

for config, description in test_configs:
    is_valid, error = plugin.validate_config(config)
    print(f"{description}: Valid={is_valid}")
    if error:
        print(f"  Error: {error[:100]}")
Valid config: Valid=True
Invalid model: Valid=False
  Error: 'invalid_model' is not one of ['mistralai/Voxtral-Mini-3B-2507', 'mistralai/Voxtral-Small-24B-2507']
Temperature out of range: Valid=False
  Error: 'model_id' is a required property

Failed validating 'required' in schema:
    {'$schema': 'http://j
# Test initialization
plugin.initialize({"model_id": "mistralai/Voxtral-Mini-3B-2507", "device": "cpu"})
print(f"Current config: {plugin.get_current_config()['model_id']}")
Current config: mistralai/Voxtral-Mini-3B-2507