음성을 텍스트로 변환
Libre WebUI는 음성-텍스트 변환 기능을 선언하는 활성 플러그인을 통해 마이크 녹음을 텍스트로 변환할 수 있습니다. 브라우저가 음성 인식 서비스를 제공하면 Chat은 기본적으로 해당 서비스를 선택합니다. 그 구현과 데이터 처리는 브라우저 공급업체가 관리하며, 반드시 기기 내에서 처리되는 것은 아닙니다. 제공자 기반 STT를 사용하려면 이름이 지정된 제공자를 명시적으로 선택하세요. 브라우저 서비스를 사용할 수 없으면 Chat은 호환되는 첫 번째 제공자를 선택합니다.
기본 제공 지원은 다음과 같습니다.
- multipart
/v1/audio/transcriptions요청을 사용하는 OpenAI 음성 변환 모델 - raw-audio 추론 엔드포인트를 사용하는 Hugging Face 자동 음성 인식 모델
브라우저는 사용자가 마이크 버튼을 누른 뒤에만 녹음을 시작합니다. Chat은 녹음 전에 선택된 제공자와 전송 안내를 표시합니다. 버튼을 다시 누르면 녹음이 중지되며, 변환이 진행 중일 때 같은 버튼을 누르면 제공자 요청이 취소됩니다. Libre는 반환된 텍스트를 작성기에 삽입합니다. 녹음은 요청을 처리하는 동안 메모리에만 보관되고 Libre WebUI에는 저장되지 않습니다. 다른 채팅으로 이동하면 대기 중인 마이크 권한 요청, 녹음 및 텍스트 변환 작업이 취소됩니다.
제공자 계약
STT 기능은 엔드포인트, 모델 맵, 허용 형식, 요청 모드 및 선택적 엔드포인트 변수를 선언합니다. Libre는 오디오를 전달하기 전에 인증된 사용자의 정확한 플러그인/모델 경로를 검증합니다. 현재 Libre는 압축되지 않은 PCM WAV와 Opus WebM 녹음을 허용합니다. 전달 전에 파일 이름 확장자, 선언된 MIME 유형, 컨테이너 구조, 코덱 식별자, 샘플 레이트, 채널 수, 디코딩 크기 비율 및 재생 시간을 검증합니다. 요청에는 전역적으로 25 MiB 및 300초 제한(또는 더 낮은 매니페스트 제한)이 적용되고, 동시 변환은 사용자당 2개와 배포 전체 6개로 제한됩니다. 브라우저 연결이 끊기거나 갱신 가능한 공유 허가를 잃으면 요청이 중단됩니다. 팀 모드에서 Redis 허가가 실패하면 안전하게 거부하며, 복제본별로 독립적인 허용량을 만들지 않습니다.
제공자 자격 증명은 백엔드에만 유지됩니다. Libre는 리디렉션을 거부하므로 권한 부여 헤더나 오디오 녹음이 다른 호스트로 전달될 수 없습니다. 제공자 인증 실패는 Libre 세션 만료가 아니라 업스트림 오류로 표시됩니다.
Libre WebUI 원본과 원격 제공자에는 HTTPS를 사용하세요. 브라우저는 안전하지 않은 원격 원본에 마이크 캡처를 제공하지 않으며, Libre도 브라우저가 보안 원본 미디어 API를 제공하지 않으면 어느 음성 경로도 노출하지 않습니다. 제공자는 자체 약관에 따라 녹음을 보관하거나 처리할 수 있으므로 민감한 내용을 받아쓰기 전에 해당 정책을 검토하세요.