Audio Speech API
텍스트를 음성으로 변환합니다. OpenAI의 POST /v1/audio/speech와 호환되며, 응답 본문은 JSON이 아니라 오디오 파일(바이너리) 그 자체입니다.
voice, response_format 등 파라미터의 허용 값은 모델마다 다르므로 시리즈 페이지를 기준으로 하십시오.
빠른 시작
https://api.ofox.io/v1https://api.ofox.io/v1/audio/speechgoogle/gemini-3.8-flash-ttsPython
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.ofox.io/v1", api_key=os.environ["OFOX_API_KEY"])
with client.audio.speech.with_streaming_response.create(
model="google/gemini-3.8-flash-tts",
voice="Kore",
input="안녕하세요, OfoxAI 음성 합성을 이용해 주셔서 감사합니다.",
response_format="wav",
) as resp:
resp.stream_to_file("speech.wav")요청 파라미터
모델 ID입니다. 위 표를 참고하십시오.
합성할 텍스트입니다. 비어 있으면 400이 반환됩니다.
음성입니다. Gemini TTS에서는 필수이며 Google의 음성 이름(예: Kore)을 지정합니다. ElevenLabs에서는 음성 ID(예: 21m00Tcm4TlvDq8ikWAM)를 지정합니다. OpenAI의 음성 이름(예: alloy)은 두 시리즈 모두에서 사용할 수 없습니다.
오디오 형식입니다. 허용 값은 모델마다 다릅니다. Gemini TTS는 wav, pcm을, ElevenLabs는 mp3, opus, wav, pcm을 지원합니다. 지원하지 않는 형식을 전달하면 400이 반환됩니다.
어조와 스타일에 대한 지시입니다(예: “밝은 어조로 읽어 주세요”). Gemini TTS에 적용됩니다.
언어 코드입니다(예: cmn-CN(Gemini TTS), zh(ElevenLabs)). 생략하면 모델이 텍스트를 보고 판단합니다.
sse를 전달하면 Server-Sent Events로 오디오 청크를 스트리밍합니다. Gemini TTS에 적용됩니다.
공급자 전용 파라미터로, 해당 공급자에 그대로 전달됩니다. 예: ElevenLabs의 {"elevenlabs": {"voice_settings": {...}}}. 각 시리즈 페이지를 참고하십시오.
응답
성공하면 HTTP 200이 반환되며, 응답 본문은 오디오 파일이고 Content-Type은 형식에 대응합니다.
응답 본문을 그대로 파일에 쓰십시오. 오류 시에는 응답이 JSON이고 Content-Type이 application/json이므로, 오류 메시지를 오디오 파일로 저장하지 않도록 먼저 상태 코드를 확인하십시오.
자주 발생하는 오류
전체 오류 코드 설명은 오류 처리를 참고하십시오.