Skip to main content
본 인터페이스는 Fish Audio 공식 TTS API를 기반으로 하며, 인증 방식(본 플랫폼 토큰 사용)과 비동기 콜백(callback_url 확장)에서만 차이가 있으며, 요청 본체 구조는 상류와 일치합니다. 주소는 POST https://api.acedata.cloud/fish/tts입니다.

신청 절차

Fish TTS API를 사용하려면 먼저 Ace Data Cloud 콘솔에서 API 토큰을 받아야 하며, 이를 보관해 두십시오. 로그인 또는 등록이 되어 있지 않은 경우 자동으로 로그인 페이지로 리디렉션되어 등록 및 로그인을 초대합니다. 완료 후 현재 페이지로 자동으로 돌아옵니다. 하나의 API 토큰으로 플랫폼의 모든 서비스를 호출할 수 있으며, 각 서비스마다 별도로 신청할 필요가 없습니다. 처음 신청 시 무료 할당량이 제공되어 무료로 체험할 수 있습니다; 할당량이 부족할 경우 콘솔에서 일반 잔액을 충전할 수 있습니다.
📘 전체 문서: Fish TTS API →

요청 헤더

요청 본체 필드

필드 명칭은 상류와 완전히 일치합니다. callback_url을 제외한 나머지 필드의 의미와 값은 Fish 공식 TTS 문서를 참조하십시오.

예시 1: 최소 요청(text + format=mp3)

반환(실제 측정):
audio_url은 본 플랫폼 CDN을 가리키며, 직접 GET으로 다운로드하거나 <audio>에서 재생할 수 있습니다. 링크는 장기적으로 사용 가능하지만, 여전히 자신의 저장소에 한 부를 남기는 것이 좋습니다.

예시 2: 클론 음색 reference_id 사용

아래는 Fish 플랫폼에서 공개된 스페인어 음색(_idFish Model Query에서 검색할 수 있습니다):
반환(실제 측정):

예시 3: 속도 / 음량 조절(prosody)

반환(실제 측정):
speed가 1보다 크면 빨라지고, 1보다 작으면 느려집니다; volume의 단위는 dB이며, 0은 변하지 않음을 의미하고, 양수는 이득, 음수는 감쇠를 나타냅니다.

예시 4: 모델 전환 + 비트 전송률 제어

HTTP 헤더 model: s1을 통해 안정형 모델로 전환하고, 요청 본체에 mp3_bitrate: 128을 추가하여 MP3 비트 전송률을 제어합니다:
반환(실측):

예시 5:PCM 원시 파형

브라우저에서 실시간으로 조합하거나 클라이언트에서 후속 처리(믹싱, 속도 변경)를 해야 하는 경우, pcm 사용을 권장합니다:
반환(실측):
링크의 확장자는 요청의 format을 따릅니다:mp3.mp3를, wavpcm.wav를 얻습니다(웨이브 컨테이너, 16비트 PCM).

비동기 콜백(callback_url)

긴 텍스트를 한 번에 합성하는 데는 수초에서 수십 초가 걸릴 수 있으며, 연결이 중단되면 재시도해야 합니다. 요청 본문에 callback_url을 전달하면, 인터페이스는 즉시 {task_id, started_at}를 반환하고, 상위에서 실제로 완료되면 전체 결과를 POST JSON 형식으로 해당 URL로 콜백합니다. 요청 본문에는 동일한 task_id가 포함됩니다.
즉시 반환(실측):
조금 후 callback_url은 다음과 같은 형식으로 수신합니다:
또한 Fish Tasks API를 사용하여 task_id로 결과를 수동으로 가져올 수 있으며, 자세한 내용은 해당 문서를 참조하십시오.

오류 처리

  • 400 token_mismatched:요청 매개변수가 누락되었거나 유효하지 않음(가장 흔한 경우는 text가 비어 있거나 formatmp3/wav/pcm 외의 값이 전달됨).
  • 401 invalid_token:인증 토큰이 존재하지 않거나 유효하지 않음.
  • 429 too_many_requests:계정 속도 제한이 발생함.
  • 500 api_error:서버 내부 오류.
오류 응답 예시:
매개변수 검증 오류는 상위의 pydantic 오류 원문을 message 필드에 포함시켜 어떤 필드가 유효하지 않은지 쉽게 찾을 수 있도록 합니다. 예를 들어:

결론

Fish TTS에 접속하는 최소 비용은:이미 api.fish.audio/v1/tts를 호출하는 코드에서 인증을 플랫폼 토큰으로 변경하고 요청 본문에 명시적으로 format: "mp3"를 포함하는 것입니다. 긴 텍스트 상황에서는 callback_url 비동기 콜백 사용을 권장합니다; 클론 음색 reference_id의 발견은 Fish Model QueryFish Model Get와 함께 사용하십시오.