Кто говорит, эмоция, ударение

Решения по одной строке.

PATCH /segments/{segment_id} · всё

Передайте только то, что меняете. Ответ — глава целиком, как в GET /chapters/{id}.

Параметры пути

Параметр Что это
segment_id Id строки

Тело запроса

JSON, заголовок content-type: application/json.

Поле Тип Обязательно Что это
character_id строка нет Кто говорит
emotion строка нет Эмоция: Нейтрально, Радостно, Воодушевлённо, Нежно, Спокойно, Грустно, Серьёзно, Напряжённо, Сердито, Испуганно, Удивлённо; "" — как у героя
stressed строка нет Текст строки с ударениями U+0301 на нужных словах; "" — убрать
delivery объект нет Как сказать: intonation (question, exclaim, statement, trail), tempo (slow, fast), volume (whisper, soft, loud)
pause_ms число нет Пауза после строки, мс; -1 — обычная
skip_audio true/false нет Не озвучивать строку
curl -X PATCH "https://golosar-kniga.tech/api/v1/segments/$SEGMENT_ID" \
  -H "x-api-key: $KEY" \
  -H "content-type: application/json" \
  -d '{"emotion": "Удивлённо", "delivery": {"intonation": "question"}}'
import os, requests

API = "https://golosar-kniga.tech/api/v1"
H = {"x-api-key": os.environ["GOLOSAR_KEY"]}
segment_id = "01a134d0-ddbf-7616-8ddc-f4b77800ae46"

r = requests.patch(f"{API}/segments/{segment_id}", headers=H, json={"emotion": "Удивлённо", "delivery": {"intonation": "question"}})
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 segmentId = "01a134d0-ddbf-7616-8ddc-f4b77800ae46";

const r = await fetch(`${API}/segments/${segmentId}`, { method: "PATCH", headers: H, body: JSON.stringify({"emotion": "Удивлённо", "delivery": {"intonation": "question"}}) });
if (!r.ok) throw new Error(await r.text());
console.log(await r.json());

json Ответ 200 { "chapter": { "id": "01a134d0-ddb7-72aa-b96c-967b596362fe", "status": "ready", "…": "…" }, "segments": [ { "id": "01a134d0-ddbf-7616-8ddc-f4b77800ae46", "position": 1, "text": "Кто здесь?", "kind": "speech", "block_id": 1, "paragraph_id": 1, "character_id": "01a134d0-ddae-7737-9ff4-0672f189eef8", "skip_audio": false, "pause_ms": null, "confidence": 0.99, "review": false, "issue": "указано в тексте («спросила»)", "emotion": null, "speaker_source": "rules", "emotion_source": "rules", "stressed": null, "delivery": { "takes": 1, "take": 1 }, "note": null, "ai": null } ], "…": "та же глава, что в GET /chapters/{id}" }