텍스트 음성 변환과 텍스트 대화 WebSocket 비교
이 가이드에서는 스트리밍 음성에 적합한 WebSocket을 선택하는 방법과 두 프로토콜의 차이점을 설명합니다.
ElevenLabs는 합성 음성 스트리밍을 위한 두 가지 WebSocket 제품군을 제공합니다. 각 제품군에는 단일 스트림 버전과 하나의 연결에서 여러 독립 스트림을 멀티플렉싱하는 멀티 컨텍스트 버전이 있습니다. 두 제품군은 서로 다른 문제를 해결하며, 서로 다른 메시지 형식을 받고, 서로 다른 모델을 대상으로 합니다.
어떤 WebSocket을 사용해야 하나요?
연결당 하나의 음성으로 일반 텍스트를 스트리밍하고(음성은 URL에 고정됨), Flash 또는 Multilingual v2 같은 v3 이외의 모델, 선택적 SSML, 청크 스케줄 또는 에이전트형 인터럽션 처리를 위한 멀티 컨텍스트 버전을 사용하려면 텍스트 음성 변환(TTS) WebSocket을 사용하세요.
Eleven v3 대화 동작, 즉 표현력 있는 전달, 청크별 voice_id, 턴 경계(new_turn), 서버에서 v3에 사용하는 것과 동일한 대화 지향 버퍼링이 필요하다면 텍스트 대화(TTD) WebSocket을 사용하세요.
동일한 Eleven v3 대화 동작과 하나의 연결에서 여러 동시 또는 인터리브 스트림이 모두 필요하다면 TTD 멀티 컨텍스트 WebSocket을 사용하세요. 예를 들어, 매번 새 소켓을 열지 않고 대화를 중단하고 다시 시작해야 하는 대화형 에이전트에 적합합니다.
배치 또는 HTTP 스트리밍 대화(한 번의 호출에 전체 요청)를 사용하려면 WebSocket 대신 대화 생성 또는 대화 스트리밍을 사용하세요.
비교
TTS WebSocket이 더 적합한 경우
- 지연 시간이나 언어 지원 범위를 위해 이미 Flash 또는 Multilingual v2를 통합했습니다.
- 연결당 하나의 내레이터 음성과 간단한 프레임당 텍스트 프로토콜이 필요합니다.
- 끼어들기 및 병렬 발화에 멀티 컨텍스트 오케스트레이션이 필요합니다(멀티 컨텍스트 가이드).
TTS WebSocket 전체 안내는 실시간 오디오 생성을 참조하세요.
TTD WebSocket이 더 적합한 경우
- Eleven v4 대화(표현 태그, 대화형 페이싱, 다중 화자 대사)를 대상으로 합니다.
- 새 연결을 열지 않고 대사별로 화자의 음성을 변경할 수 있는 스크립트 기반 또는 LLM 생성 대화를 스트리밍합니다.
- 서버에서 v4 전용 대화 생성을 위한 WebSocket 형태의 증분 입력이 필요합니다.
실습 안내는 실시간 텍스트 대화를 사용하세요. 프로토콜 세부 정보는 API 레퍼런스에서 확인할 수 있습니다.
멀티 컨텍스트 WebSocket
두 제품 모두 하나의 WebSocket 연결에서 여러 독립 스트림을 멀티플렉싱하는 멀티 컨텍스트 버전을 제공합니다. 각 컨텍스트는 클라이언트가 선택한 context_id로 식별되고, 자체 텍스트를 버퍼링하며, 해당 context_id로 태그된 오디오 청크를 출력합니다. TTS 컨텍스트는 연결 URL의 voice_id를 공유하는 반면, TTD 컨텍스트는 자체 음성 및 설정을 등록합니다. 연결을 종료하지 않고 진행 중인 발화를 취소하고 새 발화를 시작해야 하는 음성 에이전트처럼, 인터럽션 처리가 포함된 동시 또는 인터리브 생성이 필요할 때 이 형식을 사용하세요.
TTD 멀티 컨텍스트 WebSocket이 더 적합한 경우
- Eleven v3 대화 동작(표현력 있는 전달, 청크별
voice_id, 턴 경계)과 하나의 연결에서 동시 또는 인터리브 스트림이 모두 필요합니다. - 매번 새 소켓을 열지 않고 대화를 중단하고 다시 시작해야 하는 대화형 에이전트를 구축하고 있습니다.
- 하나의 인증된 연결에서 병렬 장면이나 화자처럼 여러 독립적인 v3 대화 세션으로 팬아웃하려고 합니다.
단일 스트림 TTD WebSocket은 실시간 텍스트 대화를 참조하세요. TTS 멀티 컨텍스트 WebSocket은 멀티 컨텍스트 WebSocket 가이드를 참조하세요. TTD 멀티 컨텍스트 엔드포인트의 프로토콜 세부 정보는 API 레퍼런스에서 확인할 수 있습니다.