음성 합성

POST /v1/audio/speech가 돌려주는 것은 JSON이 아니라 오디오 자체입니다. 본문은 인코딩된 파일이고 Content-Typeresponse_format을 따라가므로 mp3audio/mpeg으로 옵니다. 중요한 필드는 model·input·voice이고 speedinstructions는 선택이며, 목소리 이름은 모델마다 따로 공개됩니다. 응답은 곧바로 파일로 쓰세요. 텍스트로 디코딩하면 깨집니다.

POST /v1/audio/speech
curl https://api.chinaapi.ai/v1/audio/speech \
  -H "Authorization: Bearer $CHINAAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "step-tts-2",
    "input": "ChinaAPI text to speech verification.",
    "voice": "cixingnansheng",
    "response_format": "mp3"
  }' \
  --output speech.mp3

# HTTP 200, Content-Type: audio/mpeg
음성 복제

step-tts-2

step-tts-mini, stepaudio-2.5-tts도 같습니다. 셋 다 약 10초의 참조 오디오로 목소리를 복제하고 감정과 말투를 자연어 지시로 받습니다. step-tts-mini는 저지연·저비용 계열입니다.

고음질

speech-2.8-hd

speech-2.8-turbo도 같습니다. hd는 이 엔드포인트에서 가장 충실도가 높고 가격도 그에 맞습니다. turbo는 그 일부를 지연 시간과 맞바꾸며 요금은 대략 절반입니다.

다국어

qwen3-tts-flash

glm-tts도 같습니다. 둘 다 다국어를 지원하고 복제 계열보다 저렴해서, 특정 복제 음성이 필요하지 않을 때의 무난한 기본값입니다.

기본 음색 voice는 비워 두어도 됩니다. 모델마다 기본값이 있어 대신 보내 드립니다 — qwen3-tts-flashCherry, glm-ttstongtong, step-tts-2·step-tts-mini·stepaudio-2.5-ttscixingnansheng, mimo-v2.5-ttsspeech-2.8 계열은 alloy입니다. OpenAI의 음색 이름은 어디서나 받아들여지며, 중국 모델에서는 거부되지 않고 해당 모델의 기본값으로 접힙니다. 그래서 기존 OpenAI 클라이언트를 이 엔드포인트로 돌리기만 해도 그대로 동작합니다. 여기 적은 것은 기본값이지 전체 목록이 아닙니다 — 각 공급사는 더 많은 음색을 공개합니다. 두 변형은 음색 이름을 받지 않습니다: mimo-v2.5-tts-voiceclonevoice에 data URL 형태의 참조 음원을, mimo-v2.5-tts-voicedesigninstructions에 음색 설명을 받습니다.
과금은 input의 글자 수를 한 글자당 한 토큰으로 셉니다. 그래서 요청을 보내기 전에 비용을 알 수 있습니다. 생성된 오디오도 분당 1000토큰 환산으로 측정되어 완료 토큰으로 기록되지만 그 배율은 0입니다 — 59자 요청으로 약 5초 분량을 만든 실측에서 프롬프트 59토큰, 완료 83토큰이 기록되었고 과금은 59 쪽이었습니다. 문장부호와 공백도 글자로 셉니다.