DIVE

DIVE Streaming

DIVE 오디오를 청크 단위로 스트리밍합니다.

개요

DIVE API의 스트리밍 버전입니다. 낮은 지연시간 (500ms) 으로 오디오를 재생할 수 있습니다.

API 엔드포인트

POST https://prosody-api.humelo.works/api/v1/dive/stream

DIVE Streaming은 전용 스트리밍 서버 엔드포인트를 통해 제공됩니다.

필수 헤더

Content-Type: application/json
X-API-Key: {YOUR_API_KEY}

요청 파라미터

공통 파라미터
파라미터타입설명필수
textstring변환할 텍스트 (1-720자)
modestring"preset" 또는 "saved" (기본값: "preset")
langstring언어 코드 (기본값: "ko")
outputFormatstring
pcm_8000pcm_16000pcm_24000pcm_48000opus_48000_32opus_48000_64opus_48000_96opus_48000_128mp3_22050_48mp3_24000_64mp3_44100_96mp3_48000_128aac_48000_128alaw_8000ulaw_8000

기본값: "mp3_48000_128"

volumenumber볼륨 조절 (number, 1~100, 기본값: 50)
dictionaryIdstring단어장 치환에 사용할 dictionaryId (선택)

⚠️ pcm 계열 코덱은 WAV 헤더 없이 순수 PCM 청크(s16le)가 전달됩니다. 필요 시 클라이언트에서 헤더를 직접 추가하세요.

ℹ️ mp3, pcm, opus, aac 키워드는 각각 mp3_48000_128, pcm_48000, opus_48000_96, aac_48000_128로 자동 변환됩니다.

⚠️ 스트리밍에서는 wav 계열 포맷을 지원하지 않습니다. pcm 포맷을 사용하세요.

💡 mode에 따라 추가 파라미터가 달라집니다.

mode: presetPreset 모드

기본 제공되는 음성을 사용합니다.

파라미터타입설명필수
voiceNamestring음성 이름 (예: "시아", "민준")
emotionstringneutral | angry | sad | happy | calm
mode: savedSaved 모드

사용자가 저장한 목소리를 사용합니다.

파라미터타입설명필수
savedVoiceIdstring저장된 목소리 ID (UUID)

참고: savedVoiceId는 콘솔 Playground에서 목소리를 저장할 때 생성됩니다. 간단한 UUID만으로 저장된 목소리를 사용할 수 있습니다.

응답 형식

응답은 요청한 outputFormat에 맞는 audio/mpeg MIME 타입의 스트리밍 데이터로 전송됩니다.

MP3 → audio/mpeg, AAC → audio/aac, Opus → audio/opus, G.711 (alaw/ulaw) → audio/PCMA | audio/PCMU, WAV → audio/wav (PCM 청크, 헤더 없음).

Content-Type: audio/mpeg
Transfer-Encoding: chunked

[오디오 데이터 청크 1]
[오디오 데이터 청크 2]
[오디오 데이터 청크 3]
...

DIVE vs DIVE Streaming

두 API는 동일한 음질과 기능을 제공하지만, 응답 방식이 다릅니다:

  • DIVE:전체 오디오를 한 번에 반환
  • DIVE Streaming:오디오를 청크 단위로 실시간 스트리밍