ํ ์คํธ ์์ฑ ๋ณํ API๋ชจ๋ ์ฑ์ ์์ฑ์ ํ์ฌํ์ธ์
~100ms ์ง์ฐ ์๊ฐ์ ํํ๋ ฅ ์๊ณ ๋ฐฉํฅ ์ง์ ์ด ๊ฐ๋ฅํ ์์ฑ โ HeyGen, Retell, Plaud๋ฅผ ๊ตฌ๋ํ๋ ๋ฐ๋ก ๊ทธ S2.1 Pro ๋ชจ๋ธ์ ๋๋ค.

ํ๋ก๋์ ์๊ตฌ์ฌํญ์ ๋ง๋ ๋ชจ๋ธ
API๋ ํ๋. ํค๋ ํ๋๋ก ๋ชจ๋ธ์ ์ ํํ์ธ์. ๋ API ๋ชจ๋ธ ๋ชจ๋ ๋์ผํ ๊ท ์ผ ์๊ธ์ด ์ ์ฉ๋ฉ๋๋ค.
S2 Pro
์์ฃผ ์งง์ ๋ฐํ์์๋ ์ ํํฉ๋๋ค
- ์ฆ์ ์์ฑ ๋ณต์
- ์ ์ฒด ๋ค๊ตญ์ด ์ง์
- ๋งค์ฐ ์งง์ ํ๋กฌํํธ์๋ ์์ ์
- S2.1 Pro์ ๋์ผํ ๊ท ์ผ ์๊ธ
S2.1 Pro
Fish๊ฐ ์ ๋ณด์ด๋ ๊ฐ์ฅ ํํ๋ ฅ ์๋ ๋ชจ๋ธ์ ๋๋ค.
- ๋จ์ผ H200 ์์ด๋ ์ฒซ ์ค๋์ค๊น์ง ~100ms
- ์ค์๊ฐ ๊ณ์ 0.195
- 80+ ๊ฐ ์ธ์ด, ์ฆ์ ์ฝ๋ ์ค์์นญ
- ์คํ ๋๋ฉ์ธ ๊ฐ์ ํ๊ทธ
- ํ ๋ฒ์ ์์ฑ์์ ๋ค์ดํฐ๋ธ ๋ฉํฐ์คํผ์ปค
์จํ๋ ๋ฏธ์ค
์์ฒด ์ธํ๋ผ์ ์ง์ ๋ฐฐํฌํ์ธ์.
- VPC, ์จํ๋ ๋ฏธ์ค, ์๋ฒ๋ฆฐ ํด๋ผ์ฐ๋, ์์ด๊ฐญ
- ๋ฐ์ดํฐ ๋ฐ์ถ ์์
- ์์ ํ ๋ชจ๋ธ ์ ์ด๊ถ
- ์์ ์ฉ ๋ผ์ด์ ์ค ์ ๊ณต
๊ฐ์ ๋ถํฐ ์ฒซ ์ค๋์ค๊น์ง 5 ๋ถ์ด๋ฉด ์ถฉ๋ถํฉ๋๋ค.
์์ ํตํ ํ์ ์์. API ํค๋ฅผ ๋ฐ๊ธ๋ฐ๊ณ , SDK๋ฅผ ์ค์นํ๊ณ , ๋ฐ๋ก ๋ฐฐํฌํ์ธ์.
curl https://api.fish.audio/v1/tts \-H "Authorization: Bearer YOUR_FISH_AUDIO_API_KEY" \-H "Content-Type: application/json" \-H "model: s2.1-pro" \-d '{"text": "[chuckle] When you are building something new, there is this [emphasis] mix of wonder and fear.","reference_id": "YOUR_VOICE_ID","format": "mp3"}' --output speech.mp3
from fishaudio import FishAudiofrom fishaudio.utils import saveclient = FishAudio(api_key="YOUR_FISH_AUDIO_API_KEY")audio = client.tts.convert(text="Hello from Fish Audio!",reference_id="YOUR_VOICE_ID",model="s2.1-pro",)save(audio, "output.mp3")
ํ๋ก๋์ ๊ธ ์์ฑ์ ๋ฐฐํฌํ๋ ๋ฐํ์ํ ๋ชจ๋ ๊ฒ
์์ฑ ์ ์๋ถํฐ ํํ๋ ฅ ์๋ ์์ฑ, ์ค์๊ฐ ์ ๋ฌ๊น์ง API ํ๋๋ก ํด๊ฒฐํ์ธ์.
์ธ๋ผ์ธ ๊ฐ์ ๊ณผ ํํ
ํ ์คํธ ์ด๋์์๋ [tag] ๊ตฌ๋ฌธ์ผ๋ก ๋ฐฉํฅ์ ์ง์ ํ์ธ์. ๋ฌด์ ํ ์์ ํ์ ํ๊ทธ, ๋ณ๋์ ๊ฐ์ ํ๋ผ๋ฏธํฐ ์์.
์๋ฐฑ๋ง ๊ฐ์ ์ปค๋ฎค๋ํฐ ์์ฑ
๊ฐ์ฅ ํฐ ์คํ ์์ฑ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋๋ฌ๋ณด๊ณ ๋ฐ๋ก ๋ฐฐํฌํ๊ฑฐ๋, ์ง์ ์์ฑ์ ๋ณต์ ํด ๊ทธ ์์ ๊ตฌ์ถํ์ธ์.




๋ฉํฐ์คํผ์ปค ๋ํ
ํ ๋ฒ์ ์ ์ฒด ๋ํ๋ฅผ ์์ฑํ์ธ์. S2.1 Pro์์ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
์ฆ์ ์์ฑ ๋ณต์
์งง์ ๋ ํผ๋ฐ์ค ํด๋ฆฝ์์ ์์๊ณผ ๋งํฌ๋ฅผ ํฌ์ฐฉํ์ธ์. ์ถ๊ฐ ํ์ต ์์ด 80+ ๊ฐ ์ธ์ด ์ ์ฒด์์ ์๋ํฉ๋๋ค.
๋ณต์กํ ํ ์คํธ๋ ์์ฐ์ค๋ฝ๊ฒ ์ฝ๊ธฐ
์ซ์, ํตํ, ๋ ์ง, ๋จ์๋ฅผ ์ ํํ๊ฒ ๋ฐ์
์คํธ๋ฆฌ๋ฐ๊ณผ ํ์์คํฌํ
๋จ์ด ๋จ์ ํ์์คํฌํ์ ํจ๊ป ์ค๋์ค๋ฅผ ์คํธ๋ฆฌ๋ฐํ์ธ์.
Fish Audio๋ก ๋ชจ๋ ์์ฑ์<br></br>์ฆ์ ๋ณต์ ํ์ธ์
์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์์ฑ์ ๋ง๋ค๊ณ ํํ ๋ฐฉ์์ ์กฐ์ ํ ๋ค, ์ค์๊ฐ ์ ํ์ ์คํธ๋ฆฌ๋ฐํ์ธ์.
Fish Audio๋ก ๋ชจ๋ ์์ฑ์
์ฆ์ ๋ณต์ ํ์ธ์
Fish Audio AI ์์ฑ ๋ณต์ API๋ ์งง์ ๋ ํผ๋ฐ์ค ํด๋ฆฝ์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์์ฑ์ผ๋ก ๋ง๋ค์ด ์ค๋๋ค. ๋ณต์ ๋ ์์ฑ์ ์์๊ณผ ๋งํฌ๋ฅผ ๊ทธ๋๋ก ๋ด์๋ด๋ฉฐ, ์ถ๊ฐ ํ์ต ์์ด 80+ ๊ฐ ์ธ์ด ์ ์ฒด์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
# Clone from reference audiovoice = session.create_model(title="My Voice",voices=[open("reference.wav", "rb").read()])# Synthesize with the cloned voicerequest = TTSRequest(text="This is my cloned voice.",reference_id=voice.id)with open("clone.mp3", "wb") as f:for chunk in session.tts(request, backend="s2-pro"):f.write(chunk)
Fish Audio TTS API๋ฒค์น๋งํฌ ๋ฐ ์ฌ์
API๋ ํ๋. ํค๋ ํ๋๋ก ๋ชจ๋ธ์ ์ ํํ์ธ์. ๋ API ๋ชจ๋ธ ๋ชจ๋ ๋์ผํ ๊ท ์ผ ์๊ธ์ด ์ ์ฉ๋ฉ๋๋ค.
POST https://api.fish.audio/v1/tts
์ค์๊ฐ ๊ณ์
์งง์ ํด๋ฆฝ
์์ฑ ๋ณต์
๋ค์ดํฐ๋ธ
๋ฉํฐ์คํผ์ปค
REST + WebSocket
์คํธ๋ฆฌ๋ฐ
๋จ์ด ๋จ์
ํ์์คํฌํ
์ํ๋ ์ดํธ
๋์ ์์ฒญ
MP3 ยท WAV ยท Opus
์ค๋์ค ํ์
ํ์์ ๋ง๋ ์ ์ฐํ ์๊ธ์
๋์ ์์ฒญ ์ ํ
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
์ด๋ฒ ์ฃผ๋ง์ ํ๋ก๋์ ๊น์ง
API ํค๋ฅผ ๋ฐ๊ธ๋ฐ๊ณ , SDK๋ฅผ ์ค์นํ๊ณ , ๋ฐฐํฌํ์ธ์. ์นด๋ ๋ถํ์.

