IVR(ARS) TTS: 메뉴 안내 멘트를 전화용 오디오 포맷으로

IVR 안내 멘트와 음성사서함 인사말을 TTS로 만드세요. 멘트마다 요청 하나를 보내고, 8 kHz μ-law나 A-law WAV, 또는 MP3나 다른 PCM으로 받습니다.

읽는 시간 5분Sume
전체 글

IVR(ARS) 텍스트 음성 변환은 전화 메뉴 안내 멘트나 음성사서함 인사말을 글에서 전화 시스템이 재생할 수 있는 오디오 파일로 바꿉니다. 멘트마다 짧은 텍스트를 따로 쓰고, 한 번 합성한 뒤, 시스템이 기대하는 포맷으로 요청하세요. Sume의 TTS API는 기본적으로 MP3를 반환하며, 대신 8,000–48,000 Hz 사이의 여섯 가지 샘플 레이트 중 하나로 WAV나 raw PCM을 반환할 수도 있습니다. 여기에는 μ-law나 A-law 인코딩의 8 kHz 오디오도 포함됩니다.

필드는 2026-09-27에 확인한 Sume API 레퍼런스의 TTS 스키마와 Job과 결과 (영문) 문서에서 가져왔습니다. Sume API 레퍼런스는 API 레퍼런스 문서의 바탕이 되는 OpenAPI 문서입니다. 가격은 API 요금 페이지를 만드는 코드에서 확인했습니다.

전화 시스템에는 어떤 오디오 포맷이 필요한가요?

전화 시스템 문서에서 샘플 레이트, 인코딩, 파일 형식 세 가지를 확인하세요. 전통적인 전화 오디오는 8 kHz로 샘플링되며, μ-law와 A-law는 기존 전화망의 코덱인 G.711의 두 가지 8비트 인코딩입니다. 그런 다음 여기에 맞춰 output_format을 설정하세요.

  • wav는 WAV 파일을 반환합니다. 현재 코드에서 raw는 헤더 없는 오디오를 요구하는 시스템을 위해 파일 헤더 없이 PCM 샘플만 반환하며, raw 요청에는 sample_rate와 encoding을 모두 지정해야 합니다.
  • encoding은 wav와 raw에 적용됩니다. bit_rate는 mp3에 적용되며, 기본값을 바꿀 때는 필수입니다.
Sume API 레퍼런스의 TTS 요청 스키마에 있는 output_format 필드, 2026-09-27 확인.
필드값
containermp3(기본값), wav, raw 중 하나
sample_rate8000, 16000, 22050, 24000, 44100(기본값), 48000 Hz 중 하나
encodingwav 또는 raw용: pcm_mulaw, pcm_alaw, pcm_s16le, pcm_f32le 중 하나
bit_ratemp3용: 32000, 64000, 96000, 128000(기본값), 192000 중 하나

안내 멘트 하나는 어떻게 생성하나요?

멘트마다 음성을 지정해 POST /v1/tts-1.0/generate를 하나씩 보내세요. 음성은 목소리가 준비된 아바타의 avatar_id나 avatar_handle, 또는 이미 있는 voice.id입니다. 아래 요청은 메인 메뉴를 8 kHz μ-law WAV로 반환하며, speed 배수 0.9로 속도를 조금 늦춥니다.

  • 기본 async 모드는 Job ID와 status_url을 담아 바로 응답합니다. terminal이 true가 될 때까지 폴링한 다음 result_url을 읽으세요. 완료된 결과는 오디오를 media.sume.com 아티팩트로 제공하므로, 내려받아 전화 시스템에 올리면 됩니다.
  • 또는 Job이 끝났을 때 호출될 공개 HTTPS webhook_url을 보내고, 폴링은 백업으로 유지하세요.
  • timestamps와 segmentation은 빼세요. 전화 안내 멘트에는 단어별 타이밍이 필요 없습니다.
curl -X POST https://api.sume.com/v1/tts-1.0/generate \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: ivr-main-menu-v3" \
  -d '{
    "transcript": "Thank you for calling Acme. For sales, press 1. For support, press 2.",
    "avatar_handle": "acme_support",
    "language": "en",
    "output_format": { "container": "wav", "encoding": "pcm_mulaw", "sample_rate": 8000 },
    "generation_config": { "speed": 0.9 }
  }'

안내 멘트 세트는 어떻게 구성해야 하나요?

  • 멘트마다 요청 하나: 인사말, 메인 메뉴, 각 하위 메뉴, 대기 안내, 업무 시간 외 안내, 음성사서함 인사말. 그러면 멘트 하나를 바꿀 때 새 요청 하나만 보내면 됩니다.
  • 세트의 모든 멘트에 같은 음성, language, output_format, generation_config.
  • generation_config.speed(0.6–1.5)와 volume(0.5–2.0)은 속도와 음량을 정하는 배수입니다.
  • 멘트 텍스트마다 ivr-main-menu-v3처럼 버전을 붙인 Idempotency-Key. 같은 키와 같은 본문은 원래 Job을 반환하고, 같은 키에 본문이 바뀌면 409 idempotency_conflict로 응답하므로 텍스트를 고칠 때는 버전을 올리세요.
  • 영어가 아닌 모든 멘트에 language. 생략하면 영어가 기본값입니다.

IVR TTS 비용은 얼마인가요?

텍스트 음성 변환은 공백과 문장 부호를 포함한 대본 글자 수에 따라 1,000자당 $0.0475로 과금되며, 기본적으로 5.5% 에이전트 수수료가 더해집니다. 멘트마다 별도 요청이므로 각자의 글자 수로 과금되며, 요청 하나는 최대 20,000자를 받습니다.

Sume TTS가 IVR에서 하지 않는 일은 무엇인가요?

  • 전화 시스템 운영. API는 오디오 파일을 반환합니다. 전화 받기, 키 입력 읽기, 발신자 연결은 여전히 IVR 플랫폼에서 처리합니다.
  • 실시간 발화. TTS 1.0은 스트림이 아니라 폴링하거나 웹훅으로 결과를 받는 비동기 Job이므로, 통화 중이 아니라 미리 멘트를 생성해 두세요.
  • 플랫폼 요건 확인. 전체 세트를 생성하기 전에 멘트 하나를 전화 시스템에 올려 테스트하세요.

출처

관련 글

활용 사례 카테고리의 다른 글

활용 사례 글 전체 보기

작성자 Sume