웨이브AI API
음성·노래를 코드 한 줄로. REST 기반, 별도 심사 없이 키 발급 즉시 사용하세요.
개요
모든 요청은 HTTPS로 아래 베이스 URL에 보냅니다. 요청/응답 본문은 JSON입니다.
응답은 항상 ok 필드를 포함합니다. 성공 시 { "ok": true, ... }, 실패 시 { "ok": false, "error": {...} }.
인증
대시보드 → API 키에서 키(wv_live_…)를 발급한 뒤, 모든 요청 헤더에 담아 보냅니다.
Authorization: Bearer wv_live_xxxxxxxxxxxxxxxx
에러
실패 응답 예시:
{
"ok": false,
"error": { "code": "insufficient_credits", "message": "크레딧이 부족합니다." }
}
| 상태 | code | 의미 |
|---|---|---|
| 401 | unauthorized / invalid_api_key | 인증 실패 |
| 402 | insufficient_credits | 크레딧 부족 |
| 400 | invalid_input | 입력값 오류 |
| 429 | rate_limited | 요청 과다 |
| 502 | generation_failed | 생성 실패(크레딧 자동 환불) |
제한 · 요금(크레딧)
- 레이트리밋: 분당 30회 (초과 시 429,
Retry-After헤더) - 음성: 5자당 1크레딧 (최소 30크레딧)
- 노래: 460크레딧 (Music 3.0)
- 가사 생성: 14크레딧
- 받아쓰기(STT): 텍스트 분당 12 · 자막(SRT/VTT) 분당 24크레딧
- 음성 클론: 등록 1회 5,000크레딧 (이후 합성은 음성 요금)
- 이미지: 화질·비율에 따라 40크레딧부터
- 생성 실패 시 차감 크레딧은 자동 환불됩니다.
음성 생성
| 필드 | 타입 | 설명 |
|---|---|---|
text | string | 읽을 내용 (최대 10,000자) |
voice | string | 보이스 ID (예: Korean_GentleWoman) |
emotion | string | auto·happy·sad·angry·surprised·fearful·calm |
speed | number | 0.5 ~ 2.0 (기본 1) |
format | string | mp3·wav·flac (기본 mp3) |
# 요청 curl https://waveai.space/v1/voice \ -H "Authorization: Bearer wv_live_..." \ -H "Content-Type: application/json" \ -d '{ "text": "안녕하세요, 웨이브AI입니다.", "voice": "Korean_GentleWoman", "emotion": "calm", "speed": 1.0 }' # 응답 { "ok": true, "id": "...", "url": "https://.../voice.mp3", "cost": 30, "creditsRemaining": 970 }
보이스 목록
한국어 외에도 영어·일본어·중국어 등 300+ 보이스를 지원합니다. 한국어 보이스 ID 예시:
Korean_GentleWoman Korean_CalmGentleman Korean_SweetGirl Korean_ElegantPrincess Korean_ConfidentBoss Korean_SoothingLady Korean_BraveYouth Korean_InnocentBoy Korean_WiseTeacher ...
전체 목록은 대시보드 → 음성 만들기에서 언어별로 확인할 수 있습니다.
노래 생성
| 필드 | 타입 | 설명 |
|---|---|---|
prompt | string | 곡 설명·분위기·장르 (최대 2,000자) |
lyrics | string | 가사. [벌스] [코러스] 등 구조 태그 지원. 비우면 자동 작사 (또는 /v1/lyrics로 먼저 생성) |
instrumental | boolean | true면 보컬 없이 연주곡으로 |
curl https://waveai.space/v1/music \ -H "Authorization: Bearer wv_live_..." \ -d '{ "prompt": "잔잔한 어쿠스틱 로고송, 따뜻한 분위기, 90 BPM", "lyrics": "[Verse]\n파도처럼 번지는…" }'
jobId를 받고(202), 아래 조회 API로 완료를 확인하세요. 크레딧은 제출 시 차감되며 실패 시 자동 환불됩니다.{ "ok": true, "jobId": "3f9a1c…", "status": "queued", "cost": 460, "creditsRemaining": 1540 }
생성 상태 조회
완료될 때까지 2~3초 간격으로 폴링하세요. status가 done이면 url(24시간 유효 서명 URL)로 결과를 내려받습니다.
curl https://waveai.space/v1/jobs/3f9a1c… \ -H "Authorization: Bearer wv_live_..."
{ "ok": true, "status": "done",
"id": "c1a2b3…", "url": "https://… (24시간 서명 URL)" }
status 흐름: queued → processing → done (또는 failed + error). 음성·이미지·가사·받아쓰기·음성 클론은 즉시 응답(동기)입니다.
가사 생성 (AI 작사)
간단한 주제·분위기만 보내면 [벌스]·[코러스] 형식의 가사를 만들어 돌려줍니다. 결과 가사를 /v1/music의 lyrics 필드에 그대로 넣어 노래를 만들 수 있어요.
| 필드 | 타입 | 설명 |
|---|---|---|
prompt | string | 가사 주제·분위기 (최대 500자) |
curl https://waveai.space/v1/lyrics \ -H "Authorization: Bearer wv_live_..." \ -d '{ "prompt": "비 오는 날 카페에서 느끼는 그리움" }'
{ "ok": true,
"lyrics": "[벌스]\n창밖엔 비가 내리고…",
"cost": 14, "creditsRemaining": 2350 }
받아쓰기 (STT)
오디오를 텍스트로 변환합니다. 결과 텍스트만 반환하며, 요금은 재생 길이(분) 기준입니다.
| 필드 | 타입 | 설명 |
|---|---|---|
audio | string | 오디오 data URL 또는 base64 (MP3·WAV·M4A·WebM, 25MB 이하) |
duration | number | 재생 길이(초). 정확한 분당 과금을 위해 권장 (미입력 시 파일 크기로 추정) |
format | string | text(평문, 기본, 분당 12) · srt·vtt(타임코드 자막, 분당 24) |
curl https://waveai.space/v1/transcribe \ -H "Authorization: Bearer wv_live_..." \ -d '{ "audio": "data:audio/mpeg;base64,...", "duration": 42, "format": "srt" }'
{ "ok": true, "format": "srt",
"text": "1\n00:00:00,000 --> 00:00:03,200\n안녕하세요. 오늘은…",
"cost": 24, "creditsRemaining": 2310 }
음성 클론
내 목소리(10초 이상)를 등록해 나만의 보이스를 만듭니다. 등록된 voiceId를 /v1/voice의 voice 값으로 넘기면 그 목소리로 합성됩니다. 사용자당 최대 5개.
| 필드 | 타입 | 설명 |
|---|---|---|
audio | string | 음성 data URL 또는 base64 (10초 이상·잡음 적을수록 정확, 20MB 이하) |
name | string | 보이스 이름 (최대 20자) |
duration | number | 재생 길이(초). 10초 미만이면 거부됩니다. |
curl https://waveai.space/v1/voice/clone \ -H "Authorization: Bearer wv_live_..." \ -d '{ "audio": "data:audio/mpeg;base64,...", "name": "내 목소리", "duration": 15 }'
{ "ok": true, "voiceId": "wv3f9a1c…", "name": "내 목소리", "cost": 5000, "creditsRemaining": 12500 }
내 보이스 목록은 GET /v1/voices, 삭제는 DELETE /v1/voices/{voiceId} 입니다.
이미지 생성
| 필드 | 타입 | 설명 |
|---|---|---|
prompt | string | 만들 이미지 설명 (최대 2,000자) |
size | string | 1024x1024·1536x1024·1024x1536·1792x1024·1024x1792·1536x512·512x1536·auto |
quality | string | low·medium·high (기본 medium) |
output_format | string | png·jpeg·webp (기본 png) |
curl https://waveai.space/v1/image \ -H "Authorization: Bearer wv_live_..." \ -d '{ "prompt": "미니멀한 제품 썸네일, 파스텔 배경, 스튜디오 조명", "size": "1024x1024", "quality": "medium" }'
이미지 편집 (image-to-image)
업로드한 이미지를 프롬프트대로 변형합니다. image 외 파라미터·요금은 이미지 생성과 동일합니다.
| 필드 | 타입 | 설명 |
|---|---|---|
image | string | 원본 이미지 data URL 또는 base64 (PNG·JPEG·WebP, 10MB 이하) |
prompt | string | 어떻게 바꿀지 설명 (최대 2,000자) |
size · quality · output_format | — | 이미지 생성과 동일 |
curl https://waveai.space/v1/image/edit \ -H "Authorization: Bearer wv_live_..." \ -d '{ "image": "data:image/png;base64,...", "prompt": "배경을 노을진 해변으로 바꿔줘" }'
내 정보
{ "ok": true, "plan": "free", "credits": 200,
"creationsCount": 12 }
생성 내역
최근 생성 결과(서명 URL 포함)와 크레딧 사용 내역을 반환합니다.