Перейти до основного вмісту

Вступ

Fish TTS — це AI аудіосервіс від Ace Data Cloud, сервіс синтезу мовлення Fish. За допомогою уніфікованого API Ace Data Cloud ви можете швидко інтегрувати Fish TTS за допомогою JavaScript, реалізуючи функції перетворення тексту в мову, різні голоси, налаштування звуку тощо.

Передумови

  • Наявність облікового запису Ace Data Cloud та отримання API Token
  • 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 Token
403Недостатньо коштів або відсутній доступ
429Перевищено ліміт запитів
500Внутрішня помилка сервера

Наступні кроки