Голос и эмоция героя
Дать герою другой голос, эмоцию, темп.
PATCH /characters/{character_id} · всё
Герои — в GET /books/{id} → characters. После смены голоса озвученные главы станут
«изменены после озвучки»: переозвучьте их — заново озвучатся только куски этого героя.
Параметры пути
| Параметр | Что это |
|---|---|
character_id |
Id героя |
Тело запроса
JSON, заголовок content-type: application/json.
| Поле | Тип | Обязательно | Что это |
|---|---|---|---|
voice_id |
строка | нет | Голос из GET /voices |
emotion |
строка | нет | Эмоция героя по умолчанию |
controls |
объект | нет | {"speed": 0.9} — темп от 0,6 до 1,4 |
name / aliases |
строка / массив | нет | Имя и другие имена героя |
gender / age |
строка | нет | m/f; child, young, adult, old |
curl -X PATCH "https://golosar-kniga.tech/api/v1/characters/$CHARACTER_ID" \
-H "x-api-key: $KEY" \
-H "content-type: application/json" \
-d '{"voice_id": "01a134c9-6206-79f0-b812-4f2c0a9d5302", "emotion": "Спокойно"}'
import os, requests
API = "https://golosar-kniga.tech/api/v1"
H = {"x-api-key": os.environ["GOLOSAR_KEY"]}
character_id = "01a134d0-ddae-7737-9ff4-0672f189eef8"
r = requests.patch(f"{API}/characters/{character_id}", headers=H, json={"voice_id": "01a134c9-6206-79f0-b812-4f2c0a9d5302", "emotion": "Спокойно"})
r.raise_for_status()
print(r.json())
const API = "https://golosar-kniga.tech/api/v1";
const H = { "x-api-key": process.env.GOLOSAR_KEY, "content-type": "application/json" };
const characterId = "01a134d0-ddae-7737-9ff4-0672f189eef8";
const r = await fetch(`${API}/characters/${characterId}`, { method: "PATCH", headers: H, body: JSON.stringify({"voice_id": "01a134c9-6206-79f0-b812-4f2c0a9d5302", "emotion": "Спокойно"}) });
if (!r.ok) throw new Error(await r.text());
console.log(await r.json());
json Ответ 200
{
"character": {
"id": "01a134d0-ddae-7737-9ff4-0672f189eef8",
"name": "Мира",
"aliases": [
"Мира"
],
"is_narrator": false,
"voice_id": "01a134c9-6206-79f0-b812-4f2c0a9d5302",
"emotion": "Спокойно",
"controls": {
"pitch": 0,
"speed": 1.0,
"formant": 1.0
},
"position": 1,
"gender": "f",
"age": "",
"description": "",
"preset_id": null,
"source": "manual"
}
}