# @copilotkit/voice Audio transcription providers for CopilotKit. ## Setup ```bash pnpm add @copilotkit/voice openai ``` ```typescript import { CopilotRuntime, createCopilotEndpoint } from "@copilotkit/runtime"; import { TranscriptionServiceOpenAI } from "@copilotkit/voice"; import OpenAI from "openai"; const runtime = new CopilotRuntime({ agents: { default: yourAgent }, transcriptionService: new TranscriptionServiceOpenAI({ openai: new OpenAI({ apiKey: process.env.OPENAI_API_KEY }), }), }); ``` Once configured, the chat UI shows a microphone button. Users can record audio, which gets transcribed and inserted into the input field as text. ## TranscriptionServiceOpenAI Uses [OpenAI Whisper](https://platform.openai.com/docs/guides/speech-to-text) for transcription. ```typescript new TranscriptionServiceOpenAI({ openai: new OpenAI({ apiKey: "..." }), // required model: "whisper-1", // default language: "en", // optional, ISO-639-1 code prompt: "Technical discussion context", // optional, helps with domain terms temperature: 0, // optional, 0 = deterministic }); ``` ## Custom providers Extend `TranscriptionService` from runtime: ```typescript import { TranscriptionService, TranscribeFileOptions, } from "@copilotkit/runtime"; class MyTranscriptionService extends TranscriptionService { async transcribeFile(options: TranscribeFileOptions): Promise { // options.audioFile, options.mimeType, options.size return "transcribed text"; } } ```