음성·음악

하는 일엔드포인트응답
글을 목소리로 (ElevenLabs)POST /v1/speech바로
목소리 찾기GET /v1/voices바로
오디오를 글로 (Whisper)POST /v1/transcriptions작업
가사로 노래 만들기 (MiniMax)POST /v1/music작업

글을 목소리로

POST /v1/speech

요청

필드형식기본값설명
text문자열필수읽을 글
model문자열devdive-tts-eleven음성 모델 ID
voice_id문자열기본 목소리목소리 ID. GET /v1/voices에서 찾아요
voice_model문자열eleven_v4eleven_v4 또는 eleven_v4_turbo(더 빠름)
voice_settings객체없음목소리 세부 조정(아래 표)
language_code문자열자동읽을 언어(예: ko, en)
output_format문자열모델 기본값ElevenLabs 출력 형식 이름(예: mp3_44100_128)
previous_text, next_text문자열없음앞뒤 문장. 읽지는 않고 억양만 이어지게 해요. 긴 원고를 나눠 읽을 때 써요
seed0~4294967295없음같은 값과 같은 설정이면 최대한 같은 음성을 만들어요
apply_text_normalization문자열autoauto, on, off. 숫자·날짜를 말로 풀어 읽을지

voice_settings에 넣을 수 있는 값이에요. 모두 선택이에요.

필드형식설명
stability숫자높을수록 일정하고 차분하게, 낮을수록 감정 폭이 크게
similarity_boost숫자높을수록 원래 목소리에 가깝게
style숫자말투의 개성을 얼마나 살릴지
speed숫자읽는 속도
use_speaker_boost불리언원래 목소리와 더 닮게 보정할지

응답

{
  "id": "9f2c7a1e-3b4d-4e5f-8a6b-7c8d9e0f1a2b",
  "object": "speech",
  "model": "devdive-tts-eleven",
  "audio": { "url": "https://api.devdive.ai/media/…/speech.mp3" },
  "credits_used": 1.8
}

예시

curl https://api.devdive.ai/v1/speech \
  -H "Authorization: Bearer $DEVDIVE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "안녕하세요. 오늘의 주요 소식을 전해 드릴게요.",
    "language_code": "ko",
    "voice_settings": { "stability": 0.6, "speed": 1.0 }
  }'

목소리 찾기

GET /v1/voices

voice_id로 쓸 목소리를 찾아요. ElevenLabs 공개 목소리 라이브러리나 내 계정의 목소리를 볼 수 있어요.

쿼리기본값설명
sourcelibrarylibrary(공개 라이브러리) 또는 account(내 계정)
search없음이름·설명으로 찾기
language없음언어로 거르기(예: ko). library에서만
gender없음male, female, neutral. library에서만
page0쪽 번호(0부터)
page_size10한 쪽의 개수(1~100)
curl "https://api.devdive.ai/v1/voices?language=ko&page_size=1" \
  -H "Authorization: Bearer $DEVDIVE_API_KEY"
{
  "object": "list",
  "data": [
    {
      "voice_id": "QWulBjupT2Vv5EHzQE0y",
      "name": "Seonghyeon - Deep Korean Narrator",
      "gender": "male",
      "age": "middle_aged",
      "accent": "seoul",
      "language": "ko",
      "description": "Mature, steady Korean male voice with a clear standard Seoul accent. …",
      "preview_url": "https://storage.googleapis.com/…/preview.mp3"
    }
  ],
  "has_more": true,
  "total": 7290
}

preview_url로 목소리를 미리 들어 볼 수 있어요.

오디오를 글로

POST /v1/transcriptions

오디오 파일의 말을 글로 옮겨요. 작업이라 결과는 GET /v1/jobs/{id}로 받아요.

필드형식기본값설명
audio_url링크필수오디오 파일의 https 링크. 내 파일은 파일에서 먼저 올려요
language문자열ko말하는 언어(예: ko, en, ja)
curl https://api.devdive.ai/v1/transcriptions \
  -H "Authorization: Bearer $DEVDIVE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"audio_url": "https://example.com/meeting.m4a", "language": "ko"}'

끝나면 result.text에 전체 글이, result.segments에 구간별 결과가 와요.

{
  "object": "job",
  "type": "transcription",
  "status": "succeeded",
  "result": { "text": "오늘 회의에서는 다음 분기 일정을 정했습니다. …", "segments": [] }
}

노래 만들기

POST /v1/music

가사로 노래를 만들어요. 작업이라 결과는 GET /v1/jobs/{id}로 받아요.

필드형식기본값설명
lyrics문자열(1~3500자)필수가사
prompt문자열(최대 2000자)없음장르, 분위기, 악기, 목소리
version문자열music-2.5MiniMax 엔진 버전. music-2.5, music-3.0, music-2.0
model문자열devdive-music음악 모델은 하나라 보내지 않아도 돼요
audio_setting객체없음출력 오디오 설정(아래 표)
audio_setting 필드고를 수 있는 값
sample_rate16000, 24000, 32000, 44100
bitrate32000, 64000, 128000, 256000
formatmp3, wav, pcm
curl https://api.devdive.ai/v1/music \
  -H "Authorization: Bearer $DEVDIVE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "lyrics": "창밖에 비가 내리면\n너와 걷던 길이 생각나",
    "prompt": "잔잔한 어쿠스틱 발라드, 피아노와 기타, 따뜻한 여성 보컬",
    "version": "music-2.5",
    "audio_setting": { "format": "mp3", "sample_rate": 44100, "bitrate": 256000 }
  }'

끝나면 result.audio.url에 노래 파일 링크가 와요. 링크는 3일 동안 열려요.