Hume Octave takes 5,000 characters per utterance in MP3, WAV or PCM
Hume's TTS overview lists 5,000 characters per utterance and MP3, WAV or PCM output. Sume TTS 1.0 takes 20,000 characters and mp3, wav or raw containers.

Hume's text-to-speech overview lists "5,000 characters per Utterance" and delivery as MP3, WAV or PCM. Sume TTS 1.0 accepts 1 to 20,000 characters per request and an output_format with an mp3, wav or raw container. The three names line up; the limit is four times larger on Sume.
Hume's figures are from its overview, read 2026-10-01; Sume's from the OpenAPI schema behind the API reference.
How do the specs line up?
Same formats, different limits and delivery.
| Item | Hume Octave | Sume TTS 1.0 |
|---|---|---|
| Text per request | 5,000 characters per utterance | 20,000 characters |
| Formats | MP3, WAV, PCM | mp3, wav, raw containers |
| Delivery | Streamed JSON, streamed file, WebSocket, or non-streaming | Async job; non-streaming |
How do I get PCM on Sume?
Use the raw container with a PCM encoding. The schema offers pcm_f32le, pcm_s16le, pcm_mulaw and pcm_alaw for wav and raw, and sample rates of 8000, 16000, 22050, 24000, 44100 or 48000. The default is mp3 at 44100 Hz and 128 kbps.
curl -X POST https://api.sume.com/v1/tts-1.0/generate \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"transcript": "Raw samples, please.",
"avatar_handle": "@narrator",
"output_format": { "container": "raw", "sample_rate": 24000, "encoding": "pcm_s16le" }
}'Does an utterance on Hume equal a request on Sume?
Not necessarily. Hume's page says utterance, and the overview does not define whether a request can hold several. Sume's limit is per request and per transcript. Treat each as its own unit and test with your longest script before relying on either number.
Can I stream audio from Sume as it is generated?
No. Phase 1 is an async job with poll or webhook, non-streaming, per the API reference. For live playback, use a streaming engine; for rendered video and audio files, the job result is what you want.
Sources
Related posts
More in Developers
- Ideogram 4 describe image to JSON prompt vs Sume reference input
Ideogram's describe endpoint returns a structured json_prompt with optional bounding boxes. The Sume docs list no such route; pass the image as a reference.
- Ideogram ad localizer API: exact_copy vs a Sume edit prompt
Ideogram's ad-localizer takes one language per call and an exact_copy mapping. On Sume you send the ad as a reference and spell out the copy in the prompt.
- Ideogram async generation_id polling vs Sume's 202 job envelope
Ideogram returns images directly unless async or webhook_url is set, then you poll /v2/generations. Sume blocks up to 30s, then returns a 202 job.
- Ideogram API image URLs expire: download, or use Sume URLs
Ideogram's quickstart says image URLs expire, so download what you keep. Sume returns Sume-hosted signed URLs in data[].url. Where each result lives.
Written by Sume