소개
최대 1,000자의 영어 텍스트와, 선택적으로 낭독이 얼마나 표현력 있고 다양하며 정밀하게 유도되어야 하는지를 전송하세요. 작업은 Chatterbox의 내장 음성이나 reference_audio_url로 보낸 짧은 클립의 목소리로 읽은 WAV 파일(24kHz, 16비트, 모노) 하나를 반환합니다. 같은 태그는 소리 내어 읽히므로, 대신 소리를 철자로 풀어 쓰세요. SpicyAPI는 콘텐츠 필터를 전혀 적용하지 않으며, 검열 없는 스크립트도 적힌 그대로 읽힙니다. 모든 요청은 동일한 정액 요금입니다.
| 항목 | 값 |
|---|---|
| 입력 | 텍스트 |
| 출력 | 오디오 |
| 필수 필드 | text — 영어 1~1,000자 |
| 선택 필드 | exaggeration(0–1), temperature(0.05–2), |
| 결과 | WAV 파일 1개, 24kHz, 16비트, 모노 |
| 음성 | 내장 음성 또는 reference_audio_url로 복제 |
| 과금 단위 | 요청당 정액 요금 |
| 보관 기간 | 생성된 오디오는 14일간 보관됩니다 |
요청 파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
text | 예 | 최대 1,000자의 영어를 적힌 그대로 읽습니다. 같은 태그는 소리 내어 읽히므로, 대신 소리를 철자로 풀어 쓰세요. 1자 이상 · 1000자 이하 |
reference_audio_url | 아니요 | 흉내 낼 목소리의 MP3 또는 WAV 클립입니다(선택). 업로드하거나 공개 URL을 지정합니다. 1자 이상 |
exaggeration | 아니요 | 낭독이 얼마나 감정적인지를 0(평탄함)부터 1(극적임)까지로 지정합니다. 기본값은 0.5입니다. |
temperature | 아니요 | 테이크 간의 변화를 0.05부터 2까지로 지정합니다. 기본값은 0.7입니다. |
guidance_scale | 아니요 | 낭독이 텍스트의 자연스러운 속도를 얼마나 충실히 따르는지를 0.1부터 1까지로 지정합니다. 기본값은 0.5이며, 서두르는 듯한 낭독을 느리게 하려면 값을 낮추세요. |
요금
$0.036 / 요청
최대 1,000자까지 요청당 정액 요금이 부과됩니다.
활용 사례
게임 및 애니메이션 대사
음색 선택보다 에너지가 중요한 짧고 임팩트 있는 캐릭터 대사에 적합합니다. 외침, 웃음, 숨챰 대사에는 exaggeration을 높이세요.
프로토타입 음성
최종 음성을 정하기 전에 데모, 스토리보드, 챗봇에 목소리를 입혀 보세요. 줄당 정액 요금이 부과됩니다.
무검열 오디오 스토리
검열 없는 스크립트도 적힌 그대로 읽힙니다. 저희 테스트에서 모델은 보낸 독백과 내레이션의 단어를 하나도 빠짐없이 읽었고, 철자로 풀어 쓴 소리도 그대로 냈습니다.
영상용 음성 트랙
여기서 대사를 생성한 다음, WAV 파일을 토킹 아바타나 립싱크 모델에 전달하면 얼굴이 그 대사를 연기합니다.
프롬프트 가이드 및 실전 팁
스크립트를 텍스트로 보내기
멈춤을 위한 문장 부호를 포함해 최대 1,000자의 영어로 작성하세요. 웃음과 한숨은 철자로 풀어 쓰십시오. 태그는 소리 내어 읽힙니다.
에너지 설정하기
exaggeration의 기본값은 0.5입니다. 궹적이거나 숨챰 대사에는 값을 높이고, 차분한 내레이션에는 낮추세요.
필요하면 미세 조정하기
서두르는 듯한 낭독을 느리게 하려면 guidance_scale을 낮추고, 테이크 간 다양성을 늘리려면 temperature를 높이세요.
반환되는 결과
작업당 WAV 파일 하나: 24kHz, 16비트, 모노 PCM입니다. 파일은 SpicyAPI 스토리지에 복사되어 14일간 보관됩니다. 결과에는 단어별 타이밍 정보나 자막이 포함되지 않습니다.
음성에 대해
Chatterbox는 Resemble AI의 오픈소스 영어 모델입니다(MIT 라이선스). 참조가 없으면 내장 음성으로 읽으며, 음성 목록은 없습니다. reference_audio_url에 짧은 MP3 또는 WAV 클립을 보내면 음성을 복제할 수 있고, 낭독은 클립의 말이 아니라 음색을 따릅니다. 음악 없이 한 사람의 깨끗한 목소리가 몇 초 담긴 클립이 가장 잘 맞으며, 그 목소리를 사용할 권리가 있어야 합니다.
컨트롤
exaggeration(0–1, 기본값 0.5): 낭독이 얼마나 감정적인지를 지정합니다.temperature(0.05–2, 기본값 0.7): 테이크 간의 변화를 지정합니다.guidance_scale(0.1–1, 기본값 0.5): 낭독이 텍스트의 속도를 얼마나 충실히 따르는지를 지정합니다. 0.3 전후로 하면 빠르고 궹적인 전달을 느리게 만들 수 있습니다.
테스트에서 <laugh>, <sigh>, [gasp] 같은 태그는 단어 그대로 소리 내어 읽혔습니다. 대신 소리를 철자로 풀어 쓰세요: ‘ha…’, ‘mmm…’, ‘ahh…’.
길이
text는 최대 1,000자까지 지원합니다. 테스트에서 270자 분량의 문단이 약 15초 분량의 오디오로 반환되었으며, 대부분의 작업은 10~30초 사이에 완료되었습니다.
과금
요청당 정액 요금이 부과됩니다. 실패한 요청에는 요금이 부과되지 않습니다.
콘텐츠
SpicyAPI는 콘텐츠 필터를 전혀 추가하지 않습니다. 테스트에서 검열 없는 스크립트가 한 글자도 빠짐없이 읽혔으며, 생략되거나 클립이 도중에 끝난 경우는 없었습니다.
SpicyAPI는 콘텐츠 필터를 더하지 않으며, 스크립트는 적힌 그대로 아무것도 누그러뜨리지 않고 읽습니다. 보내는 스크립트와 생성된 오디오의 사용 방식(실제 인물의 발언인 것처럼 제시하지 않는 것 포함)에 대한 책임은 사용자에게 있습니다.
API 빠른 시작
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "resemble-ai/chatterbox-v1/text-to-speech",
"input": {
"text": "Welcome back. Your files finished rendering a minute ago and are ready to download."
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
인증, 전체 스키마, 폴링과 오류 처리는 API 레퍼런스에서 확인하세요.
