Hume 프로바이더
Hume 프로바이더
Hume의 텍스트-음성(TTS) API를 AI SDK에서 쓸 수 있게 해주는 프로바이더예요. 감정이 풍부한 음성 합성을 간편하게 사용할 수 있어요.
출처: 문서
본문
Hume 프로바이더는 Hume 텍스트-음성(TTS) API에 대한 지원을 제공해요.
설정 (Setup)
Hume 프로바이더는 @ai-sdk/hume 모듈에서 사용할 수 있어요. 다음과 같이 설치할 수 있어요:
프로바이더 인스턴스 (Provider Instance)
@ai-sdk/hume에서 기본 프로바이더 인스턴스 hume을 불러올 수 있어요:
import { hume } from '@ai-sdk/hume';
커스터마이즈가 필요하다면 @ai-sdk/hume에서 createHume을 불러와 원하는 설정으로 프로바이더 인스턴스를 만들 수 있어요:
import { createHume } from '@ai-sdk/hume';
const hume = createHume({
// custom settings, e.g.
fetch: customFetch,
});
Hume 프로바이더 인스턴스를 커스터마이즈할 때 사용할 수 있는 선택적 설정은 다음과 같아요:
-
apiKey string
X-Hume-Api-Key헤더로 보내는 API 키예요. 기본값은HUME_API_KEY환경 변수예요. -
headers Record<string,string>
요청에 포함할 커스텀 헤더예요.
-
fetch (input: RequestInfo, init?: RequestInit) => Promise<Response>
커스텀 fetch 구현이에요. 기본값은 전역
fetch함수예요. 요청을 가로채는 미들웨어로 쓸 수도 있고, 예를 들어 테스트용으로 커스텀 fetch 구현을 제공할 수도 있어요.
음성 모델 (Speech Models)
.speech() 팩토리 메서드로 Hume 음성 API를 호출하는 모델을 만들 수 있어요.
const model = hume.speech();
voice, speed, instructions, outputFormat 같은 표준 음성 생성 옵션을 전달할 수 있어요:
import { generateSpeech } from 'ai';
import { hume } from '@ai-sdk/hume';
const result = await generateSpeech({
model: hume.speech(),
text: 'Hello, world!',
voice: 'd8ab67c6-953d-4bd8-9370-8fa53a0f1453',
speed: 1.0,
instructions: 'Speak in a friendly, conversational tone.',
outputFormat: 'mp3',
});
지원 파라미터 (Supported Parameters)
-
text string (필수)
음성으로 변환할 텍스트예요.
-
voice string
생성된 오디오에 사용할 음성 ID예요. 기본값은
'd8ab67c6-953d-4bd8-9370-8fa53a0f1453'이에요. -
speed number
말하기 속도 배수예요.
-
instructions string
텍스트를 어떻게 말해야 하는지에 대한 설명이나 지시예요.
-
outputFormat string
생성할 오디오 형식이에요. 지원 값:
'mp3','pcm','wav'. 기본값은'mp3'이에요.
프로바이더 옵션 (Provider Options)
providerOptions 인자로 프로바이더별 추가 옵션을 전달할 수 있어요:
import { generateSpeech } from 'ai';
import { hume } from '@ai-sdk/hume';
import { type HumeSpeechModelOptions } from '@ai-sdk/hume';
const result = await generateSpeech({
model: hume.speech(),
text: 'Hello, world!',
providerOptions: {
hume: {
context: {
generationId: 'previous-generation-id',
},
} satisfies HumeSpeechModelOptions,
},
});
다음 프로바이더 옵션을 사용할 수 있어요:
-
context object
음성 합성 요청의 컨텍스트예요. 다음 중 하나일 수 있어요:
{ generationId: string }- 컨텍스트로 사용할 이전에 생성된 음성 합성의 ID예요.{ utterances: Utterance[] }- 컨텍스트를 위한 발화(utterance) 객체 배열이에요. 각 발화는 다음을 가져요:textstring (필수) - 텍스트 내용이에요.descriptionstring - 텍스트를 어떻게 말해야 하는지에 대한 지시예요.speednumber - 말하기 속도 배수예요.trailingSilencenumber - 발화 후 추가할 침묵의 길이(초)예요.voiceobject - 음성 구성이에요.{ id: string, provider?: 'HUME_AI' | 'CUSTOM_VOICE' }또는{ name: string, provider?: 'HUME_AI' | 'CUSTOM_VOICE' }중 하나예요.
모델 기능 (Model Capabilities)
| Model | Instructions | Speed | Output Formats |
|---|---|---|---|
default |
mp3, pcm, wav |
더 알아보기 (Learn more)
- AI Gateway
- xAI Grok
- OpenAI
- Azure OpenAI
- Anthropic
- Open Responses
- Claude Platform on AWS
- Amazon Bedrock
- Groq
- Fal
- AssemblyAI
- GMI Cloud
- TypeSafe
- DeepInfra
- Deepgram
- Black Forest Labs
- Gladia
- Hume
- Google Vertex AI
- Rev.ai
- Baseten
- Hugging Face
- QuiverAI
- Fish Audio
- Mistral AI
- Z.AI
- Together.ai
- Cohere
- Fireworks
- Voyage AI
- DeepSeek
- Moonshot AI
- Alibaba
- MiniMax
- Cerebras
- Replicate
- Prodia
- Perplexity
- Luma
- ByteDance
- Kling AI
- ElevenLabs
- Cartesia