---
title: "Find semantically related images (embedding cosine similarity)"
method: GET
path: "/v1/images/{id}/related"
tags: ["Images"]
---

# Find semantically related images (embedding cosine similarity)

`GET /v1/images/{id}/related`

## Request

- Base URL: `https://api.memestack.ai`
- URL: `https://api.memestack.ai/v1/images/{id}/related`
- Auth: none declared

## Path parameters

- `id` string, uuid, required

## Query parameters

- `limit` integer
- `content` 'safe' | 'all'

## Response `200`

Related images: a compact row per image, with the fields a citation needs and `rights`.

- object
  - `related_images` object[], required
    - `id` string, uuid
    - `caption` string, nullable
    - `meme_template_name` string, nullable
    - `created_at` string, date-time
    - `source_url` string, nullable: Where the image came from; its prefix names the origin (a publisher chart, an X save, an import, an AI image).
    - `attribution_name` string, nullable
    - `uploaded_as_creator` boolean
    - `uploader_id` string
    - `uploader_display_name` string, nullable
    - `uploader_pubkey` string, nullable
    - `uploader_website_url` string, nullable: Set only for a Verified Creator's own work.
    - `rights` ImageRights: What an integrator may do with an image, from what MemeStack truly knows — `unknown` wherever it knows nothing, never a guess. `publisher` = imported from a licence-clean publisher (Our World in Data, USDA ERS, Eurostat, EEA; `publisher_only=true` returns only these); `creator` = a Verified Creator's own upload (all rights reserved); `community` = everything else — uploads (including the operators' own uploads of other people's memes and charts), Telegram, X and 4chan saves, Imgflip templates, AI-generated and agent-submitted images: MemeStack grants no licence to them. Commercial use is `yes` only for USDA ERS, Eurostat and EEA charts, whose importer admits only the publisher's own material; Our World in Data is `unknown` because a chart may plot third-party data under its own terms (some non-commercial).
      - `source` 'publisher' | 'creator' | 'community', required
      - `publisher` object, nullable, required: The publisher of a `publisher` image; null otherwise.
        - `key` 'owid' | 'usda_ers' | 'eurostat' | 'eea'
        - `name` string
      - `license` 'CC-BY-4.0' | 'US-PD' | 'all-rights-reserved' | 'null', nullable, required: Machine id of the licence; `US-PD` = U.S. federal public domain. Null = MemeStack knows of no licence.
      - `license_name` string, nullable, required: Human label, e.g. "CC BY 4.0".
      - `license_url` string, uri, nullable, required: The licence text, or MemeStack's creator terms for creator work.
      - `attribution` string, required: The credit line to show beside the image: for a publisher chart the line its licence asks for; otherwise where the image came from, never who owns it.
      - `attribution_required` boolean, required: True when the licence or the rights holder requires the credit (publisher charts, creator work).
      - `commercial_use` 'yes' | 'no' | 'unknown', required
      - `note` string, nullable, required: The one condition or caveat that changes what you may do (e.g. CC BY's notice of MemeStack's changes, or OWID's third-party data), or null.
    - `width` integer
    - `height` integer
    - `thumb_width` integer, nullable
    - `thumb_height` integer, nullable
    - `controversial` boolean
    - `has_thumbnail` boolean
    - `relevance` integer: Percent, from the embedding distance.
  - `count` integer, required

---

[API](https://skmtc.dev/memestack/apis/memestack-api.md) · [All operations](https://skmtc.dev/memestack/apis/memestack-api/llms.txt) · [OpenAPI document](https://skmtc.dev/memestack/apis/memestack-api/revisions/9d3a19565f75?raw)
