탐색으로 건너뛰기

Speech Engine

ElevenLabs로 자체 채팅 에이전트 또는 LLM에 음성을 추가하세요.

개요

ElevenLabs Speech Engine은 모든 채팅 에이전트에 음성 기능을 추가합니다. ElevenLabs가 음성-텍스트 변환과 텍스트 음성 변환을 처리하고, 서버에서 LLM 로직을 제공합니다. SDK가 연결 수명 주기, 턴 전환, 인터럽트 감지를 관리하므로 에이전트 동작에 집중할 수 있습니다.

작동 방식

Speech Engine은 WebSocket을 통해 서버를 ElevenLabs에 연결합니다. 각 연결은 하나의 대화를 나타냅니다.

  1. 사용자가 브라우저에서 말합니다. ElevenLabs가 오디오를 캡처하고 텍스트로 변환합니다.
  2. 전체 대화 기록과 함께 전사된 텍스트가 서버로 전송됩니다.
  3. 서버가 전사된 텍스트를 LLM에 전달하고 응답을 스트리밍하여 다시 보냅니다.
  4. ElevenLabs가 텍스트를 음성으로 변환하여 브라우저에서 재생합니다.

Speech Engine을 사용해야 하는 경우

Speech Engine은 자체 LLM을 사용하고 자체 서버에서 대화 로직을 제어하려는 개발자를 위해 설계되었습니다. 다음이 필요한 경우 사용하세요.

  • 기존 텍스트 기반 채팅 에이전트에 음성 추가
  • 특정 LLM, 파인튜닝된 모델 또는 맞춤형 추론 파이프라인 사용
  • 대화 라우팅, 컨텍스트 관리 및 도구 호출을 완전히 제어
  • 기존 서버 애플리케이션(Express, FastAPI 등)에 음성 통합

ElevenLabs가 LLM, 지식 기반 및 도구를 제공하는 완전 호스팅형 솔루션이 필요하다면 ElevenAgents를 사용하세요.

주요 기능

  • 모든 LLM - OpenAI, Anthropic, Google Gemini 또는 텍스트를 생성하는 모든 모델을 사용할 수 있습니다. SDK는 OpenAI, Anthropic 및 Gemini 스트림 형식에서 텍스트를 자동으로 추출합니다.
  • 인터럽트 처리 - 사용자가 응답 도중 말하면 SDK가 AbortSignal(TypeScript) 또는 작업 취소(Python)를 통해 진행 중인 LLM 요청을 자동으로 취소합니다.
  • 스트리밍 - 응답은 생성되는 즉시 브라우저로 스트리밍됩니다. 문자열, 비동기 이터러블 또는 네이티브 LLM 스트림 객체를 전달하세요.
  • 턴 전환 - SDK가 대화 턴을 관리하므로 서버는 전사된 텍스트에만 응답하면 됩니다.

대화 시간

Speech Engine은 최대 40분(2,400초)의 대화를 지원합니다. 기본적으로 대화는 600초(10분) 후에 종료됩니다. 더 긴 대화를 허용하려면 API에서 conversation.max_duration_seconds를 높이거나 대시보드의 고급 탭에서 최대 대화 시간을 높이세요. 자세한 내용은 최대 대화 시간 구성을 참조하세요. 40분보다 긴 대화가 필요하다면 팀에 문의하세요.

IP 허용 목록

서버가 방화벽 뒤에 있거나 IP 기반 액세스 제어를 사용하는 경우, ElevenLabs WebSocket 연결이 시작되는 고정 송신 IP를 허용 목록에 추가할 수 있습니다. 전체 IP 주소 목록은 IP 허용 목록을 참조하세요.

IP 허용 목록을 사용하면 서버가 ElevenLabs 시스템에서 오는 WebSocket 연결만 수락하도록 할 수 있습니다.

FAQ

텍스트를 생성하는 모든 LLM이 지원됩니다. SDK에는 OpenAI(Responses API 및 Chat Completions API), Anthropic Messages API 및 Google Gemini API용 기본 제공 스트림 추출 기능이 있습니다. 다른 제공업체의 경우 일반 문자열 또는 문자열 청크의 비동기 이터러블을 전달하세요.

ElevenAgents는 ElevenLabs가 LLM, 지식 기반 및 도구를 제공하는 완전 호스팅형 플랫폼입니다. Speech Engine은 자체 LLM을 사용하고 자체 서버에서 대화 로직을 제어하려는 개발자를 위한 제품입니다.

TypeScript에서는 Speech Engine을 모든 Node.js HTTP 서버(Express, Fastify 또는 일반 http.createServer())에 연결하거나 독립형 WebSocket 서버를 실행할 수 있습니다. Python에서는 SDK가 engine.serve()를 통한 독립형 서버를 제공하며, engine.create_session()을 사용해 FastAPI, Starlette 또는 모든 ASGI 프레임워크와 통합할 수도 있습니다.