O problema maior ai é a IA analisar imagens, quando ela analisa uma imagem ela pega o base64 da imagem (na maioria das vesez) e gera a descrição, então você precisa salvar o embedding em um banco vetorial para que ela possa fazer a comparação com outras imagens depois. Não tem pra onde fugir, esses modelos consomem muitos tokens e processamento, mas há algumas soluções baratas, pode usar o replicate.com ele só cobra por uso, então pra rodar em produção pode ser interessante, e tem o huggingface que hospeda alguns modelos de embedding e tu pode usar gratuitamente com algumas limitações e tambem ainda da pra contribuir com a comunidade. Eu ja usei bastante la quando eu tava testanto uma aplicação justamente igual essa que tu ta fazendo. Hoje em dia a empresa roda um modelo no servidor local que recebe as requisições por api rest.