# Appraising the value of an item based on photos

**URL:** <https://discuss.huggingface.co/t/appraising-the-value-of-an-item-based-on-photos/175732>\
**Category:** Beginners\
**Created:** [May 3, 2026, 8:06pm UTC](https://discuss.huggingface.co/t/appraising-the-value-of-an-item-based-on-photos/175732 "2026-05-03T20:06:59Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![gcsaba2](https://avatars.discourse-cdn.com/v4/letter/g/e9c0ed/32.png) [@gcsaba2](https://discuss.huggingface.co/u/gcsaba2)\
**Post date:** [May 3, 2026, 8:07pm UTC](https://discuss.huggingface.co/t/appraising-the-value-of-an-item-based-on-photos/175732/1 "2026-05-03T20:07:00Z")

</div>

I’m working on a project to appraise the dollar value of antiques. I have a FAISS database with prices and text descriptions, and just need to find the most accurate description of an image so I can run a search in the database.

**Simple use case** : generic brass candle holder → take image → recognizes it’s a brass candle holder → $10

For the simple use case, I just used Gemini API, and it correctly recognized what the image was.

**Advanced use case** : branded brass candle holder

In this case, Gemini API failed to recognize the brand, and classified it as a generic brass candle holder.

I’ve added a tool which calls Google Lens. It was able to recognize the brand, and from the database I got its real price → $100

**Pro use case:** Japanese vase

Google Lens (incorrectly) recognized the vase as being from the Meiji period, potentially worth up to $500. I then uploaded 5 photos to Gemini Chat (Pro), showing all sides including the bottom. Gemini discovered that the creators used “tube-lined technique” to mimic the look of traditional Meiji-period vases, and it’s a fake, probably worth $50.

* * *

So this is where I am right now. I tried both Gemini API and Google Lens, but I’m still not able to properly distinguish a Japanese antique vase from a fake. I also wonder how come Gemini Chat managed to recognize it, but Gemini API didn’t, despite using the same model.

I’m thinking that maybe I should create a loop:

1. Gemini API appraises the images
2. Google Lens appraises the “best” image (since it can only do one)
3. The two are combined as input to a 3rd agent that does quality control

The problem is, the QC agent cannot just blindly pick the “cheaper” evaluation, because then I’ll miss out on actual rare finds.

Anyone has an idea how best to create a system which gives an expert advice on the value of antiques? Is there maybe a dataset which explains what exactly to look for - eg. “if it’s a Japanese vase, check the image to see if it’s clay or metal, etc” and then I could feed that to the LLM?

---

<div class="post-metadata">

**Author:** ![John6666](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/john6666/32/27664_2.png) [@John6666](https://discuss.huggingface.co/u/John6666)\
**Post date:** [May 3, 2026, 11:22pm UTC](https://discuss.huggingface.co/t/appraising-the-value-of-an-item-based-on-photos/175732/2 "2026-05-03T23:22:01Z")

</div>

> I also wonder how come Gemini Chat managed to recognize it, but Gemini API didn’t, despite using the same model.

While Gemini x.x and GPT x.x are the models themselves—such as LLMs, VLMs, or multimodal LLMs—Gemini Chat and ChatGPT are Agentic RAGs (or more advanced services), so their behavior differs significantly.

In some cases, Gemini Chat and ChatGPT automatically even create and execute Python scripts within the cloud runtime, process the results, and—if necessary—call other Gemini or GPT models… essentially building and using a fairly complex pipeline like this internally on their own to provide the final answer based on those results. Seriously.

It’s quite difficult to replicate all of that as-is (though it is possible since there are OSS frameworks for that), and because it’s fully automated, the results are prone to variation (to the point where [even slight differences in usage can lead to performance differences](https://huggingface.co/posts/salma-remyx/889764886790464)…), so it’s better to leave that for later.

It’s probably more realistic to start by building a pipeline that mimics only the parts that are important for your own project. Also, that approach is likely to be lighter:

* * *

# Evidence-based photo appraisal for antiques

## Gemini API + Lens + FAISS/RAG + OCR + expert-style QC

The key shift:

```plaintext
Generic resale items: photo appraisal is mostly object recognition.

Antiques: photo appraisal is hypothesis testing.

```

A simple item can work like this:

```plaintext
photo → “generic brass candle holder” → similar records → ~$10

```

A difficult antique should not work like this:

```plaintext
photo → “Meiji vase” → similar records → ~$500

```

For antiques, the valuable label is usually what must be proven. A vase can look like a Meiji-period Japanese vase while actually being a later decorative reproduction, Satsuma-style imitation, tube-lined revival piece, tourist/export ware, or seller-mislabeled object.

A better target pipeline:

```plaintext
photos
→ visible evidence
→ competing hypotheses
→ positive + negative retrieval
→ expert rubric checks
→ comp filtering
→ QC / skeptic review
→ supported value + upside-if-authenticated

```

Not:

```plaintext
photo
→ one best caption
→ FAISS text search
→ average price

```

* * *

# 1. Why Gemini Chat likely beat the Gemini API call

The likely reason is not simply “Gemini Chat used a better model.”

More likely:

```plaintext
Gemini model = the engine.
Gemini Chat / Gemini Apps = finished assistant product around the engine.
Gemini API = programmable access to the engine/tools, but you build the assistant behavior.

```

Gemini Apps support uploaded files/photos/videos in a chat workflow: [Gemini Apps file upload docs](https://support.google.com/gemini/answer/14903178?co=GENIE.Platform%3DAndroid&hl=en). The Gemini API also supports image understanding, but you must explicitly send the right images, label them, prompt correctly, and attach tools/retrieval: [Gemini image understanding](https://ai.google.dev/gemini-api/docs/image-understanding).

In the vase case, Gemini Chat saw multiple views including the bottom. For ceramics, the base, foot rim, underside wear, mark, glaze/body transition, decoration detail, and restoration clues can matter more than the front view.

So the API probably failed because it behaved like a one-shot captioner. Gemini Chat succeeded because it behaved more like a multi-photo inspection assistant.

To match or beat Chat, replicate:

- multi-photo context
- labeled views
- detail crops
- OCR on marks/labels
- visual search as candidate discovery
- RAG over rubrics and prior cases
- structured JSON outputs
- tool calling
- comp filtering
- QC gates

Useful Gemini building blocks:

- [Image understanding](https://ai.google.dev/gemini-api/docs/image-understanding)
- [Structured outputs](https://ai.google.dev/gemini-api/docs/structured-output)
- [Function calling](https://ai.google.dev/gemini-api/docs/function-calling)
- [File Search / RAG](https://ai.google.dev/gemini-api/docs/file-search)
- [Embeddings / Gemini Embedding 2](https://ai.google.dev/gemini-api/docs/embeddings)
- [Grounding with Google Search](https://ai.google.dev/gemini-api/docs/google-search)
- [URL Context](https://ai.google.dev/gemini-api/docs/url-context)

* * *

# 2. Three use cases, three routes

## A. Generic brass candle holder

Mostly object recognition plus broad comp retrieval.

```plaintext
photo → “brass candle holder” → FAISS/text/image comps → ~$10

```

Route:

```plaintext
cheap Gemini call or OSS VLM
→ object type
→ visible material
→ broad database search
→ simple value range

```

Example:

```plaintext
Likely identity:
Generic brass candle holder.

Supported resale estimate:
~$8–15, depending on size, condition, and local marketplace.

Confidence:
Medium-high if no maker, designer, age, or unusual quality indicators are visible.

```

* * *

## B. Branded brass candle holder

This is exact-identity / maker recognition.

Gemini may see:

```plaintext
brass candle holder

```

Google Lens may find:

```plaintext
specific branded brass candle holder

```

That is where visual search helps. Google Lens discovers visually similar images and related content from an image: [Google Lens: how it works](https://lens.google/howlensworks/).

Route:

```plaintext
full photo + mark/logo crop
→ OCR if needed
→ Google Lens / visual search
→ exact or near-exact comp retrieval
→ database price lookup
→ Gemini reconciles evidence

```

For branded objects, the best Lens image is often:

```plaintext
logo
maker mark
label
pattern number
base stamp
distinctive design detail

```

Example:

```plaintext
Likely identity:
[Brand/model] brass candle holder.

Evidence:
Visible maker/brand clue + visual-search match + matching database records.

Supported estimate:
~$100, assuming same model, material, size, and condition.

```

* * *

## C. Japanese vase

This is authentication / attribution / comp-validity.

Dangerous near-neighbors:

```plaintext
Meiji-period Satsuma vase
Meiji-style vase
Satsuma-style decorative vase
moriage tourist ware
tube-lined imitation
modern decorative reproduction
Chinese/Japanese-style decorative ceramic

```

Google Lens may surface the expensive visual hypothesis:

```plaintext
Meiji-period Japanese vase → maybe ~$500

```

But multi-photo evidence may support:

```plaintext
tube-lined or revival technique used to mimic older Meiji-period appearance
→ likely later/revival/reproduction
→ maybe ~$50

```

The QC question is not:

```plaintext
Which answer is cheaper?

```

It is:

```plaintext
Which hypothesis is best supported by visible evidence?
What contradicts the expensive hypothesis?
What evidence is missing?
Which sold comps actually match the supported hypothesis?
What upside remains if the item is later authenticated?

```

* * *

# 3. Recommended architecture

```plaintext
1. Photo intake / sufficiency gate
2. Risk routing
3. Crop and detail extraction
4. OCR and mark interpretation
5. Visual evidence extraction
6. Lens / visual-search candidate discovery
7. Multimodal retrieval
8. Negative-example retrieval
9. Category-specific rubric checks
10. Comparable-sales filtering
11. QC / skeptic review
12. Final appraisal report

```

Role separation:

| Component | Correct role | Incorrect role |
| --- | --- | --- |
| Gemini API | Evidence extraction, hypotheses, rubric reasoning, comp filtering, QC, report | One-shot appraiser |
| Google Lens | Candidate labels, visually similar web/listing discovery | Authenticator or price authority |
| OCR | Read marks, labels, stamps, signatures | Maker/authenticity proof by itself |
| FAISS/Qdrant/vector DB | Retrieve positive comps, negatives, marks, details | Final price calculator |
| Rubric/RAG | Tell model what to check per category | Generic background only |
| QC agent | Block unsupported claims, preserve upside, decide escalation | Pick cheaper answer |

* * *

# 4. Photo sufficiency gate

For Japanese ceramics, require:

```plaintext
front view
back view
left and right side views
top / mouth / interior
bottom / base
foot rim close-up
mark / backstamp close-up
decoration macro
damage / restoration close-ups
scale photo

```

Internal schema:

```json
{
  "object_category_guess": "Japanese ceramic vase",
  "sufficient_for_generic_identification": true,
  "sufficient_for_authentication": false,
  "missing_required_views": [
    "clear bottom/base photo",
    "foot rim close-up",
    "legible mark/backstamp close-up",
    "decoration macro"
  ],
  "valuation_allowed": "low_confidence_only",
  "blocked_claims": [
    "Meiji-period attribution",
    "verified maker",
    "high-confidence high-value appraisal"
  ]
}

```

Hard rule:

```plaintext
If category = Japanese ceramic vase
and no clear base/foot/mark views are present,
then block high-confidence period and maker claims.

```

* * *

# 5. Route by risk

```plaintext
Route A: generic low-risk item
Route B: branded / marked / exact-product item
Route C: antique / authenticity-sensitive item

```

## Route A

```plaintext
Gemini object ID
→ broad text/image database search
→ simple comp estimate

```

## Route B

```plaintext
crop mark/logo
→ OCR
→ Lens / eBay / visual search
→ exact or near-exact comps
→ value estimate

```

eBay’s Browse API includes search by image for product-like discovery: [eBay Browse API: search by image](https://developer.ebay.com/api-docs/buy/browse/resources/item_summary/methods/searchByImage).

## Route C

```plaintext
multi-photo intake
→ detail crops
→ OCR
→ positive retrieval
→ negative retrieval
→ category rubric
→ comp filtering
→ QC
→ supported value + upside scenario

```

* * *

# 6. Crop decisive details

Full-object views identify the broad object. Detail crops contain appraisal evidence.

For ceramics, crop:

```plaintext
base
foot rim
mark / backstamp
decoration detail
glaze/body transition
top/interior
damage/restoration
scale reference

```

Useful tools:

- [Florence-2](https://huggingface.co/microsoft/Florence-2-base) for captioning/detection/segmentation-style tasks.
- Grounding DINO for text-prompted region detection.
- SAM / SAM 2 for segmentation after detection.
- YOLO variants if you train fixed appraisal-detail categories.

The cropper is not the appraiser. It ensures the model sees the same details a human specialist would inspect.

* * *

# 7. OCR and mark interpretation

A mark can be:

```plaintext
maker mark
workshop mark
retailer mark
import mark
country-of-origin mark
pattern number
decorative mark
apocryphal mark
fake mark
later-added label

```

Split mark handling:

```plaintext
1. detect mark region
2. transcribe mark
3. classify mark type
4. interpret appraisal implication

```

OCR candidates:

- [PaddleOCR-VL](https://huggingface.co/PaddlePaddle/PaddleOCR-VL)
- [PaddleOCR GitHub](https://github.com/PaddlePaddle/PaddleOCR)
- EasyOCR
- Tesseract
- DeepSeek-OCR
- Chandra OCR

Example:

```json
{
  "ocr_text": "MADE IN JAPAN",
  "mark_type": "country_of_origin_mark",
  "appraisal_implication": "If original to the object, this conflicts with a 19th-century Meiji-period attribution.",
  "confidence": "medium",
  "needs_human_check": false
}

```

Never jump from:

```plaintext
mark visible

```

to:

```plaintext
maker verified

```

without corroboration.

* * *

# 8. Extract visible evidence, not final value

Bad prompt:

```plaintext
What is this item and what is it worth?

```

Better prompt:

```plaintext
You are not appraising yet.

Extract visible evidence only.
Separate visible facts, uncertain observations, interpretations, missing views, and risk flags.
Do not state period, maker, authenticity, or value as fact unless directly supported.
Do not generate a final price.

```

Example structured output:

```json
{
  "visible_facts": [
    {
      "fact": "The object is a ceramic vase form.",
      "source_image": "front_view",
      "confidence": 0.92
    },
    {
      "fact": "Raised decorative outlines are visible around motifs.",
      "source_image": "decoration_macro",
      "confidence": 0.86
    }
  ],
  "uncertain_observations": [
    {
      "observation": "Raised decoration may be tube-lined, molded, or applied.",
      "needed_evidence": "macro photo under angled light"
    }
  ],
  "missing_evidence": [
    "clear base photo",
    "foot rim macro",
    "legible mark close-up",
    "measurements",
    "condition close-ups",
    "provenance"
  ],
  "risk_flags": [
    "period_style_mismatch_possible",
    "reproduction_possible",
    "visual_similarity_not_authentication"
  ]
}

```

Use structured outputs for schema validation: [Gemini structured outputs](https://ai.google.dev/gemini-api/docs/structured-output).

* * *

# 9. Lens as candidate discovery

Good representation:

```json
{
  "lens_candidates": [
    "Meiji Satsuma vase",
    "Japanese moriage vase",
    "Satsuma-style decorative vase",
    "Japanese export pottery"
  ],
  "status": "candidate_discovery_only",
  "warning": "Visual similarity does not establish period, maker, authenticity, condition, or value."
}

```

Rule:

```plaintext
Lens creates hypotheses.
Rubrics and comps test hypotheses.
QC decides whether claims are allowed, blocked, upside-only, or need expert review.

```

* * *

# 10. Add multimodal retrieval

Avoid the bottleneck:

```plaintext
image → Gemini description → FAISS text search

```

If the description misses “tube-lined imitation,” “moriage tourist ware,” “Satsuma-style reproduction,” or a mark clue, the right records may never be searched.

Add:

```plaintext
full image → similar object images
base crop → similar bases / foot rims
mark crop → similar marks
decoration crop → similar techniques
text query → similar descriptions
negative query → similar reproductions

```

Gemini Embedding 2 supports cross-modal retrieval: [Gemini embeddings](https://ai.google.dev/gemini-api/docs/embeddings).

Use multiple indexes:

```plaintext
full_object_image_index
text_description_index
mark_crop_index
base_crop_index
foot_rim_index
decoration_detail_index
damage_detail_index
negative_example_index
auction_catalogue_page_index

```

If FAISS is enough, keep it. If metadata filtering becomes painful, consider [Qdrant](https://qdrant.tech/).

Example metadata filters:

```json
{
  "object_type": "vase",
  "material": "ceramic",
  "sale_status": "sold",
  "source_type": "auction_result",
  "has_base_photo": true,
  "condition_known": true,
  "period_claim": "Meiji-style",
  "attribution_strength": "seller_claim | auction_house | specialist | authenticated"
}

```

* * *

# 11. Add negative retrieval

Most systems retrieve only positives:

```plaintext
Meiji Satsuma vase
Japanese vase
antique ceramic vase

```

Also retrieve lower-value confusables:

```plaintext
modern Satsuma-style reproduction
tube-lined imitation vase
moriage tourist ware
Meiji-style decorative vase
fake/apocryphal mark
Japanese-style ceramic reproduction
Chinese/Japanese-style decorative ceramic

```

Ask:

```plaintext
What lower-value confusable class could explain the same visual evidence?

```

Then compare:

```plaintext
Does the base match period examples or reproduction examples?
Does the decoration look hand-applied or mechanically uniform?
Does the mark support maker/period or merely style/import?
Do sold comps match the same material, technique, size, condition, and attribution strength?

```

QC should choose the best-supported hypothesis, not the cheaper one.

* * *

# 12. Use category-specific rubrics

There is no single perfect “all antiques” dataset. But cultural-heritage work shows the right pattern: expert-defined visual questions.

Useful references:

- [VaseVQA](https://aclanthology.org/2026.findings-eacl.60/) — ancient Greek pottery benchmark with expert-defined categories.
- [Ceramic artifact classification/valuation paper](https://www.nature.com/articles/s40494-025-01886-6) — attribute extraction first, valuation second.

Start rubrics for:

```plaintext
Japanese / Chinese ceramics
silver vs silverplate
brass / bronze / resin
paintings vs prints
signed glass
furniture / joinery
designer decor
jewelry

```

Example rubric:

```json
{
  "category": "Japanese ceramic vase",
  "required_views": [
    "front",
    "back",
    "sides",
    "top/interior",
    "bottom/base",
    "foot rim close-up",
    "mark close-up",
    "decoration macro",
    "damage close-ups",
    "scale photo"
  ],
  "attributes_to_check": [
    "object type",
    "material/body",
    "glaze",
    "decoration technique",
    "raised decoration method",
    "mark type",
    "foot rim",
    "wear pattern",
    "condition",
    "restoration",
    "period vs style",
    "maker attribution strength"
  ],
  "high_value_claims": [
    {
      "claim": "Meiji-period Satsuma vase",
      "required_evidence": [
        "period-consistent base and foot rim",
        "period-consistent decoration technique",
        "credible mark or provenance",
        "no modern country-of-origin/import mark",
        "matching sold comps from reliable sources",
        "condition sufficiently documented"
      ]
    }
  ],
  "common_false_positives": [
    "modern Satsuma-style decorative ware",
    "tube-lined imitation",
    "moriage tourist ware",
    "Chinese/Japanese style confusion",
    "seller-labeled Meiji without evidence",
    "apocryphal or decorative marks"
  ],
  "blocked_without_evidence": [
    "authentic Meiji-period",
    "verified maker",
    "museum-quality",
    "rare signed workshop piece"
  ],
  "safe_language": [
    "Satsuma-style",
    "Japanese-style",
    "unverified age",
    "decorative ceramic vase",
    "possibly later/revival"
  ]
}

```

Store rubrics, known reproductions, expert notes, and prior corrections in RAG/File Search: [Gemini File Search](https://ai.google.dev/gemini-api/docs/file-search).

* * *

# 13. Filter comps aggressively

A visually similar listing is not necessarily a valid comp.

A valid comp should match:

```plaintext
object type
material
technique
size
period/style
maker/attribution strength
condition
sale status
sale venue
source quality
photo completeness
sale date

```

Examples/inspiration:

- [WorthPoint](https://www.worthpoint.com/)
- [LiveAuctioneers auction results](https://www.liveauctioneers.com/auction-results)

Comp decision schema:

```json
{
  "comp_id": "lot_123",
  "include_in_valuation": false,
  "reason": "Rejected: visually similar but active listing only; no sold price; no base photo; period attribution unsupported.",
  "matched_fields": [
    "object_type",
    "broad_style"
  ],
  "missing_or_mismatched_fields": [
    "sale_status",
    "period",
    "technique",
    "condition",
    "attribution_strength",
    "base_photo"
  ]
}

```

Accepted comp schema:

```json
{
  "comp_id": "lot_456",
  "include_in_valuation": true,
  "reason": "Accepted: sold result, similar object type, similar size, similar later Satsuma-style decorative category, unsigned, comparable condition.",
  "adjustments": [
    "condition report incomplete",
    "size within acceptable range",
    "no verified maker, matching current item"
  ]
}

```

Do not average all retrieved prices.

Good report line:

```plaintext
Retrieved 12 visually similar records.
Rejected 8 as invalid comps.
Used 4 closer comps for supported valuation.

```

For reranking after retrieval, consider [BGE-reranker-v2-m3](https://huggingface.co/BAAI/bge-reranker-v2-m3).

* * *

# 14. QC with claim permissions

Classify claims:

```plaintext
allowed
blocked
upside-only
needs-human-review

```

Examples:

```json
{
  "claim": "Meiji-period Satsuma vase",
  "status": "upside_only",
  "reason": "Visual style is suggestive, but base/foot/mark/technique evidence is insufficient.",
  "required_next_evidence": [
    "clear base photo",
    "foot rim macro",
    "legible mark close-up",
    "decoration macro under angled light",
    "matching specialist sold comps"
  ]
}

```

```json
{
  "claim": "Japanese Satsuma-style decorative vase",
  "status": "allowed",
  "reason": "Supported by broad visual vocabulary and decoration style, while avoiding unsupported period authentication."
}

```

```json
{
  "claim": "authentic Meiji-period vase worth $500",
  "status": "blocked",
  "reason": "Current evidence does not establish period, maker, or technique strongly enough."
}

```

* * *

# 15. Supported value vs upside scenario

Do not output one number. Output:

```plaintext
supported value
conservative resale value
upside if authenticated

```

Example:

```plaintext
Supported value:
$40–80 as a later Satsuma-style decorative ceramic vase.

Conservative resale value:
$40–60 if listed honestly as unverified age/style only.

Upside scenario:
Potentially much higher if authenticated as Meiji-period or a signed workshop piece, but that requires stronger evidence: base, foot rim, mark, technique, condition, and specialist comps.

Current claim permission:
Do not list as authentic Meiji-period.

```

This avoids:

```plaintext
always choose cheap → miss rare finds
accept expensive visual match → overvalue fakes

```

* * *

# Recommended final report format

```plaintext
Likely supported identity:
Japanese Satsuma-style decorative ceramic vase, likely later/revival rather than verified Meiji-period.

Supported value:
$40–80, assuming no major hidden damage.

Conservative resale value:
$40–60 if listed honestly as unverified age/style only.

Upside scenario:
Could be materially higher if authenticated as Meiji-period or a signed workshop piece, but current evidence does not support that claim.

Evidence supporting the supported identity:
- Japanese/Satsuma-style decorative vocabulary.
- Raised decorative outlines visible.
- Current photos do not verify period or maker.
- Technique may indicate later/revival/tube-lined imitation.

Evidence against the high-value Meiji claim:
- Visual similarity alone is not authentication.
- Mark/base/foot evidence is insufficient.
- Decoration technique needs closer verification.
- Valid comps must match size, material, technique, condition, and attribution.

Missing evidence:
- Sharp base photo.
- Foot rim macro.
- Legible mark close-up.
- Decoration macro under angled light.
- Measurements.
- Provenance or prior auction record.

Accepted comps:
- [comp IDs + reason]

Rejected comps:
- [comp IDs + reason]

Safe listing title:
Japanese Satsuma-style decorative ceramic vase, raised decoration, unverified age.

Do not list as:
Authentic Meiji-period Satsuma vase.

Confidence:
Medium-low from photos only.

Escalation:
Human expert review recommended if the user wants to sell, insure, purchase, donate, or consign based on the high-value scenario.

```

* * *

# Human expert fallback

AI can triage and produce evidence reports, but human review is needed for high-stakes decisions. Human appraisal services use photo/info intake plus expert review, not one-shot photo guessing: [ValueMyStuff: how it works](https://www.valuemystuff.com/eu/how-it-works). Appraisal guidance also increasingly treats generative AI as a tool that still requires professional judgment: [Appraisal Foundation / USPAP / AO-41](https://appraisalfoundation.org/pages/uspap).

Use expert review when:

```plaintext
price spread across hypotheses is large
upside exceeds threshold
mark is visible but unclear
period/maker claim drives value
condition/restoration is uncertain
provenance is claimed
user wants insurance/tax/estate/sale support

```

Store expert corrections as future training/evaluation data.

* * *

# Suggested stack

## Gemini-centered core

```plaintext
Gemini image understanding
Gemini structured outputs
Gemini function calling
Gemini File Search / RAG
Gemini Embedding 2
Google Search grounding
URL Context

```

## OSS / preprocessing

```plaintext
PaddleOCR / PaddleOCR-VL for marks and labels
Florence-2 / Grounding DINO / SAM / YOLO for crops
FAISS or Qdrant for vector retrieval
BM25 + dense embeddings for hybrid text search
BGE rerankers for comp filtering
Qwen3-VL / InternVL as optional OSS VLM baselines
Qwen3-VL-Embedding / Jina CLIP / CLIP / SigLIP as retrieval alternatives

```

## External candidate discovery

```plaintext
Google Lens wrapper
eBay image search
Google Vision Web Detection
auction/sold-price databases

```

## Workflow frameworks

```plaintext
Google ADK if you want Gemini-native agent orchestration
LangGraph if you want deterministic gates and human review
LlamaIndex if your RAG layer grows large

```

See also: [Google ADK](https://docs.cloud.google.com/gemini-enterprise-agent-platform/build/adk).

* * *

# Build order

## Phase 1 — Make Gemini API match Gemini Chat

```plaintext
5–10 labeled photos
base/foot/mark/detail views
appraisal-specific prompt
structured output
hypotheses + evidence + missing evidence

```

Goal:

```plaintext
Gemini API should reproduce the “tube-lined imitation / likely later decorative” insight when given the same evidence.

```

## Phase 2 — Add crop + OCR

```plaintext
base crop
foot rim crop
mark crop
decoration crop
damage crop
OCR result
mark interpretation

```

## Phase 3 — Add multimodal retrieval

```plaintext
full object
text description
mark crop
base crop
foot rim
decoration detail
negative examples
auction catalogue pages

```

## Phase 4 — Add category rubrics

```plaintext
Japanese ceramics
silver vs silverplate
brass/bronze/resin
paintings vs prints
branded/decorator objects

```

## Phase 5 — Add comp filtering

Reject:

```plaintext
active listings as primary comps
wrong material
wrong size
wrong period
wrong technique
wrong condition
signed vs unsigned mismatch
seller-label-only attribution
no base photo
no condition report

```

## Phase 6 — Add QC and claim permissions

```plaintext
allowed
blocked
upside-only
needs-human-review

```

## Phase 7 — Build a private benchmark

Create at least 100 labeled cases:

```plaintext
generic low-value items
branded/maker-mark items
Japanese/Asian ceramic confusables
OCR/mark-heavy items
damaged/restored items

```

Track:

```plaintext
unsupported high-value claim rate
reproduction detection
mark-reading accuracy
missing-photo detection
negative retrieval success
comp-filter precision
value-range overlap
confidence calibration
escalation accuracy
safe-title accuracy

```

Main metric:

```plaintext
Does the system avoid unsupported expensive claims while preserving rare-find upside?

```

* * *

# Curated links

## Gemini / Google API

- [Gemini image understanding](https://ai.google.dev/gemini-api/docs/image-understanding)
- [Gemini structured outputs](https://ai.google.dev/gemini-api/docs/structured-output)
- [Gemini function calling](https://ai.google.dev/gemini-api/docs/function-calling)
- [Gemini File Search / RAG](https://ai.google.dev/gemini-api/docs/file-search)
- [Gemini embeddings](https://ai.google.dev/gemini-api/docs/embeddings)
- [Grounding with Google Search](https://ai.google.dev/gemini-api/docs/google-search)
- [URL Context](https://ai.google.dev/gemini-api/docs/url-context)
- [Gemini Apps file upload behavior](https://support.google.com/gemini/answer/14903178?co=GENIE.Platform%3DAndroid&hl=en)

## Visual search

- [Google Lens: how it works](https://lens.google/howlensworks/)
- [eBay Browse API: search by image](https://developer.ebay.com/api-docs/buy/browse/resources/item_summary/methods/searchByImage)

## Cultural heritage / appraisal-style research

- [VaseVQA: Multimodal Agent and Benchmark for Ancient Greek Pottery](https://aclanthology.org/2026.findings-eacl.60/)
- [Ceramic artifact classification and valuation paper](https://www.nature.com/articles/s40494-025-01886-6)

## Market data / appraisal practice

- [WorthPoint](https://www.worthpoint.com/)
- [LiveAuctioneers auction results](https://www.liveauctioneers.com/auction-results)
- [ValueMyStuff: how it works](https://www.valuemystuff.com/eu/how-it-works)
- [Appraisal Foundation / USPAP / AO-41](https://appraisalfoundation.org/pages/uspap)

## OSS / infrastructure

- [PaddleOCR-VL](https://huggingface.co/PaddlePaddle/PaddleOCR-VL)
- [PaddleOCR GitHub](https://github.com/PaddlePaddle/PaddleOCR)
- [Florence-2](https://huggingface.co/microsoft/Florence-2-base)
- [Qdrant](https://qdrant.tech/)
- [BGE-reranker-v2-m3](https://huggingface.co/BAAI/bge-reranker-v2-m3)
- [Google ADK](https://docs.cloud.google.com/gemini-enterprise-agent-platform/build/adk)

* * *

# Final answer

Your simple case is object recognition. Your branded case is exact-identity search. Your Japanese vase case is authenticity reasoning.

So the system should be three-tiered:

```plaintext
Generic item:
Gemini API + simple FAISS retrieval.

Branded item:
Gemini + OCR + Lens / image search + exact comps.

Antique item:
Gemini + multi-photo evidence + crops/OCR + Lens candidates + multimodal retrieval + negative examples + expert rubrics + comp filtering + QC gates.

```

The winning architecture is not:

```plaintext
Gemini vs Google Lens

```

It is:

```plaintext
Gemini for reasoning
+ Lens for candidate discovery
+ OCR/crops for evidence
+ multimodal retrieval for comps
+ negative examples for fake/reproduction detection
+ expert rubrics for domain checks
+ sold-comp filtering for valuation
+ QC gates for safe claims
+ human escalation for high-risk cases

```

That architecture can match or surpass Gemini Chat because it replicates what made the chat product useful—multi-photo context, conversational inspection, and tool-like behavior—while adding what Gemini Chat does not have by default: your private price database, negative-example corpus, category rubrics, comp filters, structured outputs, and deterministic appraisal safeguards.

---

<div class="post-metadata">

**Author:** ![gcsaba2](https://avatars.discourse-cdn.com/v4/letter/g/e9c0ed/32.png) [@gcsaba2](https://discuss.huggingface.co/u/gcsaba2)\
**Post date:** [May 3, 2026, 11:46pm UTC](https://discuss.huggingface.co/t/appraising-the-value-of-an-item-based-on-photos/175732/3 "2026-05-03T23:46:02Z")

</div>

That’s really helpful, thank you.

---

<div class="post-metadata">

**Author:** ![matthewjhones](https://avatars.discourse-cdn.com/v4/letter/m/838e76/32.png) [@matthewjhones](https://discuss.huggingface.co/u/matthewjhones)\
**Post date:** [May 4, 2026, 6:31am UTC](https://discuss.huggingface.co/t/appraising-the-value-of-an-item-based-on-photos/175732/4 "2026-05-04T06:31:09Z")

</div>

using photos to estimate an item’s value definitely has potential, especially with how far computer vision has come. That said, accuracy can vary a lot depending on image quality, item condition, and how well the model can match it with real market data. Tools in this space usually combine visual recognition with comparable sales data to give a rough estimate rather than an exact price , so I think combining this with additional metadata (like brand, age, or condition details) could really improve reliability. Overall, it’s a solid idea, just needs careful handling of edge cases.

---

<div class="post-metadata">

**Author:** ![John6666](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/john6666/32/27664_2.png) [@John6666](https://discuss.huggingface.co/u/John6666)\
**Post date:** [May 5, 2026, 5:55pm UTC](https://discuss.huggingface.co/t/appraising-the-value-of-an-item-based-on-photos/175732/5 "2026-05-05T17:55:12Z")

</div>

I agree. It’s best not to rely on it for final decisions. Fakers and scammers are aware that such systems exist, so they will always try to outsmart them.

It’s important to use it solely as an aid in filtering information.

Well, this applies to generative AI outputs in general…

With current technology, humans are still better at making final judgments—provided they have the expertise to do so.
