Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "browse_by_category", "browse_by_tag", "browse_images" and 11 more
⟨1076 unchanged words⟩ image; this says whether it may be reused.Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description": ⟨324 unchanged words⟩
⟨1084 unchanged words⟩ image; this says whether it may be reused.Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description": ⟨341 unchanged words⟩
⟨1058 unchanged words⟩ image; this says whether it may be reused.Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description": ⟨321 unchanged words⟩
⟨248 unchanged words⟩ image; this says whether it may be reused.Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description": ⟨320 unchanged words⟩
⟨1096 unchanged words⟩ image; this says whether it may be reused.Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description": ⟨440 unchanged words⟩
⟨1076 unchanged words⟩ image; this says whether it may be reused.Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description": ⟨322 unchanged words⟩
⟨1076 unchanged words⟩ image; this says whether it may be reused.Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description": ⟨322 unchanged words⟩
⟨1023 unchanged words⟩ image; this says whether it may be reused.Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description": ⟨350 unchanged words⟩
⟨1072 unchanged words⟩ image; this says whether it may be reused.Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description": ⟨380 unchanged words⟩
before
{"additionalProperties":true,"description":"Every variant of one meme: the dominant image plus its variants.","properties":{"citations_combined":{"additionalProperties":false,"description":"Combined attribution for all images in this response, in three formats.","properties":{"html":{"description":"Numbered attribution list as HTML.","type":"string"},"markdown":{"description":"Numbered attribution list as Markdown.","type":"string"},"plain":{"description":"Numbered attribution list as plain text.","type":"string"}},"required":["markdown","html","plain"],"type":"object"},"dominant":{"additionalProperties":true,"description":"A gallery image (full detail) with OCR text, dimensions, and attribution.","properties":{"alt_text":{"description":"Accessible alt text.","type":"string"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"caption":{"description":"AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset. Null for an extracted row.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset, or the source line as printed on the image when provenance is \"extracted\".","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Source key: \"owid\", \"usda_ers\", \"eurostat\", \"eea\", or \"extracted\" (read from the image).","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source. Null for an extracted row.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream, or as printed on the image when provenance is \"extracted\".","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one. For an extracted row, the unit as printed on the image.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — attribution is recommended.","type":"boolean"},"attribution_required":{"description":"True when the licence or the rights holder requires attribution: Our World in Data, the chart publishers (USDA ERS, Eurostat, EEA), and a verified creator's own work.","type":"boolean"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"html":{"description":"Attribution as HTML.","type":"string"},"markdown":{"description":"Attribution as Markdown.","type":"string"},"original":{"additionalProperties":true,"description":"Who made the ORIGINAL of the recognised meme (e.g. This Is Fine by KC Green), from a hand-checked list with sources. Present only when that list knows the meme; it credits the meme's origin, not this image's uploader, and grants no rights.","properties":{"credit":{"description":"Who or what the original is, e.g. \"by KC Green, from his webcomic Gunshow (\\\"On Fire\\\")\".","type":"string"},"source_url":{"description":"The page the credit was checked against.","type":"string"},"title":{"description":"The meme as usually named.","type":"string"},"year":{"description":"Year the original was made or first posted; null when the source gives none.","type":["number","null"]}},"required":["title","credit","source_url"],"type":"object"},"page_url":{"description":"Canonical MemeStack gallery page for the image.","type":"string"},"plain":{"description":"Attribution as plain text.","type":"string"},"site":{"description":"Always \"MemeStack\".","type":"string"},"site_url":{"description":"The MemeStack site URL.","type":"string"},"source_external_url":{"description":"External source URL — the Our World in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' | null (null = a direct upload).","type":["string","null"]},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null when absent/withheld.","type":["string","null"]}},"required":["site","page_url","markdown","html","plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp.","type":"string"},"free_tags":{"description":"Free-form tag slugs.","items":{"type":"string"},"type":"array"},"height":{"description":"Original height in pixels.","type":"number"},"id":{"description":"Image UUID.","type":"string"},"like_count":{"description":"Number of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, if any.","type":["string","null"]},"mime_type":{"description":"Image MIME type.","type":"string"},"page_url":{"description":"MemeStack gallery page URL.","type":"string"},"quality_score":{"description":"AI quality score (1-10).","type":"number"},"rights":{"additionalProperties":true,"description":"What you may do with the image, as far as MemeStack knows - 'unknown' wherever it knows nothing, never a guess. The citation says how to credit an image; this says whether it may be reused. Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description":"The credit line to show beside the image (the line a publisher licence asks for; otherwise where the image came from, never who owns it).","type":"string"},"attribution_required":{"description":"True for publisher charts and creator work.","type":"boolean"},"commercial_use":{"description":"yes only for USDA ERS, Eurostat and EEA charts; no for creator work; unknown for Our World in Data (a chart may plot third-party data under its own terms) and every community image.","enum":["yes","no","unknown"],"type":"string"},"license":{"description":"Licence id (\"US-PD\" = U.S. federal public domain); null = no licence known.","enum":["CC-BY-4.0","US-PD","all-rights-reserved",null],"type":["string","null"]},"license_name":{"description":"Human licence label, e.g. \"CC BY 4.0\".","type":["string","null"]},"license_url":{"description":"The licence text, or the creator terms.","type":["string","null"]},"note":{"description":"The one condition or caveat that changes what you may do, or null.","type":["string","null"]},"publisher":{"additionalProperties":true,"description":"The publisher of a publisher image; null otherwise.","properties":{"key":{"description":"Publisher key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"name":{"description":"Publisher name.","type":"string"}},"type":["object","null"]},"source":{"description":"publisher = imported from a licence-clean publisher (Our World in Data, USDA ERS, Eurostat, EEA); creator = a Verified Creator's own upload (all rights reserved); community = everything else (uploads, bot saves, imports, AI images) - MemeStack grants no licence to it.","enum":["publisher","creator","community"],"type":"string"}},"type":"object"},"save_count":{"description":"Number of saves.","type":"number"},"size":{"description":"File size in bytes.","type":"number"},"tags":{"description":"Topic tag slugs.","items":{"type":"string"},"type":"array"},"text_in_image":{"description":"OCR transcription of any text in the image.","type":["string","null"]},"thumb_height":{"description":"Thumbnail height in pixels.","type":"number"},"thumb_width":{"description":"Thumbnail width in pixels.","type":"number"},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"updated_at":{"description":"ISO 8601 last-updated timestamp.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null.","type":["string","null"]},"width":{"description":"Original width in pixels.","type":"number"},"zap_count":{"description":"Number of Lightning zaps.","type":"number"},"zap_total_sats":{"description":"Total sats zapped.","type":"number"}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"type":"object"},"total_variants":{"description":"Number of variants.","type":"number"},"variants":{"description":"Variant images in the group.","items":{"additionalProperties":true,"description":"A gallery image (lean list fields) with attribution.","properties":{"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"caption":{"description":"AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset. Null for an extracted row.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset, or the source line as printed on the image when provenance is \"extracted\".","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Source key: \"owid\", \"usda_ers\", \"eurostat\", \"eea\", or \"extracted\" (read from the image).","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source. Null for an extracted row.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream, or as printed on the image when provenance is \"extracted\".","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one. For an extracted row, the unit as printed on the image.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — attribution is recommended.","type":"boolean"},"attribution_required":{"description":"True when the licence or the rights holder requires attribution: Our World in Data, the chart publishers (USDA ERS, Eurostat, EEA), and a verified creator's own work.","type":"boolean"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"html":{"description":"Attribution as HTML.","type":"string"},"markdown":{"description":"Attribution as Markdown.","type":"string"},"original":{"additionalProperties":true,"description":"Who made the ORIGINAL of the recognised meme (e.g. This Is Fine by KC Green), from a hand-checked list with sources. Present only when that list knows the meme; it credits the meme's origin, not this image's uploader, and grants no rights.","properties":{"credit":{"description":"Who or what the original is, e.g. \"by KC Green, from his webcomic Gunshow (\\\"On Fire\\\")\".","type":"string"},"source_url":{"description":"The page the credit was checked against.","type":"string"},"title":{"description":"The meme as usually named.","type":"string"},"year":{"description":"Year the original was made or first posted; null when the source gives none.","type":["number","null"]}},"required":["title","credit","source_url"],"type":"object"},"page_url":{"description":"Canonical MemeStack gallery page for the image.","type":"string"},"plain":{"description":"Attribution as plain text.","type":"string"},"site":{"description":"Always \"MemeStack\".","type":"string"},"site_url":{"description":"The MemeStack site URL.","type":"string"},"source_external_url":{"description":"External source URL — the Our World in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' | null (null = a direct upload).","type":["string","null"]},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null when absent/withheld.","type":["string","null"]}},"required":["site","page_url","markdown","html","plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp.","type":"string"},"free_tags":{"description":"Free-form tag slugs.","items":{"type":"string"},"type":"array"},"height":{"description":"Original height in pixels.","type":"number"},"id":{"description":"Image UUID.","type":"string"},"like_count":{"description":"Number of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, if any.","type":["string","null"]},"page_url":{"description":"MemeStack gallery page URL.","type":"string"},"rights":{"additionalProperties":true,"description":"What you may do with the image, as far as MemeStack knows - 'unknown' wherever it knows nothing, never a guess. The citation says how to credit an image; this says whether it may be reused. Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description":"The credit line to show beside the image (the line a publisher licence asks for; otherwise where the image came from, never who owns it).","type":"string"},"attribution_required":{"description":"True for publisher charts and creator work.","type":"boolean"},"commercial_use":{"description":"yes only for USDA ERS, Eurostat and EEA charts; no for creator work; unknown for Our World in Data (a chart may plot third-party data under its own terms) and every community image.","enum":["yes","no","unknown"],"type":"string"},"license":{"description":"Licence id (\"US-PD\" = U.S. federal public domain); null = no licence known.","enum":["CC-BY-4.0","US-PD","all-rights-reserved",null],"type":["string","null"]},"license_name":{"description":"Human licence label, e.g. \"CC BY 4.0\".","type":["string","null"]},"license_url":{"description":"The licence text, or the creator terms.","type":["string","null"]},"note":{"description":"The one condition or caveat that changes what you may do, or null.","type":["string","null"]},"publisher":{"additionalProperties":true,"description":"The publisher of a publisher image; null otherwise.","properties":{"key":{"description":"Publisher key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"name":{"description":"Publisher name.","type":"string"}},"type":["object","null"]},"source":{"description":"publisher = imported from a licence-clean publisher (Our World in Data, USDA ERS, Eurostat, EEA); creator = a Verified Creator's own upload (all rights reserved); community = everything else (uploads, bot saves, imports, AI images) - MemeStack grants no licence to it.","enum":["publisher","creator","community"],"type":"string"}},"type":"object"},"save_count":{"description":"Number of saves.","type":"number"},"tags":{"description":"Topic tag slugs.","items":{"type":"string"},"type":"array"},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null.","type":["string","null"]},"width":{"description":"Original width in pixels.","type":"number"},"zap_count":{"description":"Number of Lightning zaps.","type":"number"},"zap_total_sats":{"description":"Total sats zapped.","type":"number"}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"type":"object"},"type":"array"}},"required":["dominant","variants"],"type":"object"}⟨1116 unchanged words⟩ image; this says whether it may be reused.Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description": ⟨321 unchanged words⟩
⟨1092 unchanged words⟩ image; this says whether it may be reused.Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description": ⟨450 unchanged words⟩
⟨1074 unchanged words⟩ image; this says whether it may be reused.Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description": ⟨450 unchanged words⟩
⟨1076 unchanged words⟩ image; this says whether it may be reused.Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description": ⟨405 unchanged words⟩
Changed the definition of "browse_by_category", "browse_by_tag", "browse_images" and 11 more
⟨672 unchanged words⟩ as Markdown.","type":"string"},"original":{"additionalProperties":true,"description":"Who made the ORIGINAL of the recognised meme (e.g. This Is Fine by KC Green), from a hand-checked list with sources. Present only when that list knows the meme; it credits the meme's origin, not this image's uploader, and grants no rights.","properties":{"credit":{"description":"Who or what the original is, e.g. \"by KC Green, from his webcomic Gunshow (\\\"On Fire\\\")\".","type":"string"},"source_url":{"description":"The page the credit was checked against.","type":"string"},"title":{"description":"The meme as usually named.","type":"string"},"year":{"description":"Year the original was made or first posted; null when the source gives none.","type":["number","null"]}},"required":["title","credit","source_url"],"type":"object"},"page_url":{"description":"Canonical MemeStack gallery page ⟨240 unchanged words⟩ "MemeStack gallery page URL.","type":"string"},"rights":{"additionalProperties":true,"description":"What you may do with the image, as far as MemeStack knows - 'unknown' wherever it knows nothing, never a guess. The citation says how to credit an image; this says whether it may be reused. Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description":"The credit line to show beside the image (the line a publisher licence asks for; otherwise where the image came from, never who owns it).","type":"string"},"attribution_required":{"description":"True for publisher charts and creator work.","type":"boolean"},"commercial_use":{"description":"yes only for USDA ERS, Eurostat and EEA charts; no for creator work; unknown for Our World in Data (a chart may plot third-party data under its own terms) and every community image.","enum":["yes","no","unknown"],"type":"string"},"license":{"description":"Licence id (\"US-PD\" = U.S. federal public domain); null = no licence known.","enum":["CC-BY-4.0","US-PD","all-rights-reserved",null],"type":["string","null"]},"license_name":{"description":"Human licence label, e.g. \"CC BY 4.0\".","type":["string","null"]},"license_url":{"description":"The licence text, or the creator terms.","type":["string","null"]},"note":{"description":"The one condition or caveat that changes what you may do, or null.","type":["string","null"]},"publisher":{"additionalProperties":true,"description":"The publisher of a publisher image; null otherwise.","properties":{"key":{"description":"Publisher key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"name":{"description":"Publisher name.","type":"string"}},"type":["object","null"]},"source":{"description":"publisher = imported from a licence-clean publisher (Our World in Data, USDA ERS, Eurostat, EEA); creator = a Verified Creator's own upload (all rights reserved); community = everything else (uploads, bot saves, imports, AI images) - MemeStack grants no licence to it.","enum":["publisher","creator","community"],"type":"string"}},"type":"object
Changed the definition of "find_meme_for_text"
Finda memememes thatcapturescapture a vibe, idea, orconcept.concept,Returnsreadyready-to-embedtoimagesembed with citation blocks. Use this when writing posts ⟨5 unchanged words⟩ you need a meme to illustrate a point. Returns only images tagged as memes (the gallery's Memes filter), so it may come back empty when no meme fits. To search every kind of image, use search_images. Results exclude images classified controversial unless include_controversial is true.
Added "get_meme_variants"; removed "get_mutation_group"; changed the definition of "find_meme_for_text", "search_charts" and "search_images"
⟨24 unchanged words⟩ number"},"vibe":{"description":"Thevibecore idea in one to three words,topice.g. \"procrastination\", \"burnout\" oridea\"imposteryousyndrome\".wantEvery extra word narrows the match: amemelongfordescriptive phrase finds only weaker \"closest\" results, so leave out synonyms and words like \"funny\" or \"relatable\".
Changed the definition of "browse_by_category", "browse_by_tag", "browse_images" and 10 more
⟨152 unchanged words⟩ ":"Full academic citation for the upstream dataset. Null for an extracted row.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstreamdataset.dataset, or the source line as printed on the image when provenance is \"extracted\".","type":["string","null"]}, ⟨277 unchanged words⟩ "null"]},"source":{"description":"Upstream sourceSource key: \"owid\", \"usda_ers\", \"eurostat\", \"eea\", or \"eea\extracted\" (read from the image).","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source. Null for an extracted row.
Changed the definition of "generate_meme" and "submit_image"
⟨70 unchanged words⟩ will never be charged twice for one payment. Price: $0.08 standard or $0.20 quality, paid in sats over Lightning at the current BTC/USD rate or in USDC on Base. Note for x402 clients: "quality" mode(~$0.15)exceeds the agents-SDK default per-call cap of $0.10 ⟨8 unchanged words⟩
Submit an image to the MemeStack review queue. Paid tool -100$0.10 per submission, paid in sats(
Changed the definition of "browse_by_category", "browse_by_tag", "browse_images" and 10 more
⟨826 unchanged words⟩ of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, ⟨96 unchanged words⟩
⟨834 unchanged words⟩ of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, ⟨113 unchanged words⟩
Changed the definition of "browse_by_category", "browse_by_tag", "browse_images" and 10 more
⟨267 unchanged words⟩ ,"extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly ⟨80 unchanged words⟩ "type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Upstream source key: \"owid\",e.g.\"usda_ers\", \"owid\eurostat\" or \"eea\"
Changed the definition of "find_meme_for_text", "search_charts" and "search_images"
⟨748 unchanged words⟩ type":"object"},"type":"array"},"query_language":{"description":"Present with translated_query: the ISO 639-1 code of the query language, e.g. \"fr\".","type":"string"},"translated_query":{"description":"Present only when the query was not English: the English text it was also searched as (those results are merged in).","type":"string"}},"required":["images"],"type":"object"}
⟨764 unchanged words⟩ :"object"},"type":"array"},"query_language":{"description":"Present with translated_query: the ISO 639-1 code of the query language, e.g. \"fr\".","type":"string"},"total":{"description":"Total number of matching images.","type":"number"},"translated_query":{"description":"Present only when the query was not English: the English text it was also searched as (those results are merged in).","type":"string
Changed the definition of "browse_by_category", "browse_by_tag", "browse_images" and 11 more
⟨596 unchanged words⟩ ,"plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp. ⟨134 unchanged words⟩
⟨14 unchanged words⟩ a paginated list of images tagged with it. Results exclude images classified controversial unless include_controversial is true.
Added "search_charts"; changed the definition of "browse_by_category", "browse_by_tag", "browse_images" and 13 more (20 tools before, 21 now)
⟨100 unchanged words⟩ "AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset.","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"source":{"description":"Upstream source key, e.g. \"owid\".","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream.","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"
Certificate changed, valid to 2026-12-15
Certificate recorded, valid to 2026-10-17
Authorization not required
First tool surface recorded: 20 tools (server version 1.3.0)
Showing the latest 15 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
after
{"additionalProperties":true,"description":"Every variant of one meme: the dominant image plus its variants.","properties":{"citations_combined":{"additionalProperties":false,"description":"Combined attribution for all images in this response, in three formats.","properties":{"html":{"description":"Numbered attribution list as HTML.","type":"string"},"markdown":{"description":"Numbered attribution list as Markdown.","type":"string"},"plain":{"description":"Numbered attribution list as plain text.","type":"string"}},"required":["markdown","html","plain"],"type":"object"},"dominant":{"additionalProperties":true,"description":"A gallery image (full detail) with OCR text, dimensions, and attribution.","properties":{"alt_text":{"description":"Accessible alt text.","type":"string"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"caption":{"description":"AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset. Null for an extracted row.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset, or the source line as printed on the image when provenance is \"extracted\".","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Source key: \"owid\", \"usda_ers\", \"eurostat\", \"eea\", or \"extracted\" (read from the image).","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source. Null for an extracted row.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream, or as printed on the image when provenance is \"extracted\".","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one. For an extracted row, the unit as printed on the image.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — attribution is recommended.","type":"boolean"},"attribution_required":{"description":"True when the licence or the rights holder requires attribution: Our World in Data, the chart publishers (USDA ERS, Eurostat, EEA), and a verified creator's own work.","type":"boolean"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"html":{"description":"Attribution as HTML.","type":"string"},"markdown":{"description":"Attribution as Markdown.","type":"string"},"original":{"additionalProperties":true,"description":"Who made the ORIGINAL of the recognised meme (e.g. This Is Fine by KC Green), from a hand-checked list with sources. Present only when that list knows the meme; it credits the meme's origin, not this image's uploader, and grants no rights.","properties":{"credit":{"description":"Who or what the original is, e.g. \"by KC Green, from his webcomic Gunshow (\\\"On Fire\\\")\".","type":"string"},"source_url":{"description":"The page the credit was checked against.","type":"string"},"title":{"description":"The meme as usually named.","type":"string"},"year":{"description":"Year the original was made or first posted; null when the source gives none.","type":["number","null"]}},"required":["title","credit","source_url"],"type":"object"},"page_url":{"description":"Canonical MemeStack gallery page for the image.","type":"string"},"plain":{"description":"Attribution as plain text.","type":"string"},"site":{"description":"Always \"MemeStack\".","type":"string"},"site_url":{"description":"The MemeStack site URL.","type":"string"},"source_external_url":{"description":"External source URL — the Our World in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' | null (null = a direct upload).","type":["string","null"]},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null when absent/withheld.","type":["string","null"]}},"required":["site","page_url","markdown","html","plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp.","type":"string"},"free_tags":{"description":"Free-form tag slugs.","items":{"type":"string"},"type":"array"},"height":{"description":"Original height in pixels.","type":"number"},"id":{"description":"Image UUID.","type":"string"},"like_count":{"description":"Number of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, if any.","type":["string","null"]},"mime_type":{"description":"Image MIME type.","type":"string"},"page_url":{"description":"MemeStack gallery page URL.","type":"string"},"quality_score":{"description":"AI quality score (1-10).","type":"number"},"rights":{"additionalProperties":true,"description":"What you may do with the image, as far as MemeStack knows - 'unknown' wherever it knows nothing, never a guess. The citation says how to credit an image; this says whether it may be reused.","properties":{"attribution":{"description":"The credit line to show beside the image (the line a publisher licence asks for; otherwise where the image came from, never who owns it).","type":"string"},"attribution_required":{"description":"True for publisher charts and creator work.","type":"boolean"},"commercial_use":{"description":"yes only for USDA ERS, Eurostat and EEA charts; no for creator work; unknown for Our World in Data (a chart may plot third-party data under its own terms) and every community image.","enum":["yes","no","unknown"],"type":"string"},"license":{"description":"Licence id (\"US-PD\" = U.S. federal public domain); null = no licence known.","enum":["CC-BY-4.0","US-PD","all-rights-reserved",null],"type":["string","null"]},"license_name":{"description":"Human licence label, e.g. \"CC BY 4.0\".","type":["string","null"]},"license_url":{"description":"The licence text, or the creator terms.","type":["string","null"]},"note":{"description":"The one condition or caveat that changes what you may do, or null.","type":["string","null"]},"publisher":{"additionalProperties":true,"description":"The publisher of a publisher image; null otherwise.","properties":{"key":{"description":"Publisher key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"name":{"description":"Publisher name.","type":"string"}},"type":["object","null"]},"source":{"description":"publisher = imported from a licence-clean publisher (Our World in Data, USDA ERS, Eurostat, EEA); creator = a Verified Creator's own upload (all rights reserved); community = everything else (uploads, bot saves, imports, AI images) - MemeStack grants no licence to it.","enum":["publisher","creator","community"],"type":"string"}},"type":"object"},"save_count":{"description":"Number of saves.","type":"number"},"size":{"description":"File size in bytes.","type":"number"},"tags":{"description":"Topic tag slugs.","items":{"type":"string"},"type":"array"},"text_in_image":{"description":"OCR transcription of any text in the image.","type":["string","null"]},"thumb_height":{"description":"Thumbnail height in pixels.","type":"number"},"thumb_width":{"description":"Thumbnail width in pixels.","type":"number"},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"updated_at":{"description":"ISO 8601 last-updated timestamp.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null.","type":["string","null"]},"width":{"description":"Original width in pixels.","type":"number"},"zap_count":{"description":"Number of Lightning zaps.","type":"number"},"zap_total_sats":{"description":"Total sats zapped.","type":"number"}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"type":"object"},"total_variants":{"description":"Number of variants.","type":"number"},"variants":{"description":"Variant images in the group.","items":{"additionalProperties":true,"description":"A gallery image (lean list fields) with attribution.","properties":{"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"caption":{"description":"AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset. Null for an extracted row.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset, or the source line as printed on the image when provenance is \"extracted\".","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Source key: \"owid\", \"usda_ers\", \"eurostat\", \"eea\", or \"extracted\" (read from the image).","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source. Null for an extracted row.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream, or as printed on the image when provenance is \"extracted\".","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one. For an extracted row, the unit as printed on the image.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — attribution is recommended.","type":"boolean"},"attribution_required":{"description":"True when the licence or the rights holder requires attribution: Our World in Data, the chart publishers (USDA ERS, Eurostat, EEA), and a verified creator's own work.","type":"boolean"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"html":{"description":"Attribution as HTML.","type":"string"},"markdown":{"description":"Attribution as Markdown.","type":"string"},"original":{"additionalProperties":true,"description":"Who made the ORIGINAL of the recognised meme (e.g. This Is Fine by KC Green), from a hand-checked list with sources. Present only when that list knows the meme; it credits the meme's origin, not this image's uploader, and grants no rights.","properties":{"credit":{"description":"Who or what the original is, e.g. \"by KC Green, from his webcomic Gunshow (\\\"On Fire\\\")\".","type":"string"},"source_url":{"description":"The page the credit was checked against.","type":"string"},"title":{"description":"The meme as usually named.","type":"string"},"year":{"description":"Year the original was made or first posted; null when the source gives none.","type":["number","null"]}},"required":["title","credit","source_url"],"type":"object"},"page_url":{"description":"Canonical MemeStack gallery page for the image.","type":"string"},"plain":{"description":"Attribution as plain text.","type":"string"},"site":{"description":"Always \"MemeStack\".","type":"string"},"site_url":{"description":"The MemeStack site URL.","type":"string"},"source_external_url":{"description":"External source URL — the Our World in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' | null (null = a direct upload).","type":["string","null"]},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null when absent/withheld.","type":["string","null"]}},"required":["site","page_url","markdown","html","plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp.","type":"string"},"free_tags":{"description":"Free-form tag slugs.","items":{"type":"string"},"type":"array"},"height":{"description":"Original height in pixels.","type":"number"},"id":{"description":"Image UUID.","type":"string"},"like_count":{"description":"Number of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, if any.","type":["string","null"]},"page_url":{"description":"MemeStack gallery page URL.","type":"string"},"rights":{"additionalProperties":true,"description":"What you may do with the image, as far as MemeStack knows - 'unknown' wherever it knows nothing, never a guess. The citation says how to credit an image; this says whether it may be reused.","properties":{"attribution":{"description":"The credit line to show beside the image (the line a publisher licence asks for; otherwise where the image came from, never who owns it).","type":"string"},"attribution_required":{"description":"True for publisher charts and creator work.","type":"boolean"},"commercial_use":{"description":"yes only for USDA ERS, Eurostat and EEA charts; no for creator work; unknown for Our World in Data (a chart may plot third-party data under its own terms) and every community image.","enum":["yes","no","unknown"],"type":"string"},"license":{"description":"Licence id (\"US-PD\" = U.S. federal public domain); null = no licence known.","enum":["CC-BY-4.0","US-PD","all-rights-reserved",null],"type":["string","null"]},"license_name":{"description":"Human licence label, e.g. \"CC BY 4.0\".","type":["string","null"]},"license_url":{"description":"The licence text, or the creator terms.","type":["string","null"]},"note":{"description":"The one condition or caveat that changes what you may do, or null.","type":["string","null"]},"publisher":{"additionalProperties":true,"description":"The publisher of a publisher image; null otherwise.","properties":{"key":{"description":"Publisher key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"name":{"description":"Publisher name.","type":"string"}},"type":["object","null"]},"source":{"description":"publisher = imported from a licence-clean publisher (Our World in Data, USDA ERS, Eurostat, EEA); creator = a Verified Creator's own upload (all rights reserved); community = everything else (uploads, bot saves, imports, AI images) - MemeStack grants no licence to it.","enum":["publisher","creator","community"],"type":"string"}},"type":"object"},"save_count":{"description":"Number of saves.","type":"number"},"tags":{"description":"Topic tag slugs.","items":{"type":"string"},"type":"array"},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null.","type":["string","null"]},"width":{"description":"Original width in pixels.","type":"number"},"zap_count":{"description":"Number of Lightning zaps.","type":"number"},"zap_total_sats":{"description":"Total sats zapped.","type":"number"}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"type":"object"},"type":"array"}},"required":["dominant","variants"],"type":"object"}⟨680 unchanged words⟩ as Markdown.","type":"string"},"original":{"additionalProperties":true,"description":"Who made the ORIGINAL of the recognised meme (e.g. This Is Fine by KC Green), from a hand-checked list with sources. Present only when that list knows the meme; it credits the meme's origin, not this image's uploader, and grants no rights.","properties":{"credit":{"description":"Who or what the original is, e.g. \"by KC Green, from his webcomic Gunshow (\\\"On Fire\\\")\".","type":"string"},"source_url":{"description":"The page the credit was checked against.","type":"string"},"title":{"description":"The meme as usually named.","type":"string"},"year":{"description":"Year the original was made or first posted; null when the source gives none.","type":["number","null"]}},"required":["title","credit","source_url"],"type":"object"},"page_url":{"description":"Canonical MemeStack gallery page ⟨240 unchanged words⟩ "MemeStack gallery page URL.","type":"string"},"rights":{"additionalProperties":true,"description":"What you may do with the image, as far as MemeStack knows - 'unknown' wherever it knows nothing, never a guess. The citation says how to credit an image; this says whether it may be reused. Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description":"The credit line to show beside the image (the line a publisher licence asks for; otherwise where the image came from, never who owns it).","type":"string"},"attribution_required":{"description":"True for publisher charts and creator work.","type":"boolean"},"commercial_use":{"description":"yes only for USDA ERS, Eurostat and EEA charts; no for creator work; unknown for Our World in Data (a chart may plot third-party data under its own terms) and every community image.","enum":["yes","no","unknown"],"type":"string"},"license":{"description":"Licence id (\"US-PD\" = U.S. federal public domain); null = no licence known.","enum":["CC-BY-4.0","US-PD","all-rights-reserved",null],"type":["string","null"]},"license_name":{"description":"Human licence label, e.g. \"CC BY 4.0\".","type":["string","null"]},"license_url":{"description":"The licence text, or the creator terms.","type":["string","null"]},"note":{"description":"The one condition or caveat that changes what you may do, or null.","type":["string","null"]},"publisher":{"additionalProperties":true,"description":"The publisher of a publisher image; null otherwise.","properties":{"key":{"description":"Publisher key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"name":{"description":"Publisher name.","type":"string"}},"type":["object","null"]},"source":{"description":"publisher = imported from a licence-clean publisher (Our World in Data, USDA ERS, Eurostat, EEA); creator = a Verified Creator's own upload (all rights reserved); community = everything else (uploads, bot saves, imports, AI images) - MemeStack grants no licence to it.","enum":["publisher","creator","community"],"type":"string"}},"type":"object"},"save_count":{"description":"Number of ⟨96 unchanged words⟩
⟨654 unchanged words⟩ as Markdown.","type":"string"},"original":{"additionalProperties":true,"description":"Who made the ORIGINAL of the recognised meme (e.g. This Is Fine by KC Green), from a hand-checked list with sources. Present only when that list knows the meme; it credits the meme's origin, not this image's uploader, and grants no rights.","properties":{"credit":{"description":"Who or what the original is, e.g. \"by KC Green, from his webcomic Gunshow (\\\"On Fire\\\")\".","type":"string"},"source_url":{"description":"The page the credit was checked against.","type":"string"},"title":{"description":"The meme as usually named.","type":"string"},"year":{"description":"Year the original was made or first posted; null when the source gives none.","type":["number","null"]}},"required":["title","credit","source_url"],"type":"object"},"page_url":{"description":"Canonical MemeStack gallery page ⟨240 unchanged words⟩ "MemeStack gallery page URL.","type":"string"},"rights":{"additionalProperties":true,"description":"What you may do with the image, as far as MemeStack knows - 'unknown' wherever it knows nothing, never a guess. The citation says how to credit an image; this says whether it may be reused. Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description":"The credit line to show beside the image (the line a publisher licence asks for; otherwise where the image came from, never who owns it).","type":"string"},"attribution_required":{"description":"True for publisher charts and creator work.","type":"boolean"},"commercial_use":{"description":"yes only for USDA ERS, Eurostat and EEA charts; no for creator work; unknown for Our World in Data (a chart may plot third-party data under its own terms) and every community image.","enum":["yes","no","unknown"],"type":"string"},"license":{"description":"Licence id (\"US-PD\" = U.S. federal public domain); null = no licence known.","enum":["CC-BY-4.0","US-PD","all-rights-reserved",null],"type":["string","null"]},"license_name":{"description":"Human licence label, e.g. \"CC BY 4.0\".","type":["string","null"]},"license_url":{"description":"The licence text, or the creator terms.","type":["string","null"]},"note":{"description":"The one condition or caveat that changes what you may do, or null.","type":["string","null"]},"publisher":{"additionalProperties":true,"description":"The publisher of a publisher image; null otherwise.","properties":{"key":{"description":"Publisher key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"name":{"description":"Publisher name.","type":"string"}},"type":["object","null"]},"source":{"description":"publisher = imported from a licence-clean publisher (Our World in Data, USDA ERS, Eurostat, EEA); creator = a Verified Creator's own upload (all rights reserved); community = everything else (uploads, bot saves, imports, AI images) - MemeStack grants no licence to it.","enum":["publisher","creator","community"],"type":"string"}},"type":"object"},"save_count":{"description":"Number of ⟨76 unchanged words⟩
⟨88 unchanged words⟩ as Markdown.","type":"string"},"original":{"additionalProperties":true,"description":"Who made the ORIGINAL of the recognised meme (e.g. This Is Fine by KC Green), from a hand-checked list with sources. Present only when that list knows the meme; it credits the meme's origin, not this image's uploader, and grants no rights.","properties":{"credit":{"description":"Who or what the original is, e.g. \"by KC Green, from his webcomic Gunshow (\\\"On Fire\\\")\".","type":"string"},"source_url":{"description":"The page the credit was checked against.","type":"string"},"title":{"description":"The meme as usually named.","type":"string"},"year":{"description":"Year the original was made or first posted; null when the source gives none.","type":["number","null"]}},"required":["title","credit","source_url"],"type":"object"},"plain":{"description":"Attribution as plain text.","type":"string"},"rights":{"additionalProperties":true,"description":"What you may do with the image, as far as MemeStack knows - 'unknown' wherever it knows nothing, never a guess. The citation says how to credit an image; this says whether it may be reused. Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description":"The credit line to show beside the image (the line a publisher licence asks for; otherwise where the image came from, never who owns it).","type":"string"},"attribution_required":{"description":"True for publisher charts and creator work.","type":"boolean"},"commercial_use":{"description":"yes only for USDA ERS, Eurostat and EEA charts; no for creator work; unknown for Our World in Data (a chart may plot third-party data under its own terms) and every community image.","enum":["yes","no","unknown"],"type":"string"},"license":{"description":"Licence id (\"US-PD\" = U.S. federal public domain); null = no licence known.","enum":["CC-BY-4.0","US-PD","all-rights-reserved",null],"type":["string","null"]},"license_name":{"description":"Human licence label, e.g. \"CC BY 4.0\".","type":["string","null"]},"license_url":{"description":"The licence text, or the creator terms.","type":["string","null"]},"note":{"description":"The one condition or caveat that changes what you may do, or null.","type":["string","null"]},"publisher":{"additionalProperties":true,"description":"The publisher of a publisher image; null otherwise.","properties":{"key":{"description":"Publisher key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"name":{"description":"Publisher name.","type":"string"}},"type":["object","null"]},"source":{"description":"publisher = imported from a licence-clean publisher (Our World in Data, USDA ERS, Eurostat, EEA); creator = a Verified Creator's own upload (all rights reserved); community = everything else (uploads, bot saves, imports, AI images) - MemeStack grants no licence to it.","enum":["publisher","creator","community"],"type":"string"}},"type":"object"}},"required":["id","markdown" ⟨76 unchanged words⟩
⟨692 unchanged words⟩ as Markdown.","type":"string"},"original":{"additionalProperties":true,"description":"Who made the ORIGINAL of the recognised meme (e.g. This Is Fine by KC Green), from a hand-checked list with sources. Present only when that list knows the meme; it credits the meme's origin, not this image's uploader, and grants no rights.","properties":{"credit":{"description":"Who or what the original is, e.g. \"by KC Green, from his webcomic Gunshow (\\\"On Fire\\\")\".","type":"string"},"source_url":{"description":"The page the credit was checked against.","type":"string"},"title":{"description":"The meme as usually named.","type":"string"},"year":{"description":"Year the original was made or first posted; null when the source gives none.","type":["number","null"]}},"required":["title","credit","source_url"],"type":"object"},"page_url":{"description":"Canonical MemeStack gallery page ⟨242 unchanged words⟩ page URL.","type":"string"},"rights":{"additionalProperties":true,"description":"What you may do with the image, as far as MemeStack knows - 'unknown' wherever it knows nothing, never a guess. The citation says how to credit an image; this says whether it may be reused. Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description":"The credit line to show beside the image (the line a publisher licence asks for; otherwise where the image came from, never who owns it).","type":"string"},"attribution_required":{"description":"True for publisher charts and creator work.","type":"boolean"},"commercial_use":{"description":"yes only for USDA ERS, Eurostat and EEA charts; no for creator work; unknown for Our World in Data (a chart may plot third-party data under its own terms) and every community image.","enum":["yes","no","unknown"],"type":"string"},"license":{"description":"Licence id (\"US-PD\" = U.S. federal public domain); null = no licence known.","enum":["CC-BY-4.0","US-PD","all-rights-reserved",null],"type":["string","null"]},"license_name":{"description":"Human licence label, e.g. \"CC BY 4.0\".","type":["string","null"]},"license_url":{"description":"The licence text, or the creator terms.","type":["string","null"]},"note":{"description":"The one condition or caveat that changes what you may do, or null.","type":["string","null"]},"publisher":{"additionalProperties":true,"description":"The publisher of a publisher image; null otherwise.","properties":{"key":{"description":"Publisher key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"name":{"description":"Publisher name.","type":"string"}},"type":["object","null"]},"source":{"description":"publisher = imported from a licence-clean publisher (Our World in Data, USDA ERS, Eurostat, EEA); creator = a Verified Creator's own upload (all rights reserved); community = everything else (uploads, bot saves, imports, AI images) - MemeStack grants no licence to it.","enum":["publisher","creator","community"],"type":"string"}},"type":"object"},"save_count":{"description":"Number of saves.", ⟨57 unchanged words⟩ ,"type":"object"},"type":"array"},"match_quality":{"description":"Present when the API labelled the results: strong = the search has at least one strong match (they lead the first page); closest_only = no strong match anywhere, every result is the nearest guess - do not present it as the answer; none = nothing on this page and no strong match.","enum":["strong","closest_only","none"],"type":"string"},"note":{"description":"Present when ⟨68 unchanged words⟩
⟨664 unchanged words⟩ as Markdown.","type":"string"},"original":{"additionalProperties":true,"description":"Who made the ORIGINAL of the recognised meme (e.g. This Is Fine by KC Green), from a hand-checked list with sources. Present only when that list knows the meme; it credits the meme's origin, not this image's uploader, and grants no rights.","properties":{"credit":{"description":"Who or what the original is, e.g. \"by KC Green, from his webcomic Gunshow (\\\"On Fire\\\")\".","type":"string"},"source_url":{"description":"The page the credit was checked against.","type":"string"},"title":{"description":"The meme as usually named.","type":"string"},"year":{"description":"Year the original was made or first posted; null when the source gives none.","type":["number","null"]}},"required":["title","credit","source_url"],"type":"object"},"page_url":{"description":"Canonical MemeStack gallery page ⟨248 unchanged words⟩ Semantic-relevance score (find_related).","type":"number"},"rights":{"additionalProperties":true,"description":"What you may do with the image, as far as MemeStack knows - 'unknown' wherever it knows nothing, never a guess. The citation says how to credit an image; this says whether it may be reused. Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description":"The credit line to show beside the image (the line a publisher licence asks for; otherwise where the image came from, never who owns it).","type":"string"},"attribution_required":{"description":"True for publisher charts and creator work.","type":"boolean"},"commercial_use":{"description":"yes only for USDA ERS, Eurostat and EEA charts; no for creator work; unknown for Our World in Data (a chart may plot third-party data under its own terms) and every community image.","enum":["yes","no","unknown"],"type":"string"},"license":{"description":"Licence id (\"US-PD\" = U.S. federal public domain); null = no licence known.","enum":["CC-BY-4.0","US-PD","all-rights-reserved",null],"type":["string","null"]},"license_name":{"description":"Human licence label, e.g. \"CC BY 4.0\".","type":["string","null"]},"license_url":{"description":"The licence text, or the creator terms.","type":["string","null"]},"note":{"description":"The one condition or caveat that changes what you may do, or null.","type":["string","null"]},"publisher":{"additionalProperties":true,"description":"The publisher of a publisher image; null otherwise.","properties":{"key":{"description":"Publisher key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"name":{"description":"Publisher name.","type":"string"}},"type":["object","null"]},"source":{"description":"publisher = imported from a licence-clean publisher (Our World in Data, USDA ERS, Eurostat, EEA); creator = a Verified Creator's own upload (all rights reserved); community = everything else (uploads, bot saves, imports, AI images) - MemeStack grants no licence to it.","enum":["publisher","creator","community"],"type":"string"}},"type":"object"},"save_count":{"description":"Number of ⟨77 unchanged words⟩
⟨664 unchanged words⟩ as Markdown.","type":"string"},"original":{"additionalProperties":true,"description":"Who made the ORIGINAL of the recognised meme (e.g. This Is Fine by KC Green), from a hand-checked list with sources. Present only when that list knows the meme; it credits the meme's origin, not this image's uploader, and grants no rights.","properties":{"credit":{"description":"Who or what the original is, e.g. \"by KC Green, from his webcomic Gunshow (\\\"On Fire\\\")\".","type":"string"},"source_url":{"description":"The page the credit was checked against.","type":"string"},"title":{"description":"The meme as usually named.","type":"string"},"year":{"description":"Year the original was made or first posted; null when the source gives none.","type":["number","null"]}},"required":["title","credit","source_url"],"type":"object"},"page_url":{"description":"Canonical MemeStack gallery page ⟨248 unchanged words⟩ Semantic-relevance score (find_related).","type":"number"},"rights":{"additionalProperties":true,"description":"What you may do with the image, as far as MemeStack knows - 'unknown' wherever it knows nothing, never a guess. The citation says how to credit an image; this says whether it may be reused. Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description":"The credit line to show beside the image (the line a publisher licence asks for; otherwise where the image came from, never who owns it).","type":"string"},"attribution_required":{"description":"True for publisher charts and creator work.","type":"boolean"},"commercial_use":{"description":"yes only for USDA ERS, Eurostat and EEA charts; no for creator work; unknown for Our World in Data (a chart may plot third-party data under its own terms) and every community image.","enum":["yes","no","unknown"],"type":"string"},"license":{"description":"Licence id (\"US-PD\" = U.S. federal public domain); null = no licence known.","enum":["CC-BY-4.0","US-PD","all-rights-reserved",null],"type":["string","null"]},"license_name":{"description":"Human licence label, e.g. \"CC BY 4.0\".","type":["string","null"]},"license_url":{"description":"The licence text, or the creator terms.","type":["string","null"]},"note":{"description":"The one condition or caveat that changes what you may do, or null.","type":["string","null"]},"publisher":{"additionalProperties":true,"description":"The publisher of a publisher image; null otherwise.","properties":{"key":{"description":"Publisher key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"name":{"description":"Publisher name.","type":"string"}},"type":["object","null"]},"source":{"description":"publisher = imported from a licence-clean publisher (Our World in Data, USDA ERS, Eurostat, EEA); creator = a Verified Creator's own upload (all rights reserved); community = everything else (uploads, bot saves, imports, AI images) - MemeStack grants no licence to it.","enum":["publisher","creator","community"],"type":"string"}},"type":"object"},"save_count":{"description":"Number of ⟨77 unchanged words⟩
⟨603 unchanged words⟩ as Markdown.","type":"string"},"original":{"additionalProperties":true,"description":"Who made the ORIGINAL of the recognised meme (e.g. This Is Fine by KC Green), from a hand-checked list with sources. Present only when that list knows the meme; it credits the meme's origin, not this image's uploader, and grants no rights.","properties":{"credit":{"description":"Who or what the original is, e.g. \"by KC Green, from his webcomic Gunshow (\\\"On Fire\\\")\".","type":"string"},"source_url":{"description":"The page the credit was checked against.","type":"string"},"title":{"description":"The meme as usually named.","type":"string"},"year":{"description":"Year the original was made or first posted; null when the source gives none.","type":["number","null"]}},"required":["title","credit","source_url"],"type":"object"},"page_url":{"description":"Canonical MemeStack gallery page ⟨256 unchanged words⟩ quality score (1-10).","type":"number"},"rights":{"additionalProperties":true,"description":"What you may do with the image, as far as MemeStack knows - 'unknown' wherever it knows nothing, never a guess. The citation says how to credit an image; this says whether it may be reused. Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description":"The credit line to show beside the image (the line a publisher licence asks for; otherwise where the image came from, never who owns it).","type":"string"},"attribution_required":{"description":"True for publisher charts and creator work.","type":"boolean"},"commercial_use":{"description":"yes only for USDA ERS, Eurostat and EEA charts; no for creator work; unknown for Our World in Data (a chart may plot third-party data under its own terms) and every community image.","enum":["yes","no","unknown"],"type":"string"},"license":{"description":"Licence id (\"US-PD\" = U.S. federal public domain); null = no licence known.","enum":["CC-BY-4.0","US-PD","all-rights-reserved",null],"type":["string","null"]},"license_name":{"description":"Human licence label, e.g. \"CC BY 4.0\".","type":["string","null"]},"license_url":{"description":"The licence text, or the creator terms.","type":["string","null"]},"note":{"description":"The one condition or caveat that changes what you may do, or null.","type":["string","null"]},"publisher":{"additionalProperties":true,"description":"The publisher of a publisher image; null otherwise.","properties":{"key":{"description":"Publisher key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"name":{"description":"Publisher name.","type":"string"}},"type":["object","null"]},"source":{"description":"publisher = imported from a licence-clean publisher (Our World in Data, USDA ERS, Eurostat, EEA); creator = a Verified Creator's own upload (all rights reserved); community = everything else (uploads, bot saves, imports, AI images) - MemeStack grants no licence to it.","enum":["publisher","creator","community"],"type":"string"}},"type":"object"},"save_count":{"description":"Number of ⟨105 unchanged words⟩
⟨668 unchanged words⟩ as Markdown.","type":"string"},"original":{"additionalProperties":true,"description":"Who made the ORIGINAL of the recognised meme (e.g. This Is Fine by KC Green), from a hand-checked list with sources. Present only when that list knows the meme; it credits the meme's origin, not this image's uploader, and grants no rights.","properties":{"credit":{"description":"Who or what the original is, e.g. \"by KC Green, from his webcomic Gunshow (\\\"On Fire\\\")\".","type":"string"},"source_url":{"description":"The page the credit was checked against.","type":"string"},"title":{"description":"The meme as usually named.","type":"string"},"year":{"description":"Year the original was made or first posted; null when the source gives none.","type":["number","null"]}},"required":["title","credit","source_url"],"type":"object"},"page_url":{"description":"Canonical MemeStack gallery page ⟨240 unchanged words⟩ "MemeStack gallery page URL.","type":"string"},"rights":{"additionalProperties":true,"description":"What you may do with the image, as far as MemeStack knows - 'unknown' wherever it knows nothing, never a guess. The citation says how to credit an image; this says whether it may be reused. Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description":"The credit line to show beside the image (the line a publisher licence asks for; otherwise where the image came from, never who owns it).","type":"string"},"attribution_required":{"description":"True for publisher charts and creator work.","type":"boolean"},"commercial_use":{"description":"yes only for USDA ERS, Eurostat and EEA charts; no for creator work; unknown for Our World in Data (a chart may plot third-party data under its own terms) and every community image.","enum":["yes","no","unknown"],"type":"string"},"license":{"description":"Licence id (\"US-PD\" = U.S. federal public domain); null = no licence known.","enum":["CC-BY-4.0","US-PD","all-rights-reserved",null],"type":["string","null"]},"license_name":{"description":"Human licence label, e.g. \"CC BY 4.0\".","type":["string","null"]},"license_url":{"description":"The licence text, or the creator terms.","type":["string","null"]},"note":{"description":"The one condition or caveat that changes what you may do, or null.","type":["string","null"]},"publisher":{"additionalProperties":true,"description":"The publisher of a publisher image; null otherwise.","properties":{"key":{"description":"Publisher key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"name":{"description":"Publisher name.","type":"string"}},"type":["object","null"]},"source":{"description":"publisher = imported from a licence-clean publisher (Our World in Data, USDA ERS, Eurostat, EEA); creator = a Verified Creator's own upload (all rights reserved); community = everything else (uploads, bot saves, imports, AI images) - MemeStack grants no licence to it.","enum":["publisher","creator","community"],"type":"string"}},"type":"object"},"save_count":{"description":"Number of ⟨135 unchanged words⟩
before
{"additionalProperties":true,"description":"Every variant of one meme: the dominant image plus its variants.","properties":{"citations_combined":{"additionalProperties":false,"description":"Combined attribution for all images in this response, in three formats.","properties":{"html":{"description":"Numbered attribution list as HTML.","type":"string"},"markdown":{"description":"Numbered attribution list as Markdown.","type":"string"},"plain":{"description":"Numbered attribution list as plain text.","type":"string"}},"required":["markdown","html","plain"],"type":"object"},"dominant":{"additionalProperties":true,"description":"A gallery image (full detail) with OCR text, dimensions, and attribution.","properties":{"alt_text":{"description":"Accessible alt text.","type":"string"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"caption":{"description":"AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset. Null for an extracted row.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset, or the source line as printed on the image when provenance is \"extracted\".","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Source key: \"owid\", \"usda_ers\", \"eurostat\", \"eea\", or \"extracted\" (read from the image).","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source. Null for an extracted row.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream, or as printed on the image when provenance is \"extracted\".","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one. For an extracted row, the unit as printed on the image.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — attribution is recommended.","type":"boolean"},"attribution_required":{"description":"True when the licence or the rights holder requires attribution: Our World in Data, the chart publishers (USDA ERS, Eurostat, EEA), and a verified creator's own work.","type":"boolean"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"html":{"description":"Attribution as HTML.","type":"string"},"markdown":{"description":"Attribution as Markdown.","type":"string"},"page_url":{"description":"Canonical MemeStack gallery page for the image.","type":"string"},"plain":{"description":"Attribution as plain text.","type":"string"},"site":{"description":"Always \"MemeStack\".","type":"string"},"site_url":{"description":"The MemeStack site URL.","type":"string"},"source_external_url":{"description":"External source URL — the Our World in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' | null (null = a direct upload).","type":["string","null"]},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null when absent/withheld.","type":["string","null"]}},"required":["site","page_url","markdown","html","plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp.","type":"string"},"free_tags":{"description":"Free-form tag slugs.","items":{"type":"string"},"type":"array"},"height":{"description":"Original height in pixels.","type":"number"},"id":{"description":"Image UUID.","type":"string"},"like_count":{"description":"Number of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, if any.","type":["string","null"]},"mime_type":{"description":"Image MIME type.","type":"string"},"page_url":{"description":"MemeStack gallery page URL.","type":"string"},"quality_score":{"description":"AI quality score (1-10).","type":"number"},"save_count":{"description":"Number of saves.","type":"number"},"size":{"description":"File size in bytes.","type":"number"},"tags":{"description":"Topic tag slugs.","items":{"type":"string"},"type":"array"},"text_in_image":{"description":"OCR transcription of any text in the image.","type":["string","null"]},"thumb_height":{"description":"Thumbnail height in pixels.","type":"number"},"thumb_width":{"description":"Thumbnail width in pixels.","type":"number"},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"updated_at":{"description":"ISO 8601 last-updated timestamp.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null.","type":["string","null"]},"width":{"description":"Original width in pixels.","type":"number"},"zap_count":{"description":"Number of Lightning zaps.","type":"number"},"zap_total_sats":{"description":"Total sats zapped.","type":"number"}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"type":"object"},"total_variants":{"description":"Number of variants.","type":"number"},"variants":{"description":"Variant images in the group.","items":{"additionalProperties":true,"description":"A gallery image (lean list fields) with attribution.","properties":{"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"caption":{"description":"AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset. Null for an extracted row.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset, or the source line as printed on the image when provenance is \"extracted\".","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Source key: \"owid\", \"usda_ers\", \"eurostat\", \"eea\", or \"extracted\" (read from the image).","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source. Null for an extracted row.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream, or as printed on the image when provenance is \"extracted\".","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one. For an extracted row, the unit as printed on the image.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — attribution is recommended.","type":"boolean"},"attribution_required":{"description":"True when the licence or the rights holder requires attribution: Our World in Data, the chart publishers (USDA ERS, Eurostat, EEA), and a verified creator's own work.","type":"boolean"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"html":{"description":"Attribution as HTML.","type":"string"},"markdown":{"description":"Attribution as Markdown.","type":"string"},"page_url":{"description":"Canonical MemeStack gallery page for the image.","type":"string"},"plain":{"description":"Attribution as plain text.","type":"string"},"site":{"description":"Always \"MemeStack\".","type":"string"},"site_url":{"description":"The MemeStack site URL.","type":"string"},"source_external_url":{"description":"External source URL — the Our World in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' | null (null = a direct upload).","type":["string","null"]},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null when absent/withheld.","type":["string","null"]}},"required":["site","page_url","markdown","html","plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp.","type":"string"},"free_tags":{"description":"Free-form tag slugs.","items":{"type":"string"},"type":"array"},"height":{"description":"Original height in pixels.","type":"number"},"id":{"description":"Image UUID.","type":"string"},"like_count":{"description":"Number of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, if any.","type":["string","null"]},"page_url":{"description":"MemeStack gallery page URL.","type":"string"},"save_count":{"description":"Number of saves.","type":"number"},"tags":{"description":"Topic tag slugs.","items":{"type":"string"},"type":"array"},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null.","type":["string","null"]},"width":{"description":"Original width in pixels.","type":"number"},"zap_count":{"description":"Number of Lightning zaps.","type":"number"},"zap_total_sats":{"description":"Total sats zapped.","type":"number"}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"type":"object"},"type":"array"}},"required":["dominant","variants"],"type":"object"}after
{"additionalProperties":true,"description":"Every variant of one meme: the dominant image plus its variants.","properties":{"citations_combined":{"additionalProperties":false,"description":"Combined attribution for all images in this response, in three formats.","properties":{"html":{"description":"Numbered attribution list as HTML.","type":"string"},"markdown":{"description":"Numbered attribution list as Markdown.","type":"string"},"plain":{"description":"Numbered attribution list as plain text.","type":"string"}},"required":["markdown","html","plain"],"type":"object"},"dominant":{"additionalProperties":true,"description":"A gallery image (full detail) with OCR text, dimensions, and attribution.","properties":{"alt_text":{"description":"Accessible alt text.","type":"string"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"caption":{"description":"AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset. Null for an extracted row.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset, or the source line as printed on the image when provenance is \"extracted\".","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Source key: \"owid\", \"usda_ers\", \"eurostat\", \"eea\", or \"extracted\" (read from the image).","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source. Null for an extracted row.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream, or as printed on the image when provenance is \"extracted\".","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one. For an extracted row, the unit as printed on the image.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — attribution is recommended.","type":"boolean"},"attribution_required":{"description":"True when the licence or the rights holder requires attribution: Our World in Data, the chart publishers (USDA ERS, Eurostat, EEA), and a verified creator's own work.","type":"boolean"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"html":{"description":"Attribution as HTML.","type":"string"},"markdown":{"description":"Attribution as Markdown.","type":"string"},"original":{"additionalProperties":true,"description":"Who made the ORIGINAL of the recognised meme (e.g. This Is Fine by KC Green), from a hand-checked list with sources. Present only when that list knows the meme; it credits the meme's origin, not this image's uploader, and grants no rights.","properties":{"credit":{"description":"Who or what the original is, e.g. \"by KC Green, from his webcomic Gunshow (\\\"On Fire\\\")\".","type":"string"},"source_url":{"description":"The page the credit was checked against.","type":"string"},"title":{"description":"The meme as usually named.","type":"string"},"year":{"description":"Year the original was made or first posted; null when the source gives none.","type":["number","null"]}},"required":["title","credit","source_url"],"type":"object"},"page_url":{"description":"Canonical MemeStack gallery page for the image.","type":"string"},"plain":{"description":"Attribution as plain text.","type":"string"},"site":{"description":"Always \"MemeStack\".","type":"string"},"site_url":{"description":"The MemeStack site URL.","type":"string"},"source_external_url":{"description":"External source URL — the Our World in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' | null (null = a direct upload).","type":["string","null"]},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null when absent/withheld.","type":["string","null"]}},"required":["site","page_url","markdown","html","plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp.","type":"string"},"free_tags":{"description":"Free-form tag slugs.","items":{"type":"string"},"type":"array"},"height":{"description":"Original height in pixels.","type":"number"},"id":{"description":"Image UUID.","type":"string"},"like_count":{"description":"Number of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, if any.","type":["string","null"]},"mime_type":{"description":"Image MIME type.","type":"string"},"page_url":{"description":"MemeStack gallery page URL.","type":"string"},"quality_score":{"description":"AI quality score (1-10).","type":"number"},"rights":{"additionalProperties":true,"description":"What you may do with the image, as far as MemeStack knows - 'unknown' wherever it knows nothing, never a guess. The citation says how to credit an image; this says whether it may be reused. Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description":"The credit line to show beside the image (the line a publisher licence asks for; otherwise where the image came from, never who owns it).","type":"string"},"attribution_required":{"description":"True for publisher charts and creator work.","type":"boolean"},"commercial_use":{"description":"yes only for USDA ERS, Eurostat and EEA charts; no for creator work; unknown for Our World in Data (a chart may plot third-party data under its own terms) and every community image.","enum":["yes","no","unknown"],"type":"string"},"license":{"description":"Licence id (\"US-PD\" = U.S. federal public domain); null = no licence known.","enum":["CC-BY-4.0","US-PD","all-rights-reserved",null],"type":["string","null"]},"license_name":{"description":"Human licence label, e.g. \"CC BY 4.0\".","type":["string","null"]},"license_url":{"description":"The licence text, or the creator terms.","type":["string","null"]},"note":{"description":"The one condition or caveat that changes what you may do, or null.","type":["string","null"]},"publisher":{"additionalProperties":true,"description":"The publisher of a publisher image; null otherwise.","properties":{"key":{"description":"Publisher key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"name":{"description":"Publisher name.","type":"string"}},"type":["object","null"]},"source":{"description":"publisher = imported from a licence-clean publisher (Our World in Data, USDA ERS, Eurostat, EEA); creator = a Verified Creator's own upload (all rights reserved); community = everything else (uploads, bot saves, imports, AI images) - MemeStack grants no licence to it.","enum":["publisher","creator","community"],"type":"string"}},"type":"object"},"save_count":{"description":"Number of saves.","type":"number"},"size":{"description":"File size in bytes.","type":"number"},"tags":{"description":"Topic tag slugs.","items":{"type":"string"},"type":"array"},"text_in_image":{"description":"OCR transcription of any text in the image.","type":["string","null"]},"thumb_height":{"description":"Thumbnail height in pixels.","type":"number"},"thumb_width":{"description":"Thumbnail width in pixels.","type":"number"},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"updated_at":{"description":"ISO 8601 last-updated timestamp.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null.","type":["string","null"]},"width":{"description":"Original width in pixels.","type":"number"},"zap_count":{"description":"Number of Lightning zaps.","type":"number"},"zap_total_sats":{"description":"Total sats zapped.","type":"number"}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"type":"object"},"total_variants":{"description":"Number of variants.","type":"number"},"variants":{"description":"Variant images in the group.","items":{"additionalProperties":true,"description":"A gallery image (lean list fields) with attribution.","properties":{"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"caption":{"description":"AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset. Null for an extracted row.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset, or the source line as printed on the image when provenance is \"extracted\".","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Source key: \"owid\", \"usda_ers\", \"eurostat\", \"eea\", or \"extracted\" (read from the image).","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source. Null for an extracted row.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream, or as printed on the image when provenance is \"extracted\".","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one. For an extracted row, the unit as printed on the image.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — attribution is recommended.","type":"boolean"},"attribution_required":{"description":"True when the licence or the rights holder requires attribution: Our World in Data, the chart publishers (USDA ERS, Eurostat, EEA), and a verified creator's own work.","type":"boolean"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"html":{"description":"Attribution as HTML.","type":"string"},"markdown":{"description":"Attribution as Markdown.","type":"string"},"original":{"additionalProperties":true,"description":"Who made the ORIGINAL of the recognised meme (e.g. This Is Fine by KC Green), from a hand-checked list with sources. Present only when that list knows the meme; it credits the meme's origin, not this image's uploader, and grants no rights.","properties":{"credit":{"description":"Who or what the original is, e.g. \"by KC Green, from his webcomic Gunshow (\\\"On Fire\\\")\".","type":"string"},"source_url":{"description":"The page the credit was checked against.","type":"string"},"title":{"description":"The meme as usually named.","type":"string"},"year":{"description":"Year the original was made or first posted; null when the source gives none.","type":["number","null"]}},"required":["title","credit","source_url"],"type":"object"},"page_url":{"description":"Canonical MemeStack gallery page for the image.","type":"string"},"plain":{"description":"Attribution as plain text.","type":"string"},"site":{"description":"Always \"MemeStack\".","type":"string"},"site_url":{"description":"The MemeStack site URL.","type":"string"},"source_external_url":{"description":"External source URL — the Our World in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' | null (null = a direct upload).","type":["string","null"]},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null when absent/withheld.","type":["string","null"]}},"required":["site","page_url","markdown","html","plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp.","type":"string"},"free_tags":{"description":"Free-form tag slugs.","items":{"type":"string"},"type":"array"},"height":{"description":"Original height in pixels.","type":"number"},"id":{"description":"Image UUID.","type":"string"},"like_count":{"description":"Number of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, if any.","type":["string","null"]},"page_url":{"description":"MemeStack gallery page URL.","type":"string"},"rights":{"additionalProperties":true,"description":"What you may do with the image, as far as MemeStack knows - 'unknown' wherever it knows nothing, never a guess. The citation says how to credit an image; this says whether it may be reused. Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description":"The credit line to show beside the image (the line a publisher licence asks for; otherwise where the image came from, never who owns it).","type":"string"},"attribution_required":{"description":"True for publisher charts and creator work.","type":"boolean"},"commercial_use":{"description":"yes only for USDA ERS, Eurostat and EEA charts; no for creator work; unknown for Our World in Data (a chart may plot third-party data under its own terms) and every community image.","enum":["yes","no","unknown"],"type":"string"},"license":{"description":"Licence id (\"US-PD\" = U.S. federal public domain); null = no licence known.","enum":["CC-BY-4.0","US-PD","all-rights-reserved",null],"type":["string","null"]},"license_name":{"description":"Human licence label, e.g. \"CC BY 4.0\".","type":["string","null"]},"license_url":{"description":"The licence text, or the creator terms.","type":["string","null"]},"note":{"description":"The one condition or caveat that changes what you may do, or null.","type":["string","null"]},"publisher":{"additionalProperties":true,"description":"The publisher of a publisher image; null otherwise.","properties":{"key":{"description":"Publisher key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"name":{"description":"Publisher name.","type":"string"}},"type":["object","null"]},"source":{"description":"publisher = imported from a licence-clean publisher (Our World in Data, USDA ERS, Eurostat, EEA); creator = a Verified Creator's own upload (all rights reserved); community = everything else (uploads, bot saves, imports, AI images) - MemeStack grants no licence to it.","enum":["publisher","creator","community"],"type":"string"}},"type":"object"},"save_count":{"description":"Number of saves.","type":"number"},"tags":{"description":"Topic tag slugs.","items":{"type":"string"},"type":"array"},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null.","type":["string","null"]},"width":{"description":"Original width in pixels.","type":"number"},"zap_count":{"description":"Number of Lightning zaps.","type":"number"},"zap_total_sats":{"description":"Total sats zapped.","type":"number"}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"type":"object"},"type":"array"}},"required":["dominant","variants"],"type":"object"}⟨704 unchanged words⟩ as Markdown.","type":"string"},"original":{"additionalProperties":true,"description":"Who made the ORIGINAL of the recognised meme (e.g. This Is Fine by KC Green), from a hand-checked list with sources. Present only when that list knows the meme; it credits the meme's origin, not this image's uploader, and grants no rights.","properties":{"credit":{"description":"Who or what the original is, e.g. \"by KC Green, from his webcomic Gunshow (\\\"On Fire\\\")\".","type":"string"},"source_url":{"description":"The page the credit was checked against.","type":"string"},"title":{"description":"The meme as usually named.","type":"string"},"year":{"description":"Year the original was made or first posted; null when the source gives none.","type":["number","null"]}},"required":["title","credit","source_url"],"type":"object"},"page_url":{"description":"Canonical MemeStack gallery page ⟨248 unchanged words⟩ Semantic-relevance score (find_related).","type":"number"},"rights":{"additionalProperties":true,"description":"What you may do with the image, as far as MemeStack knows - 'unknown' wherever it knows nothing, never a guess. The citation says how to credit an image; this says whether it may be reused. Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description":"The credit line to show beside the image (the line a publisher licence asks for; otherwise where the image came from, never who owns it).","type":"string"},"attribution_required":{"description":"True for publisher charts and creator work.","type":"boolean"},"commercial_use":{"description":"yes only for USDA ERS, Eurostat and EEA charts; no for creator work; unknown for Our World in Data (a chart may plot third-party data under its own terms) and every community image.","enum":["yes","no","unknown"],"type":"string"},"license":{"description":"Licence id (\"US-PD\" = U.S. federal public domain); null = no licence known.","enum":["CC-BY-4.0","US-PD","all-rights-reserved",null],"type":["string","null"]},"license_name":{"description":"Human licence label, e.g. \"CC BY 4.0\".","type":["string","null"]},"license_url":{"description":"The licence text, or the creator terms.","type":["string","null"]},"note":{"description":"The one condition or caveat that changes what you may do, or null.","type":["string","null"]},"publisher":{"additionalProperties":true,"description":"The publisher of a publisher image; null otherwise.","properties":{"key":{"description":"Publisher key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"name":{"description":"Publisher name.","type":"string"}},"type":["object","null"]},"source":{"description":"publisher = imported from a licence-clean publisher (Our World in Data, USDA ERS, Eurostat, EEA); creator = a Verified Creator's own upload (all rights reserved); community = everything else (uploads, bot saves, imports, AI images) - MemeStack grants no licence to it.","enum":["publisher","creator","community"],"type":"string"}},"type":"object"},"save_count":{"description":"Number of ⟨76 unchanged words⟩
⟨117 unchanged words⟩ so use search_images for the widest chart coverage. Set publisher_only to keep only the publishers' own charts (licence-clean, citable). Every image carries rights (source publisher/creator/community, licence, attribution line, commercial_use yes/no/unknown - unknown is never a guess), and match_quality says whether the search found any strong match (strong / closest_only / none). Results exclude images classified controversial unless include_controversial is true.
⟨117 unchanged words⟩ default 0)","type":"number"},"publisher_only":{"description":"Only charts imported from a licence-clean publisher: Our World in Data (CC BY 4.0), the USDA Economic Research Service (US public domain), Eurostat or the European Environment Agency (both CC BY 4.0). Community uploads, including copies of publisher charts, are left out. Default false.","type":"boolean"},"query":{"description":"What the chart should ⟨46 unchanged words⟩
⟨688 unchanged words⟩ as Markdown.","type":"string"},"original":{"additionalProperties":true,"description":"Who made the ORIGINAL of the recognised meme (e.g. This Is Fine by KC Green), from a hand-checked list with sources. Present only when that list knows the meme; it credits the meme's origin, not this image's uploader, and grants no rights.","properties":{"credit":{"description":"Who or what the original is, e.g. \"by KC Green, from his webcomic Gunshow (\\\"On Fire\\\")\".","type":"string"},"source_url":{"description":"The page the credit was checked against.","type":"string"},"title":{"description":"The meme as usually named.","type":"string"},"year":{"description":"Year the original was made or first posted; null when the source gives none.","type":["number","null"]}},"required":["title","credit","source_url"],"type":"object"},"page_url":{"description":"Canonical MemeStack gallery page ⟨242 unchanged words⟩ page URL.","type":"string"},"rights":{"additionalProperties":true,"description":"What you may do with the image, as far as MemeStack knows - 'unknown' wherever it knows nothing, never a guess. The citation says how to credit an image; this says whether it may be reused. Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description":"The credit line to show beside the image (the line a publisher licence asks for; otherwise where the image came from, never who owns it).","type":"string"},"attribution_required":{"description":"True for publisher charts and creator work.","type":"boolean"},"commercial_use":{"description":"yes only for USDA ERS, Eurostat and EEA charts; no for creator work; unknown for Our World in Data (a chart may plot third-party data under its own terms) and every community image.","enum":["yes","no","unknown"],"type":"string"},"license":{"description":"Licence id (\"US-PD\" = U.S. federal public domain); null = no licence known.","enum":["CC-BY-4.0","US-PD","all-rights-reserved",null],"type":["string","null"]},"license_name":{"description":"Human licence label, e.g. \"CC BY 4.0\".","type":["string","null"]},"license_url":{"description":"The licence text, or the creator terms.","type":["string","null"]},"note":{"description":"The one condition or caveat that changes what you may do, or null.","type":["string","null"]},"publisher":{"additionalProperties":true,"description":"The publisher of a publisher image; null otherwise.","properties":{"key":{"description":"Publisher key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"name":{"description":"Publisher name.","type":"string"}},"type":["object","null"]},"source":{"description":"publisher = imported from a licence-clean publisher (Our World in Data, USDA ERS, Eurostat, EEA); creator = a Verified Creator's own upload (all rights reserved); community = everything else (uploads, bot saves, imports, AI images) - MemeStack grants no licence to it.","enum":["publisher","creator","community"],"type":"string"}},"type":"object"},"save_count":{"description":"Number of saves.", ⟨57 unchanged words⟩ ,"type":"object"},"type":"array"},"match_quality":{"description":"Present when the API labelled the results: strong = the search has at least one strong match (they lead the first page); closest_only = no strong match anywhere, every result is the nearest guess - do not present it as the answer; none = nothing on this page and no strong match.","enum":["strong","closest_only","none"],"type":"string"},"note":{"description":"Present when ⟨78 unchanged words⟩
⟨19 unchanged words⟩ captions, tags, zap stats, and URLs. Every image carries rights (source publisher/creator/community, licence, attribution line, commercial_use yes/no/unknown - unknown is never a guess), and match_quality says whether the search found any strong match (strong / closest_only / none). Results exclude images classified controversial unless include_controversial is true.
⟨27 unchanged words⟩ default 0)","type":"number"},"publisher_only":{"description":"Only charts imported from a licence-clean publisher: Our World in Data (CC BY 4.0), the USDA Economic Research Service (US public domain), Eurostat or the European Environment Agency (both CC BY 4.0). Community uploads, including copies of publisher charts, are left out. Default false.","type":"boolean"},"q":{"description":"Alias for `query`. Provided ⟨107 unchanged words⟩
⟨670 unchanged words⟩ as Markdown.","type":"string"},"original":{"additionalProperties":true,"description":"Who made the ORIGINAL of the recognised meme (e.g. This Is Fine by KC Green), from a hand-checked list with sources. Present only when that list knows the meme; it credits the meme's origin, not this image's uploader, and grants no rights.","properties":{"credit":{"description":"Who or what the original is, e.g. \"by KC Green, from his webcomic Gunshow (\\\"On Fire\\\")\".","type":"string"},"source_url":{"description":"The page the credit was checked against.","type":"string"},"title":{"description":"The meme as usually named.","type":"string"},"year":{"description":"Year the original was made or first posted; null when the source gives none.","type":["number","null"]}},"required":["title","credit","source_url"],"type":"object"},"page_url":{"description":"Canonical MemeStack gallery page ⟨242 unchanged words⟩ page URL.","type":"string"},"rights":{"additionalProperties":true,"description":"What you may do with the image, as far as MemeStack knows - 'unknown' wherever it knows nothing, never a guess. The citation says how to credit an image; this says whether it may be reused. Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description":"The credit line to show beside the image (the line a publisher licence asks for; otherwise where the image came from, never who owns it).","type":"string"},"attribution_required":{"description":"True for publisher charts and creator work.","type":"boolean"},"commercial_use":{"description":"yes only for USDA ERS, Eurostat and EEA charts; no for creator work; unknown for Our World in Data (a chart may plot third-party data under its own terms) and every community image.","enum":["yes","no","unknown"],"type":"string"},"license":{"description":"Licence id (\"US-PD\" = U.S. federal public domain); null = no licence known.","enum":["CC-BY-4.0","US-PD","all-rights-reserved",null],"type":["string","null"]},"license_name":{"description":"Human licence label, e.g. \"CC BY 4.0\".","type":["string","null"]},"license_url":{"description":"The licence text, or the creator terms.","type":["string","null"]},"note":{"description":"The one condition or caveat that changes what you may do, or null.","type":["string","null"]},"publisher":{"additionalProperties":true,"description":"The publisher of a publisher image; null otherwise.","properties":{"key":{"description":"Publisher key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"name":{"description":"Publisher name.","type":"string"}},"type":["object","null"]},"source":{"description":"publisher = imported from a licence-clean publisher (Our World in Data, USDA ERS, Eurostat, EEA); creator = a Verified Creator's own upload (all rights reserved); community = everything else (uploads, bot saves, imports, AI images) - MemeStack grants no licence to it.","enum":["publisher","creator","community"],"type":"string"}},"type":"object"},"save_count":{"description":"Number of saves.", ⟨57 unchanged words⟩ ,"type":"object"},"type":"array"},"match_quality":{"description":"Present when the API labelled the results: strong = the search has at least one strong match (they lead the first page); closest_only = no strong match anywhere, every result is the nearest guess - do not present it as the answer; none = nothing on this page and no strong match.","enum":["strong","closest_only","none"],"type":"string"},"note":{"description":"Present when ⟨78 unchanged words⟩
⟨672 unchanged words⟩ as Markdown.","type":"string"},"original":{"additionalProperties":true,"description":"Who made the ORIGINAL of the recognised meme (e.g. This Is Fine by KC Green), from a hand-checked list with sources. Present only when that list knows the meme; it credits the meme's origin, not this image's uploader, and grants no rights.","properties":{"credit":{"description":"Who or what the original is, e.g. \"by KC Green, from his webcomic Gunshow (\\\"On Fire\\\")\".","type":"string"},"source_url":{"description":"The page the credit was checked against.","type":"string"},"title":{"description":"The meme as usually named.","type":"string"},"year":{"description":"Year the original was made or first posted; null when the source gives none.","type":["number","null"]}},"required":["title","credit","source_url"],"type":"object"},"page_url":{"description":"Canonical MemeStack gallery page ⟨242 unchanged words⟩ page URL.","type":"string"},"rights":{"additionalProperties":true,"description":"What you may do with the image, as far as MemeStack knows - 'unknown' wherever it knows nothing, never a guess. The citation says how to credit an image; this says whether it may be reused. Absent on find_similar / find_related results (call get_image or cite_image for those).","properties":{"attribution":{"description":"The credit line to show beside the image (the line a publisher licence asks for; otherwise where the image came from, never who owns it).","type":"string"},"attribution_required":{"description":"True for publisher charts and creator work.","type":"boolean"},"commercial_use":{"description":"yes only for USDA ERS, Eurostat and EEA charts; no for creator work; unknown for Our World in Data (a chart may plot third-party data under its own terms) and every community image.","enum":["yes","no","unknown"],"type":"string"},"license":{"description":"Licence id (\"US-PD\" = U.S. federal public domain); null = no licence known.","enum":["CC-BY-4.0","US-PD","all-rights-reserved",null],"type":["string","null"]},"license_name":{"description":"Human licence label, e.g. \"CC BY 4.0\".","type":["string","null"]},"license_url":{"description":"The licence text, or the creator terms.","type":["string","null"]},"note":{"description":"The one condition or caveat that changes what you may do, or null.","type":["string","null"]},"publisher":{"additionalProperties":true,"description":"The publisher of a publisher image; null otherwise.","properties":{"key":{"description":"Publisher key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"name":{"description":"Publisher name.","type":"string"}},"type":["object","null"]},"source":{"description":"publisher = imported from a licence-clean publisher (Our World in Data, USDA ERS, Eurostat, EEA); creator = a Verified Creator's own upload (all rights reserved); community = everything else (uploads, bot saves, imports, AI images) - MemeStack grants no licence to it.","enum":["publisher","creator","community"],"type":"string"}},"type":"object"},"save_count":{"description":"Number of saves.", ⟨57 unchanged words⟩ ,"type":"object"},"type":"array"},"match_quality":{"description":"Present when the API labelled the results: strong = the search has at least one strong match (they lead the first page); closest_only = no strong match anywhere, every result is the nearest guess - do not present it as the answer; none = nothing on this page and no strong match.","enum":["strong","closest_only","none"],"type":"string"},"note":{"description":"Present when ⟨33 unchanged words⟩
⟨72 unchanged words⟩ {"description":"Memes that capture the requestedvibe.vibe, best-first: only images tagged as memes (the gallery's Memes filter). May come back empty when no meme fits.","items":{"additionalProperties":true,"description" ⟨984 unchanged words⟩
⟨83 unchanged words⟩ the original data. browse_by_tag, browse_by_category, get_leaderboard andget_mutation_groupget_meme_variants return images WITHOUT this metadata; the other search ⟨35 unchanged words⟩
⟨60 unchanged words⟩ - combines semantic AI and keyword matching automatically. Use the key words only (e.g. \"bitcoin halving infographic\"): a long descriptive phrase matches fewer images strongly. Alias: `q` (matches the REST API param ⟨51 unchanged words⟩
Get every variant of a meme tracked on MemeStack, given the ID of any one of them. Returns the dominant (most popular) version plus each variant, with citation blocks for each. Use this to research how a meme has evolved or to find variants of a known image.
Get all variants of a meme template tracked on MemeStack. Returns the dominant image plus every variant in the same mutation group, with citation blocks for each. Use this to research how a meme has evolved or to find variants of a known image.
⟨160 unchanged words⟩ ":"Full academic citation for the upstream dataset. Null for an extracted row.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstreamdataset.dataset, or the source line as printed on the image when provenance is \"extracted\".","type":["string","null"]}, ⟨277 unchanged words⟩ "null"]},"source":{"description":"Upstream sourceSource key: \"owid\", \"usda_ers\", \"eurostat\", \"eea\", or \"eea\extracted\" (read from the image).","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source. Null for an extracted row.","type":["string","null"]} ⟨17 unchanged words⟩ ":{"description":"Chart title as publishedupstream.upstream, or as printed on the image when provenance is \"extracted\".","type":["string","null"]}, ⟨3 unchanged words⟩ unit, when the underlying indicators agree on one. For an extracted row, the unit as printed on the image.","type":["string","null"]} ⟨452 unchanged words⟩
⟨134 unchanged words⟩ ":"Full academic citation for the upstream dataset. Null for an extracted row.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstreamdataset.dataset, or the source line as printed on the image when provenance is \"extracted\".","type":["string","null"]}, ⟨277 unchanged words⟩ "null"]},"source":{"description":"Upstream sourceSource key: \"owid\", \"usda_ers\", \"eurostat\", \"eea\", or \"eea\extracted\" (read from the image).","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source. Null for an extracted row.","type":["string","null"]} ⟨17 unchanged words⟩ ":{"description":"Chart title as publishedupstream.upstream, or as printed on the image when provenance is \"extracted\".","type":["string","null"]}, ⟨3 unchanged words⟩ unit, when the underlying indicators agree on one. For an extracted row, the unit as printed on the image.","type":["string","null"]} ⟨432 unchanged words⟩
⟨153 unchanged words⟩ ":"Full academic citation for the upstream dataset. Null for an extracted row.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstreamdataset.dataset, or the source line as printed on the image when provenance is \"extracted\".","type":["string","null"]}, ⟨277 unchanged words⟩ "null"]},"source":{"description":"Upstream sourceSource key: \"owid\", \"usda_ers\", \"eurostat\", \"eea\", or \"eea\extracted\" (read from the image).","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source. Null for an extracted row.","type":["string","null"]} ⟨17 unchanged words⟩ ":{"description":"Chart title as publishedupstream.upstream, or as printed on the image when provenance is \"extracted\".","type":["string","null"]}, ⟨3 unchanged words⟩ unit, when the underlying indicators agree on one. For an extracted row, the unit as printed on the image.","type":["string","null"]} ⟨490 unchanged words⟩
⟨144 unchanged words⟩ ":"Full academic citation for the upstream dataset. Null for an extracted row.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstreamdataset.dataset, or the source line as printed on the image when provenance is \"extracted\".","type":["string","null"]}, ⟨277 unchanged words⟩ "null"]},"source":{"description":"Upstream sourceSource key: \"owid\", \"usda_ers\", \"eurostat\", \"eea\", or \"eea\extracted\" (read from the image).","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source. Null for an extracted row.","type":["string","null"]} ⟨17 unchanged words⟩ ":{"description":"Chart title as publishedupstream.upstream, or as printed on the image when provenance is \"extracted\".","type":["string","null"]}, ⟨3 unchanged words⟩ unit, when the underlying indicators agree on one. For an extracted row, the unit as printed on the image.","type":["string","null"]} ⟨441 unchanged words⟩
⟨144 unchanged words⟩ ":"Full academic citation for the upstream dataset. Null for an extracted row.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstreamdataset.dataset, or the source line as printed on the image when provenance is \"extracted\".","type":["string","null"]}, ⟨277 unchanged words⟩ "null"]},"source":{"description":"Upstream sourceSource key: \"owid\", \"usda_ers\", \"eurostat\", \"eea\", or \"eea\extracted\" (read from the image).","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source. Null for an extracted row.","type":["string","null"]} ⟨17 unchanged words⟩ ":{"description":"Chart title as publishedupstream.upstream, or as printed on the image when provenance is \"extracted\".","type":["string","null"]}, ⟨3 unchanged words⟩ unit, when the underlying indicators agree on one. For an extracted row, the unit as printed on the image.","type":["string","null"]} ⟨441 unchanged words⟩
⟨83 unchanged words⟩ ":"Full academic citation for the upstream dataset. Null for an extracted row.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstreamdataset.dataset, or the source line as printed on the image when provenance is \"extracted\".","type":["string","null"]}, ⟨277 unchanged words⟩ "null"]},"source":{"description":"Upstream sourceSource key: \"owid\", \"usda_ers\", \"eurostat\", \"eea\", or \"eea\extracted\" (read from the image).","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source. Null for an extracted row.","type":["string","null"]} ⟨17 unchanged words⟩ ":{"description":"Chart title as publishedupstream.upstream, or as printed on the image when provenance is \"extracted\".","type":["string","null"]}, ⟨3 unchanged words⟩ unit, when the underlying indicators agree on one. For an extracted row, the unit as printed on the image.","type":["string","null"]} ⟨477 unchanged words⟩
⟨148 unchanged words⟩ ":"Full academic citation for the upstream dataset. Null for an extracted row.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstreamdataset.dataset, or the source line as printed on the image when provenance is \"extracted\".","type":["string","null"]}, ⟨277 unchanged words⟩ "null"]},"source":{"description":"Upstream sourceSource key: \"owid\", \"usda_ers\", \"eurostat\", \"eea\", or \"eea\extracted\" (read from the image).","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source. Null for an extracted row.","type":["string","null"]} ⟨17 unchanged words⟩ ":{"description":"Chart title as publishedupstream.upstream, or as printed on the image when provenance is \"extracted\".","type":["string","null"]}, ⟨3 unchanged words⟩ unit, when the underlying indicators agree on one. For an extracted row, the unit as printed on the image.","type":["string","null"]} ⟨491 unchanged words⟩
before
{"additionalProperties":true,"description":"A meme-evolution group: the dominant image plus its variants.","properties":{"citations_combined":{"additionalProperties":false,"description":"Combined attribution for all images in this response, in three formats.","properties":{"html":{"description":"Numbered attribution list as HTML.","type":"string"},"markdown":{"description":"Numbered attribution list as Markdown.","type":"string"},"plain":{"description":"Numbered attribution list as plain text.","type":"string"}},"required":["markdown","html","plain"],"type":"object"},"dominant":{"additionalProperties":true,"description":"A gallery image (full detail) with OCR text, dimensions, and attribution.","properties":{"alt_text":{"description":"Accessible alt text.","type":"string"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"caption":{"description":"AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset.","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Upstream source key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream.","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — attribution is recommended.","type":"boolean"},"attribution_required":{"description":"True when the licence or the rights holder requires attribution: Our World in Data, the chart publishers (USDA ERS, Eurostat, EEA), and a verified creator's own work.","type":"boolean"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"html":{"description":"Attribution as HTML.","type":"string"},"markdown":{"description":"Attribution as Markdown.","type":"string"},"page_url":{"description":"Canonical MemeStack gallery page for the image.","type":"string"},"plain":{"description":"Attribution as plain text.","type":"string"},"site":{"description":"Always \"MemeStack\".","type":"string"},"site_url":{"description":"The MemeStack site URL.","type":"string"},"source_external_url":{"description":"External source URL — the Our World in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' | null (null = a direct upload).","type":["string","null"]},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null when absent/withheld.","type":["string","null"]}},"required":["site","page_url","markdown","html","plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp.","type":"string"},"free_tags":{"description":"Free-form tag slugs.","items":{"type":"string"},"type":"array"},"height":{"description":"Original height in pixels.","type":"number"},"id":{"description":"Image UUID.","type":"string"},"like_count":{"description":"Number of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, if any.","type":["string","null"]},"mime_type":{"description":"Image MIME type.","type":"string"},"page_url":{"description":"MemeStack gallery page URL.","type":"string"},"quality_score":{"description":"AI quality score (1-10).","type":"number"},"save_count":{"description":"Number of saves.","type":"number"},"size":{"description":"File size in bytes.","type":"number"},"tags":{"description":"Topic tag slugs.","items":{"type":"string"},"type":"array"},"text_in_image":{"description":"OCR transcription of any text in the image.","type":["string","null"]},"thumb_height":{"description":"Thumbnail height in pixels.","type":"number"},"thumb_width":{"description":"Thumbnail width in pixels.","type":"number"},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"updated_at":{"description":"ISO 8601 last-updated timestamp.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null.","type":["string","null"]},"width":{"description":"Original width in pixels.","type":"number"},"zap_count":{"description":"Number of Lightning zaps.","type":"number"},"zap_total_sats":{"description":"Total sats zapped.","type":"number"}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"type":"object"},"total_variants":{"description":"Number of variants.","type":"number"},"variants":{"description":"Variant images in the group.","items":{"additionalProperties":true,"description":"A gallery image (lean list fields) with attribution.","properties":{"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"caption":{"description":"AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset.","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Upstream source key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream.","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — attribution is recommended.","type":"boolean"},"attribution_required":{"description":"True when the licence or the rights holder requires attribution: Our World in Data, the chart publishers (USDA ERS, Eurostat, EEA), and a verified creator's own work.","type":"boolean"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"html":{"description":"Attribution as HTML.","type":"string"},"markdown":{"description":"Attribution as Markdown.","type":"string"},"page_url":{"description":"Canonical MemeStack gallery page for the image.","type":"string"},"plain":{"description":"Attribution as plain text.","type":"string"},"site":{"description":"Always \"MemeStack\".","type":"string"},"site_url":{"description":"The MemeStack site URL.","type":"string"},"source_external_url":{"description":"External source URL — the Our World in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' | null (null = a direct upload).","type":["string","null"]},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null when absent/withheld.","type":["string","null"]}},"required":["site","page_url","markdown","html","plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp.","type":"string"},"free_tags":{"description":"Free-form tag slugs.","items":{"type":"string"},"type":"array"},"height":{"description":"Original height in pixels.","type":"number"},"id":{"description":"Image UUID.","type":"string"},"like_count":{"description":"Number of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, if any.","type":["string","null"]},"page_url":{"description":"MemeStack gallery page URL.","type":"string"},"save_count":{"description":"Number of saves.","type":"number"},"tags":{"description":"Topic tag slugs.","items":{"type":"string"},"type":"array"},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null.","type":["string","null"]},"width":{"description":"Original width in pixels.","type":"number"},"zap_count":{"description":"Number of Lightning zaps.","type":"number"},"zap_total_sats":{"description":"Total sats zapped.","type":"number"}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"type":"object"},"type":"array"}},"required":["dominant","variants"],"type":"object"}after
{"additionalProperties":true,"description":"A meme-evolution group: the dominant image plus its variants.","properties":{"citations_combined":{"additionalProperties":false,"description":"Combined attribution for all images in this response, in three formats.","properties":{"html":{"description":"Numbered attribution list as HTML.","type":"string"},"markdown":{"description":"Numbered attribution list as Markdown.","type":"string"},"plain":{"description":"Numbered attribution list as plain text.","type":"string"}},"required":["markdown","html","plain"],"type":"object"},"dominant":{"additionalProperties":true,"description":"A gallery image (full detail) with OCR text, dimensions, and attribution.","properties":{"alt_text":{"description":"Accessible alt text.","type":"string"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"caption":{"description":"AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset. Null for an extracted row.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset, or the source line as printed on the image when provenance is \"extracted\".","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Source key: \"owid\", \"usda_ers\", \"eurostat\", \"eea\", or \"extracted\" (read from the image).","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source. Null for an extracted row.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream, or as printed on the image when provenance is \"extracted\".","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one. For an extracted row, the unit as printed on the image.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — attribution is recommended.","type":"boolean"},"attribution_required":{"description":"True when the licence or the rights holder requires attribution: Our World in Data, the chart publishers (USDA ERS, Eurostat, EEA), and a verified creator's own work.","type":"boolean"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"html":{"description":"Attribution as HTML.","type":"string"},"markdown":{"description":"Attribution as Markdown.","type":"string"},"page_url":{"description":"Canonical MemeStack gallery page for the image.","type":"string"},"plain":{"description":"Attribution as plain text.","type":"string"},"site":{"description":"Always \"MemeStack\".","type":"string"},"site_url":{"description":"The MemeStack site URL.","type":"string"},"source_external_url":{"description":"External source URL — the Our World in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' | null (null = a direct upload).","type":["string","null"]},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null when absent/withheld.","type":["string","null"]}},"required":["site","page_url","markdown","html","plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp.","type":"string"},"free_tags":{"description":"Free-form tag slugs.","items":{"type":"string"},"type":"array"},"height":{"description":"Original height in pixels.","type":"number"},"id":{"description":"Image UUID.","type":"string"},"like_count":{"description":"Number of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, if any.","type":["string","null"]},"mime_type":{"description":"Image MIME type.","type":"string"},"page_url":{"description":"MemeStack gallery page URL.","type":"string"},"quality_score":{"description":"AI quality score (1-10).","type":"number"},"save_count":{"description":"Number of saves.","type":"number"},"size":{"description":"File size in bytes.","type":"number"},"tags":{"description":"Topic tag slugs.","items":{"type":"string"},"type":"array"},"text_in_image":{"description":"OCR transcription of any text in the image.","type":["string","null"]},"thumb_height":{"description":"Thumbnail height in pixels.","type":"number"},"thumb_width":{"description":"Thumbnail width in pixels.","type":"number"},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"updated_at":{"description":"ISO 8601 last-updated timestamp.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null.","type":["string","null"]},"width":{"description":"Original width in pixels.","type":"number"},"zap_count":{"description":"Number of Lightning zaps.","type":"number"},"zap_total_sats":{"description":"Total sats zapped.","type":"number"}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"type":"object"},"total_variants":{"description":"Number of variants.","type":"number"},"variants":{"description":"Variant images in the group.","items":{"additionalProperties":true,"description":"A gallery image (lean list fields) with attribution.","properties":{"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"caption":{"description":"AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset. Null for an extracted row.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset, or the source line as printed on the image when provenance is \"extracted\".","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Source key: \"owid\", \"usda_ers\", \"eurostat\", \"eea\", or \"extracted\" (read from the image).","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source. Null for an extracted row.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream, or as printed on the image when provenance is \"extracted\".","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one. For an extracted row, the unit as printed on the image.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — attribution is recommended.","type":"boolean"},"attribution_required":{"description":"True when the licence or the rights holder requires attribution: Our World in Data, the chart publishers (USDA ERS, Eurostat, EEA), and a verified creator's own work.","type":"boolean"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"html":{"description":"Attribution as HTML.","type":"string"},"markdown":{"description":"Attribution as Markdown.","type":"string"},"page_url":{"description":"Canonical MemeStack gallery page for the image.","type":"string"},"plain":{"description":"Attribution as plain text.","type":"string"},"site":{"description":"Always \"MemeStack\".","type":"string"},"site_url":{"description":"The MemeStack site URL.","type":"string"},"source_external_url":{"description":"External source URL — the Our World in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' | null (null = a direct upload).","type":["string","null"]},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null when absent/withheld.","type":["string","null"]}},"required":["site","page_url","markdown","html","plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp.","type":"string"},"free_tags":{"description":"Free-form tag slugs.","items":{"type":"string"},"type":"array"},"height":{"description":"Original height in pixels.","type":"number"},"id":{"description":"Image UUID.","type":"string"},"like_count":{"description":"Number of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, if any.","type":["string","null"]},"page_url":{"description":"MemeStack gallery page URL.","type":"string"},"save_count":{"description":"Number of saves.","type":"number"},"tags":{"description":"Topic tag slugs.","items":{"type":"string"},"type":"array"},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null.","type":["string","null"]},"width":{"description":"Original width in pixels.","type":"number"},"zap_count":{"description":"Number of Lightning zaps.","type":"number"},"zap_total_sats":{"description":"Total sats zapped.","type":"number"}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"type":"object"},"type":"array"}},"required":["dominant","variants"],"type":"object"}⟨184 unchanged words⟩ ":"Full academic citation for the upstream dataset. Null for an extracted row.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstreamdataset.dataset, or the source line as printed on the image when provenance is \"extracted\".","type":["string","null"]}, ⟨277 unchanged words⟩ "null"]},"source":{"description":"Upstream sourceSource key: \"owid\", \"usda_ers\", \"eurostat\", \"eea\", or \"eea\extracted\" (read from the image).","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source. Null for an extracted row.","type":["string","null"]} ⟨17 unchanged words⟩ ":{"description":"Chart title as publishedupstream.upstream, or as printed on the image when provenance is \"extracted\".","type":["string","null"]}, ⟨3 unchanged words⟩ unit, when the underlying indicators agree on one. For an extracted row, the unit as printed on the image.","type":["string","null"]} ⟨440 unchanged words⟩
Search charts, maps and infographics that carrystructured sourcestored metadata-of two kinds. Charts from Our World in Data and three statistical publishers (provenance 'authoritative') carry the publishing dataset and itsacademiccitation, the unit, the regions plotted,andthe period the chart actually displays (never the dataset's wider history). Results,sayand whether the source has published newer data since the image was captured. Community-uploaded charts (provenance 'extracted') carry a title, source line, unit and period that were read from the image itself and not checked against the original data. browse_by_tag, browse_by_category, get_leaderboard and get_mutation_group return images ⟨41 unchanged words⟩
⟨23 unchanged words⟩ " or \"eea\" (European Environment Agency), or \"extracted\" (community charts whose details were read from the image).","type":"string"},"data_from": ⟨128 unchanged words⟩
⟨168 unchanged words⟩ ":"Full academic citation for the upstream dataset. Null for an extracted row.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstreamdataset.dataset, or the source line as printed on the image when provenance is \"extracted\".","type":["string","null"]}, ⟨277 unchanged words⟩ "null"]},"source":{"description":"Upstream sourceSource key: \"owid\", \"usda_ers\", \"eurostat\", \"eea\", or \"eea\extracted\" (read from the image).","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source. Null for an extracted row.","type":["string","null"]} ⟨17 unchanged words⟩ ":{"description":"Chart title as publishedupstream.upstream, or as printed on the image when provenance is \"extracted\".","type":["string","null"]}, ⟨3 unchanged words⟩ unit, when the underlying indicators agree on one. For an extracted row, the unit as printed on the image.","type":["string","null"]} ⟨500 unchanged words⟩
⟨150 unchanged words⟩ ":"Full academic citation for the upstream dataset. Null for an extracted row.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstreamdataset.dataset, or the source line as printed on the image when provenance is \"extracted\".","type":["string","null"]}, ⟨277 unchanged words⟩ "null"]},"source":{"description":"Upstream sourceSource key: \"owid\", \"usda_ers\", \"eurostat\", \"eea\", or \"eea\extracted\" (read from the image).","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source. Null for an extracted row.","type":["string","null"]} ⟨17 unchanged words⟩ ":{"description":"Chart title as publishedupstream.upstream, or as printed on the image when provenance is \"extracted\".","type":["string","null"]}, ⟨3 unchanged words⟩ unit, when the underlying indicators agree on one. For an extracted row, the unit as printed on the image.","type":["string","null"]} ⟨500 unchanged words⟩
⟨152 unchanged words⟩ ":"Full academic citation for the upstream dataset. Null for an extracted row.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstreamdataset.dataset, or the source line as printed on the image when provenance is \"extracted\".","type":["string","null"]}, ⟨277 unchanged words⟩ "null"]},"source":{"description":"Upstream sourceSource key: \"owid\", \"usda_ers\", \"eurostat\", \"eea\", or \"eea\extracted\" (read from the image).","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source. Null for an extracted row.","type":["string","null"]} ⟨17 unchanged words⟩ ":{"description":"Chart title as publishedupstream.upstream, or as printed on the image when provenance is \"extracted\".","type":["string","null"]}, ⟨3 unchanged words⟩ unit, when the underlying indicators agree on one. For an extracted row, the unit as printed on the image.","type":["string","null"]} ⟨455 unchanged words⟩
⟨808 unchanged words⟩ of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, ⟨93 unchanged words⟩
⟨50 unchanged words⟩ ,"plain"],"type":"object"},"has_more":{"description":"Present when the API labelled the results: true when more results follow this page.","type":"boolean"},"images":{"description":"Memes that capture the ⟨750 unchanged words⟩ of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, ⟨75 unchanged words⟩ ,"type":"object"},"type":"array"},"note":{"description":"Present when the first page has no strong result: says so and that the results are the closest available.","type":"string"},"query_language":{"description":"Present with ⟨45 unchanged words⟩
⟨818 unchanged words⟩ of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, ⟨102 unchanged words⟩
⟨818 unchanged words⟩ of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, ⟨102 unchanged words⟩
⟨757 unchanged words⟩ of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, ⟨138 unchanged words⟩
⟨822 unchanged words⟩ of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, ⟨152 unchanged words⟩
before
{"additionalProperties":true,"description":"A meme-evolution group: the dominant image plus its variants.","properties":{"citations_combined":{"additionalProperties":false,"description":"Combined attribution for all images in this response, in three formats.","properties":{"html":{"description":"Numbered attribution list as HTML.","type":"string"},"markdown":{"description":"Numbered attribution list as Markdown.","type":"string"},"plain":{"description":"Numbered attribution list as plain text.","type":"string"}},"required":["markdown","html","plain"],"type":"object"},"dominant":{"additionalProperties":true,"description":"A gallery image (full detail) with OCR text, dimensions, and attribution.","properties":{"alt_text":{"description":"Accessible alt text.","type":"string"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"caption":{"description":"AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset.","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Upstream source key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream.","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — attribution is recommended.","type":"boolean"},"attribution_required":{"description":"True when the licence or the rights holder requires attribution: Our World in Data, the chart publishers (USDA ERS, Eurostat, EEA), and a verified creator's own work.","type":"boolean"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"html":{"description":"Attribution as HTML.","type":"string"},"markdown":{"description":"Attribution as Markdown.","type":"string"},"page_url":{"description":"Canonical MemeStack gallery page for the image.","type":"string"},"plain":{"description":"Attribution as plain text.","type":"string"},"site":{"description":"Always \"MemeStack\".","type":"string"},"site_url":{"description":"The MemeStack site URL.","type":"string"},"source_external_url":{"description":"External source URL — the Our World in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' | null (null = a direct upload).","type":["string","null"]},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null when absent/withheld.","type":["string","null"]}},"required":["site","page_url","markdown","html","plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp.","type":"string"},"free_tags":{"description":"Free-form tag slugs.","items":{"type":"string"},"type":"array"},"height":{"description":"Original height in pixels.","type":"number"},"id":{"description":"Image UUID.","type":"string"},"like_count":{"description":"Number of likes.","type":"number"},"meme_template_name":{"description":"Recognised meme template, if any.","type":["string","null"]},"mime_type":{"description":"Image MIME type.","type":"string"},"page_url":{"description":"MemeStack gallery page URL.","type":"string"},"quality_score":{"description":"AI quality score (1-10).","type":"number"},"save_count":{"description":"Number of saves.","type":"number"},"size":{"description":"File size in bytes.","type":"number"},"tags":{"description":"Topic tag slugs.","items":{"type":"string"},"type":"array"},"text_in_image":{"description":"OCR transcription of any text in the image.","type":["string","null"]},"thumb_height":{"description":"Thumbnail height in pixels.","type":"number"},"thumb_width":{"description":"Thumbnail width in pixels.","type":"number"},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"updated_at":{"description":"ISO 8601 last-updated timestamp.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null.","type":["string","null"]},"width":{"description":"Original width in pixels.","type":"number"},"zap_count":{"description":"Number of Lightning zaps.","type":"number"},"zap_total_sats":{"description":"Total sats zapped.","type":"number"}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"type":"object"},"total_variants":{"description":"Number of variants.","type":"number"},"variants":{"description":"Variant images in the group.","items":{"additionalProperties":true,"description":"A gallery image (lean list fields) with attribution.","properties":{"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"caption":{"description":"AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset.","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Upstream source key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream.","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — attribution is recommended.","type":"boolean"},"attribution_required":{"description":"True when the licence or the rights holder requires attribution: Our World in Data, the chart publishers (USDA ERS, Eurostat, EEA), and a verified creator's own work.","type":"boolean"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"html":{"description":"Attribution as HTML.","type":"string"},"markdown":{"description":"Attribution as Markdown.","type":"string"},"page_url":{"description":"Canonical MemeStack gallery page for the image.","type":"string"},"plain":{"description":"Attribution as plain text.","type":"string"},"site":{"description":"Always \"MemeStack\".","type":"string"},"site_url":{"description":"The MemeStack site URL.","type":"string"},"source_external_url":{"description":"External source URL — the Our World in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' | null (null = a direct upload).","type":["string","null"]},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null when absent/withheld.","type":["string","null"]}},"required":["site","page_url","markdown","html","plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp.","type":"string"},"free_tags":{"description":"Free-form tag slugs.","items":{"type":"string"},"type":"array"},"height":{"description":"Original height in pixels.","type":"number"},"id":{"description":"Image UUID.","type":"string"},"like_count":{"description":"Number of likes.","type":"number"},"meme_template_name":{"description":"Recognised meme template, if any.","type":["string","null"]},"page_url":{"description":"MemeStack gallery page URL.","type":"string"},"save_count":{"description":"Number of saves.","type":"number"},"tags":{"description":"Topic tag slugs.","items":{"type":"string"},"type":"array"},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null.","type":["string","null"]},"width":{"description":"Original width in pixels.","type":"number"},"zap_count":{"description":"Number of Lightning zaps.","type":"number"},"zap_total_sats":{"description":"Total sats zapped.","type":"number"}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"type":"object"},"type":"array"}},"required":["dominant","variants"],"type":"object"}after
{"additionalProperties":true,"description":"A meme-evolution group: the dominant image plus its variants.","properties":{"citations_combined":{"additionalProperties":false,"description":"Combined attribution for all images in this response, in three formats.","properties":{"html":{"description":"Numbered attribution list as HTML.","type":"string"},"markdown":{"description":"Numbered attribution list as Markdown.","type":"string"},"plain":{"description":"Numbered attribution list as plain text.","type":"string"}},"required":["markdown","html","plain"],"type":"object"},"dominant":{"additionalProperties":true,"description":"A gallery image (full detail) with OCR text, dimensions, and attribution.","properties":{"alt_text":{"description":"Accessible alt text.","type":"string"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"caption":{"description":"AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset.","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Upstream source key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream.","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — attribution is recommended.","type":"boolean"},"attribution_required":{"description":"True when the licence or the rights holder requires attribution: Our World in Data, the chart publishers (USDA ERS, Eurostat, EEA), and a verified creator's own work.","type":"boolean"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"html":{"description":"Attribution as HTML.","type":"string"},"markdown":{"description":"Attribution as Markdown.","type":"string"},"page_url":{"description":"Canonical MemeStack gallery page for the image.","type":"string"},"plain":{"description":"Attribution as plain text.","type":"string"},"site":{"description":"Always \"MemeStack\".","type":"string"},"site_url":{"description":"The MemeStack site URL.","type":"string"},"source_external_url":{"description":"External source URL — the Our World in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' | null (null = a direct upload).","type":["string","null"]},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null when absent/withheld.","type":["string","null"]}},"required":["site","page_url","markdown","html","plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp.","type":"string"},"free_tags":{"description":"Free-form tag slugs.","items":{"type":"string"},"type":"array"},"height":{"description":"Original height in pixels.","type":"number"},"id":{"description":"Image UUID.","type":"string"},"like_count":{"description":"Number of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, if any.","type":["string","null"]},"mime_type":{"description":"Image MIME type.","type":"string"},"page_url":{"description":"MemeStack gallery page URL.","type":"string"},"quality_score":{"description":"AI quality score (1-10).","type":"number"},"save_count":{"description":"Number of saves.","type":"number"},"size":{"description":"File size in bytes.","type":"number"},"tags":{"description":"Topic tag slugs.","items":{"type":"string"},"type":"array"},"text_in_image":{"description":"OCR transcription of any text in the image.","type":["string","null"]},"thumb_height":{"description":"Thumbnail height in pixels.","type":"number"},"thumb_width":{"description":"Thumbnail width in pixels.","type":"number"},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"updated_at":{"description":"ISO 8601 last-updated timestamp.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null.","type":["string","null"]},"width":{"description":"Original width in pixels.","type":"number"},"zap_count":{"description":"Number of Lightning zaps.","type":"number"},"zap_total_sats":{"description":"Total sats zapped.","type":"number"}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"type":"object"},"total_variants":{"description":"Number of variants.","type":"number"},"variants":{"description":"Variant images in the group.","items":{"additionalProperties":true,"description":"A gallery image (lean list fields) with attribution.","properties":{"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"caption":{"description":"AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset.","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Upstream source key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream.","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — attribution is recommended.","type":"boolean"},"attribution_required":{"description":"True when the licence or the rights holder requires attribution: Our World in Data, the chart publishers (USDA ERS, Eurostat, EEA), and a verified creator's own work.","type":"boolean"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"html":{"description":"Attribution as HTML.","type":"string"},"markdown":{"description":"Attribution as Markdown.","type":"string"},"page_url":{"description":"Canonical MemeStack gallery page for the image.","type":"string"},"plain":{"description":"Attribution as plain text.","type":"string"},"site":{"description":"Always \"MemeStack\".","type":"string"},"site_url":{"description":"The MemeStack site URL.","type":"string"},"source_external_url":{"description":"External source URL — the Our World in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' | null (null = a direct upload).","type":["string","null"]},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null when absent/withheld.","type":["string","null"]}},"required":["site","page_url","markdown","html","plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp.","type":"string"},"free_tags":{"description":"Free-form tag slugs.","items":{"type":"string"},"type":"array"},"height":{"description":"Original height in pixels.","type":"number"},"id":{"description":"Image UUID.","type":"string"},"like_count":{"description":"Number of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, if any.","type":["string","null"]},"page_url":{"description":"MemeStack gallery page URL.","type":"string"},"save_count":{"description":"Number of saves.","type":"number"},"tags":{"description":"Topic tag slugs.","items":{"type":"string"},"type":"array"},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null.","type":["string","null"]},"width":{"description":"Original width in pixels.","type":"number"},"zap_count":{"description":"Number of Lightning zaps.","type":"number"},"zap_total_sats":{"description":"Total sats zapped.","type":"number"}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"type":"object"},"type":"array"}},"required":["dominant","variants"],"type":"object"}⟨858 unchanged words⟩ of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, ⟨101 unchanged words⟩
⟨50 unchanged words⟩ ,"plain"],"type":"object"},"has_more":{"description":"Present when the API labelled the results: true when more results follow this page.","type":"boolean"},"images":{"description":"Images that HAVE stored ⟨765 unchanged words⟩ of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, ⟨75 unchanged words⟩ ,"type":"object"},"type":"array"},"note":{"description":"Present when the first page has no strong result: says so and that the results are the closest available.","type":"string"},"query_language":{"description":"Present with ⟨55 unchanged words⟩
⟨50 unchanged words⟩ ,"plain"],"type":"object"},"has_more":{"description":"Present when the API labelled the results: true when more results follow this page.","type":"boolean"},"images":{"description":"Matching images, best-first." ⟨748 unchanged words⟩ of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, ⟨75 unchanged words⟩ ,"type":"object"},"type":"array"},"note":{"description":"Present when the first page has no strong result: says so and that the results are the closest available.","type":"string"},"query_language":{"description":"Present with ⟨55 unchanged words⟩
⟨50 unchanged words⟩ ,"plain"],"type":"object"},"has_more":{"description":"Present when the API labelled the results: true when more results follow this page.","type":"boolean"},"images":{"description":"Images whose OCR text ⟨749 unchanged words⟩ of likes.","type":"number"},"match":{"description":"Honest search: strong = a real answer, closest = the nearest miss. Present only when the API labelled the result.","enum":["strong","closest"],"type":"string"},"meme_template_name":{"description":"Recognised meme template, ⟨75 unchanged words⟩ ,"type":"object"},"type":"array"},"note":{"description":"Present when the first page has no strong result: says so and that the results are the closest available.","type":"string"},"total":{"description":"Total number ⟨10 unchanged words⟩
⟨275 unchanged words⟩ ,"extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly ⟨80 unchanged words⟩ "type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Upstream source key: \"owid\",e.g.\"usda_ers\", \"owid\eurostat\" or \"eea\".","type":"string"},"source_url": ⟨100 unchanged words⟩ boolean"},"attribution_required":{"description":"Trueonlywhen thelicenselicence or the rights holder requires attribution: Our World in Data, the chart publishers (OWIDUSDA ERS, Eurostat, EEA)., and a verified creator's own work.","type":"boolean"},"canonical_url":{ ⟨55 unchanged words⟩ "source_external_url":{"description":"External source URL(set—onlytheforOurOWID-sourcedWorldimages).in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' |null.null (null = a direct upload).","type":["string","null"]} ⟨230 unchanged words⟩
⟨249 unchanged words⟩ ,"extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly ⟨80 unchanged words⟩ "type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Upstream source key: \"owid\",e.g.\"usda_ers\", \"owid\eurostat\" or \"eea\".","type":"string"},"source_url": ⟨100 unchanged words⟩ boolean"},"attribution_required":{"description":"Trueonlywhen thelicenselicence or the rights holder requires attribution: Our World in Data, the chart publishers (OWIDUSDA ERS, Eurostat, EEA)., and a verified creator's own work.","type":"boolean"},"canonical_url":{ ⟨55 unchanged words⟩ "source_external_url":{"description":"External source URL(set—onlytheforOurOWID-sourcedWorldimages).in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' |null.null (null = a direct upload).","type":["string","null"]} ⟨210 unchanged words⟩
⟨250 unchanged words⟩ ,"extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly ⟨80 unchanged words⟩ "type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Upstream source key: \"owid\",e.g.\"usda_ers\", \"owid\eurostat\" or \"eea\".","type":"string"},"source_url": ⟨100 unchanged words⟩ boolean"},"attribution_required":{"description":"Trueonlywhen thelicenselicence or the rights holder requires attribution: Our World in Data, the chart publishers (OWIDUSDA ERS, Eurostat, EEA)., and a verified creator's own work.","type":"boolean"},"canonical_url":{ ⟨55 unchanged words⟩ "source_external_url":{"description":"External source URL(set—onlytheforOurOWID-sourcedWorldimages).in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' |null.null (null = a direct upload).","type":["string","null"]} ⟨245 unchanged words⟩
⟨259 unchanged words⟩ ,"extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly ⟨80 unchanged words⟩ "type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Upstream source key: \"owid\",e.g.\"usda_ers\", \"owid\eurostat\" or \"eea\".","type":"string"},"source_url": ⟨100 unchanged words⟩ boolean"},"attribution_required":{"description":"Trueonlywhen thelicenselicence or the rights holder requires attribution: Our World in Data, the chart publishers (OWIDUSDA ERS, Eurostat, EEA)., and a verified creator's own work.","type":"boolean"},"canonical_url":{ ⟨55 unchanged words⟩ "source_external_url":{"description":"External source URL(set—onlytheforOurOWID-sourcedWorldimages).in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' |null.null (null = a direct upload).","type":["string","null"]} ⟨219 unchanged words⟩
⟨259 unchanged words⟩ ,"extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly ⟨80 unchanged words⟩ "type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Upstream source key: \"owid\",e.g.\"usda_ers\", \"owid\eurostat\" or \"eea\".","type":"string"},"source_url": ⟨100 unchanged words⟩ boolean"},"attribution_required":{"description":"Trueonlywhen thelicenselicence or the rights holder requires attribution: Our World in Data, the chart publishers (OWIDUSDA ERS, Eurostat, EEA)., and a verified creator's own work.","type":"boolean"},"canonical_url":{ ⟨55 unchanged words⟩ "source_external_url":{"description":"External source URL(set—onlytheforOurOWID-sourcedWorldimages).in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' |null.null (null = a direct upload).","type":["string","null"]} ⟨219 unchanged words⟩
⟨13 unchanged words⟩ tags, OCR text, zap stats, and URLs. For a chart that is part of a series, chart.series lists every edition (other years) by id.
⟨198 unchanged words⟩ ,"extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly ⟨80 unchanged words⟩ "type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Upstream source key: \"owid\",e.g.\"usda_ers\", \"owid\eurostat\" or \"eea\".","type":"string"},"source_url": ⟨100 unchanged words⟩ boolean"},"attribution_required":{"description":"Trueonlywhen thelicenselicence or the rights holder requires attribution: Our World in Data, the chart publishers (OWIDUSDA ERS, Eurostat, EEA)., and a verified creator's own work.","type":"boolean"},"canonical_url":{ ⟨55 unchanged words⟩ "source_external_url":{"description":"External source URL(set—onlytheforOurOWID-sourcedWorldimages).in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' |null.null (null = a direct upload).","type":["string","null"]} ⟨255 unchanged words⟩
⟨263 unchanged words⟩ ,"extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly ⟨80 unchanged words⟩ "type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Upstream source key: \"owid\",e.g.\"usda_ers\", \"owid\eurostat\" or \"eea\".","type":"string"},"source_url": ⟨100 unchanged words⟩ boolean"},"attribution_required":{"description":"Trueonlywhen thelicenselicence or the rights holder requires attribution: Our World in Data, the chart publishers (OWIDUSDA ERS, Eurostat, EEA)., and a verified creator's own work.","type":"boolean"},"canonical_url":{ ⟨55 unchanged words⟩ "source_external_url":{"description":"External source URL(set—onlytheforOurOWID-sourcedWorldimages).in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' |null.null (null = a direct upload).","type":["string","null"]} ⟨269 unchanged words⟩
before
{"additionalProperties":true,"description":"A meme-evolution group: the dominant image plus its variants.","properties":{"citations_combined":{"additionalProperties":false,"description":"Combined attribution for all images in this response, in three formats.","properties":{"html":{"description":"Numbered attribution list as HTML.","type":"string"},"markdown":{"description":"Numbered attribution list as Markdown.","type":"string"},"plain":{"description":"Numbered attribution list as plain text.","type":"string"}},"required":["markdown","html","plain"],"type":"object"},"dominant":{"additionalProperties":true,"description":"A gallery image (full detail) with OCR text, dimensions, and attribution.","properties":{"alt_text":{"description":"Accessible alt text.","type":"string"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"caption":{"description":"AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset.","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"source":{"description":"Upstream source key, e.g. \"owid\".","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream.","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — attribution is recommended.","type":"boolean"},"attribution_required":{"description":"True only when the license requires attribution (OWID).","type":"boolean"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"html":{"description":"Attribution as HTML.","type":"string"},"markdown":{"description":"Attribution as Markdown.","type":"string"},"page_url":{"description":"Canonical MemeStack gallery page for the image.","type":"string"},"plain":{"description":"Attribution as plain text.","type":"string"},"site":{"description":"Always \"MemeStack\".","type":"string"},"site_url":{"description":"The MemeStack site URL.","type":"string"},"source_external_url":{"description":"External source URL (set only for OWID-sourced images).","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null.","type":["string","null"]},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null when absent/withheld.","type":["string","null"]}},"required":["site","page_url","markdown","html","plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp.","type":"string"},"free_tags":{"description":"Free-form tag slugs.","items":{"type":"string"},"type":"array"},"height":{"description":"Original height in pixels.","type":"number"},"id":{"description":"Image UUID.","type":"string"},"like_count":{"description":"Number of likes.","type":"number"},"meme_template_name":{"description":"Recognised meme template, if any.","type":["string","null"]},"mime_type":{"description":"Image MIME type.","type":"string"},"page_url":{"description":"MemeStack gallery page URL.","type":"string"},"quality_score":{"description":"AI quality score (1-10).","type":"number"},"save_count":{"description":"Number of saves.","type":"number"},"size":{"description":"File size in bytes.","type":"number"},"tags":{"description":"Topic tag slugs.","items":{"type":"string"},"type":"array"},"text_in_image":{"description":"OCR transcription of any text in the image.","type":["string","null"]},"thumb_height":{"description":"Thumbnail height in pixels.","type":"number"},"thumb_width":{"description":"Thumbnail width in pixels.","type":"number"},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"updated_at":{"description":"ISO 8601 last-updated timestamp.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null.","type":["string","null"]},"width":{"description":"Original width in pixels.","type":"number"},"zap_count":{"description":"Number of Lightning zaps.","type":"number"},"zap_total_sats":{"description":"Total sats zapped.","type":"number"}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"type":"object"},"total_variants":{"description":"Number of variants.","type":"number"},"variants":{"description":"Variant images in the group.","items":{"additionalProperties":true,"description":"A gallery image (lean list fields) with attribution.","properties":{"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"caption":{"description":"AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset.","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"source":{"description":"Upstream source key, e.g. \"owid\".","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream.","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — attribution is recommended.","type":"boolean"},"attribution_required":{"description":"True only when the license requires attribution (OWID).","type":"boolean"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"html":{"description":"Attribution as HTML.","type":"string"},"markdown":{"description":"Attribution as Markdown.","type":"string"},"page_url":{"description":"Canonical MemeStack gallery page for the image.","type":"string"},"plain":{"description":"Attribution as plain text.","type":"string"},"site":{"description":"Always \"MemeStack\".","type":"string"},"site_url":{"description":"The MemeStack site URL.","type":"string"},"source_external_url":{"description":"External source URL (set only for OWID-sourced images).","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null.","type":["string","null"]},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null when absent/withheld.","type":["string","null"]}},"required":["site","page_url","markdown","html","plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp.","type":"string"},"free_tags":{"description":"Free-form tag slugs.","items":{"type":"string"},"type":"array"},"height":{"description":"Original height in pixels.","type":"number"},"id":{"description":"Image UUID.","type":"string"},"like_count":{"description":"Number of likes.","type":"number"},"meme_template_name":{"description":"Recognised meme template, if any.","type":["string","null"]},"page_url":{"description":"MemeStack gallery page URL.","type":"string"},"save_count":{"description":"Number of saves.","type":"number"},"tags":{"description":"Topic tag slugs.","items":{"type":"string"},"type":"array"},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null.","type":["string","null"]},"width":{"description":"Original width in pixels.","type":"number"},"zap_count":{"description":"Number of Lightning zaps.","type":"number"},"zap_total_sats":{"description":"Total sats zapped.","type":"number"}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"type":"object"},"type":"array"}},"required":["dominant","variants"],"type":"object"}after
{"additionalProperties":true,"description":"A meme-evolution group: the dominant image plus its variants.","properties":{"citations_combined":{"additionalProperties":false,"description":"Combined attribution for all images in this response, in three formats.","properties":{"html":{"description":"Numbered attribution list as HTML.","type":"string"},"markdown":{"description":"Numbered attribution list as Markdown.","type":"string"},"plain":{"description":"Numbered attribution list as plain text.","type":"string"}},"required":["markdown","html","plain"],"type":"object"},"dominant":{"additionalProperties":true,"description":"A gallery image (full detail) with OCR text, dimensions, and attribution.","properties":{"alt_text":{"description":"Accessible alt text.","type":"string"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"caption":{"description":"AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset.","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Upstream source key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream.","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — attribution is recommended.","type":"boolean"},"attribution_required":{"description":"True when the licence or the rights holder requires attribution: Our World in Data, the chart publishers (USDA ERS, Eurostat, EEA), and a verified creator's own work.","type":"boolean"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"html":{"description":"Attribution as HTML.","type":"string"},"markdown":{"description":"Attribution as Markdown.","type":"string"},"page_url":{"description":"Canonical MemeStack gallery page for the image.","type":"string"},"plain":{"description":"Attribution as plain text.","type":"string"},"site":{"description":"Always \"MemeStack\".","type":"string"},"site_url":{"description":"The MemeStack site URL.","type":"string"},"source_external_url":{"description":"External source URL — the Our World in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' | null (null = a direct upload).","type":["string","null"]},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null when absent/withheld.","type":["string","null"]}},"required":["site","page_url","markdown","html","plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp.","type":"string"},"free_tags":{"description":"Free-form tag slugs.","items":{"type":"string"},"type":"array"},"height":{"description":"Original height in pixels.","type":"number"},"id":{"description":"Image UUID.","type":"string"},"like_count":{"description":"Number of likes.","type":"number"},"meme_template_name":{"description":"Recognised meme template, if any.","type":["string","null"]},"mime_type":{"description":"Image MIME type.","type":"string"},"page_url":{"description":"MemeStack gallery page URL.","type":"string"},"quality_score":{"description":"AI quality score (1-10).","type":"number"},"save_count":{"description":"Number of saves.","type":"number"},"size":{"description":"File size in bytes.","type":"number"},"tags":{"description":"Topic tag slugs.","items":{"type":"string"},"type":"array"},"text_in_image":{"description":"OCR transcription of any text in the image.","type":["string","null"]},"thumb_height":{"description":"Thumbnail height in pixels.","type":"number"},"thumb_width":{"description":"Thumbnail width in pixels.","type":"number"},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"updated_at":{"description":"ISO 8601 last-updated timestamp.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null.","type":["string","null"]},"width":{"description":"Original width in pixels.","type":"number"},"zap_count":{"description":"Number of Lightning zaps.","type":"number"},"zap_total_sats":{"description":"Total sats zapped.","type":"number"}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"type":"object"},"total_variants":{"description":"Number of variants.","type":"number"},"variants":{"description":"Variant images in the group.","items":{"additionalProperties":true,"description":"A gallery image (lean list fields) with attribution.","properties":{"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"caption":{"description":"AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset.","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Upstream source key: \"owid\", \"usda_ers\", \"eurostat\" or \"eea\".","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream.","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — attribution is recommended.","type":"boolean"},"attribution_required":{"description":"True when the licence or the rights holder requires attribution: Our World in Data, the chart publishers (USDA ERS, Eurostat, EEA), and a verified creator's own work.","type":"boolean"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"html":{"description":"Attribution as HTML.","type":"string"},"markdown":{"description":"Attribution as Markdown.","type":"string"},"page_url":{"description":"Canonical MemeStack gallery page for the image.","type":"string"},"plain":{"description":"Attribution as plain text.","type":"string"},"site":{"description":"Always \"MemeStack\".","type":"string"},"site_url":{"description":"The MemeStack site URL.","type":"string"},"source_external_url":{"description":"External source URL — the Our World in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' | null (null = a direct upload).","type":["string","null"]},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null when absent/withheld.","type":["string","null"]}},"required":["site","page_url","markdown","html","plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp.","type":"string"},"free_tags":{"description":"Free-form tag slugs.","items":{"type":"string"},"type":"array"},"height":{"description":"Original height in pixels.","type":"number"},"id":{"description":"Image UUID.","type":"string"},"like_count":{"description":"Number of likes.","type":"number"},"meme_template_name":{"description":"Recognised meme template, if any.","type":["string","null"]},"page_url":{"description":"MemeStack gallery page URL.","type":"string"},"save_count":{"description":"Number of saves.","type":"number"},"tags":{"description":"Topic tag slugs.","items":{"type":"string"},"type":"array"},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null.","type":["string","null"]},"width":{"description":"Original width in pixels.","type":"number"},"zap_count":{"description":"Number of Lightning zaps.","type":"number"},"zap_total_sats":{"description":"Total sats zapped.","type":"number"}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"type":"object"},"type":"array"}},"required":["dominant","variants"],"type":"object"}⟨299 unchanged words⟩ ,"extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly ⟨80 unchanged words⟩ "type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Upstream source key: \"owid\",e.g.\"usda_ers\", \"owid\eurostat\" or \"eea\".","type":"string"},"source_url": ⟨100 unchanged words⟩ boolean"},"attribution_required":{"description":"Trueonlywhen thelicenselicence or the rights holder requires attribution: Our World in Data, the chart publishers (OWIDUSDA ERS, Eurostat, EEA)., and a verified creator's own work.","type":"boolean"},"canonical_url":{ ⟨55 unchanged words⟩ "source_external_url":{"description":"External source URL(set—onlytheforOurOWID-sourcedWorldimages).in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' |null.null (null = a direct upload).","type":["string","null"]} ⟨218 unchanged words⟩
⟨2 unchanged words⟩ "description":"Restrict to one upstream source key, e.g.: \"owid\"for(Our World inData.Data), \"usda_ers\" (USDA Economic Research Service), \"eurostat\" or \"eea\" (European Environment Agency).","type":"string"},"data_from":{ ⟨128 unchanged words⟩
⟨265 unchanged words⟩ ,"extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly ⟨80 unchanged words⟩ "type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Upstream source key: \"owid\",e.g.\"usda_ers\", \"owid\eurostat\" or \"eea\".","type":"string"},"source_url": ⟨100 unchanged words⟩ boolean"},"attribution_required":{"description":"Trueonlywhen thelicenselicence or the rights holder requires attribution: Our World in Data, the chart publishers (OWIDUSDA ERS, Eurostat, EEA)., and a verified creator's own work.","type":"boolean"},"canonical_url":{ ⟨55 unchanged words⟩ "source_external_url":{"description":"External source URL(set—onlytheforOurOWID-sourcedWorldimages).in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' |null.null (null = a direct upload).","type":["string","null"]} ⟨255 unchanged words⟩
⟨247 unchanged words⟩ ,"extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly ⟨80 unchanged words⟩ "type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Upstream source key: \"owid\",e.g.\"usda_ers\", \"owid\eurostat\" or \"eea\".","type":"string"},"source_url": ⟨100 unchanged words⟩ boolean"},"attribution_required":{"description":"Trueonlywhen thelicenselicence or the rights holder requires attribution: Our World in Data, the chart publishers (OWIDUSDA ERS, Eurostat, EEA)., and a verified creator's own work.","type":"boolean"},"canonical_url":{ ⟨55 unchanged words⟩ "source_external_url":{"description":"External source URL(set—onlytheforOurOWID-sourcedWorldimages).in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' |null.null (null = a direct upload).","type":["string","null"]} ⟨255 unchanged words⟩
⟨249 unchanged words⟩ ,"extracted"],"type":"string"},"published_at":{"description":"The publisher's release date for this edition (YYYY-MM-DD).","type":["string","null"]},"regions":{"description":"Entities plotted, exactly ⟨80 unchanged words⟩ "type":["object","null"]},"series":{"description":"Every visible edition of this chart, newest first (get_image only).","items":{"additionalProperties":true,"properties":{"id":{"description":"Image id of the edition.","type":"string"},"published_at":{"description":"Release date.","type":["string","null"]},"rendered_period":{"additionalProperties":true,"properties":{"end":{"description":"Last year shown.","type":"number"},"start":{"description":"First year shown.","type":"number"}},"type":["object","null"]}},"type":"object"},"type":"array"},"series_key":{"description":"Editions of one chart share this key; null when the chart is not part of a series.","type":["string","null"]},"source":{"description":"Upstream source key: \"owid\",e.g.\"usda_ers\", \"owid\eurostat\" or \"eea\".","type":"string"},"source_url": ⟨100 unchanged words⟩ boolean"},"attribution_required":{"description":"Trueonlywhen thelicenselicence or the rights holder requires attribution: Our World in Data, the chart publishers (OWIDUSDA ERS, Eurostat, EEA)., and a verified creator's own work.","type":"boolean"},"canonical_url":{ ⟨55 unchanged words⟩ "source_external_url":{"description":"External source URL(set—onlytheforOurOWID-sourcedWorldimages).in Data chart, the chart publisher's page, or the X post; null otherwise.","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'usda_ers' | 'eurostat' | 'eea' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'mcp' | 'x' | 'unknown' |null.null (null = a direct upload).","type":["string","null"]} ⟨210 unchanged words⟩
⟨746 unchanged words⟩ :"object"},"type":"array"},"query_language":{"description":"Present with translated_query: the ISO 639-1 code of the query language, e.g. \"fr\".","type":"string"},"total":{"description":"Total number of matching images.","type":"number"},"translated_query":{"description":"Present only when the query was not English: the English text it was also searched as (those results are merged in).","type":"string"}},"required":["images","total" ⟨2 unchanged words⟩
{"properties":{"include_controversial":{"description":"Include images classified controversial (excluded by default).","type":"boolean"},"limit":{"description":"Images per page ( ⟨39 unchanged words⟩
⟨604 unchanged words⟩ ,"plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp. ⟨151 unchanged words⟩
⟨13 unchanged words⟩ content by tag, trending, or recent uploads. Results exclude images classified controversial unless include_controversial is true.
{"properties":{"include_controversial":{"description":"Include images classified controversial (excluded by default).","type":"boolean"},"limit":{"description":"Results per page ( ⟨41 unchanged words⟩
⟨578 unchanged words⟩ ,"plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp. ⟨131 unchanged words⟩
⟨21 unchanged words⟩ items":{"additionalProperties":true,"properties":{"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"html":{"description":"Attribution as HTML.", ⟨102 unchanged words⟩
⟨26 unchanged words⟩ you need a meme to illustrate a point. Results exclude images classified controversial unless include_controversial is true.
{"properties":{"include_controversial":{"description":"Include images classified controversial (excluded by default).","type":"boolean"},"limit":{"description":"How many memes to ⟨24 unchanged words⟩
⟨579 unchanged words⟩ ,"plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp. ⟨121 unchanged words⟩
⟨5 unchanged words⟩ AI embedding similarity. Returns images with similar meaning/topic. Results exclude images classified controversial unless include_controversial is true.
⟨4 unchanged words⟩ image UUID","type":"string"},"include_controversial":{"description":"Include images classified controversial (excluded by default).","type":"boolean"},"limit":{"description":"Max results (1-20, ⟨8 unchanged words⟩
⟨588 unchanged words⟩ ,"plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp. ⟨140 unchanged words⟩
⟨5 unchanged words⟩ perceptual hash matching. Returns images that look alike. Results exclude images classified controversial unless include_controversial is true.
⟨4 unchanged words⟩ image UUID","type":"string"},"include_controversial":{"description":"Include images classified controversial (excluded by default).","type":"boolean"},"limit":{"description":"Max results (1-20, ⟨8 unchanged words⟩
⟨588 unchanged words⟩ ,"plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp. ⟨140 unchanged words⟩
⟨527 unchanged words⟩ ,"plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp. ⟨176 unchanged words⟩
⟨592 unchanged words⟩ ,"plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp. ⟨190 unchanged words⟩
⟨591 unchanged words⟩ ,"plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp. ⟨707 unchanged words⟩ ,"html","plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 ⟨124 unchanged words⟩
⟨41 unchanged words⟩ (10/min/IP) since each call hashes the input. Results exclude images classified controversial unless include_controversial is true.
{"properties":{"include_controversial":{"description":"Include images classified controversial (excluded by default).","type":"boolean"},"limit":{"description":"Max results (1-20, ⟨22 unchanged words⟩
⟨628 unchanged words⟩ ,"plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp. ⟨139 unchanged words⟩
⟨81 unchanged words⟩ so use search_images for the widest chart coverage. Results exclude images classified controversial unless include_controversial is true.
⟨62 unchanged words⟩ See data_from.","type":"number"},"include_controversial":{"description":"Include images classified controversial (excluded by default).","type":"boolean"},"limit":{"description":"Results per page ( ⟨65 unchanged words⟩
⟨594 unchanged words⟩ ,"plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp. ⟨131 unchanged words⟩
⟨18 unchanged words⟩ with captions, tags, zap stats, and URLs. Results exclude images classified controversial unless include_controversial is true.
{"properties":{"include_controversial":{"description":"Include images classified controversial (excluded by default).","type":"boolean"},"limit":{"description":"Results per page ( ⟨108 unchanged words⟩
⟨576 unchanged words⟩ ,"plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp. ⟨131 unchanged words⟩
⟨36 unchanged words⟩ , watermarks, or memes with specific embedded text. Results exclude images classified controversial unless include_controversial is true.
{"properties":{"include_controversial":{"description":"Include images classified controversial (excluded by default).","type":"boolean"},"limit":{"description":"Results per page ( ⟨26 unchanged words⟩
⟨578 unchanged words⟩ ,"plain"],"type":"object"},"controversial":{"description":"True when MemeStack classifies the image as controversial (likely to offend or divide a general audience). The list tools exclude such images unless include_controversial is true; by-id tools always answer and carry this flag. Absent when the API answer predates the flag.","type":"boolean"},"created_at":{"description":"ISO 8601 creation timestamp. ⟨131 unchanged words⟩
⟨108 unchanged words⟩ "AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset.","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"source":{"description":"Upstream source key, e.g. \"owid\".","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream.","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — ⟨290 unchanged words⟩
⟨82 unchanged words⟩ "AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset.","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"source":{"description":"Upstream source key, e.g. \"owid\".","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream.","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — ⟨270 unchanged words⟩
⟨83 unchanged words⟩ "AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset.","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"source":{"description":"Upstream source key, e.g. \"owid\".","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream.","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — ⟨260 unchanged words⟩
⟨92 unchanged words⟩ "AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset.","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"source":{"description":"Upstream source key, e.g. \"owid\".","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream.","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — ⟨279 unchanged words⟩
⟨92 unchanged words⟩ "AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset.","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"source":{"description":"Upstream source key, e.g. \"owid\".","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream.","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — ⟨279 unchanged words⟩
⟨8 unchanged words⟩ using AI (Grok Imagine). Paid tool—- billed per call via the agent payment rails ⟨36 unchanged words⟩ with the SAME payment proof to resume polling—- you will never be charged twice for one ⟨8 unchanged words⟩ exceeds the agents-SDK default per-call cap of $0.10—- raise maxPaymentValue in withX402Client to use it.
⟨21 unchanged words⟩ "mode":{"description":"Generation quality tier—- \"standard\" (default, cheaper) or \ ⟨32 unchanged words⟩
⟨31 unchanged words⟩ "AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset.","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"source":{"description":"Upstream source key, e.g. \"owid\".","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream.","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — ⟨315 unchanged words⟩
⟨96 unchanged words⟩ "AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset.","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"source":{"description":"Upstream source key, e.g. \"owid\".","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream.","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — ⟨329 unchanged words⟩
before
{"additionalProperties":true,"description":"A meme-evolution group: the dominant image plus its variants.","properties":{"citations_combined":{"additionalProperties":false,"description":"Combined attribution for all images in this response, in three formats.","properties":{"html":{"description":"Numbered attribution list as HTML.","type":"string"},"markdown":{"description":"Numbered attribution list as Markdown.","type":"string"},"plain":{"description":"Numbered attribution list as plain text.","type":"string"}},"required":["markdown","html","plain"],"type":"object"},"dominant":{"additionalProperties":true,"description":"A gallery image (full detail) with OCR text, dimensions, and attribution.","properties":{"alt_text":{"description":"Accessible alt text.","type":"string"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"caption":{"description":"AI-generated caption.","type":"string"},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"attribution_recommended":{"description":"Always true — attribution is recommended.","type":"boolean"},"attribution_required":{"description":"True only when the license requires attribution (OWID).","type":"boolean"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"html":{"description":"Attribution as HTML.","type":"string"},"markdown":{"description":"Attribution as Markdown.","type":"string"},"page_url":{"description":"Canonical MemeStack gallery page for the image.","type":"string"},"plain":{"description":"Attribution as plain text.","type":"string"},"site":{"description":"Always \"MemeStack\".","type":"string"},"site_url":{"description":"The MemeStack site URL.","type":"string"},"source_external_url":{"description":"External source URL (set only for OWID-sourced images).","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null.","type":["string","null"]},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null when absent/withheld.","type":["string","null"]}},"required":["site","page_url","markdown","html","plain"],"type":"object"},"created_at":{"description":"ISO 8601 creation timestamp.","type":"string"},"free_tags":{"description":"Free-form tag slugs.","items":{"type":"string"},"type":"array"},"height":{"description":"Original height in pixels.","type":"number"},"id":{"description":"Image UUID.","type":"string"},"like_count":{"description":"Number of likes.","type":"number"},"meme_template_name":{"description":"Recognised meme template, if any.","type":["string","null"]},"mime_type":{"description":"Image MIME type.","type":"string"},"page_url":{"description":"MemeStack gallery page URL.","type":"string"},"quality_score":{"description":"AI quality score (1-10).","type":"number"},"save_count":{"description":"Number of saves.","type":"number"},"size":{"description":"File size in bytes.","type":"number"},"tags":{"description":"Topic tag slugs.","items":{"type":"string"},"type":"array"},"text_in_image":{"description":"OCR transcription of any text in the image.","type":["string","null"]},"thumb_height":{"description":"Thumbnail height in pixels.","type":"number"},"thumb_width":{"description":"Thumbnail width in pixels.","type":"number"},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"updated_at":{"description":"ISO 8601 last-updated timestamp.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null.","type":["string","null"]},"width":{"description":"Original width in pixels.","type":"number"},"zap_count":{"description":"Number of Lightning zaps.","type":"number"},"zap_total_sats":{"description":"Total sats zapped.","type":"number"}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"type":"object"},"total_variants":{"description":"Number of variants.","type":"number"},"variants":{"description":"Variant images in the group.","items":{"additionalProperties":true,"description":"A gallery image (lean list fields) with attribution.","properties":{"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"caption":{"description":"AI-generated caption.","type":"string"},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"attribution_recommended":{"description":"Always true — attribution is recommended.","type":"boolean"},"attribution_required":{"description":"True only when the license requires attribution (OWID).","type":"boolean"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"html":{"description":"Attribution as HTML.","type":"string"},"markdown":{"description":"Attribution as Markdown.","type":"string"},"page_url":{"description":"Canonical MemeStack gallery page for the image.","type":"string"},"plain":{"description":"Attribution as plain text.","type":"string"},"site":{"description":"Always \"MemeStack\".","type":"string"},"site_url":{"description":"The MemeStack site URL.","type":"string"},"source_external_url":{"description":"External source URL (set only for OWID-sourced images).","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null.","type":["string","null"]},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null when absent/withheld.","type":["string","null"]}},"required":["site","page_url","markdown","html","plain"],"type":"object"},"created_at":{"description":"ISO 8601 creation timestamp.","type":"string"},"free_tags":{"description":"Free-form tag slugs.","items":{"type":"string"},"type":"array"},"height":{"description":"Original height in pixels.","type":"number"},"id":{"description":"Image UUID.","type":"string"},"like_count":{"description":"Number of likes.","type":"number"},"meme_template_name":{"description":"Recognised meme template, if any.","type":["string","null"]},"page_url":{"description":"MemeStack gallery page URL.","type":"string"},"save_count":{"description":"Number of saves.","type":"number"},"tags":{"description":"Topic tag slugs.","items":{"type":"string"},"type":"array"},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null.","type":["string","null"]},"width":{"description":"Original width in pixels.","type":"number"},"zap_count":{"description":"Number of Lightning zaps.","type":"number"},"zap_total_sats":{"description":"Total sats zapped.","type":"number"}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"type":"object"},"type":"array"}},"required":["dominant","variants"],"type":"object"}after
{"additionalProperties":true,"description":"A meme-evolution group: the dominant image plus its variants.","properties":{"citations_combined":{"additionalProperties":false,"description":"Combined attribution for all images in this response, in three formats.","properties":{"html":{"description":"Numbered attribution list as HTML.","type":"string"},"markdown":{"description":"Numbered attribution list as Markdown.","type":"string"},"plain":{"description":"Numbered attribution list as plain text.","type":"string"}},"required":["markdown","html","plain"],"type":"object"},"dominant":{"additionalProperties":true,"description":"A gallery image (full detail) with OCR text, dimensions, and attribution.","properties":{"alt_text":{"description":"Accessible alt text.","type":"string"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"caption":{"description":"AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset.","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"source":{"description":"Upstream source key, e.g. \"owid\".","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream.","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — attribution is recommended.","type":"boolean"},"attribution_required":{"description":"True only when the license requires attribution (OWID).","type":"boolean"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"html":{"description":"Attribution as HTML.","type":"string"},"markdown":{"description":"Attribution as Markdown.","type":"string"},"page_url":{"description":"Canonical MemeStack gallery page for the image.","type":"string"},"plain":{"description":"Attribution as plain text.","type":"string"},"site":{"description":"Always \"MemeStack\".","type":"string"},"site_url":{"description":"The MemeStack site URL.","type":"string"},"source_external_url":{"description":"External source URL (set only for OWID-sourced images).","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null.","type":["string","null"]},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null when absent/withheld.","type":["string","null"]}},"required":["site","page_url","markdown","html","plain"],"type":"object"},"created_at":{"description":"ISO 8601 creation timestamp.","type":"string"},"free_tags":{"description":"Free-form tag slugs.","items":{"type":"string"},"type":"array"},"height":{"description":"Original height in pixels.","type":"number"},"id":{"description":"Image UUID.","type":"string"},"like_count":{"description":"Number of likes.","type":"number"},"meme_template_name":{"description":"Recognised meme template, if any.","type":["string","null"]},"mime_type":{"description":"Image MIME type.","type":"string"},"page_url":{"description":"MemeStack gallery page URL.","type":"string"},"quality_score":{"description":"AI quality score (1-10).","type":"number"},"save_count":{"description":"Number of saves.","type":"number"},"size":{"description":"File size in bytes.","type":"number"},"tags":{"description":"Topic tag slugs.","items":{"type":"string"},"type":"array"},"text_in_image":{"description":"OCR transcription of any text in the image.","type":["string","null"]},"thumb_height":{"description":"Thumbnail height in pixels.","type":"number"},"thumb_width":{"description":"Thumbnail width in pixels.","type":"number"},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"updated_at":{"description":"ISO 8601 last-updated timestamp.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null.","type":["string","null"]},"width":{"description":"Original width in pixels.","type":"number"},"zap_count":{"description":"Number of Lightning zaps.","type":"number"},"zap_total_sats":{"description":"Total sats zapped.","type":"number"}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"type":"object"},"total_variants":{"description":"Number of variants.","type":"number"},"variants":{"description":"Variant images in the group.","items":{"additionalProperties":true,"description":"A gallery image (lean list fields) with attribution.","properties":{"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"caption":{"description":"AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset.","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"source":{"description":"Upstream source key, e.g. \"owid\".","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream.","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — attribution is recommended.","type":"boolean"},"attribution_required":{"description":"True only when the license requires attribution (OWID).","type":"boolean"},"canonical_url":{"description":"Full-resolution image URL.","type":"string"},"html":{"description":"Attribution as HTML.","type":"string"},"markdown":{"description":"Attribution as Markdown.","type":"string"},"page_url":{"description":"Canonical MemeStack gallery page for the image.","type":"string"},"plain":{"description":"Attribution as plain text.","type":"string"},"site":{"description":"Always \"MemeStack\".","type":"string"},"site_url":{"description":"The MemeStack site URL.","type":"string"},"source_external_url":{"description":"External source URL (set only for OWID-sourced images).","type":["string","null"]},"source_origin":{"description":"Origin: 'owid' | 'imgflip' | '4chan' | 'telegram' | 'generated' | 'unknown' | null.","type":["string","null"]},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null when absent/withheld.","type":["string","null"]}},"required":["site","page_url","markdown","html","plain"],"type":"object"},"created_at":{"description":"ISO 8601 creation timestamp.","type":"string"},"free_tags":{"description":"Free-form tag slugs.","items":{"type":"string"},"type":"array"},"height":{"description":"Original height in pixels.","type":"number"},"id":{"description":"Image UUID.","type":"string"},"like_count":{"description":"Number of likes.","type":"number"},"meme_template_name":{"description":"Recognised meme template, if any.","type":["string","null"]},"page_url":{"description":"MemeStack gallery page URL.","type":"string"},"save_count":{"description":"Number of saves.","type":"number"},"tags":{"description":"Topic tag slugs.","items":{"type":"string"},"type":"array"},"thumbnail_url":{"description":"Thumbnail image URL.","type":"string"},"uploader_display_name":{"description":"Uploader name, or null.","type":["string","null"]},"width":{"description":"Original width in pixels.","type":"number"},"zap_count":{"description":"Number of Lightning zaps.","type":"number"},"zap_total_sats":{"description":"Total sats zapped.","type":"number"}},"required":["id","thumbnail_url","canonical_url","page_url","citation"],"type":"object"},"type":"array"}},"required":["dominant","variants"],"type":"object"}⟨9 unchanged words⟩ count. (Time-period filtering is not yet supported—- tag usage is currently counted across the full ⟨4 unchanged words⟩
⟨132 unchanged words⟩ "AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset.","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"source":{"description":"Upstream source key, e.g. \"owid\".","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream.","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — ⟨278 unchanged words⟩
⟨44 unchanged words⟩ },"query":{"description":"Search query—- combines semantic AI and keyword matching automatically. Alias ⟨39 unchanged words⟩ by multiple tag slugs (comma-separated, AND logic—- e.g. \"bitcoin,meme\")","type": ⟨5 unchanged words⟩
⟨80 unchanged words⟩ "AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset.","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"source":{"description":"Upstream source key, e.g. \"owid\".","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream.","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — ⟨270 unchanged words⟩
⟨10 unchanged words⟩ them (OCR). Different from regular search—- only matches the text_in_image field, not captions ⟨18 unchanged words⟩
⟨82 unchanged words⟩ "AI-generated caption.","type":"string"},"chart":{"additionalProperties":true,"description":"Structured source metadata for a chart, map or infographic, present only when MemeStack holds a record for this image (an image_chart_meta row). Absent or null means no stored metadata - never a signal that the image is not a chart.","properties":{"citation_long":{"description":"Full academic citation for the upstream dataset.","type":["string","null"]},"citation_short":{"description":"Short attribution line for the upstream dataset.","type":["string","null"]},"dataset_timespan":{"additionalProperties":true,"description":"The underlying dataset's own history - display-only context, NOT the period this chart shows (see rendered_period). Never usable as a date filter.","properties":{"end":{"description":"Latest year in the dataset, when known.","type":["number","null"]},"raw":{"description":"The dataset timespan as published upstream, verbatim.","type":["string","null"]},"start":{"description":"Earliest year in the dataset, when known.","type":["number","null"]}},"type":["object","null"]},"provenance":{"description":"How this metadata was captured: read from the source's own structured feed ('authoritative'), or read off the chart image itself ('extracted').","enum":["authoritative","extracted"],"type":"string"},"regions":{"description":"Entities plotted, exactly as the chart names them (e.g. \"World\", \"Germany\").","items":{"type":"string"},"type":"array"},"rendered_period":{"additionalProperties":true,"description":"The period the chart PROVABLY displays, grounded in its own OCR text - null when no period could be proven. Never a guess, and never the wider history in dataset_timespan.","properties":{"end":{"description":"Last year the chart displays.","type":"number"},"evidence":{"description":"OCR substring the period was grounded on.","type":"string"},"start":{"description":"First year the chart displays.","type":"number"}},"type":["object","null"]},"source":{"description":"Upstream source key, e.g. \"owid\".","type":"string"},"source_url":{"description":"Canonical URL for the chart at its upstream source.","type":["string","null"]},"superseded":{"description":"True when the upstream source has published data newer than this snapshot.","type":"boolean"},"title":{"description":"Chart title as published upstream.","type":["string","null"]},"unit":{"description":"Measurement unit, when the underlying indicators agree on one.","type":["string","null"]}},"type":["object","null"]},"citation":{"additionalProperties":true,"description":"Ready-to-paste attribution for this image in three formats, plus source metadata.","properties":{"academic_citation":{"description":"Full upstream academic citation, present only when the image has stored chart metadata with one.","type":"string"},"attribution_recommended":{"description":"Always true — ⟨270 unchanged words⟩
Submit an image to the MemeStack review queue. Paid tool—- 100 sats (or USDC equivalent) per submission ⟨20 unchanged words⟩ the submission (duplicate, nsfw/spam, low quality)—- the fee is the anti-spam mechanism. Accepted images ⟨22 unchanged words⟩ hints shown to the AI tagger and moderators—- never published verbatim. If the call fails or times out, retry with the SAME payment proof to resume—- one payment delivers at most one submission and ⟨35 unchanged words⟩ cap of $0.10 whenever BTC trades above $100k—- raise maxPaymentValue in withX402Client if payment is refused client-side.
⟨17 unchanged words⟩ or to discover related tags. Prefix must be≥>= 2 characters.
⟨11 unchanged words⟩ :{"description":"Tag prefix to autocomplete (≥>= 2 characters), e.g. \"bit\"→-> \"bitcoin\".","minLength":2,"type ⟨5 unchanged words⟩
Search charts, maps and infographics that carry structured source metadata - the publishing dataset and its academic citation, the unit, the regions plotted, and the period the chart actually displays (never the dataset's wider history). Results say whether the source has published newer data since the image was captured. browse_by_tag, browse_by_category, get_leaderboard and get_mutation_group return images WITHOUT this metadata; the other search and image tools include it whenever a row exists. This tool covers only images that HAVE stored metadata, so use search_images for the widest chart…