Озвучить главу
Ставит главу в очередь — ответ сразу, озвучка идёт на сервере.
POST /chapters/{chapter_id}/render · озвучка
Ответ приходит сразу: задача в очереди. Ход — GET /jobs/{id} или уведомление
chapter.voiced. Для всей книги отправьте запрос на каждую главу — сервер озвучивает их по очереди, честно деля мощность
между всеми, кто озвучивает.
Уже озвученные куски не озвучиваются и не списываются заново — после правки слова переозвучится только кусок с ним.
Параметры пути
| Параметр | Что это |
|---|---|
chapter_id |
Id главы |
Заголовки
| Заголовок | Что это |
|---|---|
Idempotency-Key |
Ваш id запроса. Повтор с тем же значением вернёт ту же задачу, а не поставит вторую |
Ошибки
| Код | Когда |
|---|---|
402 |
Не хватает знаков на балансе, в лимите ключа или в бюджете книги |
409 |
Глава уже озвучивается или версия книги закрыта |
422 |
Сначала нужно исправить главу (detail — что именно) |
429 |
Слишком много глав в работе одновременно |
curl -X POST "https://golosar-kniga.tech/api/v1/chapters/$CHAPTER_ID/render" \
-H "x-api-key: $KEY"
import os, requests
API = "https://golosar-kniga.tech/api/v1"
H = {"x-api-key": os.environ["GOLOSAR_KEY"]}
chapter_id = "01a134d0-ddb7-72aa-b96c-967b596362fe"
r = requests.post(f"{API}/chapters/{chapter_id}/render", headers=H)
r.raise_for_status()
print(r.json())
const API = "https://golosar-kniga.tech/api/v1";
const H = { "x-api-key": process.env.GOLOSAR_KEY };
const chapterId = "01a134d0-ddb7-72aa-b96c-967b596362fe";
const r = await fetch(`${API}/chapters/${chapterId}/render`, { method: "POST", headers: H });
if (!r.ok) throw new Error(await r.text());
console.log(await r.json());
json Ответ 200
{
"job": {
"id": "01a134d0-e101-75f3-822a-7e5c7ba0f3f3",
"type": "render",
"job_type": "render",
"status": "queued",
"done": 0,
"total": 3,
"reused": 0,
"credits_used": 0.0,
"error": null,
"chapter_id": "01a134d0-ddb7-72aa-b96c-967b596362fe",
"book_id": "01a134d0-dd73-77be-aa8d-0944ffb2b5e3",
"created_at": "2026-10-13T10:31:06.695103+00:00",
"started_at": null,
"finished_at": null,
"title": "Озвучка: Глава 1",
"stage": "",
"eta_s": 12.0,
"bytes": null,
"bytes_total": null,
"cost_usd": null
}
}