Function: audio()
audio(
input,mode?,options?):UnifiedMessageInput
Defined in: packages/core/src/multimodal.ts:317
Create an audio input with a simple, flexible API
Supports multiple input types with automatic format detection:
- Blob/File: Auto-detects format from MIME type
- MediaAudio: Backward compatible explicit format
- MediaStream: Live audio streams from microphone or other sources
Parameters
input
Blob | MediaAudio | MediaStream | File | { data: string | Uint8Array<ArrayBufferLike> | Blob | MediaStream; format: AudioFormat; }
mode?
"transcribe" | "analyze"
options?
Returns
Examples
const fileInput = document.querySelector('input[type="file"]');
const audioFile = fileInput.files?.[0];
if (audioFile) {
bot.process(audio(audioFile, 'transcribe'));
}
const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
bot.process(audio(stream, 'transcribe'));
const mediaRecorder = new MediaRecorder(stream);
mediaRecorder.ondataavailable = (e) => {
bot.process(audio(e.data, 'transcribe'));
};
audio(audioBlob, 'transcribe', { minSize: 2048 }) // ~0.2 seconds
const base64Audio = "...";
bot.process(audio({ data: base64Audio, format: 'mp3' }, 'transcribe'));