Prosody
FRTTS

FRTTS API

짧은 텍스트를 프리셋 음성으로 합성하고 완성된 WAV URL을 반환합니다.

1

음성 합성

voiceId 또는 voiceName 중 하나로 목소리를 선택합니다.

URL

POSThttps://agitvxptajouhvoatxio.supabase.co/functions/v1/tts-synthesize-v1

인증 및 헤더

API Key는 서버 환경변수에 보관하고 요청 헤더로만 전달하세요.

X-API-Key: {YOUR_API_KEY}
Content-Type: application/json

요청 필드

음성 합성 요청 필드
필드타입필수 여부설명
textstring필수

합성할 텍스트입니다.

최대 240자

voiceIdUUID조건부

정확한 음성·감정 변형을 가리키는 목소리 ID입니다.

voiceName이 없으면 필수

voiceNamestring조건부

프리셋 목소리 이름입니다.

voiceId가 없으면 필수

emotionstring선택

voiceName으로 선택할 감정입니다. voiceId를 사용하면 ID에 포함된 감정이 적용됩니다.

기본값 "neutral"

dictionaryIdUUID선택

합성 전에 적용할 조직 소유 단어장 ID입니다.

settingsobject선택

속도, 피치, 볼륨 설정 객체입니다.

settings.speednumber선택

재생 속도 배율입니다.

기본값 1.0

settings.pitchnumber선택

피치 조절값입니다. 서버가 -10–10 범위로 보정합니다.

기본값 0 · -10–10

settings.volumenumber선택

볼륨 비율입니다. 1.0이 기본 출력 볼륨입니다.

기본값 1.0 · 권장 0–1

요청 예시

{
  "text": "안녕하세요. FRTTS 음성 합성 테스트입니다.",
  "voiceName": "시아",
  "emotion": "neutral",
  "settings": {
    "speed": 1,
    "pitch": 0,
    "volume": 1
  }
}

응답

200

합성 결과

음성 합성 합성 결과 응답 필드
필드타입필수 여부설명
jobIdUUID필수

생성된 TTS 작업 ID입니다.

audioUrlstring필수

완성된 WAV 오디오 URL입니다.

합성 결과
{
  "jobId": "550e8400-e29b-41d4-a716-446655440000",
  "audioUrl": "https://cdn.example.com/output/audio.wav"
}
400

E4201 / E4202 · 입력 오류

text, voiceId, voiceName, emotion, dictionaryId, settings 또는 하위 설정 값의 타입이 잘못되었거나 텍스트가 너무 긴 경우입니다.

E4201 / E4202 · 입력 오류
{
  "error": {
    "code": "E4201",
    "message": "Invalid request",
    "details": "Missing required field: text"
  }
}
402

E4601 · 크레딧 부족

FRTTS 작업을 예약할 크레딧이 부족합니다.

404

E4301 · 단어장 없음

dictionaryId가 조직에서 찾을 수 없는 단어장을 가리킵니다.

503

E5002 · 단어장 조회 일시 불가

단어장 DB/RPC 조회를 일시적으로 사용할 수 없습니다.

  • JSON 요청 body는 최대 1 MiB입니다.