SONICBOOM API

ํ…์ŠคํŠธ๋ฅผ ๋ณด๋‚ด๋ฉด 0.6์ดˆ ๋งŒ์— ํ•œ๊ตญ์–ด ์Œ์„ฑ์ด ๋Œ์•„์˜ต๋‹ˆ๋‹ค. REST ํ•œ ๋ฒˆ์˜ ํ˜ธ์ถœ.

๐Ÿ”‘ API ์„œ๋ฒ„ ์ฃผ์†Œ: https://sonicboomtts.com โ€” ์•„๋ž˜ ์˜ˆ์ œ์— ์ž๋™ ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๊ธฐ

1. ๋Œ€์‹œ๋ณด๋“œ์—์„œ ๊ฐ€์ž…ํ•˜๋ฉด API ํ‚ค(sk_live_โ€ฆ)๋ฅผ ์ฆ‰์‹œ ๋ฐœ๊ธ‰๋ฐ›์Šต๋‹ˆ๋‹ค.
2. ์•„๋ž˜์ฒ˜๋Ÿผ ํ˜ธ์ถœํ•˜๋ฉด reply.wav๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

# ํ…์ŠคํŠธ โ†’ ์Œ์„ฑ
curl -s -o reply.wav __BASE__/v1/tts \
  -H "X-API-Key: sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"text":"์•ˆ๋…•ํ•˜์„ธ์š”, ๋ฌด์—‡์„ ๋„์™€๋“œ๋ฆด๊นŒ์š”?","voice":"30๋Œ€_์—ฌ_1"}'
const r = await fetch("__BASE__/v1/tts", {
  method: "POST",
  headers: { "Content-Type":"application/json", "X-API-Key":"sk_live_..." },
  body: JSON.stringify({ text:"์•ˆ๋…•ํ•˜์„ธ์š”", voice:"30๋Œ€_์—ฌ_1" })
});
new Audio(URL.createObjectURL(await r.blob())).play();
import requests
r = requests.post("__BASE__/v1/tts",
    headers={"X-API-Key":"sk_live_..."},
    json={"text":"์•ˆ๋…•ํ•˜์„ธ์š”", "voice":"30๋Œ€_์—ฌ_1"})
open("reply.wav","wb").write(r.content)

์ธ์ฆ

๋ชจ๋“  ์š”์ฒญ์€ ํ—ค๋”์— API ํ‚ค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

X-API-Key: sk_live_โ€ฆ

ํ‚ค๋Š” ๋Œ€์‹œ๋ณด๋“œ์—์„œ ๋ฐœ๊ธ‰ยท์กฐํšŒ. ๋…ธ์ถœ๋˜์ง€ ์•Š๊ฒŒ ์„œ๋ฒ„์—์„œ๋งŒ ์‚ฌ์šฉํ•˜์„ธ์š”.

์Œ์„ฑ ํ•ฉ์„ฑ

POST/v1/tts

์š”์ฒญ ํŒŒ๋ผ๋ฏธํ„ฐ (JSON)

ํ•„๋“œํ•„์ˆ˜์„ค๋ช…
textํ•„์ˆ˜ํ•ฉ์„ฑํ•  ํ…์ŠคํŠธ
voiceํ•„์ˆ˜๋ชฉ์†Œ๋ฆฌ(ํ”„๋กœํŒŒ์ผ)๋ช…. ์˜ˆ 30๋Œ€_์—ฌ_1 ยท ๋ชฉ๋ก
language_id์„ ํƒ1 ํ•œ๊ตญ์–ด(๊ธฐ๋ณธ) ยท 0 ์˜์–ด ยท 2 ํ˜ผํ•ฉ
n_timesteps์„ ํƒํ•ฉ์„ฑ ์Šคํ…(๊ธฐ๋ณธ 64)

์‘๋‹ต

audio/wav ๋ฐ”์ด๋„ˆ๋ฆฌ. ์‘๋‹ต ํ—ค๋”์— ํฌ๋ ˆ๋”ง ์‚ฌ์šฉ๋Ÿ‰์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

ํ—ค๋”์„ค๋ช…
X-Credits-Used์ด๋ฒˆ ์š”์ฒญ ํฌ๋ ˆ๋”ง
X-Credits-Remaining๋‚จ์€ ํฌ๋ ˆ๋”ง

ํฌ๋ ˆ๋”ง

ํ•ฉ์„ฑ์€ ํ•œ๊ตญ์–ด 1์ž โ‰ˆ 1.5ํฌ๋ ˆ๋”ง์œผ๋กœ ์ฐจ๊ฐ๋ฉ๋‹ˆ๋‹ค(์˜ฌ๋ฆผ). ํ”Œ๋žœ๋ณ„ ์›” ํฌ๋ ˆ๋”ง์€ ๋งค์›” ์ž๋™ ์ถฉ์ „(์ด์›” ์—†์Œ).

Free 3,000 ยท Starter 20,000 ยท Creator 100,000 ยท Pro 500,000 ํฌ๋ ˆ๋”ง/์›”. ํ”Œ๋žœ ๋ณด๊ธฐ โ†’

๋ชฉ์†Œ๋ฆฌ ๋ชฉ๋ก

GET/v1/voices

์ „์ฒด ๋ชฉ๋ก์€ ์œ„ ์—”๋“œํฌ์ธํŠธ๋กœ ์กฐํšŒ. ๋Œ€ํ‘œ ๋ชฉ์†Œ๋ฆฌ:

๐Ÿ‘ฉ ์ฒญ๋…„ยท์ค‘์žฅ๋…„ ์—ฌ์„ฑ
10๋Œ€_์—ฌ_1 ยท 20๋Œ€_์—ฌ_1 ยท โ€ฆ ยท 60๋Œ€_์—ฌ_1
๐Ÿ‘จ ์ฒญ๋…„ยท์ค‘์žฅ๋…„ ๋‚จ์„ฑ
10๋Œ€_๋‚จ_1 ยท 30๋Œ€_๋‚จ_1 ยท โ€ฆ ยท 60๋Œ€_๋‚จ_1
๐Ÿง’ ์–ด๋ฆฐ์ด
์–ด๋ฆฐ์ด_์œ ์น˜์›_์—ฌ_1 ยท ์–ด๋ฆฐ์ด_์ €ํ•™๋…„_๋‚จ_1 โ€ฆ
โœจ ํŠน๋ณ„
์ด์ •์žฌ ยท ํ˜„๋นˆ โ€ฆ

๊ณ„์ • ์กฐํšŒ

GET/v1/meโ€” ํ—ค๋” X-API-Key

ํ”Œ๋žœยทํฌ๋ ˆ๋”งยท์‚ฌ์šฉ๋Ÿ‰์„ JSON์œผ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์—๋Ÿฌ

์ฝ”๋“œ์˜๋ฏธ
400text/voice ๋ˆ„๋ฝ ๋“ฑ ์ž˜๋ชป๋œ ์š”์ฒญ
401์œ ํšจํ•˜์ง€ ์•Š์€ API ํ‚ค
402ํฌ๋ ˆ๋”ง ๋ถ€์กฑ โ€” ํ”Œ๋žœ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•„์š”
502ํ•ฉ์„ฑ ์—”์ง„ ์˜ค๋ฅ˜
๐Ÿš€ ์ค€๋น„๋˜์…จ๋‚˜์š”? ๋ฌด๋ฃŒ API ํ‚ค ๋ฐ›๊ธฐ โ†’