🎁 신규 무료 가입, 10회 호출 제공. 최대 $1, 카드 불필요.

텍스트-음성 변환

POST /v1/audio/speech

OpenAI 호환 엔드포인트 하나로 텍스트를 자연스러운 음성으로 바꿉니다. JSON을 보내면 오디오 바이트가 그대로 돌아옵니다. 제공업체를 바꿀 때 수정하는 것은 model뿐입니다. 디스크에는 아무것도 기록하지 않으며, 오디오는 곧바로 스트리밍으로 반환됩니다.

요청 예시

curl https://synthorai.io/v1/audio/speech \
  -H "Authorization: Bearer $SYNTHORAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "tts-1",
    "input": "Hello from Synthorai.",
    "voice": "alloy"
  }' \
  --output speech.mp3

Python (OpenAI SDK)

from openai import OpenAI

client = OpenAI(
    api_key="$SYNTHORAI_API_KEY",
    base_url="https://synthorai.io/v1",
)

with client.audio.speech.with_streaming_response.create(
    model="tts-1",
    voice="alloy",
    input="Hello from Synthorai.",
) as response:
    response.stream_to_file("speech.mp3")

요청 본문

매개변수 유형 설명
model* string 모델 ID. tts-1, tts-1-hd, seed-tts-2.0 중 하나.
input* string 합성할 텍스트. 최대 4096자.
voice string 읽어 줄 보이스. 기본값은 alloy. 아래 보이스 항목을 참고하세요.
response_format string 오디오 컨테이너: mp3(기본값), opus, wav 또는 pcm.
speed number 말하기 속도, 0.25–4.0. 기본값은 1.0.

지원 모델

어떤 것을 선택해야 하나요?

필요한 것 권장 모델
가장 저렴하며 대부분의 제품 음성에 충분함 google-tts-standard
중국어 중심 콘텐츠, 또는 보이스 선택지가 많이 필요한 경우 qwen3-tts-instruct-flash seed-tts-2.0
일상적인 제품 음성, 음질과 비용의 균형을 맞추고 싶을 때 tts-1 google-tts-neural2
최고의 표현력: 내레이션, 컴패니언 디바이스, 브랜드 보이스 tts-1-hd google-tts-chirp3-hd
모델 가격 적합한 용도
google-tts-standard $4 / 1M chars 비용이 가장 중요한 대량 알림과 안내 음성
qwen3-tts-instruct-flash $11.50 / 1M chars 중국어 및 다국어 콘텐츠. 업스트림이 청구 문자 수를 함께 반환
tts-1 $15 / 1M chars 일반 제품 음성, 안내 음성, 알림
google-tts-neural2 $16 / 1M chars 여러 언어에서 자연스러운 일상 음성
tts-1-hd $30 / 1M chars 내레이션, 마케팅, 사용자가 한동안 듣게 되는 콘텐츠
seed-tts-2.0 $30 / 1M chars 중국어 및 다국어 콘텐츠. 180+ 보이스
google-tts-chirp3-hd $30 / 1M chars Google의 최신이자 가장 표현력 있는 보이스

$30인 모델이 셋입니다. 차이는 가격이 아니라 보이스의 성격과 언어 커버리지에 있습니다. 정하기 전에 직접 쓰는 문구로 들어 보고 비교하세요.

제공업체를 바꾸는 데 드는 것은 한 줄입니다. 여기 있는 모든 모델은 요청과 응답 형태가 동일합니다. 내부 제공업체는 인증 방식, 스트리밍 형식, 보이스 이름 규칙까지 크게 다르지만, gateway가 그 차이를 흡수하므로 여러분이 바꾸는 값은 오직 model.

# Same request, different provider — only the model name changes.
-d '{"model": "tts-1",        "input": "...", "voice": "alloy"}'
-d '{"model": "seed-tts-2.0", "input": "...", "voice": "alloy"}'

보이스

OpenAI 모델은 표준 보이스를 지원합니다: alloy, echo, fable, onyx, nova, shimmer.

모델 seed-tts-2.0 역시 동일한 여섯 개 이름을 쓸 수 있고(비슷한 보이스로 매핑됩니다), 완전한 제어가 필요하면 BytePlus 네이티브 보이스 ID를 직접 전달할 수도 있습니다. 예를 들어 zh_female_cancan_uranus_bigtts. 180+ 네이티브 보이스의 전체 목록은 BytePlus 보이스 카탈로그에 있습니다.

모델 qwen3-tts-instruct-flash 역시 동일한 여섯 개 이름을 쓸 수 있고, Qwen 네이티브 보이스를 직접 전달할 수도 있습니다. 예를 들어 Cherry, Ethan, Nofish, Jada.

Google 보이스는 가격 등급에 묶여 있습니다. Google 모델은 각각 하나의 등급을 담당하며, 등급은 보이스 이름 안에 들어 있습니다. 네이티브 보이스 id를 전달할 때는, 예를 들어 en-US-Neural2-C 라면 그에 맞는 모델을 써야 합니다. 이 예에서는 google-tts-neural2입니다. 등급이 다른 보이스는 잘못된 요금으로 조용히 청구되는 대신 502로 거부됩니다.

오디오 형식

컨테이너 선택은 response_format 파라미터로 합니다. 기본값은 mp3: mp3, opus, wav, pcm.

모든 제공업체가 모든 컨테이너를 지원하지는 않습니다. 지원되지 않는 값은 오류가 아니라 MP3로 대체됩니다.

과금

입력 문자 수 기준으로 제공업체의 공식 정가로 청구되며, 별도의 마진은 붙지 않습니다. 1자 = 한자 1자 = 알파벳 1자 = 문장 부호 1개 = 공백 1개. 실패한 요청은 청구되지 않습니다.

돌려받는 오디오는 따로 계량하지 않습니다. 보내는 텍스트만 청구 대상입니다.

제한

  • 요청당 최대 4096자입니다. 이보다 긴 입력은 과금되기 전에 거부되므로, 클라이언트에서 나누어 보낸 뒤 오디오를 이어 붙이세요.
  • 말하기 속도는 speed 파라미터로 조절합니다(0.25–4.0, 기본값 1.0). 제공업체 범위를 벗어난 값은 거부되지 않고 범위 안으로 맞춰집니다.

오류

응답 설명
400 입력이 비어 있거나 4096자를 초과했습니다.
401 API key가 없거나 유효하지 않습니다.
402 이 요청에 필요한 할당량이 부족합니다.
502 해당 모델을 계정에서 사용할 수 없거나, 업스트림 제공업체가 실패했습니다. 요금은 청구되지 않습니다.
503 현재 이 모델을 제공하는 채널이 없습니다.