🗣️ speech.apis.how
speech.apis.how는 multi-saas-kit에서 제공하는 speech API managed 예시 도메인 입니다.
이 서비스는 TTS, STT, conversation streaming을 하나의 제품 흐름으로 묶고, 내부적으로는 llm.apis.how와 공용 API Access Key Core를 함께 사용합니다.
핵심 구조
Browser / App / Server
│
│ Speech API Token
▼
speech.apis.how
│
├─ token introspection
├─ TTS / STT
└─ conversation -> llm.apis.how
즉 외부 사용자는 Speech API Token으로 speech.apis.how를 호출하고, 내부 speech-service는 별도 internal key로 llm.apis.how를 사용합니다.
어떤 토큰을 써야 하나
- 외부 호출자
Speech API Token
- 내부 서비스
LLM_API_KEY같은 internal service key
중요:
- LiteLLM virtual key를 브라우저
speech호출에 직접 쓰는 구조는 아닙니다. Speech API Token은apis.how의 access key authority에서 발급한 키를 사용합니다.
WebSocket 사용 시 필수 조건
conversation stream에는 보통 다음 설정이 필요합니다.
- ability:
conversation:stream allow_websocket = true
브라우저 직접 호출이면 추가로:
allowed_originsallowed_domains
서버 호출이면:
allowed_ip_cidrs
API Test 페이지 동작
Platform > Speech API > API Test는 내부 운영 테스트 페이지입니다.
이 페이지는 보통:
.env의 기본Speech API테스트 토큰.env의 기본 WebSocket URL
을 사용하고, 화면에 secret 값을 다시 드러내지 않는 방향이 더 적합합니다.
사용량과 비용
speech API는 사용량 추적이 중요합니다.
현재 구조는 다음을 함께 기록할 수 있습니다.
- endpoint별 요청량
- token별 사용량
- TTS/STT 추정 비용
- conversation의 estimated cost
- LiteLLM spend log와 연결된 actual LLM cost
즉 speech API는 단순 인증뿐 아니라 서비스 요금 산정을 위한 usage/cost 기초 데이터를 함께 남기는 방향입니다.
Usage 페이지
운영자는 다음 메뉴를 함께 봅니다.
Speech API > UsageTTS API > UsageSTT API > UsageAPI Management > Usage Dashboard
권장 운영 방식:
- 서비스별 Usage 페이지로 각 API를 본다
- 공용 Usage Dashboard에서 전체 비교를 본다
Managed vs Self-Hosted
Managed Mode
speech.apis.how
Self-Hosted Mode
speech.${ROOT_DOMAIN}
도메인은 달라질 수 있지만, access key 정책과 서비스 계약은 최대한 동일하게 유지하는 것이 좋습니다.