메인 콘텐츠로 건너뛰기

소개

Fish TTS는 Ace Data Cloud에서 제공하는 AI 오디오 서비스인 Fish 음성 합성 서비스입니다. Ace Data Cloud 통합 API를 통해 JavaScript로 Fish TTS를 빠르게 통합하여 텍스트 음성 변환, 다양한 음색, 맞춤 음성 등의 기능을 구현할 수 있습니다.

전제 조건

  • Ace Data Cloud 계정 보유 및 API 토큰 획득
  • Node.js 18+ 또는 최신 브라우저 환경

기본 사용법

Fish TTS API의 주요 엔드포인트는 다음과 같습니다:
POST https://api.acedata.cloud/fish/audios
본 예제에서는 fish-tts 모델을 사용합니다.
사용 가능한 모델: fish-tts.
전체 JavaScript 코드 예제:
const response = await fetch("https://api.acedata.cloud/fish/audios", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
  "action": "speech",
  "prompt": "你好,欢迎使用 Ace Data Cloud 的语音合成服务",
  "voice_id": "d7900c21663f485ab63ebdb7e5905036",
  "model": "fish-tts"
}),
});

const result = await response.json();
console.log(result);
YOUR_API_TOKEN을 Ace Data Cloud 플랫폼에서 발급받은 실제 토큰으로 교체하세요.

응답 처리

응답 상태 코드를 확인하고 오류를 처리하는 것을 권장합니다:
if (response.ok) {
  const result = await response.json();
  console.log("호출 성공:", result);
} else {
  console.error(`호출 실패, 상태 코드: ${response.status}`);
  const error = await response.text();
  console.error(error);
}

Node.js 래핑

재사용 가능한 함수로 래핑하는 것을 권장합니다:
async function callFishTTS(data) {
  const response = await fetch("https://api.acedata.cloud/fish/audios", {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${process.env.ACE_API_TOKEN}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify(data),
  });
  if (!response.ok) throw new Error(`API error: ${response.status}`);
  return response.json();
}

오류 처리

주요 오류 코드:
상태 코드설명
401인증 실패, API 토큰을 확인하세요
403잔액 부족 또는 접근 권한 없음
429요청 빈도 초과
500서버 내부 오류

다음 단계