Descrizione immagini con IA
Questo strumento guarda una foto e la descrive a parole: cosa si vede, dove, in che contesto. Serve per il testo alternativo delle immagini — quello che leggono gli screen reader e che i motori di ricerca usano per capire la pagina — e per catalogare archivi di foto senza scriverle a mano.
Esegui online
Esegui questo sui nostri server con il tuo account. Gli strumenti gratuiti girano nel tuo browser; questo viene addebitato sul tuo saldo KIT al prezzo indicato sopra.
Descrizione dettagliata, non una sigla
A differenza di una didascalia breve, qui ottieni un testo articolato: soggetto principale, elementi sullo sfondo, colori, azione in corso, atmosfera. È il livello di dettaglio che serve quando l'immagine deve essere compresa da chi non la vede, o quando la stai schedando in un archivio e vuoi ritrovarla cercando per parole. Carichi la foto e ricevi il paragrafo pronto da rileggere e adattare.
Accessibilità e testo alternativo
In Italia i siti della pubblica amministrazione e molte aziende devono rispettare le regole di accessibilità: ogni immagine informativa vuole il suo testo alternativo. Scriverlo a mano per centinaia di foto è un lavoro enorme. Lo strumento propone una descrizione di partenza per ciascuna, che una persona rilegge e sistema. Resta il consiglio di controllare sempre: il testo alternativo va calato nel contesto della pagina.
Catalogare archivi di immagini
Una fototeca senza descrizioni è difficile da usare: non trovi niente. Generando una descrizione per ogni foto, l'archivio diventa cercabile per contenuto — spiaggia, riunione, prodotto rosso — senza aprire le immagini una a una. Utile per redazioni, agenzie e chi gestisce grandi librerie visive.
Casi d'uso
Sito accessibile della PA
Un Comune deve aggiungere il testo alternativo alle immagini del portale per rispettare le regole di accessibilità: genera una descrizione di base per ognuna e la redazione la rifinisce.
Archivio di una redazione
Una testata locale di Napoli ha migliaia di foto senza schedatura: le descrive con l'IA per poterle cercare per contenuto invece che per nome file.
Schede prodotto complete
Un negozio online descrive in dettaglio ogni foto dei capi per arricchire le schede e migliorare la comprensione delle pagine da parte dei motori di ricerca.
Domande frequenti
In che lingua è la descrizione?
Puoi ottenerla in italiano. Lo strumento descrive la scena con termini italiani, pronti da usare come testo alternativo o scheda d'archivio.
Posso usarla direttamente come testo alternativo?
È un ottimo punto di partenza, ma va sempre riletta. Il testo alternativo migliore dipende dal contesto della pagina: conviene che una persona lo adatti.
Quanto costa?
Si paga a consumo: $0.0575 a immagine, più $0.010 di base a richiesta. Prezzo pubblicato, nessun abbonamento.
Che differenza c'è con la didascalia?
La didascalia è una frase breve; qui la descrizione è dettagliata e articolata, pensata per l'accessibilità e per la ricerca in archivio.
Che fine fa la mia foto?
Viene elaborata per generare la descrizione e poi eliminata. Non resta archiviata né riutilizzata per altro.
Riconosce chi c'è nella foto?
No. Descrive la scena in generale — persone, oggetti, contesto — ma non identifica le persone per nome.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/image/describe \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"image":"https://ejemplo.com/imagen.jpg"}'const res = await fetch("https://api.kit.forhosting.com/image/describe", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"image": "https://ejemplo.com/imagen.jpg"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/describe",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"image": "https://ejemplo.com/imagen.jpg"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/describe", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"image":"https://ejemplo.com/imagen.jpg"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"image":"https://ejemplo.com/imagen.jpg"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/describe", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"image": "https://ejemplo.com/imagen.jpg"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.describe",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_mb | 15 |
max_megapixels | 12 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
422 | task_failed | L'attività non è andata a buon fine: non ti viene addebitato nulla. |