> This page is for Платформа, version Предыдущая версия.
> For other versions, use one of these documentation indexes:
> - V4 (default): https://next.developer.frame.io/platform/v4/llms.txt
> - Версия 4 экспериментальная: https://next.developer.frame.io/platform/v4-experimental/llms.txt
> - Предыдущая версия: https://next.developer.frame.io/platform/v2/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://next.developer.frame.io/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://next.developer.frame.io/_mcp/server.

# Работа с комментариями

# Обзор

Комментарии в Frame.io представлены как сериализованный JSON-блок объектов рисования с полной информацией о цветах, координатах и размерах. В блоке все кавычки, кроме внешней ограничивающей пары, экранируются с помощью косых черт (например, `\&quot;key\&quot;:\&quot;value\&quot;`). Существует три основные фигуры — **стрелка**, **прямоугольник** и **линия** — а также рисование от руки, которое выходит за рамки данного руководства, но следует тем же базовым принципам сериализованных данных координат.

## Система координат




Все фигуры размещаются в декартовой системе координат с началом в левом верхнем углу и масштабом от 0 до 1 по каждой оси.

<img alt="coordinate_plane.png" src="/_fern-img/099478340a4f8604fd4389c5d431ec9e9321f509f2d6055b0c92dd62e4e36147.webp" />

## Базовые данные фигур




Все фигуры размещаются на указанной выше плоскости с использованием комбинации координат и данных стиля. У каждой фигуры есть некоторые распространенные атрибуты, а также у каждой есть немного отличающийся способ обращения к системе координат.





Все атрибуты для расстояния/ширины/высоты используют тот же масштаб от 0 до 1, что и основная координатная сетка, но обычно отмечаются от точки происхождения фигуры.

Другими словами, если видео отображается в области просмотра 640x480, `x=1` будет равно абсолютным 640 пикселей в этом контексте. Это позволяет комментариям масштабироваться без проблем, сохраняя при этом их относительное положение при изменении экрана просмотра, размера и контекста. **Примечание**. Начало координат *rect* всегда находится в верхнем левом углу фигуры, независимо от начала рисования.

### Распространенные атрибуты




| Атрибут | Описание |
| ---------- | ---------- |
| `инструмент` | *arrow*, *rect*, или *line*. Указывает, какая фигура создается. |
| `цвет` | Шестизначный hex-код цвета фигуры. |
| `размер` | Размер в пикселях для линии фигуры. Для стрелок это относится только к началу линии, поскольку конечная ширина определяется программно. |




### Стрелка




| Атрибут | Описание |
|:--------|:----------|
| `x` | Координата x начала стрелки. |
| `y` | Координата y начала стрелки. |
| `w` | Разность положения стрелки по оси y от начала до конца относительно начала стрелки. |
| `h` | Разность положения стрелки по оси x от начала до конца относительно начала стрелки. |




### Прямоугольник




| Атрибут | Описание |
|:--------|:----------|
| `x` | Координата x верхнего левого угла прямоугольника. |
| `y` | Координата y верхнего левого угла прямоугольника. |
| `w` | Ширина прямоугольника относительно начала координат в его верхнем левом углу. |
| `h` | Высота прямоугольника относительно начала координат в его верхнем левом углу. |
| `ix` | Начало координат по оси x для рисования прямоугольника. (Необязательно). |
| `iy` | Начало координат по оси y для рисования прямоугольника. (Необязательно). |
| `radius` | Радиус закругления углов прямоугольника. Должно быть положительным. Значения выше 150 визуально неразличимы. |




### Линия




| Атрибут | Описание |
|:--------|:----------|
| `x1` | Координата x точки начала линии. |
| `y1` | Координата y точки начала линии. |
| `x2` | Координата x конечной точки линии. Абсолютное значение на плоскости изображения. |
| `y2` | Координата y конечной точки линии. Абсолютное значение на плоскости изображения. |




## Простой пример: координатная плоскость

<img alt="plane-example.png" src="/_fern-img/99384da1b5af9a10636927f13840b9554fa518600b181af4f71f094dab50861c.webp" />

```serialized
{"annotation": "[{\"tool\":\"line\",\"color\":\"#E74A3C\",\"size\":3,\"x1\":0.0028530670470756064,\"y1\":0.012680297987002695,\"x2\":0.9964336661911555,\"y2\":0.9903312727849104},{\"tool\":\"line\",\"color\":\"#34A3DB\",\"size\":3,\"x1\":0.004992867332382311,\"y1\":0.98779521318751,\"x2\":0.9942938659058488,\"y2\":0.012680297987002695}]}
```





```json
{
    "annotation": [
        {
            "tool": "line",
            "color": "#E74A3C",
            "size": 3,
            "x1": 0.0028530670470756064,
            "y1": 0.012680297987002695,
            "x2": 0.9964336661911555,
            "y2": 0.9903312727849104
        },
        {
            "tool": "line",
            "color": "#34A3DB",
            "size": 3,
            "x1": 0.004992867332382311,
            "y1": 0.98779521318751,
            "x2": 0.9942938659058488,
            "y2": 0.012680297987002695
        }
    ]
}
```





### Разбивка

<img alt="blue-plane.png" src="/_fern-img/ced74a7487e5331393af727a794384e9e3294d7f048fda4c64e73b4ba32b4445.webp" />

```json
{
   "tool":"line",
   "color":"#34A3DB",
   "size":3,
   "x1":0.004992867332382311,
   "y1":0.98779521318751,
   "x2":0.9942938659058488,
   "y2":0.012680297987002695
}
```

<img alt="plane-example-red.png" src="/_fern-img/35bbbbcbe89e4262ec4e0fedf5e13d48baeceb10421fe48bcb854eb216a28676.webp" />

```json
{
   "tool":"line",
   "color":"#E74A3C",
   "size":3,
   "x1":0.0028530670470756064,
   "y1":0.012680297987002695,
   "x2":0.9964336661911555,
   "y2":0.9903312727849104
}
```





## Сложный пример: множество прямоугольников

<img alt="lots-of-boxes.png" src="/_fern-img/9241b75e4785251c5c42b5b11306370df8d0510932e1537e20dbcde58977fea3.webp" />

```serialized
{"annotation": "[{\"tool\":\"rect\",\"color\":\"#34A3DB\",\"size\":3,\"x\":0.008426966292134831,\"y\":0.02663337494798169,\"w\":0.0702247191011236,\"h\":0.10986267166042447,\"ix\":0.008426966292134831,\"iy\":0.02663337494798169,\"radius\":8},{\"tool\":\"rect\",\"color\":\"#1ABCA1\",\"size\":3,\"x\":0.8932584269662921,\"y\":0.0449438202247191,\"w\":0.08895131086142327,\"h\":0.35122763212650854,\"ix\":0.8932584269662921,\"iy\":0.0449438202247191,\"radius\":8},{\"tool\":\"rect\",\"color\":\"#E67422\",\"size\":3,\"x\":0.023408239700374533,\"y\":0.7873491468997087,\"w\":0.1254681647940075,\"h\":0.2047440699126093,\"ix\":0.023408239700374533,\"iy\":0.7873491468997087,\"radius\":8},{\"tool\":\"rect\",\"color\":\"#E74A3C\",\"size\":3,\"x\":0.6919475655430711,\"y\":0.5409904286308781,\"w\":0.29868913857677903,\"h\":0.4427798585101955,\"ix\":0.6919475655430711,\"iy\":0.5409904286308781,\"radius\":8},{\"tool\":\"arrow\",\"color\":\"#E74A3C\",\"size\":3,\"x\":0.25374531835205993,\"y\":0.23137744486059092,\"w\":0.24250936329588013,\"h\":0}]}"
```





```json
{
    "annotation": [
        {
            "tool": "rect",
            "color": "#34A3DB",
            "size": 3,
            "x": 0.008426966292134831,
            "y": 0.02663337494798169,
            "w": 0.0702247191011236,
            "h": 0.10986267166042447,
            "ix": 0.008426966292134831,
            "iy": 0.02663337494798169,
            "radius": 8
        },
        {
            "tool": "rect",
            "color": "#1ABCA1",
            "size": 3,
            "x": 0.8932584269662921,
            "y": 0.0449438202247191,
            "w": 0.08895131086142327,
            "h": 0.35122763212650854,
            "ix": 0.8932584269662921,
            "iy": 0.0449438202247191,
            "radius": 8
        },
        {
            "tool": "rect",
            "color": "#E67422",
            "size": 3,
            "x": 0.023408239700374533,
            "y": 0.7873491468997087,
            "w": 0.1254681647940075,
            "h": 0.2047440699126093,
            "ix": 0.023408239700374533,
            "iy": 0.7873491468997087,
            "radius": 8
        },
        {
            "tool": "rect",
            "color": "#E74A3C",
            "size": 3,
            "x": 0.6919475655430711,
            "y": 0.5409904286308781,
            "w": 0.29868913857677903,
            "h": 0.4427798585101955,
            "ix": 0.6919475655430711,
            "iy": 0.5409904286308781,
            "radius": 8
        },
        {
            "tool": "arrow",
            "color": "#E74A3C",
            "size": 3,
            "x": 0.25374531835205993,
            "y": 0.23137744486059092,
            "w": 0.24250936329588013,
            "h": 0
        }
    ]
}
```





### Разбивка

Учитывая все это, полезно разместить каждый элемент на приведенном выше изображении, чтобы получить более четкое представление о системе координат комментариев. Обратите внимание, что `размер` и `радиус` для каждого из прямоугольников в этом примере используют значения по умолчанию из интерфейса Frame.io.

#### Синий прямоугольник

<img alt="blue-box.png" src="/_fern-img/ccc803531559e559395c2811d2be436316bbce6249c89b4af0b366efcf6b4d27.webp" />

```json
{
   "tool":"rect",
   "color":"#34A3DB",
   "size":3,
   "x":0.008426966292134831,
   "y":0.02663337494798169,
   "w":0.0702247191011236,
   "h":0.10986267166042447,
   "ix":0.008426966292134831,
   "iy":0.02663337494798169,
   "radius":8
}
```





#### Зеленый прямоугольник

<img alt="box-green.png" src="/_fern-img/4ce987f7843bf36e865fe0ceb6ae0ebbfa383cf719018754070a489fb3e3f17a.webp" />

```json
{
   "tool":"rect",
   "color":"#1ABCA1",
   "size":3,
   "x":0.8932584269662921,
   "y":0.0449438202247191,
   "w":0.08895131086142327,
   "h":0.35122763212650854,
   "ix":0.8932584269662921,
   "iy":0.0449438202247191,
   "radius":8
}
```





#### Красный прямоугольник

<img alt="red-box.png" src="/_fern-img/61638bc1073613b5456b11ac4ce287447c3aaade152c0e6faf7699d995b11b31.webp" />

```json
{
   "tool":"rect",
   "color":"#E74A3C",
   "size":3,
   "x":0.6919475655430711,
   "y":0.5409904286308781,
   "w":0.29868913857677903,
   "h":0.4427798585101955,
   "ix":0.6919475655430711,
   "iy":0.5409904286308781,
   "radius":8
}
```





#### Оранжевый прямоугольник

<img alt="orange-box.png" src="/_fern-img/b7a8f7c7feb18d0439ef14f7fe71441d3cada3f551dda44c9e69ef9c8b34a8d4.webp" />

```json
{
   "tool":"rect",
   "color":"#E67422",
   "size":3,
   "x":0.023408239700374533,
   "y":0.7873491468997087,
   "w":0.1254681647940075,
   "h":0.2047440699126093,
   "ix":0.023408239700374533,
   "iy":0.7873491468997087,
   "radius":8
}
```





#### Красная стрелка

<img alt="red-arrow.png" src="/_fern-img/1f3e9db0880bf0bef5aa305de38471893b8ae9901226383441ff08c317087160.webp" />

```json
{
   "tool":"arrow",
   "color":"#E74A3C",
   "size":3,
   "x":0.25374531835205993,
   "y":0.23137744486059092,
   "w":0.24250936329588013,
   "h":0
}
```