Developer API · v1
몇 줄의 코드로
자연스러운 음성을.
익숙한 OpenAI TTS 요청 형식으로 AudioWorld의 합성 음성을 생성하세요. base_url과 API 키만 바꾸면 완성된 WAV 파일을 바로 받을 수 있습니다.
https://play.audioworld.ai
/v1/audio/speechAUDIOWORLD_API_KEY로 안전하게 보관AGENT READY
AI 에이전트에게 문서 하나만 전달하세요.
아래 Markdown에는 실제 TTS 호출, 비밀 키 보호, WAV 파일 검증까지 순서대로 적혀 있습니다.
이 API는 AudioWorld가 운영하는 별도의 TTS 서비스이며 OpenAI가 제공하거나 보증하는 서비스가 아닙니다. OpenAI SDK는 호환 클라이언트로만 사용됩니다.
01 / QUICKSTART
빠른 시작
서버에서 API 키를 환경 변수로 설정한 다음 원하는 언어의 예제를 실행하세요. 브라우저나 모바일 앱 코드에는 비밀 키를 넣지 마세요.
import os
from pathlib import Path
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AUDIOWORLD_API_KEY"],
base_url="https://play.audioworld.ai/v1",
)
speech_file = Path("speech.wav")
with client.audio.speech.with_streaming_response.create(
model="audioworld-tts-1",
voice="asmr_male_01",
input="오늘 주문하신 상품은 오후 3시 30분에 도착합니다.",
response_format="wav",
) as response:
response.stream_to_file(speech_file)import fs from "node:fs/promises";
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.AUDIOWORLD_API_KEY,
baseURL: "https://play.audioworld.ai/v1",
});
const response = await client.audio.speech.create({
model: "audioworld-tts-1",
voice: "asmr_male_01",
input: "오늘 주문하신 상품은 오후 3시 30분에 도착합니다.",
response_format: "wav",
});
await fs.writeFile("speech.wav", Buffer.from(await response.arrayBuffer()));curl https://play.audioworld.ai/v1/audio/speech \
-H "Authorization: Bearer $AUDIOWORLD_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "audioworld-tts-1",
"voice": "asmr_male_01",
"input": "오늘 주문하신 상품은 오후 3시 30분에 도착합니다.",
"response_format": "wav"
}' \
--output speech.wav02
인증
로그인 후 계정 화면에서 aw_live_로 시작하는 API 키를 만드세요. 원문 키는 발급 직후 한 번만 표시되며 AudioWorld 서버에는 복구할 수 없는 해시만 저장됩니다.
Bearer aw_live_...키가 노출되면 계정 화면에서 즉시 폐기하고 새 키를 발급하세요.
API 사용료는 웹 월간 요금제 크레딧과 분리된 잔액에서 성공한 요청만 차감됩니다. 현재 API 잔액 충전은 베타 운영 중이므로 contact@audioworld.ai로 테스트 잔액을 요청해 주세요. 기준 가격은 1,000자당 120원이며 실패한 생성은 자동 복원됩니다.
03
음성 생성
/v1/audio/speechmodelstring · 필수audioworld-tts-1
inputstring · 필수음성으로 만들 텍스트. 공백을 제외한 Unicode 문자 수를 기준으로 과금합니다.
voicestring · 필수아래 AudioWorld 음성 ID 중 하나입니다.
response_formatstring · 선택현재 wav만 지원하며 기본값도 WAV입니다.
speednumber · 선택현재 1.0만 지원합니다.
languagestring · 선택AudioWorld 확장 필드입니다. 기본값은 Auto이며 Korean, English, Chinese, Japanese 등 10개 언어를 지정할 수 있습니다.
Idempotency-Key 헤더는 선택 사항입니다. 네트워크 재시도에서 중복 생성과 이중 차감을 막으려면 요청마다 UUID를 만들어 같은 논리 요청에 재사용하세요.
04
사용할 수 있는 음성
음성 업로드, 복제, 디자인과 타인 사칭 기능은 제공하지 않습니다. 아래 고정 합성 음성만 사용할 수 있습니다.
asmr_male_01민준한국어 · 차분하고 가까운 남성 음성seungyeon_female_01승연한국어 · 또렷하고 자연스러운 여성 음성Sohee소희한국어 · 따뜻하고 감정이 풍부한 여성 음성Aiden에이든영어 · 밝고 선명한 남성 음성Ryan라이언영어 · 리듬감 있고 힘 있는 남성 음성Serena세레나중국어 · 부드러운 여성 음성Vivian비비안중국어 · 밝고 활기찬 여성 음성Dylan딜런중국어 · 자연스러운 남성 음성Eric에릭중국어 · 경쾌한 남성 음성Ono_Anna안나일본어 · 가볍고 발랄한 여성 음성Uncle_Fu푸 아저씨중국어 · 안정감 있는 남성 음성byungchul말자한국어 · Creator 전용dohyun도현한국어 · Creator 전용hajun하준한국어 · Creator 전용hayoon하윤한국어 · Creator 전용jian지안한국어 · Creator 전용jungwoo정우한국어 · Creator 전용junseo준서한국어 · Creator 전용mansu수자한국어 · Creator 전용minji민지한국어 · Creator 전용seoa서아한국어 · Creator 전용seoyeon서연한국어 · Creator 전용siwoo시우한국어 · Creator 전용sunja순자한국어 · Creator 전용youngsoon영순한국어 · Creator 전용05
긴 작업은 비동기로
기본 요청은 생성이 끝날 때까지 기다린 뒤 WAV 바이트를 바로 반환합니다. 서버의 응답 제한이 짧다면 Prefer: respond-async 헤더를 추가하세요. 이 경우 202 Accepted와 상태 URL이 반환됩니다.
curl https://play.audioworld.ai/v1/audio/speech \
-H "Authorization: Bearer $AUDIOWORLD_API_KEY" \
-H "Content-Type: application/json" \
-H "Prefer: respond-async" \
-d '{"model":"audioworld-tts-1","voice":"Sohee","input":"안녕하세요.","response_format":"wav"}'상태는 GET /v1/audio/speech/{request_id}, 완성 파일은 GET /v1/audio/speech/{request_id}/content에서 같은 Bearer 키로 조회합니다. API 결과는 30일간 보관된 뒤 자동 삭제됩니다.
06
오류와 재시도
오류는 OpenAI SDK가 읽을 수 있는 { "error": { "message", "type", "param", "code" } } 형태로 반환합니다. 429와 504에서는 Retry-After를 따르고 동일한 Idempotency-Key로 재시도하세요.
첫 API 키를 만들어 보세요.
테스트 잔액이나 연동 관련 질문은 contact@audioworld.ai로 보내 주세요. 비밀번호나 API 키 원문은 메일에 적지 마세요.