> This page is for Plataforma, version Herdado.
> For other versions, use one of these documentation indexes:
> - V4 (default): https://next.developer.frame.io/platform/v4/llms.txt
> - V4 experimental: https://next.developer.frame.io/platform/v4-experimental/llms.txt
> - Herdado: 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.

# Trabalhar com anotações

# Visão geral

As anotações no Frame.io são representadas como um blob JSON serializado de objetos de desenho, incluindo cores, coordenadas e tamanhos.No blob, todas as aspas, exceto o par delimitador externo, são escapadas com barras invertidas (ex.: `\&quot;key\&quot;:\&quot;value\&quot;`).Há três formas básicas: **arrow**, **rect** e **line**, além do desenho à mão livre, que está fora do escopo deste guia, mas segue os mesmos princípios básicos de dados de coordenadas serializados.

## O sistema de coordenadas




Todas as formas são colocadas em um sistema de coordenadas cartesianas com uma origem superior esquerda e uma escala de 0 a 1 em cada eixo.

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

## Dados básicos de forma




Todas as formas são colocadas no plano acima com uma combinação de coordenadas e dados de estilo.Cada forma possui alguns atributos em comum, mas cada uma tem uma maneira ligeiramente diferente de se relacionar com o sistema de coordenadas.





Todos os atributos para distância/largura/altura usam a mesma escala de 0 a 1 que a própria grade de coordenadas principal, mas geralmente são marcados a partir do ponto de origem da forma.

Em outras palavras, se um vídeo está sendo exibido em uma janela de visualização de 640x480, `x=1` será igual a 640px absolutos nesse contexto.Isso permite que as anotações sejam dimensionadas perfeitamente mantendo sua posição relativa conforme a tela de visualização, o tamanho e o contexto mudam.**Observação**: a origem de um *rect* é sempre o canto superior esquerdo da forma, independentemente da origem do desenho.

### Atributos comuns




| Atributo | Descrição |
| ---------- | ---------- |
| `tool` | *arrow*, *rect* ou *line*.Declara qual forma está sendo criada. |
| `color` | Código de cor hexadecimal de seis dígitos para a forma. |
| `size` | Tamanho em pixels para a linha da forma.Para setas, isso se refere apenas ao início da linha, pois a largura final é determinada programaticamente. |




### Arrow




| Atributo | Descrição |
|:--------|:----------|
| `x` | coordenada x da origem da seta. |
| `y` | coordenada y da origem da seta. |
| `w` | Diferença na posição do eixo y da seta do início ao fim, relativa à origem da seta. |
| `h` | Diferença na posição do eixo x da seta do início ao fim, relativa à origem da seta. |




### Rect




| Atributo | Descrição |
|:--------|:----------|
| `x` | coordenada x do canto superior esquerdo do retângulo. |
| `y` | coordenada y do canto superior esquerdo do retângulo. |
| `w` | Largura do retângulo, relativa à origem do retângulo superior esquerdo. |
| `h` | Altura do retângulo, relativa à origem do retângulo superior esquerdo. |
| `ix` | A origem x do desenho do retângulo.(Não obrigatório). |
| `iy` | A origem y do desenho do retângulo.(Não obrigatório). |
| `radius` | Raio do arredondamento do canto do retângulo.Deve ser positivo.Valores acima de 150 são visualmente indistinguíveis. |




### Line




| Atributo | Descrição |
|:--------|:----------|
| `x1` | coordenada x da origem da linha. |
| `y1` | coordenada y da origem da linha. |
| `x2` | coordenada x do término da linha.Valor absoluto no plano da imagem. |
| `y2` | coordenada y do término da linha.Valor absoluto no plano da imagem. |




## Exemplo simples: o plano de coordenadas

<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
        }
    ]
}
```





### Detalhamento

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





## Exemplo complexo: muitas caixas

<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
        }
    ]
}
```





### Detalhamento

Com tudo isso em mente, é útil dispor cada elemento na imagem acima para desenvolver uma imagem mais clara do sistema de coordenadas de anotação.Observe que `size` e `radius` para cada um dos retângulos neste exemplo estão usando os padrões da interface do usuário Frame.io.

#### Retângulo azul

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





#### Retângulo verde

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





#### Retângulo vermelho

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





#### Retângulo laranja

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





#### Seta vermelha

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