Appearance
Fish Audio — Клонирование Голоса
POST /sounds/fish-clone
Создаёт клон голоса из ваших аудиообразцов. Пришлите 1–5 ссылок на записи чистой речи (10–90 секунд каждая, без музыки и шума) — файлы сначала загрузите через /files. Клон создаётся сразу (обычно до минуты): в ответе voice_id, который можно использовать в /sounds/fish-tts и /sounds/fish-dialogue. Лимит: 3 запроса/мин.
Базовый URL: https://api.aihere.ru/api/v1
Авторизация: Authorization: Bearer <API-ключ>
Rate-limit: 3 запроса/мин
Параметры
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
title | string | да | Название голоса |
audio_urls | array[string] | да | Ссылки на 1–5 аудиофайлов с образцами голоса (mp3/wav/ogg/m4a/aac/flac, до 15 МБ каждый, 10–90 секунд чистой речи без музыки и шумов). Сначала загрузите файлы через /files и передайте полученные ссылки. |
texts | array[string] (опционально) | — | Необязательные расшифровки образцов (в том же порядке) — повышают точность клона |
description | string (опционально) | — | Необязательное описание голоса |
Примеры
bash
curl -X POST "https://api.aihere.ru/api/v1/sounds/fish-clone" \
-H "Authorization: Bearer $AIHERE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Мой трек",
"audio_urls": ["https://example.com/audio.mp3"]
}'python
import requests
payload = {
"title": "Мой трек",
"audio_urls": [
"https://example.com/audio.mp3"
]
}
resp = requests.post(
"https://api.aihere.ru/api/v1/sounds/fish-clone",
headers={
"Authorization": f"Bearer {API_KEY}",
},
json=payload,
timeout=60,
)
resp.raise_for_status()
print(resp.json())javascript
const resp = await fetch("https://api.aihere.ru/api/v1/sounds/fish-clone", {
method: "POST",
headers: {
Authorization: `Bearer ${API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"title": "Мой трек",
"audio_urls": ["https://example.com/audio.mp3"]
}),
});
if (!resp.ok) throw new Error(`HTTP ${resp.status}: ${await resp.text()}`);
console.log(await resp.json());php
$payload = json_decode('{"title": "Мой трек", "audio_urls": ["https://example.com/audio.mp3"]}', true);
$ch = curl_init('https://api.aihere.ru/api/v1/sounds/fish-clone');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer $apiKey",
'Content-Type: application/json',
],
]);
$resp = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($resp);Ответ 200
Клон голоса готов сразу — используйте voice_id в /sounds/fish-tts
json
{
"voice_id": "string",
"title": "string",
"state": "string"
}Ошибки
| Код | Причина |
|---|---|
| 400 | Проблема с аудиообразцами (формат, размер, недоступная ссылка) |
| 429 | Превышен rate-limit |
| 502 | Ошибка провайдера генерации |
| 503 | Провайдер недоступен или сбой сервиса баланса (списанные средства возвращаются) |
| 422 | Ошибка валидации тела запроса (detail содержит список полей) |
| 401 | Нет или невалидный API-ключ |
