Fish Audio 호환 TTS
fish.audio 스타일 POST /v1/tts 계약을 Fish Audio API 키와 함께 사용해 RikkaHub 등의 클라이언트를 연결합니다.
Fish Audio 호환 TTS
클라이언트가 fish.audio POST /v1/tts 요청 형태를 하드 코딩할 때 이 엔드포인트를 사용하세요. API 키 인증, 할당량 및 Fish Audio 계정 청구를 유지하면서 해당 페이로드를 Fish Audio Open TTS 파이프라인에 매핑합니다.
기본 Open API 통합의 경우 Sync HTTP를 선호합니다. OpenAI POST /v1/audio/speech 클라이언트의 경우 OpenAI 호환 TTS를 사용합니다.
엔드포인트
POST /v1/tts
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
model: s2.1-pro전체 URL:
https://fishaudio.org/v1/tts타사 앱이 https://api.fish.audio와 같은 Fish Audio API 기반을 요청하는 경우 이를 https://fishaudio.org로 설정하고 경로를 /v1/tts로 둡니다.
클라이언트의 보호 자격 증명 필드에 API 키를 유지하세요. 각 앱에 대한 전용 키를 생성하여 독립적으로 모니터링하거나 취소할 수 있습니다.
요구
{
"text": "Hello from Fish Audio.",
"reference_id": "00a1b221-6137-4b73-ad62-b0cbce134167",
"format": "mp3",
"temperature": 0.7,
"top_p": 0.7,
"normalize": true,
"prosody": {
"speed": 1
}
}| 필드/헤더 | 유형 | 필수 | 메모 |
|---|---|---|---|
model 헤더 | 문자열 | 아니요 | s2.1-pro, s2.1-pro-flash 또는 s2-pro와 같은 fish.audio 엔진 레이블 |
text | 문자열 | 예 | 합성할 텍스트 |
reference_id | 문자열 | 예 | Fish Audio 음성 ID; 서버가 자동으로 기본 음성을 선택하지 않습니다 |
format | 문자열 | 아니요 | mp3, wav 또는 pcm; opus와 같은 지원되지 않는 값은 mp3로 대체됩니다. |
prosody.speed | 번호 | 아니요 | 0.5에서 2까지의 말하기 속도; 최상위 수준의 speed도 허용됩니다 |
temperature | 번호 | 아니요 | Fish Audio 안정성에 매핑됨(0.5–1.5) |
top_p | 번호 | 아니요 | Fish Audio 유사성에 매핑됨(0.5–1.5) |
normalize | 부울 | 아니요 | 텍스트 정규화에 매핑됨 |
chunk_length | 번호 | 아니요 | 클라이언트 호환성을 위해 허용되고 무시됨 |
latency | 문자열 | 아니요 | 클라이언트 호환성을 위해 허용되고 무시됨 |
모델 헤더 매핑
model 헤더 값 | Fish Audio 엔진 모델 ID |
|---|---|
s2.1-pro | fishaudio-s21pro |
s2.1-pro-free | fishaudio-s21pro-free |
s2.1-flash | fishaudio-s21-flash |
s2.1-pro-flash | fishaudio-s21pro-flash |
s2-pro | fishaudio-s2pro |
s1 / s1-mini | fishaudio-s1 |
speech-1.5 / 1.6 | fishaudio-s1 |
알 수 없는 헤더 값은 무시되고 서버 기본 엔진이 적용됩니다. 헤더에 fishaudio-s21pro-flash와 같은 기본 엔진 ID를 보낼 수도 있습니다.
GET /api/open/v1/voices에서 음성 ID를 받으세요. 빠른 연결 테스트를 위해서는 공용 시스템 음성 00a1b221-6137-4b73-ad62-b0cbce134167를 사용하세요.
응답
성공적인 요청은 바이너리 오디오를 반환합니다.
HTTP/1.1 200 OK
Content-Type: audio/mpeg
X-OpenAPI-Quota-Remaining: 987988
X-OpenAPI-Credits-Used: 12
<binary audio data>오류는 JSON이며 Sync HTTP와 인증, 할당량 및 생성 동작을 공유합니다.
curl 예
curl -X POST "https://fishaudio.org/v1/tts" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "model: s2.1-pro" \
-d '{
"text": "Hello from Fish Audio.",
"reference_id": "00a1b221-6137-4b73-ad62-b0cbce134167",
"format": "mp3",
"prosody": { "speed": 1 }
}' \
--output speech.mp3RikkaHub 연결
RikkaHub의 API 키, 기본 URL, 모델 및 음성 설정은 전용 RikkaHub 설정 가이드를 따르세요.
오류
| 상태 | 의미 | 액션 |
|---|---|---|
400 | 잘못된 텍스트, reference_id 누락 또는 잘못된 JSON | 재시도하기 전에 요청을 수정하세요. |
401 | API 키가 없거나 잘못되었습니다. | 통합 키 확인 또는 교체 |
402 | API 할당량이 부족합니다 | 더 많은 오디오를 생성하기 전에 할당량 추가 |
429 | 요청 비율 제한을 초과했습니다 | 지수 백오프로 재시도 |
500 | TTS 생성 실패 | 중복 청구를 인식한 경우에만 재시도 |