メインコンテンツへスキップ

はじめに

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サーバー内部エラー

次のステップ