웨이브AI API

음성·노래를 코드 한 줄로. REST 기반, 별도 심사 없이 키 발급 즉시 사용하세요.

개요

모든 요청은 HTTPS로 아래 베이스 URL에 보냅니다. 요청/응답 본문은 JSON입니다.

BASE https://waveai.space/v1

응답은 항상 ok 필드를 포함합니다. 성공 시 { "ok": true, ... }, 실패 시 { "ok": false, "error": {...} }.

인증

대시보드 → API 키에서 키(wv_live_…)를 발급한 뒤, 모든 요청 헤더에 담아 보냅니다.

Authorization: Bearer wv_live_xxxxxxxxxxxxxxxx
키는 발급 시 한 번만 표시됩니다. 서버에서만 사용하고 클라이언트·저장소에 노출하지 마세요. 유출 시 대시보드에서 즉시 삭제할 수 있습니다.

에러

실패 응답 예시:

{
  "ok": false,
  "error": { "code": "insufficient_credits", "message": "크레딧이 부족합니다." }
}
상태code의미
401unauthorized / invalid_api_key인증 실패
402insufficient_credits크레딧 부족
400invalid_input입력값 오류
429rate_limited요청 과다
502generation_failed생성 실패(크레딧 자동 환불)

제한 · 요금(크레딧)

음성 생성

POST /v1/voice
필드타입설명
textstring읽을 내용 (최대 10,000자)
voicestring보이스 ID (예: Korean_GentleWoman)
emotionstringauto·happy·sad·angry·surprised·fearful·calm
speednumber0.5 ~ 2.0 (기본 1)
formatstringmp3·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  ...

전체 목록은 대시보드 → 음성 만들기에서 언어별로 확인할 수 있습니다.

노래 생성

POST /v1/music
필드타입설명
promptstring곡 설명·분위기·장르 (최대 2,000자)
lyricsstring가사. [벌스] [코러스] 등 구조 태그 지원. 비우면 자동 작사 (또는 /v1/lyrics로 먼저 생성)
instrumentalbooleantrue면 보컬 없이 연주곡으로
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 }

생성 상태 조회

GET /v1/jobs/{jobId}

완료될 때까지 2~3초 간격으로 폴링하세요. statusdone이면 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 흐름: queuedprocessingdone (또는 failed + error). 음성·이미지·가사·받아쓰기·음성 클론은 즉시 응답(동기)입니다.

가사 생성 (AI 작사)

POST /v1/lyrics

간단한 주제·분위기만 보내면 [벌스]·[코러스] 형식의 가사를 만들어 돌려줍니다. 결과 가사를 /v1/musiclyrics 필드에 그대로 넣어 노래를 만들 수 있어요.

필드타입설명
promptstring가사 주제·분위기 (최대 500자)
curl https://waveai.space/v1/lyrics \
  -H "Authorization: Bearer wv_live_..." \
  -d '{ "prompt": "비 오는 날 카페에서 느끼는 그리움" }'
{ "ok": true,
  "lyrics": "[벌스]\n창밖엔 비가 내리고…",
  "cost": 14, "creditsRemaining": 2350 }

받아쓰기 (STT)

POST /v1/transcribe

오디오를 텍스트로 변환합니다. 결과 텍스트만 반환하며, 요금은 재생 길이(분) 기준입니다.

필드타입설명
audiostring오디오 data URL 또는 base64 (MP3·WAV·M4A·WebM, 25MB 이하)
durationnumber재생 길이(초). 정확한 분당 과금을 위해 권장 (미입력 시 파일 크기로 추정)
formatstringtext(평문, 기본, 분당 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 }

음성 클론

POST /v1/voice/clone

내 목소리(10초 이상)를 등록해 나만의 보이스를 만듭니다. 등록된 voiceId/v1/voicevoice 값으로 넘기면 그 목소리로 합성됩니다. 사용자당 최대 5개.

필드타입설명
audiostring음성 data URL 또는 base64 (10초 이상·잡음 적을수록 정확, 20MB 이하)
namestring보이스 이름 (최대 20자)
durationnumber재생 길이(초). 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} 입니다.

이미지 생성

POST /v1/image
필드타입설명
promptstring만들 이미지 설명 (최대 2,000자)
sizestring1024x1024·1536x1024·1024x1536·1792x1024·1024x1792·1536x512·512x1536·auto
qualitystringlow·medium·high (기본 medium)
output_formatstringpng·jpeg·webp (기본 png)
curl https://waveai.space/v1/image \
  -H "Authorization: Bearer wv_live_..." \
  -d '{
    "prompt": "미니멀한 제품 썸네일, 파스텔 배경, 스튜디오 조명",
    "size": "1024x1024",
    "quality": "medium"
  }'

이미지 편집 (image-to-image)

POST /v1/image/edit

업로드한 이미지를 프롬프트대로 변형합니다. image 외 파라미터·요금은 이미지 생성과 동일합니다.

필드타입설명
imagestring원본 이미지 data URL 또는 base64 (PNG·JPEG·WebP, 10MB 이하)
promptstring어떻게 바꿀지 설명 (최대 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": "배경을 노을진 해변으로 바꿔줘" }'

내 정보

GET /v1/me
{ "ok": true, "plan": "free", "credits": 200,
  "creationsCount": 12 }

생성 내역

GET /v1/me/creations
GET /v1/me/usage

최근 생성 결과(서명 URL 포함)와 크레딧 사용 내역을 반환합니다.

문의: 카카오톡 채널 · 키 발급은 대시보드에서.