DIVE
DIVE Streaming
DIVE 오디오를 청크 단위로 스트리밍합니다.
DIVE API의 스트리밍 버전입니다. 낮은 지연시간 (500ms) 으로 오디오를 재생할 수 있습니다.
POST https://prosody-api.humelo.works/api/v1/dive/stream
DIVE Streaming은 전용 스트리밍 서버 엔드포인트를 통해 제공됩니다.
요청 파라미터
공통 파라미터
| 파라미터 | 타입 | 설명 | 필수 |
|---|---|---|---|
| text | string | 변환할 텍스트 (1-720자) | ✓ |
| mode | string | "preset" 또는 "saved" (기본값: "preset") | |
| lang | string | 언어 코드 (기본값: "ko") | |
| outputFormat | string | 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" | |
| volume | number | 볼륨 조절 (number, 1~100, 기본값: 50) | |
| dictionaryId | string | 단어장 치환에 사용할 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 모드
기본 제공되는 음성을 사용합니다.
| 파라미터 | 타입 | 설명 | 필수 |
|---|---|---|---|
| voiceName | string | 음성 이름 (예: "시아", "민준") | ✓ |
| emotion | string | neutral | angry | sad | happy | calm | ✓ |
mode: savedSaved 모드
사용자가 저장한 목소리를 사용합니다.
| 파라미터 | 타입 | 설명 | 필수 |
|---|---|---|---|
| savedVoiceId | string | 저장된 목소리 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:오디오를 청크 단위로 실시간 스트리밍