DIVE

목소리 관리

DIVE TTS에서 사용할 수 있는 커스텀 목소리를 등록하고 관리합니다

개요

목소리 관리 API를 사용하여 사용자의 음성 샘플을 등록하고 DIVE TTS 합성에 사용할 수 있습니다. 등록된 목소리는 savedVoiceId로 DIVE API에서 사용할 수 있습니다.

음성 샘플 등록

오디오 파일을 업로드하여 커스텀 목소리를 등록합니다

저장된 목소리 관리

등록된 목소리 목록을 조회하고 상태를 확인합니다

목소리 처리 상태

등록된 목소리는 다음과 같은 상태를 가집니다.

processing- 목소리 등록 처리 중 (토큰 생성 대기)
completed- 등록 완료 (DIVE 합성에 사용 가능)
failed- 등록 실패 (오류 발생)
API 엔드포인트

Required Headers

X-API-Key: {YOUR_API_KEY}
POSThttps://agitvxptajouhvoatxio.supabase.co/functions/v1/register-dive-voice-v1

새로운 목소리를 등록합니다. 응답은 즉시 반환되고 실제 처리는 백그라운드에서 진행됩니다.

Content-Type: multipart/form-data

// Request (Form Data)

name: string          // 목소리 이름 (최대 50자, 필수)
description: string   // 목소리 설명 (최대 200자, 선택)
audioFile: File       // 오디오 파일 - wav, mp3, m4a, webm, ogg, flac (필수)
audioText: string     // 오디오에서 말하는 텍스트 내용 (필수)

// Response (201 Created)

{
  "id": "uuid",
  "name": "string",
  "status": "processing"
}
GEThttps://agitvxptajouhvoatxio.supabase.co/functions/v1/list-dive-voices-v1

조직에 등록된 모든 목소리 목록을 조회합니다.

// Response (200 OK)

{
  "voices": [
    {
      "id": "uuid",
      "name": "string",
      "description": "string",
      "usageCount": number,
      "status": "completed",
      "createdAt": "ISO 8601 datetime"
    }
  ]
}
DELETEhttps://agitvxptajouhvoatxio.supabase.co/functions/v1/delete-dive-voice-v1/{id}

조직에 등록된 목소리를 삭제합니다.

// Response (200 OK)

// body 없음
오디오 파일 가이드라인

권장 사항

  • 오디오 길이: 2~20초
  • 포맷: WAV, MP3, M4A
  • 음질: 깨끗한 녹음, 배경 소음 최소화
  • 텍스트 정확도: audioText는 오디오 내용과 정확히 일치해야 함

주의 사항

  • 배경 음악이나 효과음이 포함된 오디오는 피해주세요
  • 여러 명의 목소리가 포함된 오디오는 사용할 수 없습니다
  • 텍스트와 오디오가 일치하지 않으면 품질이 저하됩니다
DIVE API 연동

등록된 목소리를 DIVE TTS 합성에 사용하려면 mode를 "saved"로 설정하고 savedVoiceId에 목소리 ID를 전달합니다.

DIVE API Request Body

{
  "text": "안녕하세요, 저장된 목소리로 합성합니다.",
  "mode": "saved",
  "savedVoiceId": "{VOICE_ID}"
  // ... other DIVE parameters
}
오류 코드
상태 코드설명
400필수 파라미터 누락 또는 잘못된 형식
401API 키가 유효하지 않거나 누락됨
403목소리 등록 기능 접근 권한 없음 (has_dive_reference_access)
500서버 내부 오류