Day 0 support for Google Gemini 3.1 Flash TTS Try it now →
Providers

Hume

Hume Octave text-to-speech with expressive voices and voice cloning.

Prefixhume
Default modeloctave-2
Env varHUME_API_KEY
Official docsdev.hume.ai/docs/text-to-speech-tts/overview

Models

ModelStreamingAudio TagsVoice CloningNotes
octave-2YesNoYesDefault; expressive
octave-1YesNoNoPrevious generation

Usage

import { generateSpeech } from "@speech-sdk/core"

const result = await generateSpeech({
  model: "hume/octave-2",
  text: "Hello from SpeechSDK!",
  voice: "Dacher",
})

Under the hood, SpeechSDK wraps the voice string as { name: "Dacher", provider: "HUME_AI" } for the Hume API.

Voice Cloning

octave-2 supports voice cloning. To use a custom voice from your Hume account, pass the voice name as the voice parameter — Hume resolves the name against your account's library.

Provider Options

await generateSpeech({
  model: "hume/octave-2",
  text: "Hello!",
  voice: "Dacher",
  providerOptions: {
    description: "Warm, friendly tone, speaking softly.",
    format: { type: "mp3" },
  },
})

The description field is Hume's native steering input — describe how the voice should sound.

Custom Configuration

import { generateSpeech } from "@speech-sdk/core"
import { createHume } from "@speech-sdk/core/providers"

const hume = createHume({
  apiKey: process.env.HUME_API_KEY,
})

const result = await generateSpeech({
  model: hume("octave-2"),
  text: "Hello!",
  voice: "Dacher",
})

On this page