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

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

`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 | нет | Не озвучивать строку |

```bash
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"}}'
```

```python
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())
```

```javascript
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}"
}
```
