ํ˜œํƒ ์ข…๋ฃŒ๊นŒ์ง€ 47H 59M 59S

Fish Audio๊ฐ€ ํ•œ ์‚ด์ด ๋˜์—ˆ์–ด์š” ๐ŸŽ‚

50% ํ• ์ธ ์ „ ์ƒํ’ˆ.

ํ˜œํƒ ๋ฐ›๊ธฐ

ํ…์ŠคํŠธ ์Œ์„ฑ ๋ณ€ํ™˜ API๋ชจ๋“  ์•ฑ์— ์Œ์„ฑ์„ ํƒ‘์žฌํ•˜์„ธ์š”

~100ms ์ง€์—ฐ ์‹œ๊ฐ„์˜ ํ‘œํ˜„๋ ฅ ์žˆ๊ณ  ๋ฐฉํ–ฅ ์ง€์ •์ด ๊ฐ€๋Šฅํ•œ ์Œ์„ฑ โ€” HeyGen, Retell, Plaud๋ฅผ ๊ตฌ๋™ํ•˜๋Š” ๋ฐ”๋กœ ๊ทธ S2.1 Pro ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.

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] ์ƒˆ๋กœ์šด ๊ฑธ ๋งŒ๋“ค ๋•Œ๋ฉด [audience laughing] ์„ค๋ ˜๊ณผ ๋‘๋ ค์›€์ด ๋’ค์„ž์ธ ๋ฌ˜ํ•œ ๊ธฐ๋ถ„์ด ๋“ค์–ด์š”. [whisper] ํ•˜์ง€๋งŒ ๊ทธ๊ฒŒ ๋ฐ”๋กœ, ๋งŒ๋“ค ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š” ์ด์œ ์ฃ .",
    "reference_id": "933563129e564b19a115bedd57b7406a",
    "format": "mp3"
  }' --output speech.mp3
<100ms
์ฒซ ์˜ค๋””์˜ค ์‘๋‹ต ์‹œ๊ฐ„
๋ฌด์ œํ•œ
๋ฐฉํ–ฅ ํƒœ๊ทธ
80+
์–ธ์–ด
$15/1M UTF-8 bytes
์ข…๋Ÿ‰์ œ

ํ”„๋กœ๋•์…˜์—์„œ ์‹คํ–‰ ์ค‘

ํ”„๋กœ๋•์…˜ ์š”๊ตฌ์‚ฌํ•ญ์— ๋งž๋Š” ๋ชจ๋ธ

API๋Š” ํ•˜๋‚˜. ํ—ค๋” ํ•˜๋‚˜๋กœ ๋ชจ๋ธ์„ ์ „ํ™˜ํ•˜์„ธ์š”. ๋‘ API ๋ชจ๋ธ ๋ชจ๋‘ ๋™์ผํ•œ ๊ท ์ผ ์š”๊ธˆ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

์˜ค๋ฆฌ์ง€๋„

S2 Pro

์•„์ฃผ ์งง์€ ๋ฐœํ™”์—์„œ๋„ ์ •ํ™•ํ•ฉ๋‹ˆ๋‹ค

  • ์ฆ‰์‹œ ์Œ์„ฑ ๋ณต์ œ
  • ์ „์ฒด ๋‹ค๊ตญ์–ด ์ง€์›
  • ๋งค์šฐ ์งง์€ ํ”„๋กฌํ”„ํŠธ์—๋„ ์•ˆ์ •์ 
  • S2.1 Pro์™€ ๋™์ผํ•œ ๊ท ์ผ ์š”๊ธˆ
๋ฌธ์„œ ๋ณด๊ธฐ
์ถ”์ฒœ

S2.1 Pro

Fish๊ฐ€ ์„ ๋ณด์ด๋Š” ๊ฐ€์žฅ ํ‘œํ˜„๋ ฅ ์žˆ๋Š” ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.

  • ๋‹จ์ผ H200 ์—†์ด๋„ ์ฒซ ์˜ค๋””์˜ค๊นŒ์ง€ ~100ms
  • ์‹ค์‹œ๊ฐ„ ๊ณ„์ˆ˜ 0.195
  • 80+ ๊ฐœ ์–ธ์–ด, ์ฆ‰์‹œ ์ฝ”๋“œ ์Šค์œ„์นญ
  • ์˜คํ”ˆ ๋„๋ฉ”์ธ ๊ฐ์ • ํƒœ๊ทธ
  • ํ•œ ๋ฒˆ์˜ ์ƒ์„ฑ์—์„œ ๋„ค์ดํ‹ฐ๋ธŒ ๋ฉ€ํ‹ฐ์Šคํ”ผ์ปค
๋ฌธ์„œ ๋ณด๊ธฐ
์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฐฐํฌ

์˜จํ”„๋ ˆ๋ฏธ์Šค

์ž์ฒด ์ธํ”„๋ผ์— ์ง์ ‘ ๋ฐฐํฌํ•˜์„ธ์š”.

  • VPC, ์˜จํ”„๋ ˆ๋ฏธ์Šค, ์†Œ๋ฒ„๋ฆฐ ํด๋ผ์šฐ๋“œ, ์—์–ด๊ฐญ
  • ๋ฐ์ดํ„ฐ ๋ฐ˜์ถœ ์—†์Œ
  • ์™„์ „ํ•œ ๋ชจ๋ธ ์ œ์–ด๊ถŒ
  • ์ƒ์—…์šฉ ๋ผ์ด์„ ์Šค ์ œ๊ณต
์˜์—…ํŒ€ ๋ฌธ์˜

๊ฐ€์ž…๋ถ€ํ„ฐ ์ฒซ ์˜ค๋””์˜ค๊นŒ์ง€ 5 ๋ถ„์ด๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

์˜์—… ํ†ตํ™” ํ•„์š” ์—†์Œ. API ํ‚ค๋ฅผ ๋ฐœ๊ธ‰๋ฐ›๊ณ , SDK๋ฅผ ์„ค์น˜ํ•˜๊ณ , ๋ฐ”๋กœ ๋ฐฐํฌํ•˜์„ธ์š”.

cURL ยท REST API
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
Python ยท Fish Audio SDK
from fishaudio import FishAudio
from fishaudio.utils import save
client = 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] ๊ตฌ๋ฌธ์œผ๋กœ ๋ฐฉํ–ฅ์„ ์ง€์ •ํ•˜์„ธ์š”. ๋ฌด์ œํ•œ ์ž์œ  ํ˜•์‹ ํƒœ๊ทธ, ๋ณ„๋„์˜ ๊ฐ์ • ํŒŒ๋ผ๋ฏธํ„ฐ ์—†์Œ.

Aber
Hey there.Add TagsIโ€™m so excited to share this news!Can you hear me?
[Sad]
[Excited]
[satisfied]
[angry]

์ˆ˜๋ฐฑ๋งŒ ๊ฐœ์˜ ์ปค๋ฎค๋‹ˆํ‹ฐ ์Œ์„ฑ

๊ฐ€์žฅ ํฐ ์˜คํ”ˆ ์Œ์„ฑ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋‘˜๋Ÿฌ๋ณด๊ณ  ๋ฐ”๋กœ ๋ฐฐํฌํ•˜๊ฑฐ๋‚˜, ์ง์ ‘ ์Œ์„ฑ์„ ๋ณต์ œํ•ด ๊ทธ ์œ„์— ๊ตฌ์ถ•ํ•˜์„ธ์š”.

๋ฉ€ํ‹ฐ์Šคํ”ผ์ปค ๋Œ€ํ™”

ํ•œ ๋ฒˆ์— ์ „์ฒด ๋Œ€ํ™”๋ฅผ ์ƒ์„ฑํ•˜์„ธ์š”. S2.1 Pro์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

Aber
Sarah
Ethan

์ฆ‰์‹œ ์Œ์„ฑ ๋ณต์ œ

์งง์€ ๋ ˆํผ๋Ÿฐ์Šค ํด๋ฆฝ์—์„œ ์Œ์ƒ‰๊ณผ ๋งํˆฌ๋ฅผ ํฌ์ฐฉํ•˜์„ธ์š”. ์ถ”๊ฐ€ ํ•™์Šต ์—†์ด 80+ ๊ฐœ ์–ธ์–ด ์ „์ฒด์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

Recorded Voice
My Cloned Voice
EnglishFemaleYoung

๋ณต์žกํ•œ ํ…์ŠคํŠธ๋„ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ฝ๊ธฐ

์ˆซ์ž, ํ†ตํ™”, ๋‚ ์งœ, ๋‹จ์œ„๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ๋ฐœ์Œ

$9.99
01/24
1,999

์ŠคํŠธ๋ฆฌ๋ฐ๊ณผ ํƒ€์ž„์Šคํƒฌํ”„

๋‹จ์–ด ๋‹จ์œ„ ํƒ€์ž„์Šคํƒฌํ”„์™€ ํ•จ๊ป˜ ์˜ค๋””์˜ค๋ฅผ ์ŠคํŠธ๋ฆฌ๋ฐํ•˜์„ธ์š”.

Thefutureiscoming
0.02s0.05s0.01s0.04svoice0.01s0.03s

Fish Audio๋กœ ๋ชจ๋“  ์Œ์„ฑ์„<br></br>์ฆ‰์‹œ ๋ณต์ œํ•˜์„ธ์š”

์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์Œ์„ฑ์„ ๋งŒ๋“ค๊ณ  ํ‘œํ˜„ ๋ฐฉ์‹์„ ์กฐ์ •ํ•œ ๋’ค, ์‹ค์‹œ๊ฐ„ ์ œํ’ˆ์— ์ŠคํŠธ๋ฆฌ๋ฐํ•˜์„ธ์š”.

Fish Audio๋กœ ๋ชจ๋“  ์Œ์„ฑ์„
์ฆ‰์‹œ ๋ณต์ œํ•˜์„ธ์š”

Fish Audio AI ์Œ์„ฑ ๋ณต์ œ API๋Š” ์งง์€ ๋ ˆํผ๋Ÿฐ์Šค ํด๋ฆฝ์„ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์Œ์„ฑ์œผ๋กœ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค. ๋ณต์ œ๋œ ์Œ์„ฑ์€ ์Œ์ƒ‰๊ณผ ๋งํˆฌ๋ฅผ ๊ทธ๋Œ€๋กœ ๋‹ด์•„๋‚ด๋ฉฐ, ์ถ”๊ฐ€ ํ•™์Šต ์—†์ด 80+ ๊ฐœ ์–ธ์–ด ์ „์ฒด์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

PYTHON SDK
# Clone from reference audio
voice = session.create_model(
title="My Voice",
voices=[open("reference.wav", "rb").read()]
)
# Synthesize with the cloned voice
request = 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

๋ฒค์น˜๋งˆํฌ
0.195

์‹ค์‹œ๊ฐ„ ๊ณ„์ˆ˜

์งง์€ ํด๋ฆฝ

์Œ์„ฑ ๋ณต์ œ

๋„ค์ดํ‹ฐ๋ธŒ

๋ฉ€ํ‹ฐ์Šคํ”ผ์ปค

REST + WebSocket

์ŠคํŠธ๋ฆฌ๋ฐ

๋‹จ์–ด ๋‹จ์œ„

ํƒ€์ž„์Šคํƒฌํ”„

48kHz

์ƒ˜ํ”Œ๋ ˆ์ดํŠธ

5์‹œ์ž‘

๋™์‹œ ์š”์ฒญ

MP3 ยท WAV ยท Opus

์˜ค๋””์˜ค ํ˜•์‹

ํ•„์š”์— ๋งž๋Š” ์œ ์—ฐํ•œ ์š”๊ธˆ์ œ

์–ด๋–ค ๊ตฌ๋…์ด๋“  ์ข…๋Ÿ‰์ œ๋กœ ์ด์šฉ ๊ฐ€๋Šฅ์ž์„ธํžˆ ๋ณด๊ธฐ

S2.1 Pro

ํ…์ŠคํŠธ ์Œ์„ฑ ๋ณ€ํ™˜

$0.015/ K UTF-8 bytes
์‹œ์ž‘ํ•˜๊ธฐ
70ms ์ดˆ์ €์ง€์—ฐ
80+ ์–ธ์–ด ์ง€์›
๋‹จ์–ด ๋‹จ์œ„ ํƒ€์ž„์Šคํƒฌํ”„

S2 Pro

ํ…์ŠคํŠธ ์Œ์„ฑ ๋ณ€ํ™˜

$0.015/ K UTF-8 bytes
์‹œ์ž‘ํ•˜๊ธฐ
์‹ค์‹œ๊ฐ„ ์ง€์—ฐ
์ „์ฒด ๋‹ค๊ตญ์–ด ์ง€์›
์ฆ‰์‹œ ์Œ์„ฑ ๋ณต์ œ

Transcribe-1

์ž๋™ ์Œ์„ฑ ์ธ์‹

$0.006/ ์˜ค๋””์˜ค ๋ถ„
์‹œ์ž‘ํ•˜๊ธฐ
์—…๊ณ„ ์ตœ๊ณ  ์ˆ˜์ค€์˜ ASR ์ •ํ™•๋„
๋‹ค๊ตญ์–ด ์ง€์›, ์–ธ์–ด ํžŒํŠธ ์„ ํƒ ๊ฐ€๋Šฅ
๊ธด ์ž…๋ ฅ ์ „์‚ฌ ์ง€์›

๋™์‹œ ์š”์ฒญ ์ œํ•œ

ย 
์ง€์ถœ ๊ธฐ์ค€๋™์‹œ์„ฑ
์Šคํƒ€ํ„ฐ
$100 ๋ฏธ๋งŒ ๊ฒฐ์ œ5๊ฑด
์ƒ์œ„
$100 ์ด์ƒ ๊ฒฐ์ œ15๊ฑด
๋Œ€์šฉ๋Ÿ‰
$1,000 ์ด์ƒ ๊ฒฐ์ œ50๊ฑด
์—”ํ„ฐํ”„๋ผ์ด์ฆˆ
๋งž์ถค๋งž์ถค ์ œํ•œ

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

Fish Audio

์ด๋ฒˆ ์ฃผ๋ง์— ํ”„๋กœ๋•์…˜๊นŒ์ง€

API ํ‚ค๋ฅผ ๋ฐœ๊ธ‰๋ฐ›๊ณ , SDK๋ฅผ ์„ค์น˜ํ•˜๊ณ , ๋ฐฐํฌํ•˜์„ธ์š”. ์นด๋“œ ๋ถˆํ•„์š”.