# Un'alternativa a Perspective API che si sostituisce senza riscrivere nulla

> Perspective API chiude il 31 dicembre 2026. VigiMod risponde alle stesse richieste comments:analyze: cambi host e chiave e il codice resta com'è. Gratis durante la beta, 26 lingue.

Source: https://www.vigimod.com/it/perspective-api-alternative · VigiMod (https://www.vigimod.com) · 2026-11-15

Perspective API di Google smette di rispondere il 31 dicembre 2026. VigiMod risponde alle stesse richieste sullo stesso percorso: cambi host e chiave e il tuo codice, plugin o script continua a funzionare. Gratis durante la beta, addestrato su 26 lingue.

## Cambi host e chiave, nient'altro

Stesso percorso (/v1alpha1/comments:analyze), stesso JSON in entrata e in uscita, la chiave in ?key= come prima (o nell'header X-API-Key).

### Prima: Perspective API

```python
import requests

r = requests.post(
    "https://commentanalyzer.googleapis.com/v1alpha1/comments:analyze",
    params={"key": PERSPECTIVE_KEY},
    json={
        "comment": {"text": message},
        "languages": ["it"],
        "requestedAttributes": {"TOXICITY": {}, "INSULT": {}, "THREAT": {}},
    },
)
scores = {k: v["summaryScore"]["value"] for k, v in r.json()["attributeScores"].items()}
flagged = scores["TOXICITY"] >= 0.8
```

### Dopo: VigiMod

```python
import requests

r = requests.post(
    "https://api.vigimod.com/v1alpha1/comments:analyze",   # the only changes:
    params={"key": VIGIMOD_KEY},            # host and key
    json={
        "comment": {"text": message},
        "languages": ["it"],
        "requestedAttributes": {"TOXICITY": {}, "INSULT": {}, "THREAT": {}},
    },
)
scores = {k: v["summaryScore"]["value"] for k, v in r.json()["attributeScores"].items()}
flagged = scores["TOXICITY"] >= 0.8
```

### curl

```bash
curl -s "https://api.vigimod.com/v1alpha1/comments:analyze?key=$VIGIMOD_KEY" \
  -H "Content-Type: application/json" \
  -d '{"comment": {"text": "sei proprio un idiota"},
       "requestedAttributes": {"TOXICITY": {}, "SEVERE_TOXICITY": {}}}'

# {"attributeScores": {
#    "TOXICITY": {"summaryScore": {"value": 1.0, "type": "PROBABILITY"}},
#    "SEVERE_TOXICITY": {"summaryScore": {"value": 0.6, "type": "PROBABILITY"}}}}
# an insult: toxic, but not hate or a threat, so not severe
```

### Node.js

```js
const r = await fetch(
  `https://api.vigimod.com/v1alpha1/comments:analyze?key=${process.env.VIGIMOD_KEY}`,
  {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      comment: { text: message },
      requestedAttributes: { TOXICITY: {}, PROFANITY: {} },
    }),
  },
);
const { attributeScores } = await r.json();
const toxicity = attributeScores.TOXICITY.summaryScore.value;
```

## Strumenti basati su Perspective

### Coral

Admin → Configure → Moderation → filtro dei commenti tossici di Perspective: imposta l'endpoint su https://api.vigimod.com/v1alpha1 e come chiave la tua chiave VigiMod. Alza il timeout a 3000 ms: se la risposta arriva tardi, Coral pubblica il commento senza punteggio.

### Discourse

Il plugin ufficiale di Perspective chiama direttamente l'host di Google e non ha un'impostazione per cambiarlo: nella tua copia del plugin sostituisci commentanalyzer.googleapis.com con api.vigimod.com e metti la chiave VigiMod in perspective_google_api_key.

### Drupal, WordPress e i tuoi script

Funziona qualsiasi modulo o script che permette di impostare l'URL di Perspective: usa https://api.vigimod.com/v1alpha1/comments:analyze con la tua chiave VigiMod. Se l'URL è scritto nel codice, è una riga da cambiare.

## Come viene calcolato ogni attributo di Perspective

| Attributo Perspective | VigiMod usa | Nota |
|---|---|---|
| TOXICITY | toxic | Messaggi maleducati, irrispettosi o aggressivi, insulti, odio e minacce compresi. |
| SEVERE_TOXICITY | hate, threat, toxic (al massimo 0,6) | Odio e minacce; un messaggio solo maleducato resta sotto 0,7. |
| IDENTITY_ATTACK | hate | Attacchi alle persone per quello che sono. |
| INSULT | insult | Insulti rivolti a una persona. |
| THREAT | threat | Minacce di violenza o di danno. |
| SEXUALLY_EXPLICIT | sexual | Contenuti sessuali. |
| PROFANITY | regola integrata | Parolacce e linguaggio volgare, in qualsiasi lingua (è accettato anche OBSCENE). |
| FLIRTATION | regola integrata | Flirt e avances sessuali (sperimentale in Perspective). |
| SPAM | advertising | Pubblicità non richiesta. |
| Altri | — | ATTACK_ON_AUTHOR, INCOHERENT, INFLAMMATORY, LIKELY_TO_REJECT, UNSUBSTANTIAL e gli attributi bridging restituiscono un errore 400 che li nomina. |

## Cosa sapere prima di passare

- I punteggi vengono dal modello di VigiMod, non da quello di Perspective. Sono riscalati in modo che 0,7 sia la soglia tarata di VigiMod per ogni attributo: le soglie tra 0,7 e 0,9 si comportano in modo sensato, ma verifica le tue su qualche giorno di messaggi reali.
- Un attributo che VigiMod non calcola dà un errore 400 esplicito, mai un numero inventato. I nomi _EXPERIMENTAL sono accettati.
- context.entries viene usato: i messaggi precedenti cambiano i punteggi, quindi risposte, battute e citazioni vengono lette insieme a ciò che le precede.
- I commenti più lunghi di 1.000 caratteri vengono valutati a parti, fino a 10.000 caratteri; ogni parte conta come un messaggio per il limite di frequenza e spanScores riporta il punteggio di ogni parte.
- Non viene salvato nulla: i commenti vengono valutati e scartati, e comments:suggestscore è accettato ma i suoi punteggi non vengono conservati.
- Tutte le lingue sono accettate: il modello è addestrato su 26 e funziona meglio in inglese, italiano, spagnolo, francese, tedesco e portoghese.

## Quando vuoi più di Perspective

L'endpoint compatibile è il passaggio rapido. L'endpoint nativo /moderate, con la stessa chiave, aggiunge:

- Regole personalizzate in linguaggio naturale, come “Vietato vendere account”, ognuna con il suo punteggio.
- Punteggi per autolesionismo, pubblicità e spam per utente, e liste di insulti discriminatori per categoria.
- Policy create nella dashboard, con azioni se/allora (elimina, timeout, ban), coda di revisione e webhook.
- La stessa privacy: i messaggi vengono controllati e scartati, non usati per addestrare modelli.

## Migra in tre passi

1. Crea un account gratuito e una chiave API.
2. Sostituisci commentanalyzer.googleapis.com con api.vigimod.com e la chiave di Perspective con quella di VigiMod.
3. Osserva qualche giorno di messaggi reali e, se serve, regola le soglie.

## Domande

### Quando smette di funzionare Perspective API?

Secondo l'avviso di Jigsaw non accetta nuove richieste di accesso da febbraio 2026 e continua a rispondere agli utenti esistenti fino al 31 dicembre 2026.

### Perspective API è gratis?

Era gratuita, con una quota per progetto. Dopo il 31 dicembre 2026 smette di rispondere a tutti, quindi un piano gratuito non serve più. VigiMod è gratis durante la beta.

### Cosa ha sostituito Perspective API?

Google non ha rilasciato un successore diretto. VigiMod risponde alle stesse richieste comments:analyze, quindi il codice scritto per Perspective continua a funzionare con un nuovo host e una nuova chiave.

### Devo cambiare il codice?

Solo host e chiave. Richiesta e risposta hanno la stessa forma; un attributo che VigiMod non calcola restituisce un errore 400 che lo nomina.

### I punteggi sono uguali a quelli di Perspective?

Nessun modello dà gli stessi numeri. Entrambi restituiscono una probabilità da 0 a 1 per attributo, e quelli di VigiMod sono riscalati in modo che 0,7 sia la sua soglia. Verifica le soglie sui tuoi messaggi.

### Quali lingue supporta?

È addestrato su 26 lingue e funziona meglio in inglese, italiano, spagnolo, francese, tedesco e portoghese. Ogni codice lingua è accettato.

### VigiMod è gratis?

Sì, durante la beta: tutte le funzioni, 120 messaggi al minuto per chiave, fino a 10 chiavi.

Documentation: https://www.vigimod.com/en/docs#perspective · Benchmark: https://www.vigimod.com/en/benchmark · Support: support@vigimod.com
