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

# Lavorare con le annotazioni

# Panoramica

Le annotazioni in Frame.io sono rappresentate come un blob JSON serializzato di oggetti di disegno, completi di colori, coordinate e dimensioni. Nel blob, tutte le virgolette tranne la coppia di delimitazione esterna sono precedute da barre oblique (ad esempio `\&quot;key\&quot;:\&quot;value\&quot;`). Esistono tre forme di base (**arrow**, **rect** e **line**), oltre al disegno a mano libera, che esula dall'ambito di questa guida, ma segue gli stessi principi di base dei dati di coordinate serializzati.

## Il sistema di coordinate




Tutte le forme sono posizionate su un sistema di coordinate cartesiano con origine in alto a sinistra e una scala da 0 a 1 su ciascun asse.

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

## Dati di forma di base




Tutte le forme sono posizionate sul piano sopra riportato con una combinazione di coordinate e dati di stile. Ogni forma ha alcuni attributi comuni e ognuna ha un modo leggermente diverso di gestire il sistema di coordinate.





Tutti gli attributi per distanza, larghezza e altezza utilizzano la stessa scala da 0 a 1 della griglia di coordinate principale, ma sono generalmente contrassegnati dal punto di origine della forma.

In altre parole, se un video viene mostrato in una finestra di visualizzazione 640x480, `x=1` corrisponderà a 640 px assoluti in quel contesto. Questo consente alle annotazioni di adattarsi senza problemi mantenendo la loro posizione relativa quando schermo di visualizzazione, dimensioni e contesto cambiano. **Nota**: l'origine di un *rect* è sempre l'angolo superiore sinistro della forma, indipendentemente dall'origine del disegno.

### Attributi comuni




| Attributo | Descrizione |
| ---------- | ---------- |
| `tool` | *arrow*, *rect* o *line*. Indica quale forma viene creata. |
| `color` | Colore esadecimale a sei cifre per la forma. |
| `size` | Dimensione in pixel per la linea della forma. Per le frecce, si riferisce solo all'inizio della linea, poiché la larghezza finale è determinata programmaticamente. |




### Freccia




| Attributo | Descrizione |
|:--------|:----------|
| `x` | Coordinata x dell'origine della freccia. |
| `y` | Coordinata y dell'origine della freccia. |
| `w` | Differenza nella posizione dell'asse y della freccia dall'inizio alla fine, relativa all'origine della freccia. |
| `h` | Differenza nella posizione dell'asse x della freccia dall'inizio alla fine, relativa all'origine della freccia. |




### Rettangolo




| Attributo | Descrizione |
|:--------|:----------|
| `x` | Coordinata x dell'angolo superiore sinistro del rettangolo. |
| `y` | Coordinata y dell'angolo superiore sinistro del rettangolo. |
| `w` | Larghezza del rettangolo, relativa all'origine del rettangolo superiore sinistro. |
| `h` | Altezza del rettangolo, relativa all'origine del rettangolo superiore sinistro. |
| `ix` | L'origine x del disegno del rettangolo (non richiesta). |
| `iy` | L'origine y del disegno del rettangolo (non richiesta). |
| `radius` | Raggio dell'arrotondamento degli angoli del rettangolo. Deve essere un numero positivo. I valori superiori a 150 sono visivamente indistinguibili. |




### Linea




| Attributo | Descrizione |
|:--------|:----------|
| `x1` | Coordinata x dell'origine della linea. |
| `y1` | Coordinata y dell'origine della linea. |
| `x2` | Coordinata x del termine della linea. Valore assoluto sul piano dell'immagine. |
| `y2` | Coordinata y del termine della linea. Valore assoluto sul piano dell'immagine. |




## Esempio semplice: il piano delle coordinate

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





### Suddivisione

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





## Esempio complesso: molte caselle

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





### Suddivisione

Tenendo presente tutto questo, è utile stabilire la disposizione di ogni elemento nell'immagine mostrata in alto per sviluppare un quadro più chiaro del sistema di coordinate delle annotazioni. Tieni presente che `size` e `radius` per ciascuno dei rettangoli in questo esempio utilizzano le impostazioni predefinite dell'interfaccia utente di Frame.io.

#### Rettangolo blu

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





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





#### Rettangolo rosso

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





#### Rettangolo arancione

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





#### Freccia rossa

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