Immagini simili
Questo strumento confronta un'immagine con un archivio già indicizzato e restituisce quelle visivamente più simili — stessa scena, stesso prodotto, colori e forme vicine — indipendentemente dal nome del file o dalla cartella in cui si trova. È in beta: il motore funziona già bene, ma continuiamo ad affinarlo.
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.
Cosa significa «simile» per un'immagine
Il motore rappresenta ogni immagine come un vettore che ne descrive contenuto, forme e colori dominanti, non i pixel esatti. Due foto dello stesso prodotto scattate con luce diversa risultano simili; due foto identiche nel nome ma con soggetti diversi no. È utile quando il criterio “stesso nome file” o “stessa cartella” non basta a raggruppare ciò che davvero si somiglia.
Perché è ancora in beta
Il riconoscimento visivo per significato è più delicato di quello testuale: continuiamo a raffinare la precisione su categorie particolari, come foto molto simili tra loro con piccoli dettagli diversi tra gli scatti. Il prezzo è già quello definitivo e lo strumento è pienamente utilizzabile oggi; la dicitura beta indica solo che il modello continuerà a migliorare nei prossimi mesi di lavoro.
Da dove parte la ricerca
Carichi un'immagine di riferimento e il motore la confronta con quelle già presenti in un indice — costruito, per esempio, catalogando le foto prodotto di un e-commerce — restituendo le più vicine ordinate per somiglianza visiva decrescente rispetto all'originale. Senza un indice di immagini preesistente lo strumento non ha nulla con cui confrontare la foto caricata come riferimento della ricerca.
Prezzo per ricerca
$0.002 a richiesta più $0.0015 ogni 1.000 token equivalenti dell'immagine analizzata, in dollari, senza costi legati al numero di foto già presenti nell'indice consultato per il confronto. Lo lanci dalla pagina del KIT caricando la foto di partenza, oppure via API quando serve confrontare automaticamente ogni nuova immagine caricata in un catalogo che cresce ogni giorno di più, senza sosta.
Casi d'uso
Il catalogo fotografico di Rossi & Figli
Rossi & Figli S.r.l. trova foto quasi duplicate di uno stesso articolo caricate da fornitori diversi, con nomi file incoerenti, e tiene solo la versione con la luce migliore.
Un archivio immobiliare
Un'agenzia di Verona confronta le foto di un nuovo immobile con l'archivio storico per verificare se lo stesso appartamento era già stato fotografato in un annuncio precedente.
Il controllo qualità di un e-commerce di moda
Un negozio online a Firenze individua varianti di colore di uno stesso capo caricate come prodotti separati per errore, confrontando le immagini invece dei testi delle schede.
Domande frequenti
Cosa significa che lo strumento è in beta?
Il modello funziona ed è utilizzabile subito, ma stiamo ancora affinando la precisione su alcuni casi particolari. Il prezzo è già quello definitivo.
Serve un indice di immagini già pronto?
Sì, la ricerca confronta l'immagine caricata con un indice esistente: senza indice non ha nulla con cui confrontare i risultati.
Riconosce lo stesso prodotto fotografato con luce o angolazione diversa?
Sì, il confronto guarda il contenuto visivo complessivo, non i pixel esatti: piccole differenze di luce o inquadratura non impediscono il riconoscimento.
Quanto costa una ricerca per immagine?
$0.002 a richiesta più $0.0015 ogni 1.000 token equivalenti, in dollari: il prezzo è lo stesso della ricerca semantica su testo.
Posso usarlo per trovare foto duplicate in un archivio grande?
Sì, è uno dei casi d'uso tipici: individuare immagini quasi identiche caricate più volte con nomi diversi, per ripulire un archivio fotografico.
I miei file immagine restano sul server dopo il confronto?
Vengono elaborati per produrre il vettore di confronto e poi eliminati: non restano archiviati oltre l'elaborazione della richiesta.
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/search/similar-images \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/search/similar-images", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/search/similar-images",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/search/similar-images", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/search/similar-images", 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
{
"input": "…"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "search.similar_images",
"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_chunks | 10000 |
max_tokens | 20000 |
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. |