Worder API
실제 인증된 사람의 목소리로 프로그래밍 방식으로 음성을 생성하세요. 생성된 오디오의 초당 요금만 지불합니다.
왜 Worder로 개발해야 할까요?
윤리적으로 확보한 목소리
모든 목소리는 실제 성우 본인이 업로드하고 영상으로 인증했습니다. 무단 수집한 데이터는 없습니다.
초당 과금
성우가 각자 초당 요금을 정합니다. 생성한 오디오만큼만 지불하거나, 구독 등급으로 절약하세요.
성우가 90%를 가져갑니다
신용카드 수수료와 AI 생성 수수료를 제외한 판매 금액의 90%를 성우가 가져갑니다. 정산은 Stripe Connect를 통해 처리됩니다.
빠른 시작
1. API 키 받기 + 크레딧 추가
계정을 만든 다음 대시보드 → 개발자 API에서 키를 만드세요. 크레딧을 추가하세요 (최소 $5). 모든 생성 건은 잔액 또는 해당 성우에 대해 보유한 구독에서 차감됩니다.
2. 목소리 + 샘플 찾기
curl https://worder.com/api/v1/voices \ -H "Authorization: Bearer wdr_YOUR_API_KEY"
ID, 샘플, 언어, 초당 가격, 구독 등급이 포함된 목소리 목록을 반환합니다. 또는 마켓플레이스를 둘러보고 샘플 페이지의 "API로 생성"에서 목소리 / 샘플 ID를 복사하세요.
3. 음성 생성
curl -X POST https://worder.com/api/v1/generate \
-H "Authorization: Bearer wdr_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"voice_id": "VOICE_ID",
"sample_id": "SAMPLE_ID",
"text": "[happy] Hello, this is a test of the Worder API. [pause 1] [calm] Now let us discuss the details."
}'생성된 WAV의 서명된 URL, 생성된 초 수, 청구 금액, 그리고 구독에서 차감되었는지 크레딧에서 차감되었는지를 반환합니다.
목소리 유형
단일 감정
녹음 샘플 하나. 대본 전체가 균일한 톤으로 생성됩니다. 디렉션 태그는 사용할 수 없습니다. 내레이션, 안내 방송, 일관된 스타일의 콘텐츠에 적합합니다.
다중 감정
성우가 녹음한 13가지 감정 스타일. 구매자는 [happy], [angry], [calm] 같은 디렉션 태그로 대본 중간에 감정을 바꿀 수 있습니다. 광고, 스토리텔링, 캐릭터, 역동적인 콘텐츠에 적합합니다.
사용 가능한 태그: normal, excited, happy, confident, fast, calm, surprised, angry, thoughtful, sad, annoyed, scared, nervous.
API 응답의 voiceType 필드가 목소리의 유형을 알려 줍니다. descriptiveTags(“중후한”, “따뜻한”, “전문적인” 같은 키워드 최대 5개)로 특정 특성에 맞는 목소리를 검색하세요.
API 레퍼런스
/api/v1/voices영상으로 인증되었고 샘플이 하나 이상 있는 목소리를 나열합니다.
쿼리 매개변수
language — 언어로 필터링 (예: "English")
search — 대소문자를 구분하지 않는 이름 검색
limit — 페이지당 결과 수 (기본 20, 최대 100)
offset — 페이지네이션 오프셋
응답
{
"voices": [
{
"id": "...",
"name": "Professional Narrator",
"language": "English (United States)",
"accent": null,
"voiceType": "MULTI_EMOTION",
"descriptiveTags": ["deep", "warm", "professional"],
"samples": [
{ "id": "...", "label": "normal" },
{ "id": "...", "label": "happy" },
{ "id": "...", "label": "angry" }
],
"user": {
"id": "...",
"name": "Sarah Mitchell",
"pricePerSecondCents": 5,
"volumeDiscounts": [
{ "threshold": 3600, "discountPercent": 20 }
],
"storefront": { "slug": "sarahmitchell" }
}
}
],
"total": 42,
"limit": 20,
"offset": 0
}/api/v1/generate목소리로 음성을 생성합니다. 해당 성우에 대한 활성 구독이 있으면 구독에서 초가 차감됩니다. 그렇지 않으면 성우의 초당 요금으로 크레딧이 청구됩니다.
요청 본문 (JSON)
voice_id 필수 — 목소리 ID
sample_id — 태그 없는 텍스트에 사용할 기본 샘플 (기본값은 첫 번째 샘플)
text 필수 — 합성할 텍스트 (최소 30자, 최대 5,000자). 디렉션 태그와 일시정지 태그를 지원합니다 (아래 참조).
디렉션 태그
대본의 일부를 대괄호로 감싸고 목소리의 샘플 라벨과 일치하는 태그 이름을 넣으세요. Worder는 각 구간을 해당 샘플로 생성한 다음 오디오를 이어 붙입니다.
"text": "[happy] Welcome to the show! [confident] Now let's talk business."
사용 가능한 태그는 목소리마다 다릅니다. /api/v1/voices의 samples[].label 필드를 확인하세요. 태그 없는 텍스트는 지정한 sample_id 또는 첫 번째 샘플을 사용합니다. 다중 감정 음성에서 어떤 샘플과도 일치하지 않는 태그를 쓰면 사용 가능한 태그 목록과 함께 422가 반환되며, 아무것도 생성되거나 청구되지 않습니다. 13가지 표준 태그로 작성된 대본은 해당 태그를 제공하는 모든 목소리에서 작동합니다.
일시정지 태그
구간 사이에 무음을 삽입합니다. 길이는 초 단위로 지정합니다 (정수 또는 소수, 최대 30). 일시정지 뒤의 텍스트는 이전 태그의 스타일로 이어집니다.
"text": "[excited] Big news! [pause 2] [calm] But let's take it one step at a time." "text": "[calm] Take a breath. [pause 1.5] Now continue." "text": "[happy] Hola! [pausa 3] [calm] Ahora hablemos con calma."
[pause N]과 [pausa N] 모두 지원됩니다 (모든 언어에서 작동).
강조 태그
[emphasize]를 사용하면 다음 구간의 볼륨이 커집니다. 목소리 스타일은 바뀌지 않으며 이전 태그와 같은 샘플을 사용합니다. [emphasize] 뒤의 텍스트는 이전 태그의 스타일로 이어집니다.
"text": "[calm] Take a deep breath. [emphasize] Now give it everything you've got!"
다음도 지원됩니다: [emphasis], [enfatizar], [énfasis].
발음 지정
{written|spoken}로 특정 단어의 발음을 제어하세요. TTS 엔진은 “spoken” 부분을 받고, 품질 검사는 “written” 부분과 비교합니다.
"text": "{Pulse|Pols} es la energía que necesitas. {Nike|Naiki} también lo sabe."브랜드 이름, 외국어 단어, TTS가 잘못 발음하는 전문 용어에 유용합니다.
구간 요건
태그가 붙은 각 구간은 30자 이상이어야 합니다. 더 짧은 구간은 불안정한 오디오를 만듭니다. 여러 구간이 너무 짧으면 API가 모든 오류를 한 번에 반환합니다.
생성 후 Worder는 Whisper로 결과를 전사하여 입력과 비교합니다. 일치율이 90% 미만이면 생성이 거부되며(422), 요금은 청구되지 않습니다.
응답
{
"audio_url": "https://...",
"voice_id": "...",
"sample_id": "...",
"seconds_generated": 12,
"cost_cents": 60,
"charged_via": "credits",
"subscription_id": null,
"balance_cents": 9940
}오류 코드
400 — 유효성 검사 오류 (텍스트가 너무 짧음, 언어 불일치, 구간이 너무 짧음). 줄바꿈으로 구분된 여러 오류가 포함될 수 있습니다.
401 — API 키가 잘못되었거나 없음
402 — 크레딧 부족 (응답에 required_cents, balance_cents 포함)
404 — 목소리 또는 샘플을 찾을 수 없음
422 — 품질 검사 실패 (응답에 similarity, transcript, quality_failed: true 포함). 요금은 청구되지 않습니다.
502 — 생성 실패 (TTS 서비스 오류)
가격
초당 과금 — 성우가 각자 요금을 정합니다 (최소 $0.01/초). 실제로 생성된 오디오의 초 수만큼만 지불합니다.
구독 — 매월 일정량의 초(1시간, 10시간 또는 100시간)를 약정하면 초당 요금에서 20~60% 절약됩니다. 구독은 UI에서 구매하며, API 호출 시 자동으로 적용됩니다.
크레딧 — 계정에 일회성으로 충전하는 금액으로, 최소 $5입니다. 구독이 생성 건을 충당하지 못할 때 크레딧이 청구됩니다.
수익 배분 — 신용카드 처리 수수료와 AI 생성 수수료를 먼저 제합니다. 남은 금액에서 성우가 90%를 가져가고(Stripe Connect로 지급) Worder가 10%를 가져갑니다.