본문으로 건너뛰기

🗣️ 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 Tokenapis.how의 access key authority에서 발급한 키를 사용합니다.

WebSocket 사용 시 필수 조건

conversation stream에는 보통 다음 설정이 필요합니다.

  • ability: conversation:stream
  • allow_websocket = true

브라우저 직접 호출이면 추가로:

  • allowed_origins
  • allowed_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 > Usage
  • TTS API > Usage
  • STT API > Usage
  • API Management > Usage Dashboard

권장 운영 방식:

  • 서비스별 Usage 페이지로 각 API를 본다
  • 공용 Usage Dashboard에서 전체 비교를 본다

Managed vs Self-Hosted

Managed Mode

  • speech.apis.how

Self-Hosted Mode

  • speech.${ROOT_DOMAIN}

도메인은 달라질 수 있지만, access key 정책과 서비스 계약은 최대한 동일하게 유지하는 것이 좋습니다.

함께 보면 좋은 문서