Skip to content

Similarity

🤖 AI Drafted (Not reviewed)

Score image similarity

Tool id similarity
Category vision
Uses a language model yes
Needs a generative model yes
Runs over many items no
Item handling batch
Structured output yes
Human-verified not yet

What it reads

Port Type Required What it is
Files (files) files yes Image files
Context (context) any no Previous text/transcription
Metadata (metadata) json no Existing metadata
Documents (documents) json no Document metadata

What it emits

Port Type Required What it is
Text (text) text — Raw text response
Value (value) any — Parsed value
Texts (texts) array — Per-item texts
Values (values) array — Per-item values
Results (results) json — Full results
Records (records) array — Per-document text records [{doc_id, text}, …].
Artifacts (artifacts) json — Artifact IDs
Clusters (clusters) json — Typed same-document clusters.

Options

Option Type Default What it does
aspects array [“content”, “composition”, “color”, “style”] Aspects to score.
choices array — Valid choices. (Not shown in the editor.)
chunk_size_chars integer 0 Chunk large input text above this character budget (0=auto).
force_ocr boolean no Force image processing instead of existing text.
match_mode string prefer Match mode. One of: prefer, strict, inform.
max_image_dimension integer 8192 Max image size.
max_items integer 10 List max items.
max_tokens integer 8192 Max response.
max_words integer 50 Word limit.
metadata_field string — Save to field.
model_name string — Model name.
output_format string text Response format. One of: text, boolean, choice, number, words, list, json.
prompt string — Custom prompt.
provider_name string — LLM provider. One of: openai, anthropic, google, ollama, lmstudio, groq, together, deepseek, mistral, openrouter, dashscope, xai, perplexity, fireworks, deepl.
quality_gate boolean yes Stop the run if output is unreadable.
reference_values object — Known values to match. (Not shown in the editor.)
save_to_db boolean yes Save to library.
save_to_file boolean no Export to file.
scale string percentage Score scale. One of: percentage, 1-10, 1-5.
temperature number 0.7 Creativity.
thinking_mode string off Chain-of-thought reasoning depth. One of: off, short, medium, long.
vision_mode string auto Vision engine. ‘auto’ picks based on the resolved provider: apple → Apple Vision OCR; anything else → LLM vision path. ‘kraken’ → on-device neural line segmentation (baselines/polygons, no text). One of: auto, apple, llm, kraken. (Not shown in the editor.)

The prompt it sends

This is what the tool asks a model, with every option left at its default. Changing the options above changes this text.

Compare these images and score their similarity.

Score each aspect as a percentage (0-100, where 100 = identical)

Score these aspects: content, composition, color, style

Also provide an overall similarity score.

Also group images that are the same underlying document (duplicates, alternate scans,
alternate photos, near-identical variants). Consider both visual appearance and visible
text content. Every image must appear in exactly one same-document cluster.

Return as JSON:
{
    "overall_similarity": <score>,
    "aspect_scores": [
        {"aspect": "<aspect>", "score": <score>}
    ],
    "most_similar": "<which aspect is most similar>",
    "most_different": "<which aspect is most different>",
    "notes": "<brief explanation of key differences>",
    "same_document_clusters": [
        {
            "cluster_id": "cluster-1",
            "member_indexes": [0, 1],
            "similarity_score": 0.98
        }
    ]
}

In same_document_clusters, similarity_score is a fraction between 0 and 1
(NOT a percentage), regardless of the aspect score scale above.

Return ONLY valid JSON.