메인 콘텐츠로 건너뛰기
텍스트-음성 변환은 작성된 텍스트를 음성 오디오로 바꿉니다. TTS 모델을 선택하고, 해당 모델이 지원하는 음성을 고르고, 텍스트를 /audio/speech로 전송한 뒤 바이너리 오디오 응답을 저장하세요. 이 가이드는 표준 음성 생성을 다룹니다. 사용자 지정 참조 음성으로부터 음성을 생성하려면 음성 복제를 참조하세요.

기본 사용법

import os
from pathlib import Path

import requests

response = requests.post(
    "https://api.venice.ai/api/v1/audio/speech",
    headers={
        "Authorization": f"Bearer {os.environ['VENICE_API_KEY']}",
        "Content-Type": "application/json",
    },
    json={
        "model": "tts-kokoro",
        "voice": "af_sky",
        "input": "Hello, welcome to Venice Voice.",
    },
)

response.raise_for_status()
Path("speech.mp3").write_bytes(response.content)
import { writeFile } from "node:fs/promises";

const response = await fetch("https://api.venice.ai/api/v1/audio/speech", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.VENICE_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "tts-kokoro",
    voice: "af_sky",
    input: "Hello, welcome to Venice Voice.",
  }),
});

if (!response.ok) {
  throw new Error(await response.text());
}

await writeFile("speech.mp3", Buffer.from(await response.arrayBuffer()));
curl https://api.venice.ai/api/v1/audio/speech \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "tts-kokoro",
    "voice": "af_sky",
    "input": "Hello, welcome to Venice Voice."
  }' \
  --output speech.mp3

모델과 음성 선택

음성은 모델별로 다릅니다. voice 값은 선택한 model에 유효해야 합니다. 사용 가능한 모델과 음성을 살펴보려면 텍스트-음성 변환 모델 페이지를 이용하세요. 음성 선택기는 요청에 전달할 정확한 음성 ID를 표시합니다.
음성 ID는 대소문자를 구분합니다. TTS 모델을 변경할 때는 voice 값도 함께 업데이트하세요.

요청 구조

매개변수유형필수 여부설명
modelstring텍스트-음성 변환 모델 ID.
voicestring선택한 모델이 지원하는 음성 ID.
inputstring합성할 텍스트.

프로덕션 팁

  • 소스 텍스트와 음성이 재사용될 때는 생성된 오디오를 캐시하세요.
  • 합성 전에 텍스트를 정규화하고 교정하세요. 구두점은 속도와 억양에 영향을 줍니다.
  • 출력물은 모델의 응답 형식에 맞는 파일 확장자로 저장하세요.

관련 리소스