<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog posts on EPH</title><link>https://ericphanson.com/blog/</link><description>Recent content in Blog posts on EPH</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://ericphanson.com/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Costa Rica photos</title><link>https://ericphanson.com/blog/2026/costa-rica-photos/</link><pubDate>Sun, 15 Feb 2026 00:00:00 +0000</pubDate><guid>https://ericphanson.com/blog/2026/costa-rica-photos/</guid><description>&lt;p>I visited family in Costa Rica and got to see tons of cool animals and birds. Pretty happy with how some of these came out! Was also very excited to see some night herons, I have not been able to find any in Madrid, although supposedly they are around.&lt;/p>
&lt;link rel="stylesheet" href="https://ericphanson.com/photos/app.css">
 &lt;script>
 (function() {
 if (window.__photoAppClickGuardBound) {
 return;
 }

 document.addEventListener("click", function(event) {
 if (event.defaultPrevented) {
 return;
 }

 if (event.button !== 0) {
 return;
 }

 if (event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) {
 return;
 }

 var target = event.target;
 if (!target || typeof target.closest !== "function") {
 return;
 }

 var link = target.closest(".react-photo-gallery .photo-gallery-item");
 if (!link) {
 return;
 }

 var root = link.closest("[data-photo-app-root]");
 if (!root || root.getAttribute("data-photo-app-hydrated") === "1") {
 return;
 }

 var photoIndex = link.getAttribute("data-photo-index");
 if (!photoIndex) {
 return;
 }

 event.preventDefault();
 root.setAttribute("data-photo-app-pending-index", photoIndex);
 }, true);

 window.__photoAppClickGuardBound = true;
 })();
 &lt;/script>
 &lt;script type="module" src="https://ericphanson.com/photos/app.js">&lt;/script>&lt;div class="react-photo-gallery" data-photo-app-root>
 &lt;div class="photo-gallery" data-gallery="2025-costa-rica">&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1049874-9D212E08-2400.jpg" class="photo-gallery-item" data-photo-index="0">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049874-9D212E08-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049874-9D212E08-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049874-9D212E08-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049874-9D212E08-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1049874-9D212E08-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049874-9D212E08-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049874-9D212E08-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1049827-ECF576E7-2400.jpg" class="photo-gallery-item" data-photo-index="1">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049827-ECF576E7-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049827-ECF576E7-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049827-ECF576E7-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049827-ECF576E7-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1049827-ECF576E7-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049827-ECF576E7-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049827-ECF576E7-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1049602-581FAFFE-1375.jpg" class="photo-gallery-item" data-photo-index="2">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049602-581FAFFE-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049602-581FAFFE-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049602-581FAFFE-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049602-581FAFFE-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1049602-581FAFFE-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049602-581FAFFE-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049602-581FAFFE-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1049581-B6C3E666-2400.jpg" class="photo-gallery-item" data-photo-index="3">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049581-B6C3E666-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049581-B6C3E666-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049581-B6C3E666-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049581-B6C3E666-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1049581-B6C3E666-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049581-B6C3E666-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049581-B6C3E666-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1049570-9396C637-2308.jpg" class="photo-gallery-item" data-photo-index="4">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049570-9396C637-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049570-9396C637-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049570-9396C637-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049570-9396C637-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1049570-9396C637-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049570-9396C637-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049570-9396C637-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1049559-9B7A6DB0-2400.jpg" class="photo-gallery-item" data-photo-index="5">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049559-9B7A6DB0-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049559-9B7A6DB0-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049559-9B7A6DB0-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049559-9B7A6DB0-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1049559-9B7A6DB0-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049559-9B7A6DB0-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049559-9B7A6DB0-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1049531-FFEC8912-2400.jpg" class="photo-gallery-item" data-photo-index="6">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049531-FFEC8912-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049531-FFEC8912-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049531-FFEC8912-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049531-FFEC8912-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1049531-FFEC8912-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049531-FFEC8912-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049531-FFEC8912-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1049512-41028B98-2400.jpg" class="photo-gallery-item" data-photo-index="7">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049512-41028B98-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049512-41028B98-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049512-41028B98-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049512-41028B98-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1049512-41028B98-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049512-41028B98-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049512-41028B98-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1049503-DBEB4859-1839.jpg" class="photo-gallery-item" data-photo-index="8">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049503-DBEB4859-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049503-DBEB4859-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049503-DBEB4859-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049503-DBEB4859-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1049503-DBEB4859-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049503-DBEB4859-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049503-DBEB4859-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/IMG_5723-779BB3A3-2371.jpg" class="photo-gallery-item" data-photo-index="9">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/IMG_5723-779BB3A3-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/IMG_5723-779BB3A3-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/IMG_5723-779BB3A3-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/IMG_5723-779BB3A3-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/IMG_5723-779BB3A3-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/IMG_5723-779BB3A3-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/IMG_5723-779BB3A3-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1049496-328CB1A6-2400.jpg" class="photo-gallery-item" data-photo-index="10">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049496-328CB1A6-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049496-328CB1A6-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049496-328CB1A6-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049496-328CB1A6-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1049496-328CB1A6-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049496-328CB1A6-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049496-328CB1A6-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1049484-E59468DB-2400.jpg" class="photo-gallery-item" data-photo-index="11">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049484-E59468DB-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049484-E59468DB-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049484-E59468DB-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049484-E59468DB-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1049484-E59468DB-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1049484-E59468DB-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1049484-E59468DB-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1039446-179F6076-2400.jpg" class="photo-gallery-item" data-photo-index="12">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039446-179F6076-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039446-179F6076-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039446-179F6076-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039446-179F6076-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1039446-179F6076-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039446-179F6076-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039446-179F6076-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1039439-53303170-2400.jpg" class="photo-gallery-item" data-photo-index="13">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039439-53303170-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039439-53303170-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039439-53303170-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039439-53303170-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1039439-53303170-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039439-53303170-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039439-53303170-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1039429-0299F488-2400.jpg" class="photo-gallery-item" data-photo-index="14">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039429-0299F488-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039429-0299F488-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039429-0299F488-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039429-0299F488-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1039429-0299F488-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039429-0299F488-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039429-0299F488-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1039428-B65C4EDF-2400.jpg" class="photo-gallery-item" data-photo-index="15">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039428-B65C4EDF-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039428-B65C4EDF-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039428-B65C4EDF-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039428-B65C4EDF-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1039428-B65C4EDF-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039428-B65C4EDF-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039428-B65C4EDF-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1039401-6AD35ED9-2400.jpg" class="photo-gallery-item" data-photo-index="16">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039401-6AD35ED9-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039401-6AD35ED9-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039401-6AD35ED9-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039401-6AD35ED9-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1039401-6AD35ED9-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039401-6AD35ED9-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039401-6AD35ED9-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1039310-BC82A799-2400.jpg" class="photo-gallery-item" data-photo-index="17">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039310-BC82A799-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039310-BC82A799-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039310-BC82A799-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039310-BC82A799-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1039310-BC82A799-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039310-BC82A799-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039310-BC82A799-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1039274-7BC2BDC5-2400.jpg" class="photo-gallery-item" data-photo-index="18">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039274-7BC2BDC5-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039274-7BC2BDC5-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039274-7BC2BDC5-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039274-7BC2BDC5-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1039274-7BC2BDC5-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039274-7BC2BDC5-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039274-7BC2BDC5-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1039197-B6B294F4-2400.jpg" class="photo-gallery-item" data-photo-index="19">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039197-B6B294F4-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039197-B6B294F4-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039197-B6B294F4-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039197-B6B294F4-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1039197-B6B294F4-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039197-B6B294F4-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039197-B6B294F4-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1039075-6AFBC849-2400.jpg" class="photo-gallery-item" data-photo-index="20">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039075-6AFBC849-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039075-6AFBC849-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039075-6AFBC849-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039075-6AFBC849-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1039075-6AFBC849-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039075-6AFBC849-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039075-6AFBC849-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1039042-E1BDD7E2-2400.jpg" class="photo-gallery-item" data-photo-index="21">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039042-E1BDD7E2-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039042-E1BDD7E2-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039042-E1BDD7E2-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039042-E1BDD7E2-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1039042-E1BDD7E2-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039042-E1BDD7E2-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039042-E1BDD7E2-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1039015-F82312FB-2400.jpg" class="photo-gallery-item" data-photo-index="22">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039015-F82312FB-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039015-F82312FB-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039015-F82312FB-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039015-F82312FB-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1039015-F82312FB-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1039015-F82312FB-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1039015-F82312FB-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038981-3400DE87-2400.jpg" class="photo-gallery-item" data-photo-index="23">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038981-3400DE87-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038981-3400DE87-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038981-3400DE87-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038981-3400DE87-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038981-3400DE87-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038981-3400DE87-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038981-3400DE87-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038968-8DD24A83-2400.jpg" class="photo-gallery-item" data-photo-index="24">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038968-8DD24A83-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038968-8DD24A83-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038968-8DD24A83-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038968-8DD24A83-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038968-8DD24A83-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038968-8DD24A83-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038968-8DD24A83-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038951-0B768196-2400.jpg" class="photo-gallery-item" data-photo-index="25">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038951-0B768196-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038951-0B768196-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038951-0B768196-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038951-0B768196-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038951-0B768196-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038951-0B768196-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038951-0B768196-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038932-549DCCB3-2044.jpg" class="photo-gallery-item" data-photo-index="26">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038932-549DCCB3-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038932-549DCCB3-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038932-549DCCB3-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038932-549DCCB3-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038932-549DCCB3-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038932-549DCCB3-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038932-549DCCB3-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038907-49A4122D-2400.jpg" class="photo-gallery-item" data-photo-index="27">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038907-49A4122D-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038907-49A4122D-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038907-49A4122D-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038907-49A4122D-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038907-49A4122D-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038907-49A4122D-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038907-49A4122D-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038898-DCEAEF00-2400.jpg" class="photo-gallery-item" data-photo-index="28">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038898-DCEAEF00-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038898-DCEAEF00-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038898-DCEAEF00-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038898-DCEAEF00-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038898-DCEAEF00-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038898-DCEAEF00-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038898-DCEAEF00-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038893-3A86C411-2400.jpg" class="photo-gallery-item" data-photo-index="29">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038893-3A86C411-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038893-3A86C411-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038893-3A86C411-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038893-3A86C411-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038893-3A86C411-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038893-3A86C411-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038893-3A86C411-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038886-0A0EFB80-2400.jpg" class="photo-gallery-item" data-photo-index="30">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038886-0A0EFB80-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038886-0A0EFB80-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038886-0A0EFB80-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038886-0A0EFB80-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038886-0A0EFB80-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038886-0A0EFB80-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038886-0A0EFB80-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038864-A0A4E579-2400.jpg" class="photo-gallery-item" data-photo-index="31">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038864-A0A4E579-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038864-A0A4E579-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038864-A0A4E579-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038864-A0A4E579-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038864-A0A4E579-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038864-A0A4E579-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038864-A0A4E579-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038846-3B687FC6-2400.jpg" class="photo-gallery-item" data-photo-index="32">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038846-3B687FC6-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038846-3B687FC6-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038846-3B687FC6-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038846-3B687FC6-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038846-3B687FC6-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038846-3B687FC6-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038846-3B687FC6-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038831-88CB35DC-2400.jpg" class="photo-gallery-item" data-photo-index="33">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038831-88CB35DC-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038831-88CB35DC-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038831-88CB35DC-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038831-88CB35DC-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038831-88CB35DC-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038831-88CB35DC-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038831-88CB35DC-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038807-52A8819C-2400.jpg" class="photo-gallery-item" data-photo-index="34">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038807-52A8819C-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038807-52A8819C-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038807-52A8819C-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038807-52A8819C-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038807-52A8819C-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038807-52A8819C-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038807-52A8819C-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038801-7C6C20CF-2400.jpg" class="photo-gallery-item" data-photo-index="35">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038801-7C6C20CF-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038801-7C6C20CF-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038801-7C6C20CF-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038801-7C6C20CF-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038801-7C6C20CF-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038801-7C6C20CF-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038801-7C6C20CF-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038751-76805FBF-2400.jpg" class="photo-gallery-item" data-photo-index="36">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038751-76805FBF-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038751-76805FBF-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038751-76805FBF-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038751-76805FBF-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038751-76805FBF-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038751-76805FBF-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038751-76805FBF-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038747-83C11460-2400.jpg" class="photo-gallery-item" data-photo-index="37">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038747-83C11460-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038747-83C11460-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038747-83C11460-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038747-83C11460-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038747-83C11460-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038747-83C11460-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038747-83C11460-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038720-F2854121-2400.jpg" class="photo-gallery-item" data-photo-index="38">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038720-F2854121-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038720-F2854121-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038720-F2854121-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038720-F2854121-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038720-F2854121-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038720-F2854121-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038720-F2854121-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038719-C7DA6607-2400.jpg" class="photo-gallery-item" data-photo-index="39">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038719-C7DA6607-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038719-C7DA6607-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038719-C7DA6607-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038719-C7DA6607-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038719-C7DA6607-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038719-C7DA6607-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038719-C7DA6607-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038713-C5443AC3-2400.jpg" class="photo-gallery-item" data-photo-index="40">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038713-C5443AC3-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038713-C5443AC3-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038713-C5443AC3-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038713-C5443AC3-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038713-C5443AC3-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038713-C5443AC3-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038713-C5443AC3-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038681-AE4CBB27-2400.jpg" class="photo-gallery-item" data-photo-index="41">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038681-AE4CBB27-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038681-AE4CBB27-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038681-AE4CBB27-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038681-AE4CBB27-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038681-AE4CBB27-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038681-AE4CBB27-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038681-AE4CBB27-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038674-50CE8A78-2400.jpg" class="photo-gallery-item" data-photo-index="42">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038674-50CE8A78-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038674-50CE8A78-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038674-50CE8A78-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038674-50CE8A78-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038674-50CE8A78-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038674-50CE8A78-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038674-50CE8A78-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038658-C384C879-2400.jpg" class="photo-gallery-item" data-photo-index="43">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038658-C384C879-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038658-C384C879-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038658-C384C879-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038658-C384C879-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038658-C384C879-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038658-C384C879-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038658-C384C879-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038636-5CE3E0D3-2400.jpg" class="photo-gallery-item" data-photo-index="44">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038636-5CE3E0D3-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038636-5CE3E0D3-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038636-5CE3E0D3-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038636-5CE3E0D3-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038636-5CE3E0D3-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038636-5CE3E0D3-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038636-5CE3E0D3-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038616-9C0D7B3B-2400.jpg" class="photo-gallery-item" data-photo-index="45">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038616-9C0D7B3B-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038616-9C0D7B3B-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038616-9C0D7B3B-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038616-9C0D7B3B-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038616-9C0D7B3B-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038616-9C0D7B3B-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038616-9C0D7B3B-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038600-73CA61EE-2400.jpg" class="photo-gallery-item" data-photo-index="46">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038600-73CA61EE-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038600-73CA61EE-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038600-73CA61EE-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038600-73CA61EE-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038600-73CA61EE-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038600-73CA61EE-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038600-73CA61EE-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038586-12777E13-1537.jpg" class="photo-gallery-item" data-photo-index="47">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038586-12777E13-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038586-12777E13-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038586-12777E13-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038586-12777E13-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038586-12777E13-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038586-12777E13-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038586-12777E13-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038573-E0BEA982-2400.jpg" class="photo-gallery-item" data-photo-index="48">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038573-E0BEA982-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038573-E0BEA982-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038573-E0BEA982-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038573-E0BEA982-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038573-E0BEA982-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038573-E0BEA982-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038573-E0BEA982-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;a href="https://eph-photos.b-cdn.net/photos/2025/12/P1038567-1C60BA0F-2400.jpg" class="photo-gallery-item" data-photo-index="49">
 &lt;picture>&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038567-1C60BA0F-480.jxl 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038567-1C60BA0F-800.jxl 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/jxl">&lt;source srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038567-1C60BA0F-480.avif 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038567-1C60BA0F-800.avif 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px" type="image/avif">&lt;img
 src="https://eph-photos.b-cdn.net/photos/2025/12/P1038567-1C60BA0F-800.jpg" srcset="https://eph-photos.b-cdn.net/photos/2025/12/P1038567-1C60BA0F-480.jpg 480w, https://eph-photos.b-cdn.net/photos/2025/12/P1038567-1C60BA0F-800.jpg 800w" sizes="(min-width: 768px) 300px, (min-width: 640px) 200px, 150px"
 alt=""
 decoding="async"
 loading="lazy">
 &lt;/picture>
 &lt;/a>&lt;/div>&lt;script type="application/json" data-photo-app-config>"{\"enableUrlState\":true,\"initialPhotos\":[{\"apple_photos\":{\"ai_caption\":\"a bird with a long beak perched on a tree branch\",\"labels\":[\"Animal\",\"Beak\",\"Bird\",\"Branch\",\"Plant\",\"Toucan\"],\"uuid\":\"9D212E08-349F-4A77-8B63-C9B540CE8AAB\"},\"cdn_base_path\":\"photos/2025/12/P1049874-9D212E08\",\"date\":\"2025-12-27T23:08:01.616000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A toucan perches on a light-gray tree branch, showcasing its vibrant orange and black beak and colorful plumage of red, yellow, and black against a blurred green forest background.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"bird\",\"branch\",\"tree\",\"leaf\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T21:00:41.570725\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9851314425468445,\"timestamp\":\"2026-02-15T20:57:54.656644\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":80,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.01633,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Small toucan (aracari) with black head, chestnut nape collar, yellow underparts with central dark spot and red belly band, red rump, and bicolored bill; field marks and Costa Rica range fit Collared Aracari rather than Fiery-billed.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Pteroglossus torquatus\",\"species_binomial\":\"Pteroglossus torquatus\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T19:56:59.746448+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":1527,\"total_tokens\":2375},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Fiery-billed aracari\",\"family\":\"Ramphastidae\",\"genus\":\"Pteroglossus\",\"kingdom\":\"Animalia\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.9827457666397095,\"species\":\"Pteroglossus frantzii\",\"species_epithet\":\"frantzii\"},{\"class\":\"Aves\",\"common_name\":\"Western red-necked araçari\",\"family\":\"Ramphastidae\",\"genus\":\"Pteroglossus\",\"kingdom\":\"Animalia\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0036386982537806034,\"species\":\"Pteroglossus sturmii\",\"species_epithet\":\"sturmii\"},{\"class\":\"Aves\",\"common_name\":\"Stripe-billed Aracari\",\"family\":\"Ramphastidae\",\"genus\":\"Pteroglossus\",\"kingdom\":\"Animalia\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0031283891294151545,\"species\":\"Pteroglossus sanguineus\",\"species_epithet\":\"sanguineus\"},{\"class\":\"Aves\",\"common_name\":\"Brown-mandibled aracari\",\"family\":\"Ramphastidae\",\"genus\":\"Pteroglossus\",\"kingdom\":\"Animalia\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0020998844411224127,\"species\":\"Pteroglossus mariae\",\"species_epithet\":\"mariae\"},{\"class\":\"Aves\",\"common_name\":\"Chestnut-eared aracari\",\"family\":\"Ramphastidae\",\"genus\":\"Pteroglossus\",\"kingdom\":\"Animalia\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.001085324096493423,\"species\":\"Pteroglossus castanotis\",\"species_epithet\":\"castanotis\"},{\"class\":\"Aves\",\"common_name\":\"Curl-crested aracari\",\"family\":\"Ramphastidae\",\"genus\":\"Pteroglossus\",\"kingdom\":\"Animalia\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0008867623982951045,\"species\":\"Pteroglossus beauharnaesii\",\"species_epithet\":\"beauharnaesii\"}],\"class\":\"Aves\",\"common_name\":\"Fiery-billed aracari\",\"embedding_key\":\"P1049874-9D212E08\",\"family\":\"Ramphastidae\",\"genus\":\"Pteroglossus\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.9827457666397095,\"species\":\"Pteroglossus frantzii\",\"species_epithet\":\"frantzii\",\"timestamp\":\"2026-02-15T20:57:39.790049\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"original_filename\":\"P1049874.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T19:54:34.902203+00:00\"},\"photos_uuid\":\"9D212E08-349F-4A77-8B63-C9B540CE8AAB\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T20:04:10.899935+00:00\",\"reviewed_value_hash\":\"sha256:f562df51935451c1c12dcb3e47f2e1be5288d4abfd009b2a302db99ce372630b\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"},\"taxonomy\":{\"approved_at\":\"2026-02-15T20:04:08.596437+00:00\",\"reviewed_value_hash\":\"sha256:7c570a99ac97ea3e3476d7df38a783a19cb1cbb6724bf0e41857c7020f2340ee\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"9288d3d6557331ad\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.921041\"}},\"format\":\"avif\",\"sha256\":\"74a0a617005548f1959231ecf31af730e0f8782eb8d4c39f6b518844d6daad35\",\"size\":480,\"size_bytes\":27671},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"9288d3d6557331ad\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.933350\"}},\"format\":\"jpg\",\"sha256\":\"a5b618642ed9fe223bdeaae7f83d5693e12c6ee4ee16026cdfce16cf35e799e9\",\"size\":480,\"size_bytes\":49323},{\"format\":\"jxl\",\"sha256\":\"d01a8ffc7be02c0e60f424fb0aa49639dd48cbcda7b07011e87485e953977162\",\"size\":480,\"size_bytes\":29112},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"9288d3d6557331ad\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.893231\"}},\"format\":\"avif\",\"sha256\":\"f417fd2aa71c5dcb1793b48194a29add3ce1dd98a32428431348ca1d3650bd54\",\"size\":800,\"size_bytes\":52297},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"9288d3d6557331ad\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.894530\"}},\"format\":\"jpg\",\"sha256\":\"50513644171748fd647f15e7fbaf41dd0087ea11b67bfd508d62a9aebdca1356\",\"size\":800,\"size_bytes\":106861},{\"format\":\"jxl\",\"sha256\":\"225ccf9410191cdc717e1d89ac2e0ebb05aa5dcd6490c175bd17baff8122b15a\",\"size\":800,\"size_bytes\":60796},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"9288d3d6557331ad\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.956527\"}},\"format\":\"avif\",\"sha256\":\"b711f962cf71511e0eee6a1f1b6d188215cada5dc8ca0cb87c16d26282c1f2d5\",\"size\":2400,\"size_bytes\":417103},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"9288d3d6557331ad\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.963655\"}},\"format\":\"jpg\",\"sha256\":\"f95b3775ee2256f685a58c6eba50f39bfe0076a95e22c2fa7fc9205d1737ecf0\",\"size\":2400,\"size_bytes\":755412},{\"format\":\"jxl\",\"sha256\":\"72a1887aa667555280c7f46c4fec5501892bfa1814e56f739201a170b4114b0d\",\"size\":2400,\"size_bytes\":472611},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"9288d3d6557331ad\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:22.013448\"}},\"format\":\"avif\",\"sha256\":\"596eb1fd44a2942a584d163d7f7feab9cd59dce43c48428851f1bc2e05560c48\",\"size\":3840,\"size_bytes\":986582},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"9288d3d6557331ad\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:22.000348\"}},\"format\":\"jpg\",\"sha256\":\"7a737489820d2091fb15e3c14d7629720e51239c0ca6c31f26bbfb5e9696a493\",\"size\":3840,\"size_bytes\":1853436},{\"format\":\"jxl\",\"sha256\":\"2fb4ee297488d4213c606f8b6b9df18d98bbfa52809bee62abdee67e4d422cb2\",\"size\":3840,\"size_bytes\":1211294},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"9288d3d6557331ad\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:40.183174\"}},\"format\":\"avif\",\"sha256\":\"adb634d7ef9304b857228c55713ba264cb4aa4a3cd993337acc12e28c0a3be0c\",\"size\":5184,\"size_bytes\":1540219},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"9288d3d6557331ad\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:40.177894\"}},\"format\":\"jpg\",\"sha256\":\"8281df2f6eee846749820329f444b644d443ed514dbab9ea794fc7fa04b0bcfe\",\"size\":5184,\"size_bytes\":3109528},{\"format\":\"jxl\",\"sha256\":\"f77fca7dab61c448c0c2a68b1a681b5a41fbcef6a566d032f60a3b1eef266dd4\",\"size\":5184,\"size_bytes\":2060007}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a close up of a dog with a chain collar\",\"labels\":[\"Animal\",\"Canine\",\"Dog\",\"Hound\",\"Irish Wolfhound\",\"Mammal\"],\"uuid\":\"ECF576E7-1214-40A5-A89E-BFD2889C3590\"},\"cdn_base_path\":\"photos/2025/12/P1049827-ECF576E7\",\"date\":\"2025-12-27T00:06:05.700000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A black dog with a silver chain collar smiles widely, showing its teeth, in an outdoor setting with blurred foliage in the background.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"dog\",\"chain\",\"teeth\",\"nose\",\"eyes\",\"fur\",\"mouth\",\"tongue\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T21:00:26.515184\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9970694184303284,\"timestamp\":\"2026-02-15T20:57:54.645375\",\"variant_used\":{\"format\":\"jpg\",\"size\":2915}},\"llm_species_id_v1\":{\"confidence_1_to_100\":99,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.00507,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"8cec446f4f087699160e5705a8e76d7a83f51fac\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Clearly a domestic dog (collar, morphology and expression) rather than a wild canid; domestic dogs are common in Costa Rica.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Canis lupus familiaris\",\"species_binomial\":\"Canis lupus\",\"taxon_rank\":\"subspecies\",\"timestamp\":\"2026-02-15T19:56:32.034772+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":401,\"total_tokens\":1249},\"variant_used\":{\"format\":\"jpg\",\"size\":2915}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Petromyzonti\",\"common_name\":\"Lake lamprey\",\"family\":\"Petromyzontidae\",\"genus\":\"Entosphenus\",\"kingdom\":\"Animalia\",\"order\":\"Petromyzontiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.31101804971694946,\"species\":\"Entosphenus macrostomus\",\"species_epithet\":\"macrostomus\"},{\"class\":\"Arachnida\",\"common_name\":\"\",\"family\":\"Demodecidae\",\"genus\":\"Demodex\",\"kingdom\":\"Animalia\",\"order\":\"Trombidiformes\",\"phylum\":\"Arthropoda\",\"rank\":\"species\",\"score\":0.21785733103752136,\"species\":\"Demodex canis\",\"species_epithet\":\"canis\"},{\"class\":\"Mammalia\",\"common_name\":\"Domestic Dog\",\"family\":\"Canidae\",\"genus\":\"Canis\",\"kingdom\":\"Animalia\",\"order\":\"Carnivora\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.03966508433222771,\"species\":\"Canis lupus\",\"species_epithet\":\"lupus\"},{\"class\":\"Mammalia\",\"common_name\":\"\",\"family\":\"Canidae\",\"genus\":\"Canis\",\"kingdom\":\"Animalia\",\"order\":\"Carnivora\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.019885599613189697,\"species\":\"Canis edwardii\",\"species_epithet\":\"edwardii\"},{\"class\":\"Petromyzonti\",\"common_name\":\"Brook lamprey\",\"family\":\"Petromyzontidae\",\"genus\":\"Lampetra\",\"kingdom\":\"Animalia\",\"order\":\"Petromyzontiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.019006120041012764,\"species\":\"Lampetra planeri\",\"species_epithet\":\"planeri\"},{\"class\":\"Petromyzonti\",\"common_name\":\"Turkish brook lamprey\",\"family\":\"Petromyzontidae\",\"genus\":\"Lampetra\",\"kingdom\":\"Animalia\",\"order\":\"Petromyzontiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.015649044886231422,\"species\":\"Lampetra lanceolata\",\"species_epithet\":\"lanceolata\"}],\"class\":\"Petromyzonti\",\"common_name\":\"Lake lamprey\",\"embedding_key\":\"P1049827-ECF576E7\",\"family\":\"Petromyzontidae\",\"genus\":\"Entosphenus\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Petromyzontiformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.31101804971694946,\"species\":\"Entosphenus macrostomus\",\"species_epithet\":\"macrostomus\",\"timestamp\":\"2026-02-15T20:57:39.781482\",\"variant_used\":{\"format\":\"jpg\",\"size\":2915}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":2915},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":2915},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":2915}},\"gallery_caption\":\"\",\"height\":2186,\"manual_description\":{\"source\":\"taxonomy_review_v1\",\"text\":\"A black dog with a silver chain, in an outdoor setting with blurred foliage in the background.\",\"updated_at\":\"2026-02-15T20:06:28.762494+00:00\"},\"manual_taxonomy\":{\"class\":\"Mammalia\",\"common_name\":\"Domestic Dog\",\"family\":\"Canidae\",\"genus\":\"Canis\",\"kingdom\":\"Animalia\",\"order\":\"Carnivora\",\"phylum\":\"Chordata\",\"species\":\"Canis lupus\",\"species_epithet\":\"lupus\"},\"original_filename\":\"P1049827.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T19:54:34.902892+00:00\"},\"photos_uuid\":\"ECF576E7-1214-40A5-A89E-BFD2889C3590\",\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"fd89c0c4459b96b3\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.888906\"}},\"format\":\"avif\",\"sha256\":\"8a03757590357afaee5a498c8f00bc67af1f7e861deb380f748deffe1c1fe4d8\",\"size\":480,\"size_bytes\":38630},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"fd89c0c4459b96b3\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.904814\"}},\"format\":\"jpg\",\"sha256\":\"ad4ec1ac6c8632c213c1b389bb0523573aae72d6451988a659cd581965d8ba11\",\"size\":480,\"size_bytes\":55108},{\"format\":\"jxl\",\"sha256\":\"f9f81f71cd5fd28c7e3eb999ef8916bbc7d3f4c860af60439b8bd197dcf9fbb2\",\"size\":480,\"size_bytes\":33447},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"fd89c0c4459b96b3\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.781661\"}},\"format\":\"avif\",\"sha256\":\"92bf24bead8863d00bbc8179e610b2e264fb1fbe2d433c9467020c21198e821d\",\"size\":800,\"size_bytes\":105596},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"fd89c0c4459b96b3\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.813981\"}},\"format\":\"jpg\",\"sha256\":\"187729ea64ba4b60f4924c524dfc3b66ed24791eedfac501fa8eeb66a3ee0c31\",\"size\":800,\"size_bytes\":137004},{\"format\":\"jxl\",\"sha256\":\"1aec146635f23b8ac9ce05c329b3c919a9d7bac7a13f8cfa204584b036d19887\",\"size\":800,\"size_bytes\":82864},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"fd89c0c4459b96b3\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.900689\"}},\"format\":\"avif\",\"sha256\":\"61df9581c3a0912ae68d23100100745884393bd6d232277797ad613eec4f9a1d\",\"size\":2400,\"size_bytes\":869874},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"fd89c0c4459b96b3\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.892495\"}},\"format\":\"jpg\",\"sha256\":\"b69276a3d272ade08df542614adf4eb32e0b9f207670f548cfb6029f1c84e191\",\"size\":2400,\"size_bytes\":1131182},{\"format\":\"jxl\",\"sha256\":\"370d3e69b74b89e7280288dda304ee645f6c922c5513a1f65f1764ef37d3aa09\",\"size\":2400,\"size_bytes\":718546},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"fd89c0c4459b96b3\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.910261\"}},\"format\":\"avif\",\"sha256\":\"3aab36161ec2be7c5cacc7e4d631a40c30abd73d304daafcfebc35d5afd80a87\",\"size\":2915,\"size_bytes\":1113431},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"fd89c0c4459b96b3\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.934666\"}},\"format\":\"jpg\",\"sha256\":\"cbba0cb19ae767ee4488c34ef4b768707bedb1cbd4dabbe13c461ca651250678\",\"size\":2915,\"size_bytes\":1617952},{\"format\":\"jxl\",\"sha256\":\"6f5571d7c1763a007132453a365c7bd3e779900b9ac92d7a646010a72a0a55ae\",\"size\":2915,\"size_bytes\":1028968}],\"width\":2915},{\"apple_photos\":{\"ai_caption\":\"a black and white bird sitting on top of a rock\",\"labels\":[\"Animal\",\"Beak\",\"Bird\",\"Ciconiiformes\",\"Condor\",\"Outdoor\",\"Rocks\",\"Sky\"],\"uuid\":\"581FAFFE-71D2-41F1-8CBF-29096638C237\"},\"cdn_base_path\":\"photos/2025/12/P1049602-581FAFFE\",\"date\":\"2025-12-24T20:36:54.116000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A dark-colored seabird with a long, white beak perches on a weathered rock face against a clear blue sky.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"bird\",\"rock\",\"sky\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T21:00:11.540882\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9947113990783691,\"timestamp\":\"2026-02-15T20:57:54.634270\",\"variant_used\":{\"format\":\"jpg\",\"size\":1375}},\"llm_species_id_v1\":{\"confidence_1_to_100\":88,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.01363,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Large frigatebird with long hooked pale bill and dark plumage with broad white breast/belly (female/immature). In Costa Rica, Magnificent Frigatebird is the expected frigatebird; Great is rare, making this most likely.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Fregata magnificens\",\"species_binomial\":\"Fregata magnificens\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T19:56:44.695039+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":1257,\"total_tokens\":2105},\"variant_used\":{\"format\":\"jpg\",\"size\":1375}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Ascension frigatebird\",\"family\":\"Fregatidae\",\"genus\":\"Fregata\",\"kingdom\":\"Animalia\",\"order\":\"Suliformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.2971813380718231,\"species\":\"Fregata aquila\",\"species_epithet\":\"aquila\"},{\"class\":\"Aves\",\"common_name\":\"Christmas frigatebird\",\"family\":\"Fregatidae\",\"genus\":\"Fregata\",\"kingdom\":\"Animalia\",\"order\":\"Suliformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.28886327147483826,\"species\":\"Fregata andrewsi\",\"species_epithet\":\"andrewsi\"},{\"class\":\"Aves\",\"common_name\":\"Great frigatebird\",\"family\":\"Fregatidae\",\"genus\":\"Fregata\",\"kingdom\":\"Animalia\",\"order\":\"Suliformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.1494583785533905,\"species\":\"Fregata minor\",\"species_epithet\":\"minor\"},{\"class\":\"Aves\",\"common_name\":\"Lesser Frigatebird\",\"family\":\"Fregatidae\",\"genus\":\"Fregata\",\"kingdom\":\"Animalia\",\"order\":\"Suliformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.12007027864456177,\"species\":\"Fregata ariel\",\"species_epithet\":\"ariel\"},{\"class\":\"Aves\",\"common_name\":\"Magnificent frigatebird\",\"family\":\"Fregatidae\",\"genus\":\"Fregata\",\"kingdom\":\"Animalia\",\"order\":\"Suliformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.08299466222524643,\"species\":\"Fregata magnificens\",\"species_epithet\":\"magnificens\"},{\"class\":\"Aves\",\"common_name\":\"Brown booby\",\"family\":\"Sulidae\",\"genus\":\"Sula\",\"kingdom\":\"Animalia\",\"order\":\"Suliformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.031205566599965096,\"species\":\"Sula leucogaster\",\"species_epithet\":\"leucogaster\"}],\"class\":\"Aves\",\"common_name\":\"Ascension frigatebird\",\"embedding_key\":\"P1049602-581FAFFE\",\"family\":\"Fregatidae\",\"genus\":\"Fregata\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Suliformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.2971813380718231,\"species\":\"Fregata aquila\",\"species_epithet\":\"aquila\",\"timestamp\":\"2026-02-15T20:57:39.773114\",\"variant_used\":{\"format\":\"jpg\",\"size\":1375}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":1375},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":1375},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":1375}},\"gallery_caption\":\"\",\"height\":1031,\"manual_taxonomy\":{\"class\":\"Aves\",\"common_name\":\"Magnificent Frigatebird\",\"family\":\"Fregatidae\",\"genus\":\"Fregata\",\"kingdom\":\"Animalia\",\"order\":\"Suliformes\",\"phylum\":\"Chordata\",\"species\":\"Fregata magnificens\",\"species_epithet\":\"magnificens\"},\"original_filename\":\"P1049602.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T19:54:34.903254+00:00\"},\"photos_uuid\":\"581FAFFE-71D2-41F1-8CBF-29096638C237\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T20:06:11.821447+00:00\",\"reviewed_value_hash\":\"sha256:15c42d53aa44df045d152526787be63415cc0ab6d986686c9a2700e1b1e00887\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"b30cdc71338e64b9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.851430\"}},\"format\":\"avif\",\"sha256\":\"a9e4775903fa08f3d28fc7fc154c3f0b4c366eb1832703a4ad91bc8bb2428f65\",\"size\":480,\"size_bytes\":37269},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"b30cdc71338e64b9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.879555\"}},\"format\":\"jpg\",\"sha256\":\"71bc6398fb8aeedc8befdca405cd14c0fac47ca221ce82f5b1257d0390749782\",\"size\":480,\"size_bytes\":51238},{\"format\":\"jxl\",\"sha256\":\"f15f08430dfe2a7658ed095094b4ab862f75f13d04e1b67df9fa90ba44b3417b\",\"size\":480,\"size_bytes\":31665},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"b30cdc71338e64b9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.741871\"}},\"format\":\"avif\",\"sha256\":\"1d2fdcb4974f5cee56d41e3fd2543ec7c8ff524051952f13c2748ca73b617499\",\"size\":800,\"size_bytes\":78717},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"b30cdc71338e64b9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.743852\"}},\"format\":\"jpg\",\"sha256\":\"996f8db01b4e4dbceb0f90cf82cc323c5cc5a54ff374ec244882871a4f16c148\",\"size\":800,\"size_bytes\":118126},{\"format\":\"jxl\",\"sha256\":\"b16ad32e520bbd3aebf567e8d22f2b66e443846b328a7b6d1dd8e4cb07cb72a6\",\"size\":800,\"size_bytes\":70811},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"b30cdc71338e64b9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.781728\"}},\"format\":\"avif\",\"sha256\":\"fa40515b238e4ace7ff552d437ccaf324df07ca9c3e16523c88c26cf64aca0fc\",\"size\":1375,\"size_bytes\":154487},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"b30cdc71338e64b9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.775352\"}},\"format\":\"jpg\",\"sha256\":\"5ef9fa4b628c9ebc0aeec47a98561484a25a1c11f6dfcd1791e68454f25ed05c\",\"size\":1375,\"size_bytes\":276008},{\"format\":\"jxl\",\"sha256\":\"9e92d3973ae6a32b9fdd2d83f1da058788cd6a865517aa2683df5183c3e6a08d\",\"size\":1375,\"size_bytes\":159694}],\"width\":1375},{\"apple_photos\":{\"ai_caption\":\"a bird is perched on a tree branch\",\"uuid\":\"B6C3E666-70BE-4C7F-A8CF-3FC68316BA0A\"},\"cdn_base_path\":\"photos/2025/12/P1049581-B6C3E666\",\"date\":\"2025-12-24T17:39:57.304000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A dark-feathered bird with a red throat and a black beak perches among green leaves in a sunlit forest.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"bird\",\"leaves\",\"branches\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T20:59:42.239111\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9959999322891235,\"timestamp\":\"2026-02-15T20:57:54.611120\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":90,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.00794,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"8cec446f4f087699160e5705a8e76d7a83f51fac\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Large cracid with dark brown body, white-spotted neck/breast, and bright red throat wattle; combination fits Crested Guan. In Costa Rica, rules out Black Guan (all black) and Plain Chachalaca (no red wattle, less spotting).\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Penelope purpurascens\",\"species_binomial\":\"Penelope purpurascens\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T19:56:22.662311+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":688,\"total_tokens\":1536},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Crested guan\",\"family\":\"Cracidae\",\"genus\":\"Penelope\",\"kingdom\":\"Animalia\",\"order\":\"Galliformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.8069029450416565,\"species\":\"Penelope purpurascens\",\"species_epithet\":\"purpurascens\"},{\"class\":\"Aves\",\"common_name\":\"Marail guan\",\"family\":\"Cracidae\",\"genus\":\"Penelope\",\"kingdom\":\"Animalia\",\"order\":\"Galliformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.06515353918075562,\"species\":\"Penelope marail\",\"species_epithet\":\"marail\"},{\"class\":\"Aves\",\"common_name\":\"Spix's guan\",\"family\":\"Cracidae\",\"genus\":\"Penelope\",\"kingdom\":\"Animalia\",\"order\":\"Galliformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.037944331765174866,\"species\":\"Penelope jacquacu\",\"species_epithet\":\"jacquacu\"},{\"class\":\"Aves\",\"common_name\":\"Band-tailed Guan\",\"family\":\"Cracidae\",\"genus\":\"Penelope\",\"kingdom\":\"Animalia\",\"order\":\"Galliformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0317307785153389,\"species\":\"Penelope argyrotis\",\"species_epithet\":\"argyrotis\"},{\"class\":\"Aves\",\"common_name\":\"White-crested Guan\",\"family\":\"Cracidae\",\"genus\":\"Penelope\",\"kingdom\":\"Animalia\",\"order\":\"Galliformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.03139485791325569,\"species\":\"Penelope pileata\",\"species_epithet\":\"pileata\"},{\"class\":\"Aves\",\"common_name\":\"Cauca guan\",\"family\":\"Cracidae\",\"genus\":\"Penelope\",\"kingdom\":\"Animalia\",\"order\":\"Galliformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.007466667331755161,\"species\":\"Penelope perspicax\",\"species_epithet\":\"perspicax\"}],\"class\":\"Aves\",\"common_name\":\"Crested guan\",\"embedding_key\":\"P1049581-B6C3E666\",\"family\":\"Cracidae\",\"genus\":\"Penelope\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Galliformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.8069029450416565,\"species\":\"Penelope purpurascens\",\"species_epithet\":\"purpurascens\",\"timestamp\":\"2026-02-15T20:57:39.756208\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"original_filename\":\"P1049581.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T19:54:34.904053+00:00\"},\"photos_uuid\":\"B6C3E666-70BE-4C7F-A8CF-3FC68316BA0A\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T20:03:12.724760+00:00\",\"reviewed_value_hash\":\"sha256:97a57e3d66d742bb8af3186182ecaa0ad0f6d42a27ddaebf6ffe799faedc3634\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"},\"taxonomy\":{\"approved_at\":\"2026-02-15T20:03:09.789604+00:00\",\"reviewed_value_hash\":\"sha256:f7320a537972f05b9c56b2d7c987e4278189f6a39c3d1343baa5642dd50827a5\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"b3c290fec445ee52\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.613235\"}},\"format\":\"avif\",\"sha256\":\"295ec73c3c37d2165aa9078cfb863fc3e556a593709dc40abc1edc796922951c\",\"size\":480,\"size_bytes\":79288},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"b3c290fec445ee52\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.644800\"}},\"format\":\"jpg\",\"sha256\":\"37c0f31df1260743a080cba1e0003edb0ae70f7f2351cbc9deda3042b7d0f905\",\"size\":480,\"size_bytes\":103838},{\"format\":\"jxl\",\"sha256\":\"f75d874fa2ad5e4f49ddea54dacf43d2d7f756eed6a0668db32831403d4ad11f\",\"size\":480,\"size_bytes\":65756},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"b3c290fec445ee52\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.562805\"}},\"format\":\"avif\",\"sha256\":\"6ffc2dc348e64a48db80bff91d562637f4a8359bbdfe2d5ddcc4f3d37ddaedad\",\"size\":800,\"size_bytes\":127502},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"b3c290fec445ee52\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.561141\"}},\"format\":\"jpg\",\"sha256\":\"cdb03effdf26cf8d323da15972790a8e58d93df101d3bea10d8d9028513917b4\",\"size\":800,\"size_bytes\":188854},{\"format\":\"jxl\",\"sha256\":\"33d00f5661532efe0299abb608f33dfe24c124f9ee0839006ac85bbad1c5256f\",\"size\":800,\"size_bytes\":117535},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"b3c290fec445ee52\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.683514\"}},\"format\":\"avif\",\"sha256\":\"df4727d9993e35ecf90511839da3c255b2998adcc8fefed4b36c24fc96ac5b93\",\"size\":2400,\"size_bytes\":997585},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"b3c290fec445ee52\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.695124\"}},\"format\":\"jpg\",\"sha256\":\"a4d7596e88a2c836d03ef2dd8469bee1d79456022453057f14c43e34585574a0\",\"size\":2400,\"size_bytes\":1230398},{\"format\":\"jxl\",\"sha256\":\"0d53ea23d334642293585b609d6b06c7b476bf03514c41ba375fd0395508564c\",\"size\":2400,\"size_bytes\":760929},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"b3c290fec445ee52\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.887025\"}},\"format\":\"avif\",\"sha256\":\"699d71f15f00d4a97ee2e4a107302b08c5db45a5f4bd0e7cc355c6f904178533\",\"size\":3840,\"size_bytes\":2378958},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"b3c290fec445ee52\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.862723\"}},\"format\":\"jpg\",\"sha256\":\"31bb16b8eb0a0943380cda3a0579b6085e287560e25ec1c27bedc6fdc00a9fc2\",\"size\":3840,\"size_bytes\":3030898},{\"format\":\"jxl\",\"sha256\":\"ef3529dfe10e272cd0a2d0ef239b778990eb208b3df7b125dde0ad4388bf1405\",\"size\":3840,\"size_bytes\":1982511},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"b3c290fec445ee52\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.972437\"}},\"format\":\"avif\",\"sha256\":\"e6edcc3279f4f1b20f283e7026b2aeb96822226aa5e07ab4c5c0ea263754c5b2\",\"size\":5184,\"size_bytes\":3510059},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"b3c290fec445ee52\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:40.121387\"}},\"format\":\"jpg\",\"sha256\":\"b1d00fa7f0ba414c7a549fc19689b278ad267dd97c6e2da3a6b26a6698ea801e\",\"size\":5184,\"size_bytes\":5217001},{\"format\":\"jxl\",\"sha256\":\"683a96eb7d27a9d8fc0adc34b1f56af4ce7a1a2b20c3fc39b3f612c5f5c30bbd\",\"size\":5184,\"size_bytes\":3345317}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"two birds are perched on the branch of a tree\",\"uuid\":\"9396C637-F0BC-49FE-A045-A1A88F0DD094\"},\"cdn_base_path\":\"photos/2025/12/P1049570-9396C637\",\"date\":\"2025-12-24T16:58:32.937000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"Two toucans perch on tree branches amidst green foliage, their vibrant yellow and black beaks and bodies contrasting with the lush leaves and dappled sunlight.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"toucan\",\"toucan\",\"tree\",\"branch\",\"leaf\",\"sky\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T20:59:27.805603\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9401575922966003,\"timestamp\":\"2026-02-15T20:57:54.599329\",\"variant_used\":{\"format\":\"jpg\",\"size\":2308}},\"llm_species_id_v1\":{\"confidence_1_to_100\":93,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.009810000000000001,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"8cec446f4f087699160e5705a8e76d7a83f51fac\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Large toucan with yellow throat and face, red undertail, and bill showing yellow upper mandible with chestnut lower mandible; in Costa Rica this phenotype corresponds to Yellow-throated Toucan subspecies swainsonii.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Ramphastos ambiguus swainsonii\",\"species_binomial\":\"Ramphastos ambiguus\",\"taxon_rank\":\"subspecies\",\"timestamp\":\"2026-02-15T19:56:23.879891+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":875,\"total_tokens\":1723},\"variant_used\":{\"format\":\"jpg\",\"size\":2308}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Yellow-throated Toucan\",\"family\":\"Ramphastidae\",\"genus\":\"Ramphastos\",\"kingdom\":\"Animalia\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.5676417350769043,\"species\":\"Ramphastos ambiguus\",\"species_epithet\":\"ambiguus\"},{\"class\":\"Aves\",\"common_name\":\"Choco Toucan\",\"family\":\"Ramphastidae\",\"genus\":\"Ramphastos\",\"kingdom\":\"Animalia\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.318894624710083,\"species\":\"Ramphastos brevis\",\"species_epithet\":\"brevis\"},{\"class\":\"Aves\",\"common_name\":\"Citron-throated toucan\",\"family\":\"Ramphastidae\",\"genus\":\"Ramphastos\",\"kingdom\":\"Animalia\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.049307938665151596,\"species\":\"Ramphastos citreolaemus\",\"species_epithet\":\"citreolaemus\"},{\"class\":\"Aves\",\"common_name\":\"Keel-billed toucan\",\"family\":\"Ramphastidae\",\"genus\":\"Ramphastos\",\"kingdom\":\"Animalia\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.017442340031266212,\"species\":\"Ramphastos sulfuratus\",\"species_epithet\":\"sulfuratus\"},{\"class\":\"Aves\",\"common_name\":\"Green-billed Toucan\",\"family\":\"Ramphastidae\",\"genus\":\"Ramphastos\",\"kingdom\":\"Animalia\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.011297333985567093,\"species\":\"Ramphastos dicolorus\",\"species_epithet\":\"dicolorus\"},{\"class\":\"Aves\",\"common_name\":\"Sulawesi hornbill\",\"family\":\"Bucerotidae\",\"genus\":\"Rhabdotorrhinus\",\"kingdom\":\"Animalia\",\"order\":\"Bucerotiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.00761790107935667,\"species\":\"Rhabdotorrhinus exarhatus\",\"species_epithet\":\"exarhatus\"}],\"class\":\"Aves\",\"common_name\":\"Yellow-throated Toucan\",\"embedding_key\":\"P1049570-9396C637\",\"family\":\"Ramphastidae\",\"genus\":\"Ramphastos\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.5676417350769043,\"species\":\"Ramphastos ambiguus\",\"species_epithet\":\"ambiguus\",\"timestamp\":\"2026-02-15T20:57:39.747599\",\"variant_used\":{\"format\":\"jpg\",\"size\":2308}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":2308},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":2308},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":2308}},\"gallery_caption\":\"\",\"height\":1731,\"original_filename\":\"P1049570.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T19:54:34.904401+00:00\"},\"photos_uuid\":\"9396C637-F0BC-49FE-A045-A1A88F0DD094\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T20:02:50.838015+00:00\",\"reviewed_value_hash\":\"sha256:92d90c708a3007b40d52cdca2d574b6256c46457b084bbd36adde2af4c45b7e7\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"},\"taxonomy\":{\"approved_at\":\"2026-02-15T20:02:48.646115+00:00\",\"reviewed_value_hash\":\"sha256:85e09683d984afae15f3548a24324fe02fb5cd54d68d34da4111f65203aaffe6\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"fed0cf0e28c6b0c9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:40.098304\"}},\"format\":\"avif\",\"sha256\":\"3a4ed590475063371d4d2a7e4a395fafd792f285d151c1aa1f7b3783e5a7907a\",\"size\":480,\"size_bytes\":85130},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"fed0cf0e28c6b0c9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:40.147113\"}},\"format\":\"jpg\",\"sha256\":\"5e56ad78a29988a7f14e139b78e6de74d720816ed0ab5a4c3be65957256f04d3\",\"size\":480,\"size_bytes\":110449},{\"format\":\"jxl\",\"sha256\":\"c13d4a38cc03fc8d5d947598f69fa6b884d81c45123b54c4aba94eeb85ff0da4\",\"size\":480,\"size_bytes\":68864},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"fed0cf0e28c6b0c9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.485538\"}},\"format\":\"avif\",\"sha256\":\"8d121920637ebaad46f21144afda00383e7ee25bf77cbdfd7a5b66ad09a7a27d\",\"size\":800,\"size_bytes\":133546},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"fed0cf0e28c6b0c9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.516631\"}},\"format\":\"jpg\",\"sha256\":\"f4dad0690a91c7b3ad0e2b9ce208c38e7713c5ae90b732faa5876c9694f52fd8\",\"size\":800,\"size_bytes\":194986},{\"format\":\"jxl\",\"sha256\":\"81e076bd70711729d76aa556c6af1032b72a95cf8c2c7dac5a9e10ab8479d923\",\"size\":800,\"size_bytes\":119905},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"fed0cf0e28c6b0c9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.677804\"}},\"format\":\"avif\",\"sha256\":\"a701beb168760f4b55e275b48db00c8a6c9543b7e9b8591bd614061592439abf\",\"size\":2308,\"size_bytes\":467599},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"fed0cf0e28c6b0c9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.602855\"}},\"format\":\"jpg\",\"sha256\":\"251a18c65df02e33b07cf8ba6cacaed7ae1692f48125722cf9cc9423bdb887d4\",\"size\":2308,\"size_bytes\":841775},{\"format\":\"jxl\",\"sha256\":\"b0d3a8089f4d0927589b2ce25e3951a226edd82342d6cce2a7025d25ec23019e\",\"size\":2308,\"size_bytes\":511772}],\"width\":2308},{\"apple_photos\":{\"ai_caption\":\"two monkeys sitting on a tree branch\",\"labels\":[\"Animal\",\"Beak\",\"Bird\",\"Branch\",\"Foliage\",\"Mammal\",\"Plant\"],\"uuid\":\"9B7A6DB0-4CF2-48B7-BE1D-E6290704D87E\"},\"cdn_base_path\":\"photos/2025/12/P1049559-9B7A6DB0\",\"date\":\"2025-12-24T16:51:49.111000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"Two howler monkeys cling to the branches of a leafy tree, their dark fur contrasting with the green foliage.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"monkey\",\"tree\",\"leaves\",\"branches\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T20:59:12.618442\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9790265560150146,\"timestamp\":\"2026-02-15T20:57:54.588131\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":90,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.01815,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"8cec446f4f087699160e5705a8e76d7a83f51fac\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Stocky howler with black face/limbs, rufous mantle and prehensile tail in treetops; in Costa Rica the mantled howler occurs and the resident subspecies is A. p. palliata.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Alouatta palliata palliata\",\"species_binomial\":\"Alouatta palliata\",\"taxon_rank\":\"subspecies\",\"timestamp\":\"2026-02-15T19:56:34.695991+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":1709,\"total_tokens\":2557},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Mammalia\",\"common_name\":\"Mantled howler\",\"family\":\"Atelidae\",\"genus\":\"Alouatta\",\"kingdom\":\"Animalia\",\"order\":\"Primates\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.5205673575401306,\"species\":\"Alouatta palliata\",\"species_epithet\":\"palliata\"},{\"class\":\"Mammalia\",\"common_name\":\"Amazon black howler\",\"family\":\"Atelidae\",\"genus\":\"Alouatta\",\"kingdom\":\"Animalia\",\"order\":\"Primates\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.09674447029829025,\"species\":\"Alouatta nigerrima\",\"species_epithet\":\"nigerrima\"},{\"class\":\"Mammalia\",\"common_name\":\"Black-headed uacari\",\"family\":\"Pitheciidae\",\"genus\":\"Cacajao\",\"kingdom\":\"Animalia\",\"order\":\"Primates\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.04358319938182831,\"species\":\"Cacajao melanocephalus\",\"species_epithet\":\"melanocephalus\"},{\"class\":\"Mammalia\",\"common_name\":\"Brown spider monkey\",\"family\":\"Atelidae\",\"genus\":\"Ateles\",\"kingdom\":\"Animalia\",\"order\":\"Primates\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.043167226016521454,\"species\":\"Ateles hybridus\",\"species_epithet\":\"hybridus\"},{\"class\":\"Mammalia\",\"common_name\":\"Geoffroy's Spider Monkey\",\"family\":\"Atelidae\",\"genus\":\"Ateles\",\"kingdom\":\"Animalia\",\"order\":\"Primates\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.03328688442707062,\"species\":\"Ateles geoffroyi\",\"species_epithet\":\"geoffroyi\"},{\"class\":\"Mammalia\",\"common_name\":\"Hurleur du maranhao\",\"family\":\"Atelidae\",\"genus\":\"Alouatta\",\"kingdom\":\"Animalia\",\"order\":\"Primates\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.03204711154103279,\"species\":\"Alouatta ululata\",\"species_epithet\":\"ululata\"}],\"class\":\"Mammalia\",\"common_name\":\"Mantled howler\",\"embedding_key\":\"P1049559-9B7A6DB0\",\"family\":\"Atelidae\",\"genus\":\"Alouatta\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Primates\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.5205673575401306,\"species\":\"Alouatta palliata\",\"species_epithet\":\"palliata\",\"timestamp\":\"2026-02-15T20:57:39.736741\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"original_filename\":\"P1049559.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T19:54:34.904748+00:00\"},\"photos_uuid\":\"9B7A6DB0-4CF2-48B7-BE1D-E6290704D87E\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T20:01:58.098371+00:00\",\"reviewed_value_hash\":\"sha256:2c05ee3ba66d1eed315ecfd921a51856a23ff0614c4d0dd60486fd74188e69ad\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"},\"taxonomy\":{\"approved_at\":\"2026-02-15T20:01:53.770934+00:00\",\"reviewed_value_hash\":\"sha256:2da4789528e3d9c4c3d232bf5c0778743d0d9c0dfe377b87d31734755965977e\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"b42ccb363dc122de\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.416445\"}},\"format\":\"avif\",\"sha256\":\"e49a1b2b3c62fc9c0c39f3773b3ae00ca61cc9833a5b5060aab0efe4aa5d6696\",\"size\":480,\"size_bytes\":67319},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"b42ccb363dc122de\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.450511\"}},\"format\":\"jpg\",\"sha256\":\"11fd4697c04c7b3ac402b46c290ba67379771f2e8dfeff0ea0746fb36397eca9\",\"size\":480,\"size_bytes\":89846},{\"format\":\"jxl\",\"sha256\":\"155d7f970b9bbfaa7e5f7fd45c6a7f6e3bb51cb535bdde815b42356ef99f1292\",\"size\":480,\"size_bytes\":56719},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"b42ccb363dc122de\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.402146\"}},\"format\":\"avif\",\"sha256\":\"acd99b90aa3d2f9fc459708b0dd990b1eade46acd874e98914a6fca34b1d94cd\",\"size\":800,\"size_bytes\":126774},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"b42ccb363dc122de\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.392490\"}},\"format\":\"jpg\",\"sha256\":\"52d89467d5a4ed522f30670c432e55f4956080a41b5474ac2bd4c8a148b8a669\",\"size\":800,\"size_bytes\":190014},{\"format\":\"jxl\",\"sha256\":\"3390209ba41ffaa8edcbe30ccdd08a5b4ad54e7093048c7a5010e97420d45c88\",\"size\":800,\"size_bytes\":117671},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"b42ccb363dc122de\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.456706\"}},\"format\":\"avif\",\"sha256\":\"806d578c2cf9c01411a71c16926f288e759d8dc742d5e0162095f1e02e64ff93\",\"size\":2400,\"size_bytes\":622548},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"b42ccb363dc122de\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.511184\"}},\"format\":\"jpg\",\"sha256\":\"4de9f055810582191093a1280fc6f2b61b5cbf7ea20691a961af7f6d8a359e44\",\"size\":2400,\"size_bytes\":1039980},{\"format\":\"jxl\",\"sha256\":\"1108ae8c3d7d2f50350b0c5ce353ed98866f163e7386ec79961a4673c07f2fec\",\"size\":2400,\"size_bytes\":625126},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"b42ccb363dc122de\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.554336\"}},\"format\":\"avif\",\"sha256\":\"e1aa74ad1121ed5e7fd6c07966d3f39e32bd8f39361b3d0ed46965eaa25ba63f\",\"size\":3840,\"size_bytes\":1331400},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"b42ccb363dc122de\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.564278\"}},\"format\":\"jpg\",\"sha256\":\"fb84603c0cd1560e5e66633d1a99036c244f86334be33db319916bbc60ee6645\",\"size\":3840,\"size_bytes\":2346908},{\"format\":\"jxl\",\"sha256\":\"6375f2598e0c9af7c1ddfc67e74d8947ffb75952d999d51eb4333f632074f234\",\"size\":3840,\"size_bytes\":1446795},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"b42ccb363dc122de\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.881200\"}},\"format\":\"avif\",\"sha256\":\"2f52e09e38d8e9923004dfbcb7754f8cf46ee93f2f603d76debc68a0aadc4ee1\",\"size\":5184,\"size_bytes\":2048775},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"b42ccb363dc122de\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:40.033160\"}},\"format\":\"jpg\",\"sha256\":\"dda1211c89dc065fb441dbaa2536521f2fb129d853e623cbb782a8ed8cd4df6b\",\"size\":5184,\"size_bytes\":3817354},{\"format\":\"jxl\",\"sha256\":\"136d79950bd87155363c0d4f2edeba4acf5512d10fb67d25033a7aa3f1d5dedf\",\"size\":5184,\"size_bytes\":2389846}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a squirrel sitting on the ground next to a tree\",\"uuid\":\"FFEC8912-BAD9-4935-AC3B-A9D50D4D2333\"},\"cdn_base_path\":\"photos/2025/12/P1049531-FFEC8912\",\"date\":\"2025-12-24T16:38:36.868000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A small rodent with dark fur and prominent whiskers peers through dense undergrowth in a forest, its mouth slightly open as it nibbles on something.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"rat\",\"leaves\",\"stems\",\"branches\",\"ground\",\"dirt\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T20:58:57.922621\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9979463219642639,\"timestamp\":\"2026-02-15T20:57:54.576580\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":90,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.00653,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"8cec446f4f087699160e5705a8e76d7a83f51fac\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Medium-sized rodent with grizzled brown coat, small rounded ears, long legs and no visible tail, foraging on forest floor—fits Central American agouti; lacks paca’s spotted flanks.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Dasyprocta punctata\",\"species_binomial\":\"Dasyprocta punctata\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T19:56:06.701470+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":547,\"total_tokens\":1395},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Mammalia\",\"common_name\":\"Red acouchi\",\"family\":\"Dasyproctidae\",\"genus\":\"Myoprocta\",\"kingdom\":\"Animalia\",\"order\":\"Rodentia\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.38462886214256287,\"species\":\"Myoprocta acouchy\",\"species_epithet\":\"acouchy\"},{\"class\":\"Mammalia\",\"common_name\":\"Red-rumped Agouti\",\"family\":\"Dasyproctidae\",\"genus\":\"Dasyprocta\",\"kingdom\":\"Animalia\",\"order\":\"Rodentia\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.15894865989685059,\"species\":\"Dasyprocta leporina\",\"species_epithet\":\"leporina\"},{\"class\":\"Mammalia\",\"common_name\":\"Green acouchi\",\"family\":\"Dasyproctidae\",\"genus\":\"Myoprocta\",\"kingdom\":\"Animalia\",\"order\":\"Rodentia\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.09413445740938187,\"species\":\"Myoprocta pratti\",\"species_epithet\":\"pratti\"},{\"class\":\"Mammalia\",\"common_name\":\"Roatán island agouti\",\"family\":\"Dasyproctidae\",\"genus\":\"Dasyprocta\",\"kingdom\":\"Animalia\",\"order\":\"Rodentia\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.06175043433904648,\"species\":\"Dasyprocta ruatanica\",\"species_epithet\":\"ruatanica\"},{\"class\":\"Mammalia\",\"common_name\":\"Central american agouti\",\"family\":\"Dasyproctidae\",\"genus\":\"Dasyprocta\",\"kingdom\":\"Animalia\",\"order\":\"Rodentia\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.05635065957903862,\"species\":\"Dasyprocta punctata\",\"species_epithet\":\"punctata\"},{\"class\":\"Mammalia\",\"common_name\":\"\",\"family\":\"Dasyproctidae\",\"genus\":\"Dasyprocta\",\"kingdom\":\"Animalia\",\"order\":\"Rodentia\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.04947761818766594,\"species\":\"Dasyprocta variegata\",\"species_epithet\":\"variegata\"}],\"class\":\"Mammalia\",\"common_name\":\"Red acouchi\",\"embedding_key\":\"P1049531-FFEC8912\",\"family\":\"Dasyproctidae\",\"genus\":\"Myoprocta\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Rodentia\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.38462886214256287,\"species\":\"Myoprocta acouchy\",\"species_epithet\":\"acouchy\",\"timestamp\":\"2026-02-15T20:57:39.029243\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"manual_taxonomy\":{\"class\":\"Mammalia\",\"common_name\":\"Central american agouti\",\"family\":\"Dasyproctidae\",\"genus\":\"Dasyprocta\",\"kingdom\":\"Animalia\",\"order\":\"Rodentia\",\"phylum\":\"Chordata\",\"species\":\"Dasyprocta punctata\",\"species_epithet\":\"punctata\"},\"original_filename\":\"P1049531.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T19:54:34.905081+00:00\"},\"photos_uuid\":\"FFEC8912-BAD9-4935-AC3B-A9D50D4D2333\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T20:01:48.454213+00:00\",\"reviewed_value_hash\":\"sha256:f81d02aa187a7c51436fa7f6c79c4bbb9e5309e898a49269d5d3ff953b6c31d3\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"e0b05629bb8fef02\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.130763\"}},\"format\":\"avif\",\"sha256\":\"84a0866e60791936c89e2a1d3e8ed9b2a5c5625519ea84762a4408e2d7c9ba82\",\"size\":480,\"size_bytes\":80268},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"e0b05629bb8fef02\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.184269\"}},\"format\":\"jpg\",\"sha256\":\"7dd3a35d8b4115bfb514c3b78004eff6acacc74402a114a0f74203d4ac90c05d\",\"size\":480,\"size_bytes\":102779},{\"format\":\"jxl\",\"sha256\":\"ab0a716c724e40fa271beb92fa599606bac53847a00b4962d6eedd6a70eaaa05\",\"size\":480,\"size_bytes\":63328},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"e0b05629bb8fef02\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.303406\"}},\"format\":\"avif\",\"sha256\":\"3ce24810516a6a0b1b142cb8fbbfae7752e074acb588fb282bd14f7a5bd5e74c\",\"size\":800,\"size_bytes\":122534},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"e0b05629bb8fef02\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.336153\"}},\"format\":\"jpg\",\"sha256\":\"1ac2f241ed09ffb5af1375ea255bb86c7f8a717da8689f9e2c7badf689fea906\",\"size\":800,\"size_bytes\":184598},{\"format\":\"jxl\",\"sha256\":\"2945866bd70d0914fda760825a3561bd3939a994c4d456f76f5ab1eeb3222b65\",\"size\":800,\"size_bytes\":109024},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"e0b05629bb8fef02\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.395105\"}},\"format\":\"avif\",\"sha256\":\"f520c0199750c71ee5e54992d40a2e8be7efe2b094dd2389ef10e4c79939e865\",\"size\":2400,\"size_bytes\":590182},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"e0b05629bb8fef02\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.433953\"}},\"format\":\"jpg\",\"sha256\":\"5f97240dc9a12c94a874523fc0dd6fbecfd25fc7d31b8ac81ce09e2b2fbb46d1\",\"size\":2400,\"size_bytes\":951069},{\"format\":\"jxl\",\"sha256\":\"17e78a1d976117da2b43608d38d8d128100bf1b57280cb0df92247e2bdbe0abb\",\"size\":2400,\"size_bytes\":555078},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"e0b05629bb8fef02\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.502510\"}},\"format\":\"avif\",\"sha256\":\"6b0e3459681ddda013949a7cd3be07a70116f5d3210879bb1d55e38a533176bd\",\"size\":3840,\"size_bytes\":1262129},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"e0b05629bb8fef02\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.496913\"}},\"format\":\"jpg\",\"sha256\":\"4fd77984247946c6f28b3abfef6ce9fc53c5a0b76034a8af688c7e368ddf3809\",\"size\":3840,\"size_bytes\":2194337},{\"format\":\"jxl\",\"sha256\":\"4faf2c7e70a4b5a681b54856c281b510fc9cf7a52ebc3901d26a532ce0f396ec\",\"size\":3840,\"size_bytes\":1333127},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"e0b05629bb8fef02\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.734157\"}},\"format\":\"avif\",\"sha256\":\"f6999e4d0f49cfbd0c4ce817ed331b6c4ffda56c1a429d8bc98500d2d31168b3\",\"size\":5184,\"size_bytes\":1996407},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"e0b05629bb8fef02\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:40.063004\"}},\"format\":\"jpg\",\"sha256\":\"ab5d191c5db912dd5f55ee4f1a8a28a8c5d3b335b3548a98228482e1298f51cc\",\"size\":5184,\"size_bytes\":3643030},{\"format\":\"jxl\",\"sha256\":\"be66c87ae11b2055c1d733dc48c7e766c70e0f498b93c15f7e6ba5b80511fe8d\",\"size\":5184,\"size_bytes\":2268606}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a bird is perched on a tree branch\",\"labels\":[\"Animal\",\"Beak\",\"Bird\",\"Branch\",\"Foliage\",\"Plant\"],\"uuid\":\"41028B98-3BEB-4090-A06F-F8D9DD9072EB\"},\"cdn_base_path\":\"photos/2025/12/P1049512-41028B98\",\"date\":\"2025-12-24T16:01:47.634000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A vibrant bird with a red breast and black wings perches on a tree branch, surrounded by green leaves and dappled sunlight.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"bird\",\"branch\",\"leaf\",\"sky\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T20:58:43.022061\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9995508790016174,\"timestamp\":\"2026-02-15T20:57:54.561128\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":80,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.01366,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"8cec446f4f087699160e5705a8e76d7a83f51fac\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Male trogon with large orange bill, dark green head and breast, bright red belly, and mostly gray unbarred undertail; lacks white breast band of Collared and heavy barred tail of Lattice-tailed. Species common in Costa Rican lowland forests.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Trogon massena\",\"species_binomial\":\"Trogon massena\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T19:56:15.787851+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":1260,\"total_tokens\":2108},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Slaty-tailed Trogon\",\"family\":\"Trogonidae\",\"genus\":\"Trogon\",\"kingdom\":\"Animalia\",\"order\":\"Trogoniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.7905128598213196,\"species\":\"Trogon massena\",\"species_epithet\":\"massena\"},{\"class\":\"Aves\",\"common_name\":\"Black-tailed trogon\",\"family\":\"Trogonidae\",\"genus\":\"Trogon\",\"kingdom\":\"Animalia\",\"order\":\"Trogoniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.16375626623630524,\"species\":\"Trogon melanurus\",\"species_epithet\":\"melanurus\"},{\"class\":\"Aves\",\"common_name\":\"Ecuadorian trogon\",\"family\":\"Trogonidae\",\"genus\":\"Trogon\",\"kingdom\":\"Animalia\",\"order\":\"Trogoniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.025888271629810333,\"species\":\"Trogon mesurus\",\"species_epithet\":\"mesurus\"},{\"class\":\"Aves\",\"common_name\":\"Lattice-tailed trogon\",\"family\":\"Trogonidae\",\"genus\":\"Trogon\",\"kingdom\":\"Animalia\",\"order\":\"Trogoniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.010376428253948689,\"species\":\"Trogon clathratus\",\"species_epithet\":\"clathratus\"},{\"class\":\"Aves\",\"common_name\":\"White-tipped Quetzal\",\"family\":\"Trogonidae\",\"genus\":\"Pharomachrus\",\"kingdom\":\"Animalia\",\"order\":\"Trogoniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0019458242459222674,\"species\":\"Pharomachrus fulgidus\",\"species_epithet\":\"fulgidus\"},{\"class\":\"Aves\",\"common_name\":\"Bar-tailed Trogon\",\"family\":\"Trogonidae\",\"genus\":\"Apaloderma\",\"kingdom\":\"Animalia\",\"order\":\"Trogoniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0008221556781791151,\"species\":\"Apaloderma vittatum\",\"species_epithet\":\"vittatum\"}],\"class\":\"Aves\",\"common_name\":\"Slaty-tailed Trogon\",\"embedding_key\":\"P1049512-41028B98\",\"family\":\"Trogonidae\",\"genus\":\"Trogon\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Trogoniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.7905128598213196,\"species\":\"Trogon massena\",\"species_epithet\":\"massena\",\"timestamp\":\"2026-02-15T20:57:39.016586\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"original_filename\":\"P1049512.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T19:54:34.905456+00:00\"},\"photos_uuid\":\"41028B98-3BEB-4090-A06F-F8D9DD9072EB\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T20:03:02.421287+00:00\",\"reviewed_value_hash\":\"sha256:f3f87d83acae95b9a21033f29bd5c3fbc49ab893f7ac90ffcd03dbd8ac48ca91\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"},\"taxonomy\":{\"approved_at\":\"2026-02-15T20:02:59.705870+00:00\",\"reviewed_value_hash\":\"sha256:057af2cf006499f7daf643283cc9b6445ffdd183830d829703df0be10eca8658\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"e40733b6cbea4159\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.015186\"}},\"format\":\"avif\",\"sha256\":\"bcf1519efe379db82a2f67a35a32026e3d900e283de169dd53e7d845e114478b\",\"size\":480,\"size_bytes\":65695},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"e40733b6cbea4159\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.009487\"}},\"format\":\"jpg\",\"sha256\":\"1c3ffcbad204f2bc16eb5edf0a69c4ad18279fbca2e3d323d6360616fce07a14\",\"size\":480,\"size_bytes\":91122},{\"format\":\"jxl\",\"sha256\":\"2492faee1c3418de078c5d4af7ca0ffe8a1dc3c4bed3e918caf0155dcbd37e7f\",\"size\":480,\"size_bytes\":54845},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"e40733b6cbea4159\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.229051\"}},\"format\":\"avif\",\"sha256\":\"2cd090603fedd19db5bf023f8ab7a6ca3d2af6548929b129d3486c7f04fd128f\",\"size\":800,\"size_bytes\":89066},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"e40733b6cbea4159\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.245238\"}},\"format\":\"jpg\",\"sha256\":\"e62b52d16f44aaa130601b99803eb462bfff1238da14f195cc2d6cc29ae7090a\",\"size\":800,\"size_bytes\":152639},{\"format\":\"jxl\",\"sha256\":\"45e45f236ab77ee93b363e6a8495f1da04ea9942b9d7273db1f642b5ad4a8c8d\",\"size\":800,\"size_bytes\":86761},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"e40733b6cbea4159\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.339752\"}},\"format\":\"avif\",\"sha256\":\"4ec69a8c6260a1b5de59313a3ce589a841a8cec6315e8c0387e79981d0b5241f\",\"size\":2400,\"size_bytes\":304971},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"e40733b6cbea4159\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.298863\"}},\"format\":\"jpg\",\"sha256\":\"2c1b18a2a772e6339a89fdd63aa8c8deb0bff9a5cbe52e9f3834521e469eb25c\",\"size\":2400,\"size_bytes\":753207},{\"format\":\"jxl\",\"sha256\":\"2f12f1663cf032ab2679dfa1e4bcc93d26d6d1dd5278271e07571ea5d06803d1\",\"size\":2400,\"size_bytes\":407259},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"e40733b6cbea4159\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.500188\"}},\"format\":\"avif\",\"sha256\":\"8c9ca09ab95a2dcdb264382a50eac4166dbb6cfa882d20949c8af03be26b228e\",\"size\":3840,\"size_bytes\":684122},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"e40733b6cbea4159\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.502655\"}},\"format\":\"jpg\",\"sha256\":\"c7ebb989e602f6a8c2d20d7fed0f4cad4a308dafb42e3780090c2a917fee55b5\",\"size\":3840,\"size_bytes\":1741956},{\"format\":\"jxl\",\"sha256\":\"a2805399e0ebc38e309cc56654770d372563a0340bee9a1141891eec5c0d7718\",\"size\":3840,\"size_bytes\":987901},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"e40733b6cbea4159\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.715499\"}},\"format\":\"avif\",\"sha256\":\"7f1a7f88e85fc8b1458d4f558fc9a6027e90b7e78d6cf75859656f9c261b2d80\",\"size\":5184,\"size_bytes\":1096659},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"e40733b6cbea4159\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:40.044018\"}},\"format\":\"jpg\",\"sha256\":\"9b36f56b4a54ff6e319f4fbc3819b72204cb1d722a1c80d74573ba8ab1cbac92\",\"size\":5184,\"size_bytes\":2817275},{\"format\":\"jxl\",\"sha256\":\"125ab39aa3f1d7689736298f6646c9f5620a8c1a242081618b32c2d1f908a165\",\"size\":5184,\"size_bytes\":1694853}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a black and white bird perched on a tree branch\",\"uuid\":\"DBEB4859-8D84-466B-B4D9-446FDB8B6E60\"},\"cdn_base_path\":\"photos/2025/12/P1049503-DBEB4859\",\"date\":\"2025-12-24T15:56:46.087000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"An osprey perches on a tree branch against a clear blue sky, with green leaves visible above.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"bird\",\"branch\",\"leaf\",\"sky\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T20:58:28.244229\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9885813593864441,\"timestamp\":\"2026-02-15T20:57:54.540525\",\"variant_used\":{\"format\":\"jpg\",\"size\":1839}},\"llm_species_id_v1\":{\"confidence_1_to_100\":92,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.00777,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"8cec446f4f087699160e5705a8e76d7a83f51fac\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Large raptor with white head and bold dark eye stripe, white underparts with faint brown breast band, dark upperparts, and very long wings—classic Osprey; common in Costa Rica.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Pandion haliaetus\",\"species_binomial\":\"Pandion haliaetus\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T19:56:03.848726+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":671,\"total_tokens\":1519},\"variant_used\":{\"format\":\"jpg\",\"size\":1839}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Eastern osprey\",\"family\":\"Pandionidae\",\"genus\":\"Pandion\",\"kingdom\":\"Animalia\",\"order\":\"Accipitriformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.24033577740192413,\"species\":\"Pandion cristatus\",\"species_epithet\":\"cristatus\"},{\"class\":\"Aves\",\"common_name\":\"Gray-headed fish-eagle\",\"family\":\"Accipitridae\",\"genus\":\"Haliaeetus\",\"kingdom\":\"Animalia\",\"order\":\"Accipitriformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.13869193196296692,\"species\":\"Haliaeetus ichthyaetus\",\"species_epithet\":\"ichthyaetus\"},{\"class\":\"Aves\",\"common_name\":\"White-bellied Sea Eagle\",\"family\":\"Accipitridae\",\"genus\":\"Haliaeetus\",\"kingdom\":\"Animalia\",\"order\":\"Accipitriformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.12790164351463318,\"species\":\"Haliaeetus leucogaster\",\"species_epithet\":\"leucogaster\"},{\"class\":\"Aves\",\"common_name\":\"Philippine Eagle\",\"family\":\"Accipitridae\",\"genus\":\"Pithecophaga\",\"kingdom\":\"Animalia\",\"order\":\"Accipitriformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.11859329044818878,\"species\":\"Pithecophaga jefferyi\",\"species_epithet\":\"jefferyi\"},{\"class\":\"Aves\",\"common_name\":\"Madagascar fish eagle\",\"family\":\"Accipitridae\",\"genus\":\"Haliaeetus\",\"kingdom\":\"Animalia\",\"order\":\"Accipitriformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0652201846241951,\"species\":\"Haliaeetus vociferoides\",\"species_epithet\":\"vociferoides\"},{\"class\":\"Aves\",\"common_name\":\"Papuan Eagle\",\"family\":\"Accipitridae\",\"genus\":\"Harpyopsis\",\"kingdom\":\"Animalia\",\"order\":\"Accipitriformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.04185404255986214,\"species\":\"Harpyopsis novaeguineae\",\"species_epithet\":\"novaeguineae\"}],\"class\":\"Aves\",\"common_name\":\"Eastern osprey\",\"embedding_key\":\"P1049503-DBEB4859\",\"family\":\"Pandionidae\",\"genus\":\"Pandion\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Accipitriformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.24033577740192413,\"species\":\"Pandion cristatus\",\"species_epithet\":\"cristatus\",\"timestamp\":\"2026-02-15T20:57:38.997764\",\"variant_used\":{\"format\":\"jpg\",\"size\":1839}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":1839},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":1839},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":1839}},\"gallery_caption\":\"\",\"height\":1379,\"manual_taxonomy\":{\"class\":\"Aves\",\"common_name\":\"Osprey\",\"family\":\"Pandionidae\",\"genus\":\"Pandion\",\"kingdom\":\"Animalia\",\"order\":\"Accipitriformes\",\"phylum\":\"Chordata\",\"species\":\"Pandion haliaetus\",\"species_epithet\":\"haliaetus\"},\"original_filename\":\"P1049503.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T19:54:34.905762+00:00\"},\"photos_uuid\":\"DBEB4859-8D84-466B-B4D9-446FDB8B6E60\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T20:06:00.342302+00:00\",\"reviewed_value_hash\":\"sha256:775ce559fe4c9d3ac59abcb98b61587cb368762795051f20ffbbccae601f53af\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"b3a2d936e7026db0\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.395427\"}},\"format\":\"avif\",\"sha256\":\"2d9ac198aedd845c28f83bf5ef1ece8e0d936866b5e9d74f32fc738e55d85e69\",\"size\":480,\"size_bytes\":39380},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"b3a2d936e7026db0\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.422098\"}},\"format\":\"jpg\",\"sha256\":\"af5b9800a051e2203f7fe26d301224d0c0965926f0fe9ff03403b61f1430ef71\",\"size\":480,\"size_bytes\":60998},{\"format\":\"jxl\",\"sha256\":\"be7cc70e4efd24ab89a7eff2edb61500419919ea6def84226b9fe1caa3934082\",\"size\":480,\"size_bytes\":40065},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"b3a2d936e7026db0\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.255296\"}},\"format\":\"avif\",\"sha256\":\"fa549473347e213dbd045ce17bc0d8fa4a21f076e331e02ead6a9e1bcc6df0ca\",\"size\":800,\"size_bytes\":81938},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"b3a2d936e7026db0\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.182622\"}},\"format\":\"jpg\",\"sha256\":\"460c428d1f478f2e7b274c5b3adcb9d880918c9eac82132d38b932ace7437263\",\"size\":800,\"size_bytes\":130516},{\"format\":\"jxl\",\"sha256\":\"bff8a973df63554593b5c5f833faa658966309ce8c7c686682e20c90447f2d95\",\"size\":800,\"size_bytes\":83687},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"b3a2d936e7026db0\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.310099\"}},\"format\":\"avif\",\"sha256\":\"1753fb778bfb792f917fb7b33a67dfcae58e3d42b23d4a81f2b04fec5cba4690\",\"size\":1839,\"size_bytes\":260441},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"b3a2d936e7026db0\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.211041\"}},\"format\":\"jpg\",\"sha256\":\"b7e6907a3e77fcee8d938271d0fd3f4fd4a6026e8094c1b58b7dfd27a2fd9ccd\",\"size\":1839,\"size_bytes\":497697},{\"format\":\"jxl\",\"sha256\":\"ce17c3254bec902bca43d29375861c9e19020e4cd04a49e7eea958a52a46f807\",\"size\":1839,\"size_bytes\":301703}],\"width\":1839},{\"apple_photos\":{\"ai_caption\":\"a close up of an insect on a white surface\",\"uuid\":\"779BB3A3-5C5E-48CF-A782-349E5C665B6A\"},\"cdn_base_path\":\"photos/2025/12/IMG_5723-779BB3A3\",\"date\":\"2025-12-20T20:49:34.350000-06:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A leaf-mimic praying mantis rests on a textured gray surface, its wings spread wide to resemble a yellowed leaf, under artificial lighting at night.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"mantis\",\"leaf\",\"surface\",\"light\",\"railing\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T20:58:13.669140\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9999961853027344,\"timestamp\":\"2026-02-15T20:57:54.493187\",\"variant_used\":{\"format\":\"jpg\",\"size\":2371}},\"llm_species_id_v1\":{\"confidence_1_to_100\":65,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.01748,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"8cec446f4f087699160e5705a8e76d7a83f51fac\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Leaf-mimicking mantis with long conical head horn and broad, leaf-like lobes on raptorial forelegs; tegmina show dead-leaf venation. This ‘unicorn mantis’ occurs in Costa Rica.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Phyllovates chlorophaea\",\"species_binomial\":\"Phyllovates chlorophaea\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T19:56:08.653225+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":1642,\"total_tokens\":2490},\"variant_used\":{\"format\":\"jpg\",\"size\":2371}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Insecta\",\"common_name\":\"\",\"family\":\"Mantidae\",\"genus\":\"Antemna\",\"kingdom\":\"Animalia\",\"order\":\"Mantodea\",\"phylum\":\"Arthropoda\",\"rank\":\"species\",\"score\":0.29010429978370667,\"species\":\"Antemna rapax\",\"species_epithet\":\"rapax\"},{\"class\":\"Insecta\",\"common_name\":\"\",\"family\":\"Mantidae\",\"genus\":\"Choeradodis\",\"kingdom\":\"Animalia\",\"order\":\"Mantodea\",\"phylum\":\"Arthropoda\",\"rank\":\"species\",\"score\":0.03812691941857338,\"species\":\"Choeradodis stalii\",\"species_epithet\":\"stalii\"},{\"class\":\"Insecta\",\"common_name\":\"\",\"family\":\"Mantidae\",\"genus\":\"Rhombodera\",\"kingdom\":\"Animalia\",\"order\":\"Mantodea\",\"phylum\":\"Arthropoda\",\"rank\":\"species\",\"score\":0.030002517625689507,\"species\":\"Rhombodera zhangi\",\"species_epithet\":\"zhangi\"},{\"class\":\"Insecta\",\"common_name\":\"\",\"family\":\"Mantidae\",\"genus\":\"Rhombodera\",\"kingdom\":\"Animalia\",\"order\":\"Mantodea\",\"phylum\":\"Arthropoda\",\"rank\":\"species\",\"score\":0.02356434427201748,\"species\":\"Rhombodera ornatipes\",\"species_epithet\":\"ornatipes\"},{\"class\":\"Insecta\",\"common_name\":\"\",\"family\":\"Mantidae\",\"genus\":\"Rhombodera\",\"kingdom\":\"Animalia\",\"order\":\"Mantodea\",\"phylum\":\"Arthropoda\",\"rank\":\"species\",\"score\":0.02025662548840046,\"species\":\"Rhombodera morokana\",\"species_epithet\":\"morokana\"},{\"class\":\"Insecta\",\"common_name\":\"\",\"family\":\"Acanthopidae\",\"genus\":\"Metilia\",\"kingdom\":\"Animalia\",\"order\":\"Mantodea\",\"phylum\":\"Arthropoda\",\"rank\":\"species\",\"score\":0.019884994253516197,\"species\":\"Metilia brunnerii\",\"species_epithet\":\"brunnerii\"}],\"class\":\"Insecta\",\"common_name\":\"\",\"embedding_key\":\"IMG_5723-779BB3A3\",\"family\":\"Mantidae\",\"genus\":\"Antemna\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Mantodea\",\"phylum\":\"Arthropoda\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.29010429978370667,\"species\":\"Antemna rapax\",\"species_epithet\":\"rapax\",\"timestamp\":\"2026-02-15T20:57:38.960938\",\"variant_used\":{\"format\":\"jpg\",\"size\":2371}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":2371},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":2371},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":2371}},\"gallery_caption\":\"\",\"height\":1778,\"latitude\":9.114147166666667,\"location\":\"Osa, Puntarenas, Costa Rica\",\"longitude\":-83.6886,\"original_filename\":\"IMG_5723.HEIC\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T19:54:34.906122+00:00\"},\"photos_uuid\":\"779BB3A3-5C5E-48CF-A782-349E5C665B6A\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T20:07:28.467217+00:00\",\"reviewed_value_hash\":\"sha256:6843289d1a34c5f161bc48457d7dc473634115ceefef994d2987ff50d5a921d2\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"},\"taxonomy\":{\"approved_at\":\"2026-02-15T20:09:38.965591+00:00\",\"source\":\"taxonomy_review_v1\",\"status\":\"unknown\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"8363749c0feb238d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:33.479391\"}},\"format\":\"avif\",\"sha256\":\"60ca2c545d7ed235e7008075bdf7c6463a2b5342bd5e21045dc2a5564cbdfe98\",\"size\":480,\"size_bytes\":29703},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"8363749c0feb238d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:33.507551\"}},\"format\":\"jpg\",\"sha256\":\"6588c110cd7b990912ef0180255e6a36a7d66615020aa9310bcb8d0e9414d179\",\"size\":480,\"size_bytes\":41440},{\"format\":\"jxl\",\"sha256\":\"c8104791f8f98b9616f2118acd2cdc67806ec03a2a01d0855618f8b7bc82a7f3\",\"size\":480,\"size_bytes\":28556},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"8363749c0feb238d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.179470\"}},\"format\":\"avif\",\"sha256\":\"8d714a3f7bfd4013f79254c38502abb840df0a7e4e2330c956fb9692af7aec50\",\"size\":800,\"size_bytes\":66464},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"8363749c0feb238d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.196074\"}},\"format\":\"jpg\",\"sha256\":\"fe995040e707636f38b29a194231c807266c9a7f98ab45f58858cacd80f353f4\",\"size\":800,\"size_bytes\":95997},{\"format\":\"jxl\",\"sha256\":\"0fddf5af852cf99119b0ccf8de5f120c2edf880eb628ee61b99fc60a05d9165e\",\"size\":800,\"size_bytes\":64178},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"8363749c0feb238d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.227692\"}},\"format\":\"avif\",\"sha256\":\"4bc73ee02cc22209f3a15c7c8608bc706f384fe5e6ce30002bc2ffe3897b49f3\",\"size\":2371,\"size_bytes\":377306},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"ae3b130e8973d353d8a9ce651cf8b19a8b495bcd\",\"hash\":\"8363749c0feb238d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T20:57:21.248555\"}},\"format\":\"jpg\",\"sha256\":\"5cdd344acb4cecf381a25cbbf1c9ec329b90a56b4c4a64f718480398949a9ea7\",\"size\":2371,\"size_bytes\":674009},{\"format\":\"jxl\",\"sha256\":\"aab616d3e03a6308b79b6d954c3c886ddda7aae2f279ddbeb744c32957ce269e\",\"size\":2371,\"size_bytes\":434131}],\"width\":2371},{\"apple_photos\":{\"ai_caption\":\"an iguana standing in a shallow body of water near a rock wall\",\"labels\":[\"Rocks\"],\"uuid\":\"328CB1A6-8978-4191-95C3-ECC98E8E3F1C\"},\"cdn_base_path\":\"photos/2025/12/P1049496-328CB1A6\",\"date\":\"2025-12-18T19:12:52.133000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"An iguana stands in shallow water near a rocky shoreline, with its head raised and spiny crest visible.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"81baad497afaa2f5c07fc4cc18b111af48190ad8\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"iguana\",\"water\",\"rock\",\"mud\",\"leaf\",\"branch\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:23:52.329402\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9905819892883301,\"timestamp\":\"2026-02-15T01:14:18.916736\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":96,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.00402,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"5ce06c44c58e0b000981188a0788455325a5a302\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Large lizard with tall dorsal spines, big dewlap, and prominent round subtympanic scale; greenish body near water. This matches Green Iguana, common in Costa Rica. Subspecies not distinguishable from photo.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Iguana iguana\",\"species_binomial\":\"Iguana iguana\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:27:16.305923+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":296,\"total_tokens\":1144},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Squamata\",\"common_name\":\"Iguana\",\"embedding_key\":\"P1049496-328CB1A6\",\"family\":\"Iguanidae\",\"genus\":\"Iguana\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.8256190419197083,\"species\":\"Iguana iguana\",\"species_epithet\":\"iguana\",\"timestamp\":\"2026-02-15T01:13:44.140390\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Squamata\",\"common_name\":\"Iguana\",\"family\":\"Iguanidae\",\"genus\":\"Iguana\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.8256190419197083,\"species\":\"Iguana iguana\",\"species_epithet\":\"iguana\"},{\"class\":\"Squamata\",\"common_name\":\"West indian iguana\",\"family\":\"Iguanidae\",\"genus\":\"Iguana\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.14943349361419678,\"species\":\"Iguana delicatissima\",\"species_epithet\":\"delicatissima\"},{\"class\":\"Squamata\",\"common_name\":\"\",\"family\":\"Iguanidae\",\"genus\":\"Iguana\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.007391256745904684,\"species\":\"Iguana rhinolopha\",\"species_epithet\":\"rhinolopha\"},{\"class\":\"Squamata\",\"common_name\":\"Green basilisk\",\"family\":\"Corytophanidae\",\"genus\":\"Basiliscus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.00180979969445616,\"species\":\"Basiliscus plumifrons\",\"species_epithet\":\"plumifrons\"},{\"class\":\"Squamata\",\"common_name\":\"Asian water dragon\",\"family\":\"Agamidae\",\"genus\":\"Physignathus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0014709752285853028,\"species\":\"Physignathus cocincinus\",\"species_epithet\":\"cocincinus\"},{\"class\":\"Squamata\",\"common_name\":\"Fiji banded iguana\",\"family\":\"Iguanidae\",\"genus\":\"Brachylophus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0009200703934766352,\"species\":\"Brachylophus fasciatus\",\"species_epithet\":\"fasciatus\"}],\"class\":\"Squamata\",\"common_name\":\"Iguana\",\"embedding_key\":\"P1049496-328CB1A6\",\"family\":\"Iguanidae\",\"genus\":\"Iguana\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.8256190419197083,\"species\":\"Iguana iguana\",\"species_epithet\":\"iguana\",\"timestamp\":\"2026-02-15T10:24:54.560286\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"manual_taxonomy\":{\"class\":\"Reptilia\",\"common_name\":\"Common Green Iguana, Green Iguana, Iguana verde, iguane commun\",\"family\":\"Iguanidae\",\"genus\":\"Iguana\",\"kingdom\":\"Animalia\",\"order\":\"Squamata\",\"phylum\":\"Chordata\",\"species\":\"Iguana iguana\",\"species_epithet\":\"iguana\"},\"original_filename\":\"P1049496.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.561138+00:00\"},\"photos_uuid\":\"328CB1A6-8978-4191-95C3-ECC98E8E3F1C\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T17:27:14.126451+00:00\",\"reviewed_value_hash\":\"sha256:59b0c79651cf2230b3c3cbeddad231017ec2b3af81ebb4b87dd0c9d46b5ff60c\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"83652793b84cf333\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.768033\"}},\"format\":\"avif\",\"sha256\":\"42242759726cf7f24beaeda4e0ba1570d2589c368e0d4dc89e3334631bfa8348\",\"size\":480,\"size_bytes\":35068},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"83652793b84cf333\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.839222\"}},\"format\":\"jpg\",\"sha256\":\"fb46ed7bef8878f6d323f13f0034f789864cb7f44e53499791f016a6582e1b91\",\"size\":480,\"size_bytes\":51369},{\"format\":\"jxl\",\"sha256\":\"db42a1bd1382d3eafca34fc2bfd2a74c37ef937417576136e41a4b4b03f1708b\",\"size\":480,\"size_bytes\":34408},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"83652793b84cf333\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:09.454120\"}},\"format\":\"avif\",\"sha256\":\"5c9a3925f78e4c6b63473b6dfb0de07ca183a4efb616113bbcbe61cfb3c5e989\",\"size\":800,\"size_bytes\":83156},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"83652793b84cf333\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:09.469010\"}},\"format\":\"jpg\",\"sha256\":\"c61033372083618d5bff494064a82106fe86b88bac5daacc665d09d830351ff2\",\"size\":800,\"size_bytes\":122995},{\"format\":\"jxl\",\"sha256\":\"4dd3170ce60b853c5652cefb03e308e664a6cb0ba0bc49b712958456bac4af16\",\"size\":800,\"size_bytes\":82067},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"83672793b84cb333\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:09.712712\"}},\"format\":\"avif\",\"sha256\":\"193fb9699071a53204f47fe4b79947b492a8d2d40491e8a1de70e93f4af8a403\",\"size\":2400,\"size_bytes\":936992},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"83672793b84cb333\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:09.744235\"}},\"format\":\"jpg\",\"sha256\":\"eb31bcb54968ffc3cb6ac29f71bdecef2fbfb7f598965501b84aa481af1c3358\",\"size\":2400,\"size_bytes\":1073922},{\"format\":\"jxl\",\"sha256\":\"046bf5771d19776c02a9996de78cb0a321af49c409495281a44e9714ad8fa6ac\",\"size\":2400,\"size_bytes\":696458},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"83672793b84cb333\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:10.009866\"}},\"format\":\"avif\",\"sha256\":\"1f3f3195b8a0029027601388771d9a8ceaedb8782bc87514d951f10cb97ae076\",\"size\":3840,\"size_bytes\":2282319},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"83652793b84cf333\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:10.009184\"}},\"format\":\"jpg\",\"sha256\":\"423803fa4a8f0882edd740109739a562cdf0216e45976ea24fd371451c659705\",\"size\":3840,\"size_bytes\":2774004},{\"format\":\"jxl\",\"sha256\":\"7f618d864592b660c2cedc063fda1b073291fe60a75d364429d74a6030feed70\",\"size\":3840,\"size_bytes\":1881349},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"83652793b84cf333\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.417793\"}},\"format\":\"avif\",\"sha256\":\"74cd350569e7e3adbbbb2a4a8fd5e0f9f9a19b44359f4a5f1e21b12529c398ef\",\"size\":5184,\"size_bytes\":3386471},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"83672793b84cb333\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.343328\"}},\"format\":\"jpg\",\"sha256\":\"b706afabf0025e67f08298887bec41eb11690b4b2b6d3603f551161ec1d83520\",\"size\":5184,\"size_bytes\":4890479},{\"format\":\"jxl\",\"sha256\":\"c648f7effe31272bb0e7291ece23cd91ab33ec0df722a47899db4a00f79ff51e\",\"size\":5184,\"size_bytes\":3309990}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a bird is perched on a tree branch\",\"uuid\":\"E59468DB-1BD2-44AB-BCE0-EF3236E5DEDC\"},\"cdn_base_path\":\"photos/2025/12/P1049484-E59468DB\",\"date\":\"2025-12-18T19:06:35.536000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A green-and-white kingfisher perches on a tree branch, its black head, orange breast, and white underparts visible against a backdrop of blurred green leaves.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"81baad497afaa2f5c07fc4cc18b111af48190ad8\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"bird\",\"branch\",\"leaf\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:23:37.881758\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9999384880065918,\"timestamp\":\"2026-02-15T01:14:18.900150\",\"variant_used\":{\"format\":\"jpg\",\"size\":3490}},\"llm_species_id_v1\":{\"confidence_1_to_100\":86,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.01305,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Small green-backed kingfisher with white throat/collar and a single rufous breast band over a white belly; common in Costa Rica. Differs from Amazon Kingfisher (green chest band) and American Pygmy (underparts mostly rufous).\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Chloroceryle americana\",\"species_binomial\":\"Chloroceryle americana\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:43:36.110846+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":1199,\"total_tokens\":2047},\"variant_used\":{\"format\":\"jpg\",\"size\":3490}},\"tree_of_life_v1\":{\"class\":\"Aves\",\"common_name\":\"Amazon Kingfisher\",\"embedding_key\":\"P1049484-E59468DB\",\"family\":\"Alcedinidae\",\"genus\":\"Chloroceryle\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Coraciiformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.760278582572937,\"species\":\"Chloroceryle amazona\",\"species_epithet\":\"amazona\",\"timestamp\":\"2026-02-15T01:13:44.128570\",\"variant_used\":{\"format\":\"jpg\",\"size\":3490}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Amazon Kingfisher\",\"family\":\"Alcedinidae\",\"genus\":\"Chloroceryle\",\"kingdom\":\"Animalia\",\"order\":\"Coraciiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.760278582572937,\"species\":\"Chloroceryle amazona\",\"species_epithet\":\"amazona\"},{\"class\":\"Aves\",\"common_name\":\"Cerulean kingfisher\",\"family\":\"Alcedinidae\",\"genus\":\"Alcedo\",\"kingdom\":\"Animalia\",\"order\":\"Coraciiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.05820121988654137,\"species\":\"Alcedo coerulescens\",\"species_epithet\":\"coerulescens\"},{\"class\":\"Aves\",\"common_name\":\"Southern Silvery Kingfisher\",\"family\":\"Alcedinidae\",\"genus\":\"Ceyx\",\"kingdom\":\"Animalia\",\"order\":\"Coraciiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.046140119433403015,\"species\":\"Ceyx argentatus\",\"species_epithet\":\"argentatus\"},{\"class\":\"Aves\",\"common_name\":\"Northern silvery kingfisher\",\"family\":\"Alcedinidae\",\"genus\":\"Ceyx\",\"kingdom\":\"Animalia\",\"order\":\"Coraciiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.02293706126511097,\"species\":\"Ceyx flumenicola\",\"species_epithet\":\"flumenicola\"},{\"class\":\"Aves\",\"common_name\":\"Mangareva kingfisher\",\"family\":\"Alcedinidae\",\"genus\":\"Todiramphus\",\"kingdom\":\"Animalia\",\"order\":\"Coraciiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.012871924787759781,\"species\":\"Todiramphus gambieri\",\"species_epithet\":\"gambieri\"},{\"class\":\"Aves\",\"common_name\":\"Sombre kingfisher\",\"family\":\"Alcedinidae\",\"genus\":\"Todiramphus\",\"kingdom\":\"Animalia\",\"order\":\"Coraciiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.009839851409196854,\"species\":\"Todiramphus funebris\",\"species_epithet\":\"funebris\"}],\"class\":\"Aves\",\"common_name\":\"Amazon Kingfisher\",\"embedding_key\":\"P1049484-E59468DB\",\"family\":\"Alcedinidae\",\"genus\":\"Chloroceryle\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Coraciiformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.760278582572937,\"species\":\"Chloroceryle amazona\",\"species_epithet\":\"amazona\",\"timestamp\":\"2026-02-15T10:24:54.548966\",\"variant_used\":{\"format\":\"jpg\",\"size\":3490}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3490},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3490},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3490},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3490}},\"gallery_caption\":\"\",\"height\":2618,\"manual_taxonomy\":{\"class\":\"Aves\",\"common_name\":\"Green kingfisher\",\"family\":\"Alcedinidae\",\"genus\":\"Chloroceryle\",\"kingdom\":\"Animalia\",\"order\":\"Coraciiformes\",\"phylum\":\"Chordata\",\"species\":\"Chloroceryle americana\",\"species_epithet\":\"americana\"},\"original_filename\":\"P1049484.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.563203+00:00\"},\"photos_uuid\":\"E59468DB-1BD2-44AB-BCE0-EF3236E5DEDC\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T17:55:10.626466+00:00\",\"reviewed_value_hash\":\"sha256:c00b5f081cd0071c49ac6ef5e013cbe9ea7f5f2664dd90f227aa1ff00335209e\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"844b99d933964db9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.715326\"}},\"format\":\"avif\",\"sha256\":\"ddb17d7d2eaeed3ce83bedc5e3e75187e064fa7e98ccc01b71a6cd9e72111a59\",\"size\":480,\"size_bytes\":67238},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"844b99d933964db9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.745768\"}},\"format\":\"jpg\",\"sha256\":\"34689589d72dd3242b2baffd4ef1326367c1ae4a57a027749d2955556d4c9355\",\"size\":480,\"size_bytes\":90532},{\"format\":\"jxl\",\"sha256\":\"b33deb36a2aeb98f2ad14590d32ca997b1af404fbb6c7a47d34c6c22c616fe06\",\"size\":480,\"size_bytes\":52785},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"844b99d933964db9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:09.087348\"}},\"format\":\"avif\",\"sha256\":\"80a3bd2874023127ab046cb1ee9feac02fe59522b96b5be3157f2f13fa2d050a\",\"size\":800,\"size_bytes\":118793},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"844b99d933964db9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:09.148582\"}},\"format\":\"jpg\",\"sha256\":\"b66e43e6c6dccd599d800295b8973a5557f8b1bb6723b33191e51d1b33e549e7\",\"size\":800,\"size_bytes\":168483},{\"format\":\"jxl\",\"sha256\":\"9f909705f6311cb7d4c7655ab8c59932e47c027ffee69d68584b093b364f3be1\",\"size\":800,\"size_bytes\":96033},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"844b99d933964db9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:09.290051\"}},\"format\":\"avif\",\"sha256\":\"affa9e8184681740ec189b8f6d8771c89a9552126370e16f942ec34eab006a2f\",\"size\":2400,\"size_bytes\":864262},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"844b99d933964db9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:09.356688\"}},\"format\":\"jpg\",\"sha256\":\"c7788a03fc59c3e1d6a7631a2764e474bf1deca9ada4e216adedbc801ebd560c\",\"size\":2400,\"size_bytes\":1178794},{\"format\":\"jxl\",\"sha256\":\"20577f2e363e1d336a5841920d18d1d1bc7805523a8fbf8a6c3737b3406b9408\",\"size\":2400,\"size_bytes\":733726},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"844b99d933964db9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:09.471283\"}},\"format\":\"avif\",\"sha256\":\"287471976cc54ac5df9d39d65e6810588d2e8f6ff698f9a475cae9e10a5dba5f\",\"size\":3490,\"size_bytes\":1452331},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"844b99d933964db9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:09.682832\"}},\"format\":\"jpg\",\"sha256\":\"f11d51864dc1c87da3469219d18fe55436e2e51058ff3a4a4b18833a5d97c597\",\"size\":3490,\"size_bytes\":2291704},{\"format\":\"jxl\",\"sha256\":\"62df6b4666df3ae58706f4c49eb226c78129915c5764cba3e5f52f5a403137c2\",\"size\":3490,\"size_bytes\":1405537}],\"width\":3490},{\"apple_photos\":{\"ai_caption\":\"a bird standing in a muddy area with grass in the background\",\"uuid\":\"179F6076-8F36-4D6A-94C4-FEACB9214F49\"},\"cdn_base_path\":\"photos/2025/12/P1039446-179F6076\",\"date\":\"2025-12-18T18:36:22.852000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A green heron with a long beak and striped neck walks through shallow, muddy water scattered with leaves and debris.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"81baad497afaa2f5c07fc4cc18b111af48190ad8\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"bird\",\"leaves\",\"mud\",\"water\",\"rock\",\"turtle\",\"branch\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:23:23.258155\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9995112419128418,\"timestamp\":\"2026-02-15T01:14:18.882422\",\"variant_used\":{\"format\":\"jpg\",\"size\":3009}},\"llm_species_id_v1\":{\"confidence_1_to_100\":90,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.01036,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Compact small heron with dark greenish cap/back, bright chestnut neck and breast, yellow legs; Striated Heron would show gray neck. Green Heron is common in Costa Rica wetlands.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Butorides virescens\",\"species_binomial\":\"Butorides virescens\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:43:22.766494+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":930,\"total_tokens\":1778},\"variant_used\":{\"format\":\"jpg\",\"size\":3009}},\"tree_of_life_v1\":{\"class\":\"Aves\",\"common_name\":\"Green Heron\",\"embedding_key\":\"P1039446-179F6076\",\"family\":\"Ardeidae\",\"genus\":\"Butorides\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.9531034231185913,\"species\":\"Butorides virescens\",\"species_epithet\":\"virescens\",\"timestamp\":\"2026-02-15T01:13:44.116269\",\"variant_used\":{\"format\":\"jpg\",\"size\":3009}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Green Heron\",\"family\":\"Ardeidae\",\"genus\":\"Butorides\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.9531034231185913,\"species\":\"Butorides virescens\",\"species_epithet\":\"virescens\"},{\"class\":\"Aves\",\"common_name\":\"Striated heron\",\"family\":\"Ardeidae\",\"genus\":\"Butorides\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.017428485676646233,\"species\":\"Butorides striata\",\"species_epithet\":\"striata\"},{\"class\":\"Aves\",\"common_name\":\"Lava heron\",\"family\":\"Ardeidae\",\"genus\":\"Butorides\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0028096805326640606,\"species\":\"Butorides sundevalli\",\"species_epithet\":\"sundevalli\"},{\"class\":\"Aves\",\"common_name\":\"Von Schrenck's Bittern\",\"family\":\"Ardeidae\",\"genus\":\"Ixobrychus\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0022068247199058533,\"species\":\"Ixobrychus eurhythmus\",\"species_epithet\":\"eurhythmus\"},{\"class\":\"Aves\",\"common_name\":\"Least Bittern\",\"family\":\"Ardeidae\",\"genus\":\"Ixobrychus\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0012463981984183192,\"species\":\"Ixobrychus exilis\",\"species_epithet\":\"exilis\"},{\"class\":\"Aves\",\"common_name\":\"Dwarf bittern\",\"family\":\"Ardeidae\",\"genus\":\"Ixobrychus\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0012289390433579683,\"species\":\"Ixobrychus sturmii\",\"species_epithet\":\"sturmii\"}],\"class\":\"Aves\",\"common_name\":\"Green Heron\",\"embedding_key\":\"P1039446-179F6076\",\"family\":\"Ardeidae\",\"genus\":\"Butorides\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.9531034231185913,\"species\":\"Butorides virescens\",\"species_epithet\":\"virescens\",\"timestamp\":\"2026-02-15T10:24:54.537513\",\"variant_used\":{\"format\":\"jpg\",\"size\":3009}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3009},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3009},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3009},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3009}},\"gallery_caption\":\"\",\"height\":2257,\"original_filename\":\"P1039446.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.564859+00:00\"},\"photos_uuid\":\"179F6076-8F36-4D6A-94C4-FEACB9214F49\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T19:29:00.511872+00:00\",\"reviewed_value_hash\":\"sha256:99dc00e032d03c32d837e787dfbbdc55337e39a419286df89336e31edb251541\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"},\"taxonomy\":{\"approved_at\":\"2026-02-15T19:28:58.462204+00:00\",\"reviewed_value_hash\":\"sha256:7a5b1736df73c0490664c35362e5edc84f4207e17e9d7dc2339698642f453551\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"8615995a2d7f3386\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.682681\"}},\"format\":\"avif\",\"sha256\":\"43df3089947b8aed166ecb4eded1cc8d3bb3d9e7b6ff48e87409dc58c20c6b5c\",\"size\":480,\"size_bytes\":55069},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"8615915a2d7f338e\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.725200\"}},\"format\":\"jpg\",\"sha256\":\"271d9fb082b844a45e1de9f683c82a34cef0ffac46841a051472636f3092f22d\",\"size\":480,\"size_bytes\":78452},{\"format\":\"jxl\",\"sha256\":\"099e3018c2c644d4d7cd3af21709bf82766ddc0c2fe9a09e1a6be59da84518fd\",\"size\":480,\"size_bytes\":46563},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"8615995a2d7f3386\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:08.741258\"}},\"format\":\"avif\",\"sha256\":\"8f089e4103d5c70b7ae364fad342e925bee8ff2d61c0c9316c86d1ba4d33e838\",\"size\":800,\"size_bytes\":114779},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"8615995a2d7f3386\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:08.775109\"}},\"format\":\"jpg\",\"sha256\":\"31bd3cb7f25f7679abfa1f8ce8f7d69971d7fd94aacf00cf2228047be37a279e\",\"size\":800,\"size_bytes\":178144},{\"format\":\"jxl\",\"sha256\":\"3055953e64b91f204ba553dff9f82c1ae7bc686b0b0f56ff825e4c5bc0ef979b\",\"size\":800,\"size_bytes\":102356},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"8615995a2d7f3386\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:08.944183\"}},\"format\":\"avif\",\"sha256\":\"70a32a46af649e68a7c29d99bac2478b9445d7c7b1c606ba10462c4db97cfe4b\",\"size\":2400,\"size_bytes\":592566},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"8615995a2d7f3386\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:09.027856\"}},\"format\":\"jpg\",\"sha256\":\"699e6d04afaeaace9c40b572f1482262b8205dc5e40d8ede06f0c430c985afda\",\"size\":2400,\"size_bytes\":1074191},{\"format\":\"jxl\",\"sha256\":\"7005ce8a146299eb517e1c1767c09f2919f84e0ce4cfa94bf5c33a1cc90629e5\",\"size\":2400,\"size_bytes\":626540},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"8615995a2d7f3386\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:09.012679\"}},\"format\":\"avif\",\"sha256\":\"beb65eee748674c436dcfdfa0899cd772552fa491650ca4d868cb501ce733a29\",\"size\":3009,\"size_bytes\":889014},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"8615995a2d7f3386\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:09.062345\"}},\"format\":\"jpg\",\"sha256\":\"4a78dccdf961418a4ca19d2716f52a59248bffda6a3469680a7f5cfcf96a517b\",\"size\":3009,\"size_bytes\":1547981},{\"format\":\"jxl\",\"sha256\":\"55b8e9ce69dbf0f9865fa6cd31eb5623ce5a68f1468357d30038c14a4476407a\",\"size\":3009,\"size_bytes\":948199}],\"width\":3009},{\"apple_photos\":{\"ai_caption\":\"an alligator swimming in a body of water\",\"labels\":[\"Animal\",\"Crocodilia\",\"Reptile\"],\"uuid\":\"53303170-4713-4410-9988-BB5116BCB8F2\"},\"cdn_base_path\":\"photos/2025/12/P1039439-53303170\",\"date\":\"2025-12-18T18:28:41.911000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A dark-colored caiman swims through brown water, its back and tail visible above the surface.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"81baad497afaa2f5c07fc4cc18b111af48190ad8\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"water\",\"head\",\"spine\",\"ripples\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:23:08.698025\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9945264458656311,\"timestamp\":\"2026-02-15T01:14:18.868965\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":70,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.00849,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Crocodilian swimming with long, narrow V-shaped snout and high serrated double crest on tail; features fit American crocodile more than the broader-snouted spectacled caiman. Occurs commonly in Costa Rica rivers.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Crocodylus acutus\",\"species_binomial\":\"Crocodylus acutus\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:43:12.880191+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":743,\"total_tokens\":1591},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Squamata\",\"common_name\":\"Common water monitor\",\"embedding_key\":\"P1039439-53303170\",\"family\":\"Varanidae\",\"genus\":\"Varanus\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.22292838990688324,\"species\":\"Varanus salvator\",\"species_epithet\":\"salvator\",\"timestamp\":\"2026-02-15T01:13:44.104658\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Squamata\",\"common_name\":\"Common water monitor\",\"family\":\"Varanidae\",\"genus\":\"Varanus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.22292838990688324,\"species\":\"Varanus salvator\",\"species_epithet\":\"salvator\"},{\"class\":\"Squamata\",\"common_name\":\"Cuming's water monitor\",\"family\":\"Varanidae\",\"genus\":\"Varanus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.06927265226840973,\"species\":\"Varanus cumingi\",\"species_epithet\":\"cumingi\"},{\"class\":\"Squamata\",\"common_name\":\"Crocodile monitor\",\"family\":\"Varanidae\",\"genus\":\"Varanus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.05658270791172981,\"species\":\"Varanus salvadorii\",\"species_epithet\":\"salvadorii\"},{\"class\":\"Squamata\",\"common_name\":\"Samar water monitor\",\"family\":\"Varanidae\",\"genus\":\"Varanus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.05112484097480774,\"species\":\"Varanus samarensis\",\"species_epithet\":\"samarensis\"},{\"class\":\"Crocodylia\",\"common_name\":\"Cuvier's smooth-fronted caiman\",\"family\":\"Alligatoridae\",\"genus\":\"Paleosuchus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.045030854642391205,\"species\":\"Paleosuchus palpebrosus\",\"species_epithet\":\"palpebrosus\"},{\"class\":\"Squamata\",\"common_name\":\"\",\"family\":\"Varanidae\",\"genus\":\"Varanus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.04079543426632881,\"species\":\"Varanus marmoratus\",\"species_epithet\":\"marmoratus\"}],\"class\":\"Squamata\",\"common_name\":\"Common water monitor\",\"embedding_key\":\"P1039439-53303170\",\"family\":\"Varanidae\",\"genus\":\"Varanus\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.22292838990688324,\"species\":\"Varanus salvator\",\"species_epithet\":\"salvator\",\"timestamp\":\"2026-02-15T10:24:54.526499\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"manual_description\":{\"source\":\"taxonomy_review_v1\",\"text\":\"A lizard swims through brown water, its back and tail visible above the surface.\",\"updated_at\":\"2026-02-15T12:55:23.057757+00:00\"},\"manual_taxonomy\":{\"class\":\"Reptilia\",\"common_name\":\"Common Green Iguana, Green Iguana, Iguana verde, iguane commun\",\"family\":\"Iguanidae\",\"genus\":\"Iguana\",\"kingdom\":\"Animalia\",\"order\":\"Squamata\",\"phylum\":\"Chordata\",\"species\":\"Iguana iguana\",\"species_epithet\":\"iguana\"},\"original_filename\":\"P1039439.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.566804+00:00\"},\"photos_uuid\":\"53303170-4713-4410-9988-BB5116BCB8F2\",\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"c3024d3eb74d4cb6\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.599837\"}},\"format\":\"avif\",\"sha256\":\"8f209e37e2cb06bb1ae7d9b7b0e1f6f828d3dee74a9cbcf2d18ca99483e4602c\",\"size\":480,\"size_bytes\":21815},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"c3024d3eb74d4cb6\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.642294\"}},\"format\":\"jpg\",\"sha256\":\"37c9664086eeef12b765afc575dcc95cd2e9093f4d0ad348397ba79d35a09c39\",\"size\":480,\"size_bytes\":42248},{\"format\":\"jxl\",\"sha256\":\"b42005bb264a775a26178ef2b2a675b88ad594cad46ab5e1db672e5a44529726\",\"size\":480,\"size_bytes\":23817},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c3024d3eb74d4cb6\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:08.413326\"}},\"format\":\"avif\",\"sha256\":\"6c47e7e081848bb8cf5608bec096ef7c250d4f89e429a1fefce981aee7cb231e\",\"size\":800,\"size_bytes\":44307},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c3024d3eb74d4cb6\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:08.462109\"}},\"format\":\"jpg\",\"sha256\":\"d99c1736ba7ba5ce2a15581480e69c6fe2432b4e04e2fd9f8606e7323296dc4e\",\"size\":800,\"size_bytes\":99223},{\"format\":\"jxl\",\"sha256\":\"6ef48fb557c5691bb92f153e62636d074fee4cbeb9a98df0316a3d53ef2d3f18\",\"size\":800,\"size_bytes\":52726},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c3024d3eb74d4cb6\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:08.715479\"}},\"format\":\"avif\",\"sha256\":\"981b59d4a7d6dd485fc8dfac8e00379e4cd442ebc647c2eab7b69ab6fc128d76\",\"size\":2400,\"size_bytes\":291872},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c3024d3eb74d4cb6\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:08.651849\"}},\"format\":\"jpg\",\"sha256\":\"2e6823838d14704f81dc501f76cad7e64e1ee806d972114a82d5dcd3ef5f7915\",\"size\":2400,\"size_bytes\":714133},{\"format\":\"jxl\",\"sha256\":\"c63e34661b094810d5a01e9cdbfc657f9eece8951df42adb23e7ce02f29f6230\",\"size\":2400,\"size_bytes\":410269},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c3024d3eb74d4cb6\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:08.738019\"}},\"format\":\"avif\",\"sha256\":\"aff78d84e092336098a08388dbb064de8395c44977f83136bf8bba085f41e179\",\"size\":3840,\"size_bytes\":938836},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c3024d3eb74d4cb6\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:08.773793\"}},\"format\":\"jpg\",\"sha256\":\"4f591a17d3576539c65e6dc6baf713897ac627bf6655d3e5c15d05e637c9365d\",\"size\":3840,\"size_bytes\":1865118},{\"format\":\"jxl\",\"sha256\":\"afe01d241c38023d1df1ac9113ba2a2fc1dfdeaef8cb6f7d83e00f2ba3f97092\",\"size\":3840,\"size_bytes\":1195749},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"c3024d3eb74d4cb6\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.998691\"}},\"format\":\"avif\",\"sha256\":\"e29b7b09e96ee0e49343d330011579336818ba9f654a369573deb562e1e1741e\",\"size\":5184,\"size_bytes\":1624723},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"c3024d3eb74d4cb6\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.669862\"}},\"format\":\"jpg\",\"sha256\":\"6104c8647757ce2819ff8f768bd00b54d1a70864ec47e2043785f610f9a381ff\",\"size\":5184,\"size_bytes\":3273725},{\"format\":\"jxl\",\"sha256\":\"b7b1a821b25d92de6a8a8dbcb2779995c1c5400a614ccbcc298e8dde733fa09e\",\"size\":5184,\"size_bytes\":2161063}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"an orange and brown lizard standing on a tree branch with leaves in the background\",\"labels\":[\"Animal\",\"Foliage\",\"Iguana\",\"Lizard\",\"Plant\",\"Reptile\",\"Scaled Reptile\"],\"uuid\":\"0299F488-EF37-40C6-894D-836188591316\"},\"cdn_base_path\":\"photos/2025/12/P1039429-0299F488\",\"date\":\"2025-12-18T18:24:45.351000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A reddish-orange iguana perches on a weathered tree branch, surrounded by green foliage.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"81baad497afaa2f5c07fc4cc18b111af48190ad8\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"iguana\",\"branch\",\"leaf\",\"rock\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:22:54.611711\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9071530103683472,\"timestamp\":\"2026-02-15T01:14:18.853639\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":78,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.01299,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Large arboreal iguana with orange breeding coloration, heavy jowls and short nuchal spines; lacks the banded body and spiny ringed tail typical of Ctenosaura; common in Costa Rica forests.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Iguana iguana\",\"species_binomial\":\"Iguana iguana\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:43:59.510246+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":1193,\"total_tokens\":2041},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Squamata\",\"common_name\":\"Blue-eyed anglehead lizard\",\"embedding_key\":\"P1039429-0299F488\",\"family\":\"Agamidae\",\"genus\":\"Gonocephalus\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.3078043460845947,\"species\":\"Gonocephalus liogaster\",\"species_epithet\":\"liogaster\",\"timestamp\":\"2026-02-15T01:13:44.093533\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Squamata\",\"common_name\":\"Blue-eyed anglehead lizard\",\"family\":\"Agamidae\",\"genus\":\"Gonocephalus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.3078043460845947,\"species\":\"Gonocephalus liogaster\",\"species_epithet\":\"liogaster\"},{\"class\":\"Squamata\",\"common_name\":\"Iguana\",\"family\":\"Iguanidae\",\"genus\":\"Iguana\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0526077076792717,\"species\":\"Iguana iguana\",\"species_epithet\":\"iguana\"},{\"class\":\"Squamata\",\"common_name\":\"Bell's anglehead lizard\",\"family\":\"Agamidae\",\"genus\":\"Gonocephalus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0438937246799469,\"species\":\"Gonocephalus bellii\",\"species_epithet\":\"bellii\"},{\"class\":\"Squamata\",\"common_name\":\"Spiny-headed lizard\",\"family\":\"Agamidae\",\"genus\":\"Monilesaurus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0340023897588253,\"species\":\"Monilesaurus acanthocephalus\",\"species_epithet\":\"acanthocephalus\"},{\"class\":\"Squamata\",\"common_name\":\"\",\"family\":\"Agamidae\",\"genus\":\"Agama\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.028987642377614975,\"species\":\"Agama turuensis\",\"species_epithet\":\"turuensis\"},{\"class\":\"Squamata\",\"common_name\":\"Acklin's ground iguana\",\"family\":\"Iguanidae\",\"genus\":\"Cyclura\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.027925679460167885,\"species\":\"Cyclura rileyi\",\"species_epithet\":\"rileyi\"}],\"class\":\"Squamata\",\"common_name\":\"Blue-eyed anglehead lizard\",\"embedding_key\":\"P1039429-0299F488\",\"family\":\"Agamidae\",\"genus\":\"Gonocephalus\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.3078043460845947,\"species\":\"Gonocephalus liogaster\",\"species_epithet\":\"liogaster\",\"timestamp\":\"2026-02-15T10:24:54.516034\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"manual_taxonomy\":{\"class\":\"Reptilia\",\"common_name\":\"Common Spiny-tailed Iguana\",\"family\":\"Iguanidae\",\"genus\":\"Ctenosaura\",\"kingdom\":\"Animalia\",\"order\":\"Squamata\",\"phylum\":\"Chordata\",\"species\":\"Ctenosaura similis\",\"species_epithet\":\"similis\"},\"original_filename\":\"P1039429.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.569035+00:00\"},\"photos_uuid\":\"0299F488-EF37-40C6-894D-836188591316\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T14:13:27.896425+00:00\",\"reviewed_value_hash\":\"sha256:8cd3990dcc510ba9bf3310fc5435a76f2faac9eb061fffa8329f26f31a5f09ec\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"da27e249bcd91358\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.341642\"}},\"format\":\"avif\",\"sha256\":\"48bf90bc0403d1a45cb132444adc715e89664e0d6533480fd2883a0d0ed6f9f3\",\"size\":480,\"size_bytes\":32898},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"da27e249bcd91358\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.479409\"}},\"format\":\"jpg\",\"sha256\":\"c67be83c8b87f22b35158a9abbc1d33bd3b81186b2e83cd1293b45225cb8d25f\",\"size\":480,\"size_bytes\":57839},{\"format\":\"jxl\",\"sha256\":\"433d730429e6247489b1e262d9e23ee3e664effedd081b9feeb34a23eb7e29e0\",\"size\":480,\"size_bytes\":33208},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"da27e249bcd91358\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:07.903505\"}},\"format\":\"avif\",\"sha256\":\"d177badab95741f776e057dc8bc62ab4fcf395fd38e5d53cfcf8e14a1949afe8\",\"size\":800,\"size_bytes\":67583},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"da27e249bcd91358\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:07.983336\"}},\"format\":\"jpg\",\"sha256\":\"523bf4c2f5f1c0fd1254284cf435e8389ef26988d8ffba1f5c3db0a722966a22\",\"size\":800,\"size_bytes\":129784},{\"format\":\"jxl\",\"sha256\":\"410ca7a8ef42bd544444ca38d8ee79818d66c1b52810847ee3862d49f5f3e7f6\",\"size\":800,\"size_bytes\":70146},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"da27e249bcd91358\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:08.283921\"}},\"format\":\"avif\",\"sha256\":\"f3114ce783f0ff03d45779987c1f04e63c3e95401cace66a11015c33e26cbaec\",\"size\":2400,\"size_bytes\":714679},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"da27e249bcd91358\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:08.337282\"}},\"format\":\"jpg\",\"sha256\":\"b8e0d1db695f548e5817a6e10679c236d8426fe511da01c315a92416418d843e\",\"size\":2400,\"size_bytes\":985534},{\"format\":\"jxl\",\"sha256\":\"c56f4c5f8b50c69811d17c7f6258f03c9ebc56bc44fc1aab273f1f978eeaaa64\",\"size\":2400,\"size_bytes\":595216},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"da27e249bcd91358\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:08.588280\"}},\"format\":\"avif\",\"sha256\":\"04b5a262db652ed145cd0665deba9039c864a72cc6e42a8a438fd34997db1bbd\",\"size\":3840,\"size_bytes\":1767863},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"da27e249bcd91358\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:08.494319\"}},\"format\":\"jpg\",\"sha256\":\"b5b94d47be3cb4936b2dd58aa096b9d1aa975db6d665f77c4482bcb3439be67b\",\"size\":3840,\"size_bytes\":2523525},{\"format\":\"jxl\",\"sha256\":\"81df404f12f4781f1835b45e1de989ab12576e8688d183dceb17598c7239dbd4\",\"size\":3840,\"size_bytes\":1618280},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"da27e249bcd91358\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.989422\"}},\"format\":\"avif\",\"sha256\":\"b229632cb2a143c060bfdc6fb519f2808357ef1ecb1404b750bac7ddf665520e\",\"size\":5184,\"size_bytes\":2758903},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"da27e249bcd91358\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.688814\"}},\"format\":\"jpg\",\"sha256\":\"ab4be6819345069fe0fb185bba01e0431ea6edc60aca27b8be30c7edd5547638\",\"size\":5184,\"size_bytes\":4384832},{\"format\":\"jxl\",\"sha256\":\"cce1e3cf42c84ad6914d72c10e39dad6ce6b084374de137a7f0e47c76263c334\",\"size\":5184,\"size_bytes\":2865338}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a green and brown lizard standing on a tree branch\",\"labels\":[\"Animal\",\"Branch\",\"Foliage\",\"Iguana\",\"Lizard\",\"Plant\",\"Reptile\"],\"uuid\":\"B65C4EDF-D5F1-42CC-9F42-DAA17F7E6884\"},\"cdn_base_path\":\"photos/2025/12/P1039428-B65C4EDF\",\"date\":\"2025-12-18T18:24:43.111000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A green iguana with a textured, patterned head rests among tangled branches and green foliage, its gaze directed forward.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"81baad497afaa2f5c07fc4cc18b111af48190ad8\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"iguana\",\"branches\",\"leaves\",\"rock\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:22:40.398677\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9624586701393127,\"timestamp\":\"2026-02-15T01:14:18.838232\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":95,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.00711,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Large iguana with prominent round subtympanic scale, big dewlap, and dorsal spines; green coloration. This matches Green Iguana, widespread in Costa Rica.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Iguana iguana\",\"species_binomial\":\"Iguana iguana\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:43:06.235056+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":605,\"total_tokens\":1453},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Squamata\",\"common_name\":\"Iguana\",\"embedding_key\":\"P1039428-B65C4EDF\",\"family\":\"Iguanidae\",\"genus\":\"Iguana\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.8288859128952026,\"species\":\"Iguana iguana\",\"species_epithet\":\"iguana\",\"timestamp\":\"2026-02-15T01:13:44.081967\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Squamata\",\"common_name\":\"Iguana\",\"family\":\"Iguanidae\",\"genus\":\"Iguana\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.8288859128952026,\"species\":\"Iguana iguana\",\"species_epithet\":\"iguana\"},{\"class\":\"Squamata\",\"common_name\":\"West indian iguana\",\"family\":\"Iguanidae\",\"genus\":\"Iguana\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.15962137281894684,\"species\":\"Iguana delicatissima\",\"species_epithet\":\"delicatissima\"},{\"class\":\"Squamata\",\"common_name\":\"\",\"family\":\"Iguanidae\",\"genus\":\"Iguana\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0011630035005509853,\"species\":\"Iguana rhinolopha\",\"species_epithet\":\"rhinolopha\"},{\"class\":\"Squamata\",\"common_name\":\"Black spiny-tailed iguana\",\"family\":\"Iguanidae\",\"genus\":\"Ctenosaura\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.00068986153928563,\"species\":\"Ctenosaura similis\",\"species_epithet\":\"similis\"},{\"class\":\"Squamata\",\"common_name\":\"Hispaniolan rhinoceros iguana\",\"family\":\"Iguanidae\",\"genus\":\"Cyclura\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0003108548407908529,\"species\":\"Cyclura cornuta\",\"species_epithet\":\"cornuta\"},{\"class\":\"Squamata\",\"common_name\":\"Asian water dragon\",\"family\":\"Agamidae\",\"genus\":\"Physignathus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.00029702737811021507,\"species\":\"Physignathus cocincinus\",\"species_epithet\":\"cocincinus\"}],\"class\":\"Squamata\",\"common_name\":\"Iguana\",\"embedding_key\":\"P1039428-B65C4EDF\",\"family\":\"Iguanidae\",\"genus\":\"Iguana\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.8288859128952026,\"species\":\"Iguana iguana\",\"species_epithet\":\"iguana\",\"timestamp\":\"2026-02-15T10:24:54.505426\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"manual_taxonomy\":{\"class\":\"Reptilia\",\"common_name\":\"Common Green Iguana, Green Iguana, Iguana verde, iguane commun\",\"family\":\"Iguanidae\",\"genus\":\"Iguana\",\"kingdom\":\"Animalia\",\"order\":\"Squamata\",\"phylum\":\"Chordata\",\"species\":\"Iguana iguana\",\"species_epithet\":\"iguana\"},\"original_filename\":\"P1039428.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.570973+00:00\"},\"photos_uuid\":\"B65C4EDF-D5F1-42CC-9F42-DAA17F7E6884\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T19:21:54.090901+00:00\",\"reviewed_value_hash\":\"sha256:32c6c9b1641ef7dc08c976a55b1632f2394e55931b859aff0cfc367aa52a59e2\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"c63812ecd90db6f4\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.855797\"}},\"format\":\"avif\",\"sha256\":\"791b507aacacb80fb84e032d2a04c25ba67991469243b00f7b4e72c7d15cf62a\",\"size\":480,\"size_bytes\":34998},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"c63812ecd90db6f4\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.908768\"}},\"format\":\"jpg\",\"sha256\":\"3faef0d9ebd2b5bd9a88b312261a19b12799bfa0ea7d288dd50f8dae3bc66f69\",\"size\":480,\"size_bytes\":56049},{\"format\":\"jxl\",\"sha256\":\"64fcc4880eebde99742691646532bc0241208d01a42ec1eff142ea6418ee33f2\",\"size\":480,\"size_bytes\":34095},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c63812ecd90db6f4\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:07.389351\"}},\"format\":\"avif\",\"sha256\":\"b177dd89edd5efbda795afce7aedb46cefbe7af0b76876ab6428499f1a6c78b1\",\"size\":800,\"size_bytes\":69558},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c63812ecd90db6f4\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:07.416961\"}},\"format\":\"jpg\",\"sha256\":\"56a272a8cf761db8041478ce2c65b0b35d075903134efd51fe2361462ba24ca8\",\"size\":800,\"size_bytes\":124715},{\"format\":\"jxl\",\"sha256\":\"08c5d7271517a8abc7d18eedf2b0193979704facfae64366139b38df85794df4\",\"size\":800,\"size_bytes\":70251},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c63812ecd90db6f4\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:07.582613\"}},\"format\":\"avif\",\"sha256\":\"14f4e56bf985e85d00d1996bfba54735d3bc0688a198d821dd7dd560f77fe6f0\",\"size\":2400,\"size_bytes\":516302},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c63812ecd90db6f4\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:07.648675\"}},\"format\":\"jpg\",\"sha256\":\"ebfd5a382add6137bff7534db0d21f209b22cc70adc5495edc3972eb8e41cf9d\",\"size\":2400,\"size_bytes\":877191},{\"format\":\"jxl\",\"sha256\":\"ff62aed04222b9273c8d67c1d7bc3108c3c6b101a11d8dd1b049692b01f49152\",\"size\":2400,\"size_bytes\":528592},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c63812ecd90db6f4\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:07.979627\"}},\"format\":\"avif\",\"sha256\":\"7849749c88138398de231b8f959c776d4054942c96742a9308ae1a6e126b3df9\",\"size\":3840,\"size_bytes\":1303263},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c63812ecd90db6f4\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:07.965874\"}},\"format\":\"jpg\",\"sha256\":\"92ee60e24ff8901ee0b78a2d4fb93b49fa4103334578c408e5cdef90fbd91c05\",\"size\":3840,\"size_bytes\":2195215},{\"format\":\"jxl\",\"sha256\":\"96c8db6aee5d8fdadff3b5671243a21c916c49d97e62d650be0d0c17052b6c69\",\"size\":3840,\"size_bytes\":1402504},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"c63812ecd90db6f4\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.783014\"}},\"format\":\"avif\",\"sha256\":\"4c48505eca85832691aaed2e2a5975692e64db2eb8719827e15fac4bfcfd399f\",\"size\":5184,\"size_bytes\":2087435},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"c63812ecd90db6f4\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.296698\"}},\"format\":\"jpg\",\"sha256\":\"9bc81e1091ba350907a48bb91a7c85b3a817f7097a0e774a3d4d829701334dc0\",\"size\":5184,\"size_bytes\":3759804},{\"format\":\"jxl\",\"sha256\":\"88e7865e5c62ed6a7dd44eebbe9812af554a4bccabe25b6dc4e7702d48b1f980\",\"size\":5184,\"size_bytes\":2453051}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a snake crawling on the branch of a tree\",\"labels\":[\"Branch\",\"Foliage\",\"Plant\"],\"uuid\":\"6AD35ED9-FB3D-4512-A5C1-A43425FEF316\"},\"cdn_base_path\":\"photos/2025/12/P1039401-6AD35ED9\",\"date\":\"2025-12-18T18:17:02.777000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A brown snake with a patterned head rests among green leaves and branches in a dense, leafy environment.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"81baad497afaa2f5c07fc4cc18b111af48190ad8\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"snake\",\"leaves\",\"branches\",\"flowers\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:22:26.031997\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9964984655380249,\"timestamp\":\"2026-02-15T01:14:18.822381\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":70,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.02316,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"5ce06c44c58e0b000981188a0788455325a5a302\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Arboreal boa with vertical pupils and visible labial heat pits; yellow‑brown body shows faint annulations while perched on branches. Annulated Tree Boa is a known arboreal species in Costa Rica.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Corallus annulatus\",\"species_binomial\":\"Corallus annulatus\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:15:43.223243+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":2210,\"total_tokens\":3058},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Squamata\",\"common_name\":\"Dormilona\",\"embedding_key\":\"P1039401-6AD35ED9\",\"family\":\"Boidae\",\"genus\":\"Corallus\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.7380983829498291,\"species\":\"Corallus ruschenbergerii\",\"species_epithet\":\"ruschenbergerii\",\"timestamp\":\"2026-02-15T01:13:44.070145\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Squamata\",\"common_name\":\"Dormilona\",\"family\":\"Boidae\",\"genus\":\"Corallus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.7380964756011963,\"species\":\"Corallus ruschenbergerii\",\"species_epithet\":\"ruschenbergerii\"},{\"class\":\"Squamata\",\"common_name\":\"Pirmad cat snake\",\"family\":\"Colubridae\",\"genus\":\"Boiga\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.034803394228219986,\"species\":\"Boiga dightoni\",\"species_epithet\":\"dightoni\"},{\"class\":\"Squamata\",\"common_name\":\"Bird snake\",\"family\":\"Colubridae\",\"genus\":\"Thelotornis\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.018490150570869446,\"species\":\"Thelotornis kirtlandii\",\"species_epithet\":\"kirtlandii\"},{\"class\":\"Squamata\",\"common_name\":\"Usambara vine snake\",\"family\":\"Colubridae\",\"genus\":\"Thelotornis\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.01625772751867771,\"species\":\"Thelotornis usambaricus\",\"species_epithet\":\"usambaricus\"},{\"class\":\"Squamata\",\"common_name\":\"Guangxi cat snake\",\"family\":\"Colubridae\",\"genus\":\"Boiga\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.01057539414614439,\"species\":\"Boiga guangxiensis\",\"species_epithet\":\"guangxiensis\"},{\"class\":\"Squamata\",\"common_name\":\"Forsten's cat snake\",\"family\":\"Colubridae\",\"genus\":\"Boiga\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.009793559089303017,\"species\":\"Boiga forsteni\",\"species_epithet\":\"forsteni\"}],\"class\":\"Squamata\",\"common_name\":\"Dormilona\",\"embedding_key\":\"P1039401-6AD35ED9\",\"family\":\"Boidae\",\"genus\":\"Corallus\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.7380964756011963,\"species\":\"Corallus ruschenbergerii\",\"species_epithet\":\"ruschenbergerii\",\"timestamp\":\"2026-02-15T10:24:54.495261\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"manual_taxonomy\":{\"class\":\"Reptilia\",\"common_name\":\"\",\"family\":\"Boidae\",\"genus\":\"Corallus\",\"kingdom\":\"Animalia\",\"order\":\"Squamata\",\"phylum\":\"Chordata\",\"species\":\"Corallus ruschenbergerii\",\"species_epithet\":\"ruschenbergerii\"},\"original_filename\":\"P1039401.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.572606+00:00\"},\"photos_uuid\":\"6AD35ED9-FB3D-4512-A5C1-A43425FEF316\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T17:46:19.157803+00:00\",\"reviewed_value_hash\":\"sha256:bf31e33c68c5da405c53d87ae51a891bd14140a1e611de1f21dac618a921eb15\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"e43bc0f6ad4a88b9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.187936\"}},\"format\":\"avif\",\"sha256\":\"c7d73e562f78588e11e97a874148ee6451c454b867fa4cd1311325d8b0c97f50\",\"size\":480,\"size_bytes\":63769},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"e43bc0f6ad4a88b9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.257855\"}},\"format\":\"jpg\",\"sha256\":\"0c5311eb0db1de6abf185fe28dae7d80455747aa20ccc9a2420bc45a6ac2a3a5\",\"size\":480,\"size_bytes\":86997},{\"format\":\"jxl\",\"sha256\":\"7156e93fdca1a53fcefd6d7e56e18814e38ebfdc45ddf969b67b46af74212f15\",\"size\":480,\"size_bytes\":52347},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"e43bc0f6ad4a88b9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:07.148607\"}},\"format\":\"avif\",\"sha256\":\"7ffb20875ce62d29279db2d4b1841c2a00a2350df7d75241e081c86b7a8cd5f2\",\"size\":800,\"size_bytes\":93235},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"e43bc0f6ad4a88b9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:07.180945\"}},\"format\":\"jpg\",\"sha256\":\"3fba45fdb0310a00d211ce1b2dc77a06b2f482ca66fe6867e47b030919867151\",\"size\":800,\"size_bytes\":153416},{\"format\":\"jxl\",\"sha256\":\"186b3f33e4a96b3711df0b237370657862e3a9613c3347f50f792cbae26a8c07\",\"size\":800,\"size_bytes\":88864},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"e43bc0f6ad4a88b9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:07.309488\"}},\"format\":\"avif\",\"sha256\":\"0e02555ba4ab8e0c223e5593566b0a8c32d98b32fa5c1b02d3d38b2b84672095\",\"size\":2400,\"size_bytes\":662721},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"e43bc0f6ad4a88b9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:07.388338\"}},\"format\":\"jpg\",\"sha256\":\"4e60f5c559d83aadca7450e1870926c34ca6875706ff8ab96189dee453f567fc\",\"size\":2400,\"size_bytes\":939721},{\"format\":\"jxl\",\"sha256\":\"7bbd09ef4e28284ef778331a5d005c17af07341c13e1bd2df2a5398f920a3633\",\"size\":2400,\"size_bytes\":579251},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"e43bc0f6ad4a88b9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:07.784854\"}},\"format\":\"avif\",\"sha256\":\"ece3037cf256a9dda4acb9ee2fb79bdc950ec34924e8bfb5a0d2a32c604e3490\",\"size\":3840,\"size_bytes\":1633140},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"e43bc0f6ad4a88b9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:07.852484\"}},\"format\":\"jpg\",\"sha256\":\"f50119b44d42f80cf2d7bc8f5e70a1f8e19f381987c6feae629236f677f67520\",\"size\":3840,\"size_bytes\":2390360},{\"format\":\"jxl\",\"sha256\":\"d015009f3f01eda4e941facdd4e4c7bc0244b72d0eb43e32c97b0312071e8052\",\"size\":3840,\"size_bytes\":1555808},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"e43bc0f6ad4a88b9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.515156\"}},\"format\":\"avif\",\"sha256\":\"e1ee54c3b95806010b95801688c6b2d4ac72928e9e69f2bc499d016af8f92f4f\",\"size\":5184,\"size_bytes\":2548778},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"e43bc0f6ad4a88b9\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.764044\"}},\"format\":\"jpg\",\"sha256\":\"5f16bc7e4c7a439586c4e3a918efc7c4302d1a3fd354f5d9a620bafe465c9cb6\",\"size\":5184,\"size_bytes\":4141613},{\"format\":\"jxl\",\"sha256\":\"2081b993babd07da0cf37b0658e9a787cde06141907e0b60e047536553042101\",\"size\":5184,\"size_bytes\":2732189}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a monkey sitting on top of a palm tree\",\"labels\":[\"Animal\",\"Beak\",\"Bird\",\"Foliage\",\"Mammal\",\"Plant\"],\"uuid\":\"BC82A799-BF10-4DF8-A2F7-0183AB2D21AC\"},\"cdn_base_path\":\"photos/2025/12/P1039310-BC82A799\",\"date\":\"2025-12-18T18:02:17.351000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A white-faced capuchin monkey perches on a large green palm frond, its tail curled upward, amidst dense tropical foliage.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"81baad497afaa2f5c07fc4cc18b111af48190ad8\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"monkey\",\"palm leaf\",\"branches\",\"leaves\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:22:11.802867\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9974461793899536,\"timestamp\":\"2026-02-15T01:14:18.806530\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":95,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.00457,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"White-faced capuchin with pale face/neck and dark body and long prehensile tail; in Costa Rica this is Cebus imitator (not South American C. capucinus).\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Cebus imitator\",\"species_binomial\":\"Cebus imitator\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:42:58.136201+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":351,\"total_tokens\":1199},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Mammalia\",\"common_name\":\"White-headed Capuchin\",\"embedding_key\":\"P1039310-BC82A799\",\"family\":\"Cebidae\",\"genus\":\"Cebus\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Primates\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.24343222379684448,\"species\":\"Cebus capucinus\",\"species_epithet\":\"capucinus\",\"timestamp\":\"2026-02-15T01:13:44.058450\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Mammalia\",\"common_name\":\"White-headed Capuchin\",\"family\":\"Cebidae\",\"genus\":\"Cebus\",\"kingdom\":\"Animalia\",\"order\":\"Primates\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.24343222379684448,\"species\":\"Cebus capucinus\",\"species_epithet\":\"capucinus\"},{\"class\":\"Mammalia\",\"common_name\":\"Panamanian white-faced capuchin\",\"family\":\"Cebidae\",\"genus\":\"Cebus\",\"kingdom\":\"Animalia\",\"order\":\"Primates\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.22036944329738617,\"species\":\"Cebus imitator\",\"species_epithet\":\"imitator\"},{\"class\":\"Mammalia\",\"common_name\":\"\",\"family\":\"Cebidae\",\"genus\":\"Sapajus\",\"kingdom\":\"Animalia\",\"order\":\"Primates\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.11035565286874771,\"species\":\"Sapajus cucullatus\",\"species_epithet\":\"cucullatus\"},{\"class\":\"Mammalia\",\"common_name\":\"Varied capuchin\",\"family\":\"Cebidae\",\"genus\":\"Cebus\",\"kingdom\":\"Animalia\",\"order\":\"Primates\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.08469916135072708,\"species\":\"Cebus versicolor\",\"species_epithet\":\"versicolor\"},{\"class\":\"Mammalia\",\"common_name\":\"Tufted capuchin\",\"family\":\"Cebidae\",\"genus\":\"Sapajus\",\"kingdom\":\"Animalia\",\"order\":\"Primates\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.04109712690114975,\"species\":\"Sapajus apella\",\"species_epithet\":\"apella\"},{\"class\":\"Mammalia\",\"common_name\":\"Sierra de perijá white-fronted capuchin\",\"family\":\"Cebidae\",\"genus\":\"Cebus\",\"kingdom\":\"Animalia\",\"order\":\"Primates\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.03353763744235039,\"species\":\"Cebus leucocephalus\",\"species_epithet\":\"leucocephalus\"}],\"class\":\"Mammalia\",\"common_name\":\"White-headed Capuchin\",\"embedding_key\":\"P1039310-BC82A799\",\"family\":\"Cebidae\",\"genus\":\"Cebus\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Primates\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.24343222379684448,\"species\":\"Cebus capucinus\",\"species_epithet\":\"capucinus\",\"timestamp\":\"2026-02-15T10:24:54.484148\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"manual_description\":{\"source\":\"taxonomy_review_v1\",\"text\":\"A white-faced capuchin monkey perches on a large green palm frond, its tail curled, amidst dense tropical foliage.\",\"updated_at\":\"2026-02-15T11:55:42.647599+00:00\"},\"manual_taxonomy\":{\"class\":\"Mammalia\",\"common_name\":\"Panamanian white-faced capuchin\",\"family\":\"Cebidae\",\"genus\":\"Cebus\",\"kingdom\":\"Animalia\",\"order\":\"Primates\",\"phylum\":\"Chordata\",\"species\":\"Cebus imitator\",\"species_epithet\":\"imitator\"},\"original_filename\":\"P1039310.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.574210+00:00\"},\"photos_uuid\":\"BC82A799-BF10-4DF8-A2F7-0183AB2D21AC\",\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"f3c648b06759ba64\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.076655\"}},\"format\":\"avif\",\"sha256\":\"549063c16a752dae9ff634733f982522dfd245375d03e30a7d65249058fe291d\",\"size\":480,\"size_bytes\":104600},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"f3c648b06759ba64\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.155653\"}},\"format\":\"jpg\",\"sha256\":\"6dade6317f6899c4602bc113721b8e6c6b33c0fde7438b1418788376379e51ee\",\"size\":480,\"size_bytes\":133409},{\"format\":\"jxl\",\"sha256\":\"9a2b6d1d484cfb0c5bb131b6b23d49c26498162a9857bfaeaeffba863b333d0a\",\"size\":480,\"size_bytes\":79348},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"f3c648b06759ba64\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:06.700571\"}},\"format\":\"avif\",\"sha256\":\"aa4b252379503a6c25943b67da17869c5fcacb63d169fe63358d94ba4c2643d0\",\"size\":800,\"size_bytes\":182015},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"f3c648b06759ba64\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:06.788854\"}},\"format\":\"jpg\",\"sha256\":\"a09de904416a6cd99a864a4734a64bd736d45f8b294fe893fcee31a934e29c18\",\"size\":800,\"size_bytes\":261296},{\"format\":\"jxl\",\"sha256\":\"b63f61fdce4dbf0ee5094f3552584746c7a6c7f3141d7a74fdb2273faf89c2ac\",\"size\":800,\"size_bytes\":155628},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"f3c648b06759ba64\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:06.900309\"}},\"format\":\"avif\",\"sha256\":\"d9f56efb4adc1ee9dc063aa7cc2dd7a1b65ff18e3fccef1134f578339a07c3b4\",\"size\":2400,\"size_bytes\":710660},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"f3c648b06759ba64\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:07.105749\"}},\"format\":\"jpg\",\"sha256\":\"a3b791db6b7b67a8ee954bf9d84c28dac09a5e18b5400b527021001210e70570\",\"size\":2400,\"size_bytes\":1303853},{\"format\":\"jxl\",\"sha256\":\"fd40063ca698f2a40351f0d6bcbf73f399436f70845ba399a20c38b80be51d49\",\"size\":2400,\"size_bytes\":726803},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"f3c648b06759ba64\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:07.252646\"}},\"format\":\"avif\",\"sha256\":\"60d4ff038c4cfca1166a0c561d12842fa10ba26dd427b136e9c763b0911f7b22\",\"size\":3840,\"size_bytes\":1533570},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"f3c648b06759ba64\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:07.382596\"}},\"format\":\"jpg\",\"sha256\":\"270bc3355dfd2f01a352d4f5d601cb271c8ef6af89e0f6cc6d3eb3eb9c8c60d6\",\"size\":3840,\"size_bytes\":2843210},{\"format\":\"jxl\",\"sha256\":\"a934adbfc23a4a3943c6d6ef004ddb521b7644e9518e3b22171f5cc34c3d356c\",\"size\":3840,\"size_bytes\":1611758},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"f3c648b06759ba64\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.500962\"}},\"format\":\"avif\",\"sha256\":\"c3284d9a6ec477fbc55bf86dd1029a3d8c2c7b8118df0f205e632aecc9a10fcf\",\"size\":5184,\"size_bytes\":2528375},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"f3c648b06759ba64\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:39.418468\"}},\"format\":\"jpg\",\"sha256\":\"598098225f4b02405bc97c2dafef7e12b08b892e0a0f86590a2c0cb7f09cce6e\",\"size\":5184,\"size_bytes\":4633621},{\"format\":\"jxl\",\"sha256\":\"b217110b026116dd5749fd9174e8845a6648c0a63763a797dbab5b928110b2e2\",\"size\":5184,\"size_bytes\":2769485}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a couple of raccoons sitting on a tree\",\"labels\":[\"Animal\",\"Branch\",\"Foliage\",\"Mammal\",\"Plant\",\"Raccoon\"],\"uuid\":\"7BC2BDC5-8925-4B2A-9390-39AA43B2C875\"},\"cdn_base_path\":\"photos/2025/12/P1039274-7BC2BDC5\",\"date\":\"2025-12-18T17:53:50.497000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"Two raccoons perch on a spiky palm tree branch, surrounded by lush green foliage, with a cluster of red palm fruits nestled in the tree's hollow.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"81baad497afaa2f5c07fc4cc18b111af48190ad8\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"raccoons\",\"tree\",\"fruit\",\"leaves\",\"branches\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:21:57.351878\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.980064332485199,\"timestamp\":\"2026-02-15T01:14:18.791852\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":88,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.013,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"5ce06c44c58e0b000981188a0788455325a5a302\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Distinct black facial mask with white borders and strongly ringed tail; robust raccoon build. In Costa Rica this appearance best fits Northern Raccoon rather than crab-eating raccoon, which typically shows a weaker mask and less-contrasted tail rings.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Procyon lotor\",\"species_binomial\":\"Procyon lotor\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:16:53.102628+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":1194,\"total_tokens\":2042},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Mammalia\",\"common_name\":\"Cozumel raccoon\",\"embedding_key\":\"P1039274-7BC2BDC5\",\"family\":\"Procyonidae\",\"genus\":\"Procyon\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Carnivora\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.750120222568512,\"species\":\"Procyon pygmaeus\",\"species_epithet\":\"pygmaeus\",\"timestamp\":\"2026-02-15T01:13:44.046252\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Mammalia\",\"common_name\":\"Cozumel raccoon\",\"family\":\"Procyonidae\",\"genus\":\"Procyon\",\"kingdom\":\"Animalia\",\"order\":\"Carnivora\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.750120222568512,\"species\":\"Procyon pygmaeus\",\"species_epithet\":\"pygmaeus\"},{\"class\":\"Mammalia\",\"common_name\":\"common raccoon\",\"family\":\"Procyonidae\",\"genus\":\"Procyon\",\"kingdom\":\"Animalia\",\"order\":\"Carnivora\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.20457762479782104,\"species\":\"Procyon lotor\",\"species_epithet\":\"lotor\"},{\"class\":\"Mammalia\",\"common_name\":\"Crab-eating raccoon\",\"family\":\"Procyonidae\",\"genus\":\"Procyon\",\"kingdom\":\"Animalia\",\"order\":\"Carnivora\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.006635202094912529,\"species\":\"Procyon cancrivorus\",\"species_epithet\":\"cancrivorus\"},{\"class\":\"Mammalia\",\"common_name\":\"Common palm civet\",\"family\":\"Viverridae\",\"genus\":\"Paradoxurus\",\"kingdom\":\"Animalia\",\"order\":\"Carnivora\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.002240065485239029,\"species\":\"Paradoxurus hermaphroditus\",\"species_epithet\":\"hermaphroditus\"},{\"class\":\"Mammalia\",\"common_name\":\"\",\"family\":\"\",\"genus\":\"Theria\",\"kingdom\":\"Metazoa\",\"order\":\"Carnivora\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0011975578963756561,\"species\":\"Theria Paradoxurus hermaphroditus (Pallas, 1777)\",\"species_epithet\":\"Paradoxurus hermaphroditus (Pallas, 1777)\"},{\"class\":\"Mammalia\",\"common_name\":\"\",\"family\":\"Omomyidae\",\"genus\":\"Yaquius\",\"kingdom\":\"Animalia\",\"order\":\"Primates\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0010129326255992055,\"species\":\"Yaquius travisi\",\"species_epithet\":\"travisi\"}],\"class\":\"Mammalia\",\"common_name\":\"Cozumel raccoon\",\"embedding_key\":\"P1039274-7BC2BDC5\",\"family\":\"Procyonidae\",\"genus\":\"Procyon\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Carnivora\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.750120222568512,\"species\":\"Procyon pygmaeus\",\"species_epithet\":\"pygmaeus\",\"timestamp\":\"2026-02-15T10:24:54.472672\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"manual_taxonomy\":{\"class\":\"Mammalia\",\"common_name\":\"common raccoon\",\"family\":\"Procyonidae\",\"genus\":\"Procyon\",\"kingdom\":\"Animalia\",\"order\":\"Carnivora\",\"phylum\":\"Chordata\",\"species\":\"Procyon lotor\",\"species_epithet\":\"lotor\"},\"original_filename\":\"P1039274.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.575961+00:00\"},\"photos_uuid\":\"7BC2BDC5-8925-4B2A-9390-39AA43B2C875\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T17:46:22.890754+00:00\",\"reviewed_value_hash\":\"sha256:723c8acc9e3134a6b79fd0b67e4a7a1ca7df8325178bf463af5cf0392fa37fd4\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"f01ec5687e8f24e2\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.635458\"}},\"format\":\"avif\",\"sha256\":\"ba95e82b3621323f388303cd4894d8a812da9024343d0f3c69a373e86cf0ebf5\",\"size\":480,\"size_bytes\":63743},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"f01ec5687e8f24e2\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:37.857346\"}},\"format\":\"jpg\",\"sha256\":\"a6d9571ad1b7f66fe01ec294fc8da6d1418fbfe8519d60c7c2913055ea92f7b1\",\"size\":480,\"size_bytes\":85913},{\"format\":\"jxl\",\"sha256\":\"d339169b9683424a287f726b6c127ad141bd81320baea4733e03e1fc98ab41e1\",\"size\":480,\"size_bytes\":56053},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"f01ec5687e8f24e2\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:06.198438\"}},\"format\":\"avif\",\"sha256\":\"1fdf645e9bcfd73494b3104216ec2da7bf3e6e2b8d9035f0d026cb35150a612c\",\"size\":800,\"size_bytes\":135759},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"f01ec5607ecf24e2\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:06.387708\"}},\"format\":\"jpg\",\"sha256\":\"7b4bd240d165687081ea730c325159d540ce1a320576b9feb51b749ae5687c1b\",\"size\":800,\"size_bytes\":193762},{\"format\":\"jxl\",\"sha256\":\"5d601ab3ffeaed3d637e424f9b21923a7e995177019abb08f648375a5a495dfd\",\"size\":800,\"size_bytes\":125529},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"f01ec5607ecf24e2\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:06.518444\"}},\"format\":\"avif\",\"sha256\":\"03218b56c5ef110a7c0ae392b458e80af8ace6b210e502c481bd5a150e83cfae\",\"size\":2400,\"size_bytes\":983601},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"f01ec5687e8f24e2\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:06.537860\"}},\"format\":\"jpg\",\"sha256\":\"cb6657ccf49effca90695ab6c17c4fb13f007352175373d47700efd93c9643d8\",\"size\":2400,\"size_bytes\":1270686},{\"format\":\"jxl\",\"sha256\":\"584312424f7d09eab5846f992c666d31c52eb0b540c97e07d15f39d2f59fc4af\",\"size\":2400,\"size_bytes\":811075},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"f01ec5607ecf24e2\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:06.853835\"}},\"format\":\"avif\",\"sha256\":\"ff02670a37910f55e24eb3341eddb5f21098fcea865f3e07d6d50c6f9f276b08\",\"size\":3840,\"size_bytes\":2194174},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"f01ec5687e8f24e2\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:06.777925\"}},\"format\":\"jpg\",\"sha256\":\"5ced2d8b45c171a6ff65732baeaf0afe0dd24d183a21aa1df85f3c8e64872ac1\",\"size\":3840,\"size_bytes\":2988317},{\"format\":\"jxl\",\"sha256\":\"1155a194b78a63d115d3920d0936239ded26e601f57a52325e72c439e3dc4555\",\"size\":3840,\"size_bytes\":1930517},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"f01ec5607ecf24e2\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.368865\"}},\"format\":\"avif\",\"sha256\":\"b014f0f14eada825a859d826e47db415513da6b10ab1aadb0c064330b00f144b\",\"size\":5184,\"size_bytes\":3273910},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"f01ec5687e8f24e2\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.936298\"}},\"format\":\"jpg\",\"sha256\":\"6d8efac7541402041559cfe1b8c417c657696d020b30797ed805d248b2b9ffa2\",\"size\":5184,\"size_bytes\":5019684},{\"format\":\"jxl\",\"sha256\":\"fe553c561d2a4f366dc25ca73276f830adbc2a2ab6ddaf2e6d3c1923d760c7f3\",\"size\":5184,\"size_bytes\":3216436}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a monkey sitting on top of a tree\",\"labels\":[\"Animal\",\"Foliage\",\"Mammal\",\"Plant\"],\"uuid\":\"B6B294F4-93CB-4267-AEA3-C6529B41D5CE\"},\"cdn_base_path\":\"photos/2025/12/P1039197-B6B294F4\",\"date\":\"2025-12-18T17:38:57.601000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A white-faced capuchin monkey perches on a large green palm frond, surrounded by dense tropical foliage.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"81baad497afaa2f5c07fc4cc18b111af48190ad8\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"monkey\",\"leaves\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:21:42.050585\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.998357355594635,\"timestamp\":\"2026-02-15T01:14:18.775863\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":95,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.00578,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"5ce06c44c58e0b000981188a0788455325a5a302\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Black-bodied monkey with creamy white face, throat, and shoulders—classic white-faced capuchin; in Costa Rica the species present is Cebus imitator.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Cebus imitator\",\"species_binomial\":\"Cebus imitator\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:20:49.212400+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":472,\"total_tokens\":1320},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Mammalia\",\"common_name\":\"Panamanian white-faced capuchin\",\"embedding_key\":\"P1039197-B6B294F4\",\"family\":\"Cebidae\",\"genus\":\"Cebus\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Primates\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.765981137752533,\"species\":\"Cebus imitator\",\"species_epithet\":\"imitator\",\"timestamp\":\"2026-02-15T01:13:44.033962\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Mammalia\",\"common_name\":\"Panamanian white-faced capuchin\",\"family\":\"Cebidae\",\"genus\":\"Cebus\",\"kingdom\":\"Animalia\",\"order\":\"Primates\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.765981137752533,\"species\":\"Cebus imitator\",\"species_epithet\":\"imitator\"},{\"class\":\"Mammalia\",\"common_name\":\"White-headed Capuchin\",\"family\":\"Cebidae\",\"genus\":\"Cebus\",\"kingdom\":\"Animalia\",\"order\":\"Primates\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.20156052708625793,\"species\":\"Cebus capucinus\",\"species_epithet\":\"capucinus\"},{\"class\":\"Mammalia\",\"common_name\":\"White-fronted capuchin\",\"family\":\"Cebidae\",\"genus\":\"Cebus\",\"kingdom\":\"Animalia\",\"order\":\"Primates\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.006945708300918341,\"species\":\"Cebus albifrons\",\"species_epithet\":\"albifrons\"},{\"class\":\"Mammalia\",\"common_name\":\"Sierra de perijá white-fronted capuchin\",\"family\":\"Cebidae\",\"genus\":\"Cebus\",\"kingdom\":\"Animalia\",\"order\":\"Primates\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.006097057834267616,\"species\":\"Cebus leucocephalus\",\"species_epithet\":\"leucocephalus\"},{\"class\":\"Mammalia\",\"common_name\":\"Varied capuchin\",\"family\":\"Cebidae\",\"genus\":\"Cebus\",\"kingdom\":\"Animalia\",\"order\":\"Primates\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.005292973481118679,\"species\":\"Cebus versicolor\",\"species_epithet\":\"versicolor\"},{\"class\":\"Mammalia\",\"common_name\":\"Santa marta white-fronted capuchin\",\"family\":\"Cebidae\",\"genus\":\"Cebus\",\"kingdom\":\"Animalia\",\"order\":\"Primates\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.003819140139967203,\"species\":\"Cebus malitiosus\",\"species_epithet\":\"malitiosus\"}],\"class\":\"Mammalia\",\"common_name\":\"Panamanian white-faced capuchin\",\"embedding_key\":\"P1039197-B6B294F4\",\"family\":\"Cebidae\",\"genus\":\"Cebus\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Primates\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.765981137752533,\"species\":\"Cebus imitator\",\"species_epithet\":\"imitator\",\"timestamp\":\"2026-02-15T10:24:54.461986\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"original_filename\":\"P1039197.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.577497+00:00\"},\"photos_uuid\":\"B6B294F4-93CB-4267-AEA3-C6529B41D5CE\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T17:55:23.377821+00:00\",\"reviewed_value_hash\":\"sha256:d101531264ac84bd17869f6bbd667e933395c28e3819d49369e2fc7156535b77\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"},\"taxonomy\":{\"approved_at\":\"2026-02-15T17:55:19.138749+00:00\",\"reviewed_value_hash\":\"sha256:7cfc48134de191c0607c96edcfe5a2cbee96b3f23cf82efd00fced03ee5ec262\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"ec2c7323cc033e73\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.066537\"}},\"format\":\"avif\",\"sha256\":\"c9cddd131cb851b2cb3d0098be2cbaad8a3a65da238c249c7d9b26da2ba99e0f\",\"size\":480,\"size_bytes\":40423},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"ec2c7323cc033e73\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.125260\"}},\"format\":\"jpg\",\"sha256\":\"fb8595c7ade922b4f0a24e0823aa00aedcc26f8ea9e2a593bce50d895a7832b5\",\"size\":480,\"size_bytes\":64561},{\"format\":\"jxl\",\"sha256\":\"496f3fb679d476f194b660aeee5ac140b43caa4d72be003825a880aad68a4d88\",\"size\":480,\"size_bytes\":38478},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"ec2c7323cc033e73\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:05.763712\"}},\"format\":\"avif\",\"sha256\":\"45e2a0b5c9b6469599f6bfd94e4dc4c3a6e0719a9cd6a24ad34b33ae5a4278e0\",\"size\":800,\"size_bytes\":80461},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"ec2c7323cc033e73\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:05.702011\"}},\"format\":\"jpg\",\"sha256\":\"123a1171121e7a3f9cdb82967dcb8f41562584b4ee29343c0840458fb672a560\",\"size\":800,\"size_bytes\":144828},{\"format\":\"jxl\",\"sha256\":\"9b81ba6bccd5a3026a9ec08285b1180189cbdc7fee11fa6d84a79e43b9cba576\",\"size\":800,\"size_bytes\":83112},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"ec2c7323cc033e73\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:06.031514\"}},\"format\":\"avif\",\"sha256\":\"bc39476c945f45318bad56139ee8269ab5370c8e93801d862ef29cb1dbdc060e\",\"size\":2400,\"size_bytes\":693668},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"ec2c7323cc033e73\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:06.086749\"}},\"format\":\"jpg\",\"sha256\":\"3a0c2e3f52da5a624b115cf56d6edeb6554395e61f08c4fcb7a4bebbda998199\",\"size\":2400,\"size_bytes\":1015045},{\"format\":\"jxl\",\"sha256\":\"a212e42e53f2f23ad20272873ec930a242654ca4e7f13fdee0907c6909cc6944\",\"size\":2400,\"size_bytes\":576602},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"ec2c7323cc033e73\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:06.334531\"}},\"format\":\"avif\",\"sha256\":\"9d1fe1584f308b9a13e15305846020e0673ebc6b292ee9ae892af303addafa87\",\"size\":3840,\"size_bytes\":1690800},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"ec2c7323cc033e73\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:06.386255\"}},\"format\":\"jpg\",\"sha256\":\"90930f1a0a751421e4cfbb86738522c354821aaf978809dfede3187313f27415\",\"size\":3840,\"size_bytes\":2535130},{\"format\":\"jxl\",\"sha256\":\"07c42cc4a1d78f910c374716bd5d48980272100af573cd47f781eb8992cf955f\",\"size\":3840,\"size_bytes\":1510302},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"ec2c7323cc033e73\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.097226\"}},\"format\":\"avif\",\"sha256\":\"3944d0d0e7065f95ed9b9dcde038b7b102c0c956483834727dd0e9e60b34e8ba\",\"size\":5184,\"size_bytes\":2676582},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"ec2c7323cc033e73\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.607378\"}},\"format\":\"jpg\",\"sha256\":\"51d8bca520b113b3734d36e426c6931e206e899bbc54d24bab9ef0485414b5c0\",\"size\":5184,\"size_bytes\":4355275},{\"format\":\"jxl\",\"sha256\":\"0a5a604a13f19f1c30d5854e6ee5f3ed839cb10457dbc48d78c22ec99c63fc95\",\"size\":5184,\"size_bytes\":2667026}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a bird is perched on a tree branch\",\"uuid\":\"6AFBC849-2190-433F-83D4-A3B885268D81\"},\"cdn_base_path\":\"photos/2025/12/P1039075-6AFBC849\",\"date\":\"2025-12-18T17:28:34.892000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A yellow-crowned night heron perches on a green leafy plant, surrounded by dense tropical foliage.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"81baad497afaa2f5c07fc4cc18b111af48190ad8\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"bird\",\"leaves\",\"branches\",\"stem\",\"feather\",\"eye\",\"beak\",\"foot\",\"trunk\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:21:27.949625\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9994322657585144,\"timestamp\":\"2026-02-15T01:14:18.760578\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":92,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.007899999999999999,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Gray night-heron with finely barred upperparts, black face, white cheek, and pale/yellow crown stripe; stout dark bill. Typical Yellow-crowned Night-Heron, common in Costa Rican mangroves. Subspecies not separable by photo.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Nyctanassa violacea\",\"species_binomial\":\"Nyctanassa violacea\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:43:01.133476+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":684,\"total_tokens\":1532},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Aves\",\"common_name\":\"Yellow-crowned Night Heron\",\"embedding_key\":\"P1039075-6AFBC849\",\"family\":\"Ardeidae\",\"genus\":\"Nyctanassa\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.9904631972312927,\"species\":\"Nyctanassa violacea\",\"species_epithet\":\"violacea\",\"timestamp\":\"2026-02-15T01:13:44.021777\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Yellow-crowned Night Heron\",\"family\":\"Ardeidae\",\"genus\":\"Nyctanassa\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.9904631972312927,\"species\":\"Nyctanassa violacea\",\"species_epithet\":\"violacea\"},{\"class\":\"Aves\",\"common_name\":\"Black-crowned night heron\",\"family\":\"Ardeidae\",\"genus\":\"Nycticorax\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0010175105417147279,\"species\":\"Nycticorax nycticorax\",\"species_epithet\":\"nycticorax\"},{\"class\":\"Aves\",\"common_name\":\"Rodrigues night-heron\",\"family\":\"Ardeidae\",\"genus\":\"Nycticorax\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0003552014532033354,\"species\":\"Nycticorax megacephalus\",\"species_epithet\":\"megacephalus\"},{\"class\":\"Aves\",\"common_name\":\"White-backed Night Heron\",\"family\":\"Ardeidae\",\"genus\":\"Gorsachius\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.00016149670409504324,\"species\":\"Gorsachius leuconotus\",\"species_epithet\":\"leuconotus\"},{\"class\":\"Aves\",\"common_name\":\"Boat-billed Heron\",\"family\":\"Ardeidae\",\"genus\":\"Cochlearius\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.00015782364062033594,\"species\":\"Cochlearius cochlearius\",\"species_epithet\":\"cochlearius\"},{\"class\":\"Aves\",\"common_name\":\"White-eared night heron\",\"family\":\"Ardeidae\",\"genus\":\"Gorsachius\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0001268347114091739,\"species\":\"Gorsachius magnificus\",\"species_epithet\":\"magnificus\"}],\"class\":\"Aves\",\"common_name\":\"Yellow-crowned Night Heron\",\"embedding_key\":\"P1039075-6AFBC849\",\"family\":\"Ardeidae\",\"genus\":\"Nyctanassa\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.9904631972312927,\"species\":\"Nyctanassa violacea\",\"species_epithet\":\"violacea\",\"timestamp\":\"2026-02-15T10:24:54.450157\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"original_filename\":\"P1039075.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.579008+00:00\"},\"photos_uuid\":\"6AFBC849-2190-433F-83D4-A3B885268D81\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T19:33:12.417325+00:00\",\"reviewed_value_hash\":\"sha256:41118aafe02e6bf1d0ab61b5a2c85153e86dfeaf43bb5e8be11c1490e547ff4b\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"},\"taxonomy\":{\"approved_at\":\"2026-02-15T19:33:10.833577+00:00\",\"reviewed_value_hash\":\"sha256:8c22feae4dfc8812b89c940173cee6ce643e017152877b5a3b9f4d3635820ac2\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"fc8f52b24c597b40\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:37.460681\"}},\"format\":\"avif\",\"sha256\":\"e56eb4dd25f994cc351a39c723061c21cd962bd067d905d8dc594a8e8a3ed2f9\",\"size\":480,\"size_bytes\":63916},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"fc8f52b24c597b40\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:37.485080\"}},\"format\":\"jpg\",\"sha256\":\"998ca1905d508f0c7641a54da548a92348f9065b22864d8bfe0ec8c04f5b3800\",\"size\":480,\"size_bytes\":90728},{\"format\":\"jxl\",\"sha256\":\"419b9d2a7cd5d30a2aad81bf2679c40ba58f6bbfd60f26904ddeb18042f98625\",\"size\":480,\"size_bytes\":56726},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"fc8f52b24c597b40\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:05.328410\"}},\"format\":\"avif\",\"sha256\":\"64123672257504f4c1409accf036f3b8aee6af5dd45d8f68b631bdcb2546515a\",\"size\":800,\"size_bytes\":132018},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"fc8f52b24c597b40\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:05.263354\"}},\"format\":\"jpg\",\"sha256\":\"9fb8d5cfcc1cece9a1e86e0852e18c7602b5d3ace598f41f007a81c7a798d087\",\"size\":800,\"size_bytes\":199055},{\"format\":\"jxl\",\"sha256\":\"32f4ebf194baf61dc1f1f86d5275fe1d96596d9a00268f0a3be48776c8b44c94\",\"size\":800,\"size_bytes\":123847},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"fc8f52b24c597b40\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:05.518428\"}},\"format\":\"avif\",\"sha256\":\"dbf87b231f988234bd9e9c647e47e125439aca49036b1dd42ca57d424600561a\",\"size\":2400,\"size_bytes\":1134360},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"fc8f52b24c597b40\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:05.546661\"}},\"format\":\"jpg\",\"sha256\":\"ec116d2478a4fee41c9b65888840effe4be30f97cf2294a4f8296c848b57aec0\",\"size\":2400,\"size_bytes\":1396926},{\"format\":\"jxl\",\"sha256\":\"9027da12865a9c63cce17e0c4f4d7cb62fee11413f3846d397feb990b53d0b9d\",\"size\":2400,\"size_bytes\":894594},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"fc8f52b24c597b40\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:06.233016\"}},\"format\":\"avif\",\"sha256\":\"e4a22611db68fd66b49ca07eca74e07198ecdf680b45822d08af4a8ff057778d\",\"size\":3840,\"size_bytes\":2689653},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"fc8f52b24c597b40\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:06.230762\"}},\"format\":\"jpg\",\"sha256\":\"c2c6b0276cdf5de69c5696c7bd0f3457f7658ac9feeb236935c555a63145c878\",\"size\":3840,\"size_bytes\":3386950},{\"format\":\"jxl\",\"sha256\":\"160765c6faceb7c4aad6f2ee9cf0a3aa85cdc74504764b7ff44306d4968aacfb\",\"size\":3840,\"size_bytes\":2270051},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"fc8f52b24c597b40\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.033633\"}},\"format\":\"avif\",\"sha256\":\"a678c8981701abe7c02900a63bc510a36bf040daf30b5782c581cabd688d3104\",\"size\":5184,\"size_bytes\":3957626},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"fc8f52b24c597b40\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.022967\"}},\"format\":\"jpg\",\"sha256\":\"cf2030703a0c35833b1eadd3dea341b6e84a21c135551b514b6c737291b521e9\",\"size\":5184,\"size_bytes\":5786661},{\"format\":\"jxl\",\"sha256\":\"96e9057618c1183554c8b51ff91c80025fe2d0526f443512fd539fee1b5bc195\",\"size\":5184,\"size_bytes\":3755777}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a turtle in a body of water with branches and leaves around it\",\"uuid\":\"E1BDD7E2-3C9D-40C4-ABCF-F785762CD9FB\"},\"cdn_base_path\":\"photos/2025/12/P1039042-E1BDD7E2\",\"date\":\"2025-12-18T17:17:19.468000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A red-eared slider turtle rests among tangled branches and reeds near the water's edge, its head and neck extended upward.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"81baad497afaa2f5c07fc4cc18b111af48190ad8\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"turtle\",\"branches\",\"water\",\"leaves\",\"rock\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:21:13.182102\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9970090985298157,\"timestamp\":\"2026-02-15T01:14:18.746102\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":80,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.01287,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"c9388a30d748d8ee74a5b171abcdcecca6560302\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Aquatic slider basking on branches; yellow head and neck striping without red ear patch; carapace with concentric markings. This matches Mesoamerican slider common in Costa Rica.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Trachemys venusta\",\"species_binomial\":\"Trachemys venusta\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:29:49.073673+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":1181,\"total_tokens\":2029},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Testudines\",\"common_name\":\"Gray's slider\",\"embedding_key\":\"P1039042-E1BDD7E2\",\"family\":\"Emydidae\",\"genus\":\"Trachemys\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.6324930787086487,\"species\":\"Trachemys grayi\",\"species_epithet\":\"grayi\",\"timestamp\":\"2026-02-15T01:13:44.009997\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Testudines\",\"common_name\":\"Gray's slider\",\"family\":\"Emydidae\",\"genus\":\"Trachemys\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.6324930787086487,\"species\":\"Trachemys grayi\",\"species_epithet\":\"grayi\"},{\"class\":\"Testudines\",\"common_name\":\"Mesoamerican slider\",\"family\":\"Emydidae\",\"genus\":\"Trachemys\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.10949316620826721,\"species\":\"Trachemys venusta\",\"species_epithet\":\"venusta\"},{\"class\":\"Testudines\",\"common_name\":\"Nicaraguan slider\",\"family\":\"Emydidae\",\"genus\":\"Trachemys\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.10642440617084503,\"species\":\"Trachemys emolli\",\"species_epithet\":\"emolli\"},{\"class\":\"Testudines\",\"common_name\":\"Ornate slider\",\"family\":\"Emydidae\",\"genus\":\"Trachemys\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.04913640394806862,\"species\":\"Trachemys ornata\",\"species_epithet\":\"ornata\"},{\"class\":\"Testudines\",\"common_name\":\"\",\"family\":\"Trionychidae\",\"genus\":\"Hutchemys\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.024144936352968216,\"species\":\"Hutchemys Derrisemys sterea\",\"species_epithet\":\"Derrisemys sterea\"},{\"class\":\"Testudines\",\"common_name\":\"Yellow-spotted amazon river turtle\",\"family\":\"Podocnemididae\",\"genus\":\"Podocnemis\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.01773706264793873,\"species\":\"Podocnemis unifilis\",\"species_epithet\":\"unifilis\"}],\"class\":\"Testudines\",\"common_name\":\"Gray's slider\",\"embedding_key\":\"P1039042-E1BDD7E2\",\"family\":\"Emydidae\",\"genus\":\"Trachemys\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.6324930787086487,\"species\":\"Trachemys grayi\",\"species_epithet\":\"grayi\",\"timestamp\":\"2026-02-15T10:24:54.438804\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"manual_description\":{\"source\":\"taxonomy_review_v1\",\"text\":\"A slider turtle rests among tangled branches and reeds near the water's edge, its head and neck extended upward.\",\"updated_at\":\"2026-02-15T17:37:36.913165+00:00\"},\"manual_taxonomy\":{\"class\":\"Reptilia\",\"common_name\":\"Huastecan Slider\",\"family\":\"Emydidae\",\"genus\":\"Trachemys\",\"kingdom\":\"Animalia\",\"order\":\"Testudines\",\"phylum\":\"Chordata\",\"species\":\"Trachemys venusta\",\"species_epithet\":\"venusta\"},\"original_filename\":\"P1039042.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.580486+00:00\"},\"photos_uuid\":\"E1BDD7E2-3C9D-40C4-ABCF-F785762CD9FB\",\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d6321b76e4b10ee2\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:37.426994\"}},\"format\":\"avif\",\"sha256\":\"5f68162c05424f38a9899d2f794dfa6e6916dbd25488b3462d65dfa5018692fd\",\"size\":480,\"size_bytes\":59347},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d6321b76e4b10ee2\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:37.477647\"}},\"format\":\"jpg\",\"sha256\":\"44f6cc4e520b739c6f6a43065b34a4c54b28d86d2bc45f55c9f17ad8d09bc455\",\"size\":480,\"size_bytes\":80910},{\"format\":\"jxl\",\"sha256\":\"2838792e311212bcc21265ceb9fba06877c6bd461d3dbff5a003cc2c4f53ac22\",\"size\":480,\"size_bytes\":49110},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d6321b76e4b10ee2\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:05.001925\"}},\"format\":\"avif\",\"sha256\":\"8b00843ce002bd0bec8f38910af8aee085de7100ffc975f978d716881de1f5fb\",\"size\":800,\"size_bytes\":123990},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d6321b76e4b10ee2\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:05.039491\"}},\"format\":\"jpg\",\"sha256\":\"2d3255acb0dce52680bcafbd65968a27cadb0a1f3dfb41b034b0351887c7be9f\",\"size\":800,\"size_bytes\":182459},{\"format\":\"jxl\",\"sha256\":\"206a83a9fce77f5804673da843fd5f020e8fbc15543dfd1d540c7ae6ed23a2b7\",\"size\":800,\"size_bytes\":107850},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d6321b76e4b10ee2\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:05.331076\"}},\"format\":\"avif\",\"sha256\":\"4a042d9f27895ced33a538ae76fcb8c94bd89ef40235e500814cbdd16555cd9d\",\"size\":2400,\"size_bytes\":923271},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d6321b76e4b10ee2\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:05.372512\"}},\"format\":\"jpg\",\"sha256\":\"9b6c652b4c878ecacd88450c04dd54465df02fffb7885e6b3d3af8841eef96a7\",\"size\":2400,\"size_bytes\":1215887},{\"format\":\"jxl\",\"sha256\":\"027491f53c2cd0b37a80af5e42f93327eaf854c006c5dfed5ceb986690474c19\",\"size\":2400,\"size_bytes\":732627},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d6321b76e4b10ee2\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:05.518250\"}},\"format\":\"avif\",\"sha256\":\"3cf7960eea023c604ea7c1928dda311cad595285918c0294d91faade80aea44d\",\"size\":3840,\"size_bytes\":2102586},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d6321b76e4b10ee2\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:05.662331\"}},\"format\":\"jpg\",\"sha256\":\"9b0c06f81b4b4b8637d484c2759c69f6823d28e56bcb98ade406de5ee0b9cfad\",\"size\":3840,\"size_bytes\":2907465},{\"format\":\"jxl\",\"sha256\":\"04f120c316315dfcbe01ffc0e8bec5b4e4bb974570cfbef616f90f444d7c83fd\",\"size\":3840,\"size_bytes\":1826474},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d6321b76e4b10ee2\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.003228\"}},\"format\":\"avif\",\"sha256\":\"cdb73a2cb251d9fb0129c2458bcf4e2fa46d05484f06b3c236677518dad2aa87\",\"size\":5184,\"size_bytes\":3200246},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d6321b76e4b10ee2\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.516839\"}},\"format\":\"jpg\",\"sha256\":\"60b37244db4387af2cba0937473601e75f17ea26458da1a55a7145dfb2f9d341\",\"size\":5184,\"size_bytes\":4919983},{\"format\":\"jxl\",\"sha256\":\"456c018704bc61253b348621844c6bccc5245329c9b9fc712322442fe9ff934a\",\"size\":5184,\"size_bytes\":3125676}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"an owl sitting on a ledge next to a wall\",\"labels\":[\"Animal\",\"Beak\",\"Bird\"],\"uuid\":\"F82312FB-8099-426C-898D-0BF02A5A506B\"},\"cdn_base_path\":\"photos/2025/12/P1039015-F82312FB\",\"date\":\"2025-12-18T17:12:54.035000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A barn owl perches on a concrete ledge, its beak open and eyes wide, against a backdrop of weathered concrete walls.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"81baad497afaa2f5c07fc4cc18b111af48190ad8\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"owl\",\"concrete\",\"wall\",\"ledge\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:20:58.703176\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9921560287475586,\"timestamp\":\"2026-02-15T01:14:18.730327\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":97,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.01173,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Heart-shaped white facial disc, dark eyes, pale buff-and-white body with fine speckling; perched on building. This combination unmistakably matches a Barn Owl, and in Costa Rica the species present is the American Barn Owl (Tyto furcata).\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Tyto furcata\",\"species_binomial\":\"Tyto furcata\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:42:56.130879+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":1067,\"total_tokens\":1915},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Aves\",\"common_name\":\"Eastern Barn Owl\",\"embedding_key\":\"P1039015-F82312FB\",\"family\":\"Tytonidae\",\"genus\":\"Tyto\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Strigiformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.6075459718704224,\"species\":\"Tyto javanica\",\"species_epithet\":\"javanica\",\"timestamp\":\"2026-02-15T01:13:43.998435\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Eastern Barn Owl\",\"family\":\"Tytonidae\",\"genus\":\"Tyto\",\"kingdom\":\"Animalia\",\"order\":\"Strigiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.6075459718704224,\"species\":\"Tyto javanica\",\"species_epithet\":\"javanica\"},{\"class\":\"Aves\",\"common_name\":\"American barn owl\",\"family\":\"Tytonidae\",\"genus\":\"Tyto\",\"kingdom\":\"Animalia\",\"order\":\"Strigiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.2672214210033417,\"species\":\"Tyto furcata\",\"species_epithet\":\"furcata\"},{\"class\":\"Aves\",\"common_name\":\"Barn owl\",\"family\":\"Tytonidae\",\"genus\":\"Tyto\",\"kingdom\":\"Animalia\",\"order\":\"Strigiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.03935093432664871,\"species\":\"Tyto alba\",\"species_epithet\":\"alba\"},{\"class\":\"Aves\",\"common_name\":\"Hispaniolan giant barn owl\",\"family\":\"Tytonidae\",\"genus\":\"Tyto\",\"kingdom\":\"Animalia\",\"order\":\"Strigiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.024133052676916122,\"species\":\"Tyto ostologa\",\"species_epithet\":\"ostologa\"},{\"class\":\"Aves\",\"common_name\":\"Andaman masked owl\",\"family\":\"Tytonidae\",\"genus\":\"Tyto\",\"kingdom\":\"Animalia\",\"order\":\"Strigiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.010852585546672344,\"species\":\"Tyto deroepstorffi\",\"species_epithet\":\"deroepstorffi\"},{\"class\":\"Aves\",\"common_name\":\"Seram masked-owl\",\"family\":\"Tytonidae\",\"genus\":\"Tyto\",\"kingdom\":\"Animalia\",\"order\":\"Strigiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.008831911720335484,\"species\":\"Tyto almae\",\"species_epithet\":\"almae\"}],\"class\":\"Aves\",\"common_name\":\"Eastern Barn Owl\",\"embedding_key\":\"P1039015-F82312FB\",\"family\":\"Tytonidae\",\"genus\":\"Tyto\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Strigiformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.6075459718704224,\"species\":\"Tyto javanica\",\"species_epithet\":\"javanica\",\"timestamp\":\"2026-02-15T10:24:54.428909\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"manual_taxonomy\":{\"class\":\"Aves\",\"common_name\":\"American barn owl\",\"family\":\"Tytonidae\",\"genus\":\"Tyto\",\"kingdom\":\"Animalia\",\"order\":\"Strigiformes\",\"phylum\":\"Chordata\",\"species\":\"Tyto furcata\",\"species_epithet\":\"furcata\"},\"original_filename\":\"P1039015.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.582344+00:00\"},\"photos_uuid\":\"F82312FB-8099-426C-898D-0BF02A5A506B\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T14:32:13.370811+00:00\",\"reviewed_value_hash\":\"sha256:cf1e6bcada2f132562cbfadc9992c2a4394320c5f6c17d5b0713c36808fd80ec\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d162b74cb55ea152\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.350850\"}},\"format\":\"avif\",\"sha256\":\"106fdf3f22af8a8323c3b002d4a86d42dc44de6a429ae5c9e4e1d3ff7a03c7af\",\"size\":480,\"size_bytes\":42462},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d162b74cb55ea152\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:37.305626\"}},\"format\":\"jpg\",\"sha256\":\"bff9d86b1aef1700c05c6aa1b9d1b66ecf811bbfd047a0623c701316acf6b718\",\"size\":480,\"size_bytes\":53992},{\"format\":\"jxl\",\"sha256\":\"fb69e34bcecbb95e38ff941fe7e14d9276995dda5d986ffbb8b8d5c441a70b9f\",\"size\":480,\"size_bytes\":38864},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d162b74cb55ea152\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:04.593322\"}},\"format\":\"avif\",\"sha256\":\"c00785d5077f7e3c9856c651a1b30cd024e8722af889ca751ed786998a353650\",\"size\":800,\"size_bytes\":102081},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d162b74cb55ea152\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:04.592072\"}},\"format\":\"jpg\",\"sha256\":\"62a28429fdd860bc3acec83f48e76db098acadc30f1511838b996433a9003898\",\"size\":800,\"size_bytes\":135209},{\"format\":\"jxl\",\"sha256\":\"14844571b2565db1bd9a1e8ba32a9bab797d5bdc1045031f2549fb0fda1912f9\",\"size\":800,\"size_bytes\":95936},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d162b74cb55ea152\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:04.733362\"}},\"format\":\"avif\",\"sha256\":\"d2bedcba273dc9658546e7dbeff3f8a1ac86ddfd4c8f1d7e22caf95ac2527dc5\",\"size\":2400,\"size_bytes\":753677},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d162b74cb55ea152\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:04.887762\"}},\"format\":\"jpg\",\"sha256\":\"3349c5fd10c53a05cebc64e0dfb247153dd6742dbb402d40192d01744df9fa5c\",\"size\":2400,\"size_bytes\":998965},{\"format\":\"jxl\",\"sha256\":\"44dd7014ed0c06051b18f4a1abdf8b3afbea3a90c82779af8a8f7218b6d0f0a8\",\"size\":2400,\"size_bytes\":683718},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d162b74cb55ea152\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:05.122213\"}},\"format\":\"avif\",\"sha256\":\"dc715b6ef3c3c2241f6830fdd9012333e64c027d0c34650c0a38153436020d13\",\"size\":3840,\"size_bytes\":1673397},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d162b74cb55ea152\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:05.076243\"}},\"format\":\"jpg\",\"sha256\":\"e3b9828bdaf6fe073cacba7712f15b7aaf76ef452b8c5e57864bb5faa2d3f770\",\"size\":3840,\"size_bytes\":2423782},{\"format\":\"jxl\",\"sha256\":\"bd77cdc278b5d7b932de7b2a2a815258f3b8bdabb4cdd40bbb1310041f1ae6d9\",\"size\":3840,\"size_bytes\":1674188},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d162b74cb55ea152\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:37.854115\"}},\"format\":\"avif\",\"sha256\":\"44dae5dc1748c89ea447ce99b7fe237f42cb48c6347c6b23b4116aa1fe6c4cc0\",\"size\":5184,\"size_bytes\":2568679},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d162b74cb55ea152\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.384231\"}},\"format\":\"jpg\",\"sha256\":\"e73f87e562121001cae5cea3b6d44c801f204941ed5510992a078ddd2d217341\",\"size\":5184,\"size_bytes\":4127622},{\"format\":\"jxl\",\"sha256\":\"0f7d91f274af38bc3880d7e26874c501502f944e9a0a7562bec270f94d48d9dd\",\"size\":5184,\"size_bytes\":2797429}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a bird standing in a body of water\",\"labels\":[\"Animal\",\"Beak\",\"Bird\"],\"uuid\":\"3400DE87-E65D-4C49-889E-C1E5806F2449\"},\"cdn_base_path\":\"photos/2025/12/P1038981-3400DE87\",\"date\":\"2025-12-18T16:50:04.974000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A blue heron stands in shallow, muddy water, its long neck extended and head turned slightly to the side, with tangled branches and roots in the background.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"81baad497afaa2f5c07fc4cc18b111af48190ad8\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"bird\",\"mud\",\"branches\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:20:44.300109\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9960423707962036,\"timestamp\":\"2026-02-15T01:14:18.713216\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":80,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.01105,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Slate-blue body with maroon head/neck and pale blue bill with black tip match adult Little Blue Heron; common in Costa Rica’s muddy wetlands. No clear white belly or throat stripe to suggest Tricolored Heron.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Egretta caerulea\",\"species_binomial\":\"Egretta caerulea\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:42:51.730883+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":999,\"total_tokens\":1847},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Aves\",\"common_name\":\"Little blue heron\",\"embedding_key\":\"P1038981-3400DE87\",\"family\":\"Ardeidae\",\"genus\":\"Egretta\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.9262479543685913,\"species\":\"Egretta caerulea\",\"species_epithet\":\"caerulea\",\"timestamp\":\"2026-02-15T01:13:43.985215\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Little blue heron\",\"family\":\"Ardeidae\",\"genus\":\"Egretta\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.9262479543685913,\"species\":\"Egretta caerulea\",\"species_epithet\":\"caerulea\"},{\"class\":\"Aves\",\"common_name\":\"Slaty egret\",\"family\":\"Ardeidae\",\"genus\":\"Egretta\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.040092457085847855,\"species\":\"Egretta vinaceigula\",\"species_epithet\":\"vinaceigula\"},{\"class\":\"Aves\",\"common_name\":\"Dimorphic egret\",\"family\":\"Ardeidae\",\"genus\":\"Egretta\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.013580855913460255,\"species\":\"Egretta dimorpha\",\"species_epithet\":\"dimorpha\"},{\"class\":\"Aves\",\"common_name\":\"Black heron\",\"family\":\"Ardeidae\",\"genus\":\"Egretta\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.003040348645299673,\"species\":\"Egretta ardesiaca\",\"species_epithet\":\"ardesiaca\"},{\"class\":\"Aves\",\"common_name\":\"Tricolored Heron\",\"family\":\"Ardeidae\",\"genus\":\"Egretta\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0019123520469292998,\"species\":\"Egretta tricolor\",\"species_epithet\":\"tricolor\"},{\"class\":\"Aves\",\"common_name\":\"Reddish Egret\",\"family\":\"Ardeidae\",\"genus\":\"Egretta\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.001645974232815206,\"species\":\"Egretta rufescens\",\"species_epithet\":\"rufescens\"}],\"class\":\"Aves\",\"common_name\":\"Little blue heron\",\"embedding_key\":\"P1038981-3400DE87\",\"family\":\"Ardeidae\",\"genus\":\"Egretta\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.9262479543685913,\"species\":\"Egretta caerulea\",\"species_epithet\":\"caerulea\",\"timestamp\":\"2026-02-15T10:24:54.417428\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"original_filename\":\"P1038981.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.584284+00:00\"},\"photos_uuid\":\"3400DE87-E65D-4C49-889E-C1E5806F2449\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T19:23:30.812160+00:00\",\"reviewed_value_hash\":\"sha256:b8225ad35b5f0f3f1cf2aff4374321891e40788661b63c8035706a730d8bf977\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"},\"taxonomy\":{\"approved_at\":\"2026-02-15T19:23:29.239377+00:00\",\"reviewed_value_hash\":\"sha256:00393d1aec4e265997be2e795df566462ee6ca8241a21e19de8f8fa4292704ae\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"c6597c78341c5ce6\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:37.200572\"}},\"format\":\"avif\",\"sha256\":\"ec670d22d172edb9d6f932f93cf050d9096fab7a936f1db34551e1612a203dce\",\"size\":480,\"size_bytes\":24300},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"c6597c78341c5ce6\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:37.248858\"}},\"format\":\"jpg\",\"sha256\":\"987531699077bedb3133dabab4d859807ac6ddb9ccfff14cfcae428c48b9b2bf\",\"size\":480,\"size_bytes\":48304},{\"format\":\"jxl\",\"sha256\":\"f4771e88f17d0465d04b7a589e07928131b6f36e4f5bc5f957275509edf92f12\",\"size\":480,\"size_bytes\":26571},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c6597c78341c5ce6\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:04.316914\"}},\"format\":\"avif\",\"sha256\":\"4e543cb45823d57a5fdd646ebda066373bfaaf6cd065ce0ab80729610a952af2\",\"size\":800,\"size_bytes\":41322},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c6597c78341c5ce6\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:04.348078\"}},\"format\":\"jpg\",\"sha256\":\"32ecd97d50688e018135aea9530b39764f1dd524dbaa349b89e3619b695427cd\",\"size\":800,\"size_bytes\":100080},{\"format\":\"jxl\",\"sha256\":\"2aec82e087d08f5feacf2dba92f39fab9e351e9d9766541fd31be12351aa3c95\",\"size\":800,\"size_bytes\":49756},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c6597c78341c5ce6\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:04.444301\"}},\"format\":\"avif\",\"sha256\":\"a5ee2406b51e83ac5efb3cb0d6678aece1c7e429c8a230198a4d9339aead3c0c\",\"size\":2400,\"size_bytes\":228715},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c6597c78341c5ce6\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:04.466308\"}},\"format\":\"jpg\",\"sha256\":\"30cc2dcc5e4a76ef3b5bab1705e2c99e973350e658fea6d4ad21275a70d8b70a\",\"size\":2400,\"size_bytes\":669340},{\"format\":\"jxl\",\"sha256\":\"1c4e2679492e1801208830b12f385ea641c803595b634a6903f94e43ea39289f\",\"size\":2400,\"size_bytes\":354317},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c6597c78341c5ce6\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:04.865770\"}},\"format\":\"avif\",\"sha256\":\"a8982efa8c0671f8ca7533b5c5371e9b16a5b41cb6785e8d37b47a8da9a5a697\",\"size\":3840,\"size_bytes\":788282},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c6597c78341c5ce6\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:04.753697\"}},\"format\":\"jpg\",\"sha256\":\"a098f37eec9b31eca918d0743bb0fcd180c156cc7b7925ab69fa8c14b752fbb4\",\"size\":3840,\"size_bytes\":1768959},{\"format\":\"jxl\",\"sha256\":\"603ca1f58a12c2ffe4bc308022d1e34d77c2d78b92c6d3be393b943785242130\",\"size\":3840,\"size_bytes\":1057438},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"c6597c78341c5ce6\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:37.688717\"}},\"format\":\"avif\",\"sha256\":\"3bafc34d4dc8f66271264d440d01082b6287d7c8cddf256271664a8cb0229949\",\"size\":5184,\"size_bytes\":1364549},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"c6597c78341c5ce6\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.303460\"}},\"format\":\"jpg\",\"sha256\":\"f59a4c93fd50c2b807ca81d75f3c224f63c41f2c615bcb4992b519afb168cb73\",\"size\":5184,\"size_bytes\":3065397},{\"format\":\"jxl\",\"sha256\":\"1f80dcb14adebb65700f2872a0ab1cdf3d78a0daf2bdf369cfd1a421d2985d61\",\"size\":5184,\"size_bytes\":1920188}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a bird standing in a shallow body of water\",\"uuid\":\"8DD24A83-D8B8-4761-884E-0352BB215C59\"},\"cdn_base_path\":\"photos/2025/12/P1038968-8DD24A83\",\"date\":\"2025-12-18T16:48:45.271000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A dark blue heron stands in shallow, muddy water, its long legs partially submerged, with a reflection visible in the water below.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"81baad497afaa2f5c07fc4cc18b111af48190ad8\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"bird\",\"water\",\"mud\",\"leaf\",\"reflection\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:20:29.672359\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9993459582328796,\"timestamp\":\"2026-02-15T01:14:18.696439\",\"variant_used\":{\"format\":\"jpg\",\"size\":3815}},\"llm_species_id_v1\":{\"confidence_1_to_100\":93,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.00715,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Small heron with uniform slate-blue plumage, greenish legs, and dark-tipped bluish bill; lacks white belly or rufous tones of similar species. Common in Costa Rica wetlands.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Egretta caerulea\",\"species_binomial\":\"Egretta caerulea\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:42:45.012879+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":609,\"total_tokens\":1457},\"variant_used\":{\"format\":\"jpg\",\"size\":3815}},\"tree_of_life_v1\":{\"class\":\"Aves\",\"common_name\":\"Little blue heron\",\"embedding_key\":\"P1038968-8DD24A83\",\"family\":\"Ardeidae\",\"genus\":\"Egretta\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.9300349950790405,\"species\":\"Egretta caerulea\",\"species_epithet\":\"caerulea\",\"timestamp\":\"2026-02-15T01:13:43.972712\",\"variant_used\":{\"format\":\"jpg\",\"size\":3815}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Little blue heron\",\"family\":\"Ardeidae\",\"genus\":\"Egretta\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.9300349950790405,\"species\":\"Egretta caerulea\",\"species_epithet\":\"caerulea\"},{\"class\":\"Aves\",\"common_name\":\"Slaty egret\",\"family\":\"Ardeidae\",\"genus\":\"Egretta\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.029636124148964882,\"species\":\"Egretta vinaceigula\",\"species_epithet\":\"vinaceigula\"},{\"class\":\"Aves\",\"common_name\":\"Dimorphic egret\",\"family\":\"Ardeidae\",\"genus\":\"Egretta\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.006775885354727507,\"species\":\"Egretta dimorpha\",\"species_epithet\":\"dimorpha\"},{\"class\":\"Aves\",\"common_name\":\"Black heron\",\"family\":\"Ardeidae\",\"genus\":\"Egretta\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0059049841947853565,\"species\":\"Egretta ardesiaca\",\"species_epithet\":\"ardesiaca\"},{\"class\":\"Aves\",\"common_name\":\"Humblot's heron\",\"family\":\"Ardeidae\",\"genus\":\"Ardea\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0036428712774068117,\"species\":\"Ardea humbloti\",\"species_epithet\":\"humbloti\"},{\"class\":\"Aves\",\"common_name\":\"Western reef-heron\",\"family\":\"Ardeidae\",\"genus\":\"Egretta\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0015276502817869186,\"species\":\"Egretta gularis\",\"species_epithet\":\"gularis\"}],\"class\":\"Aves\",\"common_name\":\"Little blue heron\",\"embedding_key\":\"P1038968-8DD24A83\",\"family\":\"Ardeidae\",\"genus\":\"Egretta\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.9300349950790405,\"species\":\"Egretta caerulea\",\"species_epithet\":\"caerulea\",\"timestamp\":\"2026-02-15T10:24:54.406450\",\"variant_used\":{\"format\":\"jpg\",\"size\":3815}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3815},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3815},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3815},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3815}},\"gallery_caption\":\"\",\"height\":2861,\"manual_description\":{\"source\":\"taxonomy_review_v1\",\"text\":\"A blue heron stands in shallow, muddy water, its long legs partially submerged, with a reflection visible in the water below.\",\"updated_at\":\"2026-02-15T19:23:37.326483+00:00\"},\"original_filename\":\"P1038968.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.585807+00:00\"},\"photos_uuid\":\"8DD24A83-D8B8-4761-884E-0352BB215C59\",\"review_signoff\":{\"taxonomy\":{\"approved_at\":\"2026-02-15T19:23:41.202331+00:00\",\"reviewed_value_hash\":\"sha256:00393d1aec4e265997be2e795df566462ee6ca8241a21e19de8f8fa4292704ae\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"c45f4c4c6c67666c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:37.086154\"}},\"format\":\"avif\",\"sha256\":\"b0bc7f79f22f943184e17514c12cfe38bc7493f49126c946c704834050614825\",\"size\":480,\"size_bytes\":41944},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"c45f4c4c6c67666c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:37.131451\"}},\"format\":\"jpg\",\"sha256\":\"26f1af02249dd0090a534513089bb36ad17cf73146cf3fdf13dc90f12aa07f19\",\"size\":480,\"size_bytes\":55314},{\"format\":\"jxl\",\"sha256\":\"a6a9e8f08fd732f3fd0bcb1c41232b7743db48524f9aa036a0b435eda48c7ab3\",\"size\":480,\"size_bytes\":37429},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c45f4c4c6c67666c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:04.008605\"}},\"format\":\"avif\",\"sha256\":\"f92ee8a8e6ba859317449615f7731bdd1a9117bb9765c42138777a8795f7ad53\",\"size\":800,\"size_bytes\":96020},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c45f4c4c6c67666c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:04.047718\"}},\"format\":\"jpg\",\"sha256\":\"046c12e0906c163d81487226a0019e39aaaab2b4de292d3e95aef52b229df894\",\"size\":800,\"size_bytes\":133196},{\"format\":\"jxl\",\"sha256\":\"bdfab301cae538af836de80777a98a5a94634638eb7742b406e290eab1fb0bb3\",\"size\":800,\"size_bytes\":87867},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c45f4c4c6c67666c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:04.165831\"}},\"format\":\"avif\",\"sha256\":\"144ec803c8e9680dd215d013c9a85772dce9262742bec58148c478fe65a53593\",\"size\":2400,\"size_bytes\":821230},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c45f4c4c6c67666c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:04.181128\"}},\"format\":\"jpg\",\"sha256\":\"b9eabe0cddf3be390fe0245f7368a08d48b0e301aa68c996e1b97d9c322cc667\",\"size\":2400,\"size_bytes\":1046442},{\"format\":\"jxl\",\"sha256\":\"d7d587785bedfa2b2b116bc90f8e721023bc819fe85a3a3f016129da1846cd6e\",\"size\":2400,\"size_bytes\":728685},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c45f4c4c6c67666c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:04.437145\"}},\"format\":\"avif\",\"sha256\":\"9e0e86100855e5b5d2a5ae2bc3d4ad7435826d9ff68c3ba61b566ae188076369\",\"size\":3815,\"size_bytes\":1606910},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c45f4c4c6c67666c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:04.435390\"}},\"format\":\"jpg\",\"sha256\":\"ee81f11a0a140649935bc0afa9a9faceb062789c01dd53b1281b2b8ea2295a12\",\"size\":3815,\"size_bytes\":2443641},{\"format\":\"jxl\",\"sha256\":\"2a93ac152e1dc37faf08a252f52ac47c5d8d27de25a260be1e883602b6825a3a\",\"size\":3815,\"size_bytes\":1652860}],\"width\":3815},{\"apple_photos\":{\"ai_caption\":\"a white bird with a yellow beak standing on a tree branch\",\"uuid\":\"0B768196-84B4-4040-97AB-6A685FAC6B72\"},\"cdn_base_path\":\"photos/2025/12/P1038951-0B768196\",\"date\":\"2025-12-18T16:46:38.944000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A white egret with a yellow beak perches among tangled, dry branches.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"81baad497afaa2f5c07fc4cc18b111af48190ad8\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"bird\",\"branches\",\"beak\",\"eye\",\"neck\",\"feather\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:20:15.071016\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9969762563705444,\"timestamp\":\"2026-02-15T01:14:18.678465\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":90,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.006500000000000001,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Large all-white heron with very long S-curved neck and yellow dagger-like bill with yellow-green lores; excludes Snowy (black bill) and Cattle Egret (shorter neck). Common in Costa Rica.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Ardea alba\",\"species_binomial\":\"Ardea alba\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:42:31.673974+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":544,\"total_tokens\":1392},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Aves\",\"common_name\":\"Great Egret\",\"embedding_key\":\"P1038951-0B768196\",\"family\":\"Ardeidae\",\"genus\":\"Ardea\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.6551287770271301,\"species\":\"Ardea alba\",\"species_epithet\":\"alba\",\"timestamp\":\"2026-02-15T01:13:43.959154\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Great Egret\",\"family\":\"Ardeidae\",\"genus\":\"Ardea\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.6551287770271301,\"species\":\"Ardea alba\",\"species_epithet\":\"alba\"},{\"class\":\"Aves\",\"common_name\":\"Great Egret\",\"family\":\"Ardeidae\",\"genus\":\"Ardea\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.3244929015636444,\"species\":\"Ardea modesta\",\"species_epithet\":\"modesta\"},{\"class\":\"Aves\",\"common_name\":\"Plumed Egret\",\"family\":\"Ardeidae\",\"genus\":\"Egretta\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.001463071326725185,\"species\":\"Egretta intermedia\",\"species_epithet\":\"intermedia\"},{\"class\":\"Aves\",\"common_name\":\"Snowy Egret\",\"family\":\"Ardeidae\",\"genus\":\"Egretta\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0010677468962967396,\"species\":\"Egretta thula\",\"species_epithet\":\"thula\"},{\"class\":\"Aves\",\"common_name\":\"Chinese egret\",\"family\":\"Ardeidae\",\"genus\":\"Egretta\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0002640833263285458,\"species\":\"Egretta eulophotes\",\"species_epithet\":\"eulophotes\"},{\"class\":\"Aves\",\"common_name\":\"Pinnated bittern\",\"family\":\"Ardeidae\",\"genus\":\"Botaurus\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.00025276027736254036,\"species\":\"Botaurus pinnatus\",\"species_epithet\":\"pinnatus\"}],\"class\":\"Aves\",\"common_name\":\"Great Egret\",\"embedding_key\":\"P1038951-0B768196\",\"family\":\"Ardeidae\",\"genus\":\"Ardea\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.6551287770271301,\"species\":\"Ardea alba\",\"species_epithet\":\"alba\",\"timestamp\":\"2026-02-15T10:24:54.396690\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"original_filename\":\"P1038951.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.587264+00:00\"},\"photos_uuid\":\"0B768196-84B4-4040-97AB-6A685FAC6B72\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T17:45:01.640261+00:00\",\"reviewed_value_hash\":\"sha256:93b7b45a95045b8d7e4a17c06167450011ec8f4e723a44be3ea092d7a1ebbf87\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"},\"taxonomy\":{\"approved_at\":\"2026-02-15T17:45:06.483763+00:00\",\"reviewed_value_hash\":\"sha256:caf1307eacfae18949591564a214c2a4835498f61dbb40631af82f5ea46d6935\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"ab2b6a4ac9b39662\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.868320\"}},\"format\":\"avif\",\"sha256\":\"a1baf70aa7d71ad04ef18c7071809c0db583a22f00c4fb86fecdb1da43e2c0e2\",\"size\":480,\"size_bytes\":48583},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"ab2b6a4ac9b39662\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.899149\"}},\"format\":\"jpg\",\"sha256\":\"c356317190d179a4152539848c85257b205ee0d5ce11ffe0829081c1ddb72b8b\",\"size\":480,\"size_bytes\":72929},{\"format\":\"jxl\",\"sha256\":\"435e134bd6cf18cce83a7cf3f3e93efeac4cb4d47a3f68adcfb5c99555ee2a13\",\"size\":480,\"size_bytes\":42664},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"ab2b6a4ac9b39662\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:03.775134\"}},\"format\":\"avif\",\"sha256\":\"5074156f6144b3f50b78cf5e9624bdb84662931ed14aa7f0b732d275a3ffa857\",\"size\":800,\"size_bytes\":86848},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"ab2b6a4ac9b39662\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:03.848403\"}},\"format\":\"jpg\",\"sha256\":\"93613cc24372cdc07c47376357371e0bc0e70c5907c7f3ac60e8dc777630fdc6\",\"size\":800,\"size_bytes\":153902},{\"format\":\"jxl\",\"sha256\":\"95e8678d8c59bdc9469c35dc487d9ab5bf4e292f22f9b5c5d1d8cecdb4ea7ce1\",\"size\":800,\"size_bytes\":85830},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"ab2b6a4ac9b39662\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:03.944949\"}},\"format\":\"avif\",\"sha256\":\"73912ab544ead60ba23e50c9fe22f7b8402172b8c45101089040c04c0e172238\",\"size\":2400,\"size_bytes\":483175},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"ab2b6a4ac9b39662\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:03.998027\"}},\"format\":\"jpg\",\"sha256\":\"9d25188f03b4d4553594f9adf96d757d936684852e7fcec51ff8264680791bdb\",\"size\":2400,\"size_bytes\":904772},{\"format\":\"jxl\",\"sha256\":\"18956ba895b13da58b6562734a50e51d68a97fc2e75087338c60361fb0d67280\",\"size\":2400,\"size_bytes\":477197},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"ab2b6a4ac9b39662\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:04.052796\"}},\"format\":\"avif\",\"sha256\":\"993679c8892c00056538cbb90f8860fa45a4bb0a722b79fe890188e066756961\",\"size\":3840,\"size_bytes\":1207512},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"ab2b6a4ac9b39662\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:04.117861\"}},\"format\":\"jpg\",\"sha256\":\"aafad36dbefc30e8247b77bae0563fecf24fff3d12fb9e1175bb3ae63edcf789\",\"size\":3840,\"size_bytes\":2192041},{\"format\":\"jxl\",\"sha256\":\"312b98ffc97ea362e42974be9204f6f072b914bc735233c4f0f643c50ff3c2f2\",\"size\":3840,\"size_bytes\":1236321},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"ab2b6a4ac9b39662\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:37.300068\"}},\"format\":\"avif\",\"sha256\":\"6edee936d33ab80c30adb7d13899989091fea44fab492e8431fe75dfec2fad25\",\"size\":5184,\"size_bytes\":2018629},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"ab2b6a4ac9b39662\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:38.026643\"}},\"format\":\"jpg\",\"sha256\":\"afd29bf20cc8f866f397cb91e08e4427155a2776b6e9803d222cd3cce8da94f4\",\"size\":5184,\"size_bytes\":3714307},{\"format\":\"jxl\",\"sha256\":\"5af5491bc63661c7c5bfd88dc0415159c8f589b1df5a194b363635e6623d8c71\",\"size\":5184,\"size_bytes\":2224932}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a bird is perched on a tree branch\",\"uuid\":\"549DCCB3-D70B-4025-AD93-0EF0946C7093\"},\"cdn_base_path\":\"photos/2025/12/P1038932-549DCCB3\",\"date\":\"2025-12-18T16:42:25.234000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A toucan perches on a tree branch, its vibrant yellow and black beak and bright yellow face contrasting with its dark body, surrounded by lush green foliage.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"81baad497afaa2f5c07fc4cc18b111af48190ad8\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"toucan\",\"tree\",\"leaves\",\"branch\",\"eye\",\"beak\",\"tail\",\"foot\",\"claw\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:20:00.923419\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9627081155776978,\"timestamp\":\"2026-02-15T01:14:18.663277\",\"variant_used\":{\"format\":\"jpg\",\"size\":2044}},\"llm_species_id_v1\":{\"confidence_1_to_100\":88,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.009810000000000001,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Large toucan with yellow throat, green bare skin around eye, red undertail, and mostly chestnut bill with yellow culmen; in Costa Rica this combination indicates Yellow-throated Toucan, subspecies swainsonii.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Ramphastos ambiguus swainsonii\",\"species_binomial\":\"Ramphastos ambiguus\",\"taxon_rank\":\"subspecies\",\"timestamp\":\"2026-02-15T17:42:32.141009+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":875,\"total_tokens\":1723},\"variant_used\":{\"format\":\"jpg\",\"size\":2044}},\"tree_of_life_v1\":{\"class\":\"Aves\",\"common_name\":\"Choco Toucan\",\"embedding_key\":\"P1038932-549DCCB3\",\"family\":\"Ramphastidae\",\"genus\":\"Ramphastos\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.547676146030426,\"species\":\"Ramphastos brevis\",\"species_epithet\":\"brevis\",\"timestamp\":\"2026-02-15T01:13:43.946600\",\"variant_used\":{\"format\":\"jpg\",\"size\":2044}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Choco Toucan\",\"family\":\"Ramphastidae\",\"genus\":\"Ramphastos\",\"kingdom\":\"Animalia\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.547676146030426,\"species\":\"Ramphastos brevis\",\"species_epithet\":\"brevis\"},{\"class\":\"Aves\",\"common_name\":\"Yellow-throated Toucan\",\"family\":\"Ramphastidae\",\"genus\":\"Ramphastos\",\"kingdom\":\"Animalia\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.31399568915367126,\"species\":\"Ramphastos ambiguus\",\"species_epithet\":\"ambiguus\"},{\"class\":\"Aves\",\"common_name\":\"Citron-throated toucan\",\"family\":\"Ramphastidae\",\"genus\":\"Ramphastos\",\"kingdom\":\"Animalia\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.06387390196323395,\"species\":\"Ramphastos citreolaemus\",\"species_epithet\":\"citreolaemus\"},{\"class\":\"Aves\",\"common_name\":\"Green-billed Toucan\",\"family\":\"Ramphastidae\",\"genus\":\"Ramphastos\",\"kingdom\":\"Animalia\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.01812192238867283,\"species\":\"Ramphastos dicolorus\",\"species_epithet\":\"dicolorus\"},{\"class\":\"Aves\",\"common_name\":\"White-throated Toucan\",\"family\":\"Ramphastidae\",\"genus\":\"Ramphastos\",\"kingdom\":\"Animalia\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.01459195651113987,\"species\":\"Ramphastos tucanus\",\"species_epithet\":\"tucanus\"},{\"class\":\"Aves\",\"common_name\":\"Keel-billed toucan\",\"family\":\"Ramphastidae\",\"genus\":\"Ramphastos\",\"kingdom\":\"Animalia\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.008214123547077179,\"species\":\"Ramphastos sulfuratus\",\"species_epithet\":\"sulfuratus\"}],\"class\":\"Aves\",\"common_name\":\"Choco Toucan\",\"embedding_key\":\"P1038932-549DCCB3\",\"family\":\"Ramphastidae\",\"genus\":\"Ramphastos\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.547676146030426,\"species\":\"Ramphastos brevis\",\"species_epithet\":\"brevis\",\"timestamp\":\"2026-02-15T10:24:54.385824\",\"variant_used\":{\"format\":\"jpg\",\"size\":2044}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":2044},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":2044},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":2044},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":2044}},\"gallery_caption\":\"\",\"height\":1533,\"manual_taxonomy\":{\"class\":\"Aves\",\"common_name\":\"Yellow-throated Toucan\",\"family\":\"Ramphastidae\",\"genus\":\"Ramphastos\",\"kingdom\":\"Animalia\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"species\":\"Ramphastos ambiguus\",\"species_epithet\":\"ambiguus\"},\"original_filename\":\"P1038932.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.588865+00:00\"},\"photos_uuid\":\"549DCCB3-D70B-4025-AD93-0EF0946C7093\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T14:22:58.015004+00:00\",\"reviewed_value_hash\":\"sha256:83020304be882e5e8725dbae5dd0282fb97af04b8fd4f94f9555c2268ebbcf8e\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"f6acc5b938d3280e\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.758076\"}},\"format\":\"avif\",\"sha256\":\"cf82f2b2a4bac111cb13c4675762d2704810436d4916fbb6396137ea4d5df4aa\",\"size\":480,\"size_bytes\":79938},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"f6acc5b938d3280e\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.782811\"}},\"format\":\"jpg\",\"sha256\":\"c28bdc7ef4775b6087320187d391f629aec360d88eaf23cc5874bf2dfe68cef6\",\"size\":480,\"size_bytes\":106024},{\"format\":\"jxl\",\"sha256\":\"ff802396c515b10040ed4ca2346abd4f019d049ef4fd6307bbfc967e323f0dae\",\"size\":480,\"size_bytes\":64765},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"f6acc5b938d3280e\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:03.581982\"}},\"format\":\"avif\",\"sha256\":\"cdc6fcdff7f25247a14705916f7c6234e5739731d856782d87e4bde32d1a93ae\",\"size\":800,\"size_bytes\":136446},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"f6acc5b938d3280e\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:03.618909\"}},\"format\":\"jpg\",\"sha256\":\"17629a704b3c0a889ffb9856538451e0b38a1b422bdd7f097c62cce1daee3e18\",\"size\":800,\"size_bytes\":193470},{\"format\":\"jxl\",\"sha256\":\"343b8e9a764b81c6dbe3c86ad130f6c2ca7b60bf6054d0c77df27de9d3a6f200\",\"size\":800,\"size_bytes\":116645},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"f6acc5b938d3280e\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:03.727597\"}},\"format\":\"avif\",\"sha256\":\"8533734c07eac6883ed5cb71714ef4525ba53d7b9d56f502ee5e7b66db994721\",\"size\":2044,\"size_bytes\":478321},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"f6acc5b938d3280e\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:03.801558\"}},\"format\":\"jpg\",\"sha256\":\"3f71b31cec9a2534765d52af3598ea43b9c8dd52f5c042107af2cae44cb6223a\",\"size\":2044,\"size_bytes\":781776},{\"format\":\"jxl\",\"sha256\":\"771cf479e4ca4985a6e692174b60e8468652fd6e684433ce6ae627d401ed45f5\",\"size\":2044,\"size_bytes\":467133}],\"width\":2044},{\"apple_photos\":{\"ai_caption\":\"a bird standing in the dirt near a tree\",\"uuid\":\"49A4122D-EAA5-460B-AAAA-8E7F0B3A3926\"},\"cdn_base_path\":\"photos/2025/12/P1038907-49A4122D\",\"date\":\"2025-12-18T16:38:55.782000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A wading bird with a gray head, red eye, and yellow beak stands on muddy ground among tangled branches and leaves. Its body is covered in brown feathers, and its long, pink legs\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"81baad497afaa2f5c07fc4cc18b111af48190ad8\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"bird\",\"mud\",\"branches\",\"leaves\",\"dirt\",\"leg\",\"beak\",\"eye\",\"feather\",\"foot\",\"trunk\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:19:45.380657\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9997890591621399,\"timestamp\":\"2026-02-15T01:14:18.646257\",\"variant_used\":{\"format\":\"jpg\",\"size\":3764}},\"llm_species_id_v1\":{\"confidence_1_to_100\":85,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.01107,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Gray head and neck, rufous underparts, olive-brown back, red eye, yellow-green bill, and long pink legs; typical of Gray-cowled Wood-Rail common in Costa Rica mangroves/forest edges.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Aramides cajaneus\",\"species_binomial\":\"Aramides cajaneus\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:44:23.405176+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":1001,\"total_tokens\":1849},\"variant_used\":{\"format\":\"jpg\",\"size\":3764}},\"tree_of_life_v1\":{\"class\":\"Aves\",\"common_name\":\"Gray-necked wood-rail\",\"embedding_key\":\"P1038907-49A4122D\",\"family\":\"Rallidae\",\"genus\":\"Aramides\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Gruiformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.8231849670410156,\"species\":\"Aramides cajanea\",\"species_epithet\":\"cajanea\",\"timestamp\":\"2026-02-15T01:13:43.934621\",\"variant_used\":{\"format\":\"jpg\",\"size\":3764}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Gray-necked wood-rail\",\"family\":\"Rallidae\",\"genus\":\"Aramides\",\"kingdom\":\"Animalia\",\"order\":\"Gruiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.8231849670410156,\"species\":\"Aramides cajanea\",\"species_epithet\":\"cajanea\"},{\"class\":\"Aves\",\"common_name\":\"Russet-naped wood-rail\",\"family\":\"Rallidae\",\"genus\":\"Aramides\",\"kingdom\":\"Animalia\",\"order\":\"Gruiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.12554219365119934,\"species\":\"Aramides albiventris\",\"species_epithet\":\"albiventris\"},{\"class\":\"Aves\",\"common_name\":\"Little wood rail\",\"family\":\"Rallidae\",\"genus\":\"Aramides\",\"kingdom\":\"Animalia\",\"order\":\"Gruiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.013653641566634178,\"species\":\"Aramides mangle\",\"species_epithet\":\"mangle\"},{\"class\":\"Aves\",\"common_name\":\"Giant Wood Rail\",\"family\":\"Rallidae\",\"genus\":\"Aramides\",\"kingdom\":\"Animalia\",\"order\":\"Gruiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.006164281629025936,\"species\":\"Aramides ypecaha\",\"species_epithet\":\"ypecaha\"},{\"class\":\"Aves\",\"common_name\":\"Red-winged Wood Rail\",\"family\":\"Rallidae\",\"genus\":\"Aramides\",\"kingdom\":\"Animalia\",\"order\":\"Gruiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0036664267536252737,\"species\":\"Aramides calopterus\",\"species_epithet\":\"calopterus\"},{\"class\":\"Aves\",\"common_name\":\"Talaud Bush-hen\",\"family\":\"Rallidae\",\"genus\":\"Amaurornis\",\"kingdom\":\"Animalia\",\"order\":\"Gruiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0035553581546992064,\"species\":\"Amaurornis magnirostris\",\"species_epithet\":\"magnirostris\"}],\"class\":\"Aves\",\"common_name\":\"Gray-necked wood-rail\",\"embedding_key\":\"P1038907-49A4122D\",\"family\":\"Rallidae\",\"genus\":\"Aramides\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Gruiformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.8231849670410156,\"species\":\"Aramides cajanea\",\"species_epithet\":\"cajanea\",\"timestamp\":\"2026-02-15T10:24:54.375353\",\"variant_used\":{\"format\":\"jpg\",\"size\":3764}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3764},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3764},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3764},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3764}},\"gallery_caption\":\"\",\"height\":2823,\"manual_description\":{\"source\":\"taxonomy_review_v1\",\"text\":\"A bird with a gray head, red eye, and yellow beak stands on muddy ground among tangled branches and leaves. Its body is covered in brown feathers, and its long, pink legs\",\"updated_at\":\"2026-02-15T18:00:12.394687+00:00\"},\"original_filename\":\"P1038907.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.590473+00:00\"},\"photos_uuid\":\"49A4122D-EAA5-460B-AAAA-8E7F0B3A3926\",\"review_signoff\":{\"taxonomy\":{\"approved_at\":\"2026-02-15T18:00:36.821478+00:00\",\"reviewed_value_hash\":\"sha256:2a78b858d9e5628c7b361274e931dea43d691025b61e7ecca29d1d5c9ae72289\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"fe1f8e70a64c8a61\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.719250\"}},\"format\":\"avif\",\"sha256\":\"b1d469574cf0d786f16573eb62f5180ee6bc8b72104584fedb8838c34b153669\",\"size\":480,\"size_bytes\":54955},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"fe1f8e70a64c8a61\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.740692\"}},\"format\":\"jpg\",\"sha256\":\"318e7a3f7440f1b81fe2a73ddb1059c4174c601c61fc73a510bb21b5bab274c5\",\"size\":480,\"size_bytes\":72557},{\"format\":\"jxl\",\"sha256\":\"39a1f15a68875cb98dfaf80d26f820677db421f0214ea9ffb8cf94173df0d6ad\",\"size\":480,\"size_bytes\":45299},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"fe1f8e70a64c8a61\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:03.301370\"}},\"format\":\"avif\",\"sha256\":\"3471684ab96341d0584863f4b57193d748f5e5cbd261f68e4cd673f6ff235397\",\"size\":800,\"size_bytes\":116027},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"fe1f8e70a64c8a61\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:03.393106\"}},\"format\":\"jpg\",\"sha256\":\"b38d01d89693d5023b13d4157b4306c0eefa255c8a91fca5b963680c9ecac446\",\"size\":800,\"size_bytes\":164646},{\"format\":\"jxl\",\"sha256\":\"cd5b2bc9cea7f9b5cb85692558d132fec3b70ef7cf538d980265d52f3f26bf6d\",\"size\":800,\"size_bytes\":99981},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"fe1f8e70a64c8a61\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:03.500986\"}},\"format\":\"avif\",\"sha256\":\"00850e24ca29fbc5661bcf63e99871943d0ca349144cdfe39543dca0eae134c1\",\"size\":2400,\"size_bytes\":854513},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"fe1f8e70a64c8a61\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:03.590990\"}},\"format\":\"jpg\",\"sha256\":\"c1847bfb7a3e9bdac3a3c1ef28dac9c11d613f97be75c2ceb1de56b830de8df3\",\"size\":2400,\"size_bytes\":1146675},{\"format\":\"jxl\",\"sha256\":\"87b38422784b202e9be9994d0760a1df5f85eecfcb2dcfdf72b3615207331578\",\"size\":2400,\"size_bytes\":733339},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"fe1f8e70a64c8a61\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:03.710552\"}},\"format\":\"avif\",\"sha256\":\"e3976918e2bf3bf6c9cd6ef50dc02d13cb7aa97a63109d4c09228ddfe6567348\",\"size\":3764,\"size_bytes\":1622698},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"fe1f8e70a64c8a61\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:03.725385\"}},\"format\":\"jpg\",\"sha256\":\"429d0f218ea374431a13c6c5604c1844d2f45bfdfad5b93faaad7b5c65a189c0\",\"size\":3764,\"size_bytes\":2523904},{\"format\":\"jxl\",\"sha256\":\"09f1cc71ac6cb9b1380e88f00bf8cf383f99e9016857587e8501956a2ad9b3cc\",\"size\":3764,\"size_bytes\":1619388}],\"width\":3764},{\"apple_photos\":{\"ai_caption\":\"a bird standing in a body of water\",\"uuid\":\"DCEAEF00-0056-41B7-8F11-E50AC5611138\"},\"cdn_base_path\":\"photos/2025/12/P1038898-DCEAEF00\",\"date\":\"2025-12-18T16:38:05.890000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A green heron stands at the water's edge beneath a large log, its reflection visible in the dark, still water.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"81baad497afaa2f5c07fc4cc18b111af48190ad8\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"bird\",\"water\",\"rock\",\"log\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:19:29.630590\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.999688982963562,\"timestamp\":\"2026-02-15T01:14:18.628491\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":85,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.01179,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Small, compact heron with greenish-blue back, rich chestnut neck and face, dark cap, and yellow legs/lores; photographed along shaded freshwater edge in Costa Rica. These features fit Green Heron and differ from Striated Heron’s grayer neck.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Butorides virescens\",\"species_binomial\":\"Butorides virescens\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:42:28.703725+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":1073,\"total_tokens\":1921},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Aves\",\"common_name\":\"Green Heron\",\"embedding_key\":\"P1038898-DCEAEF00\",\"family\":\"Ardeidae\",\"genus\":\"Butorides\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.9865413904190063,\"species\":\"Butorides virescens\",\"species_epithet\":\"virescens\",\"timestamp\":\"2026-02-15T01:13:43.922821\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Green Heron\",\"family\":\"Ardeidae\",\"genus\":\"Butorides\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.9865413904190063,\"species\":\"Butorides virescens\",\"species_epithet\":\"virescens\"},{\"class\":\"Aves\",\"common_name\":\"Striated heron\",\"family\":\"Ardeidae\",\"genus\":\"Butorides\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.003814494702965021,\"species\":\"Butorides striata\",\"species_epithet\":\"striata\"},{\"class\":\"Aves\",\"common_name\":\"Lava heron\",\"family\":\"Ardeidae\",\"genus\":\"Butorides\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0008913766359910369,\"species\":\"Butorides sundevalli\",\"species_epithet\":\"sundevalli\"},{\"class\":\"Aves\",\"common_name\":\"Least Bittern\",\"family\":\"Ardeidae\",\"genus\":\"Ixobrychus\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0004611893091350794,\"species\":\"Ixobrychus exilis\",\"species_epithet\":\"exilis\"},{\"class\":\"Aves\",\"common_name\":\"Northern waterthrush\",\"family\":\"Parulidae\",\"genus\":\"Parkesia\",\"kingdom\":\"Animalia\",\"order\":\"Passeriformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.00024432086502201855,\"species\":\"Parkesia noveboracensis\",\"species_epithet\":\"noveboracensis\"},{\"class\":\"Aves\",\"common_name\":\"White-backed Night Heron\",\"family\":\"Ardeidae\",\"genus\":\"Gorsachius\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.00021279253996908665,\"species\":\"Gorsachius leuconotus\",\"species_epithet\":\"leuconotus\"}],\"class\":\"Aves\",\"common_name\":\"Green Heron\",\"embedding_key\":\"P1038898-DCEAEF00\",\"family\":\"Ardeidae\",\"genus\":\"Butorides\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.9865413904190063,\"species\":\"Butorides virescens\",\"species_epithet\":\"virescens\",\"timestamp\":\"2026-02-15T10:24:54.365257\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3426,\"original_filename\":\"P1038898.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.592109+00:00\"},\"photos_uuid\":\"DCEAEF00-0056-41B7-8F11-E50AC5611138\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T19:30:52.944395+00:00\",\"reviewed_value_hash\":\"sha256:e6d38573ec268c7518f1ce8f27d9c1a43dfbe2d08a6bbc80cce70a0d91bd86f1\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"},\"taxonomy\":{\"approved_at\":\"2026-02-15T19:30:55.172882+00:00\",\"reviewed_value_hash\":\"sha256:7a5b1736df73c0490664c35362e5edc84f4207e17e9d7dc2339698642f453551\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"cc379107cce4b366\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:37.741100\"}},\"format\":\"avif\",\"sha256\":\"0736dea071d9f2661ed97a3597ba63e05fc465ec5b06298f9d1f7e950fb0031a\",\"size\":480,\"size_bytes\":26146},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"cc379107cce4b366\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.618213\"}},\"format\":\"jpg\",\"sha256\":\"398b0dc0c0e38e862190239d3609204e34b192a03f2794cd326d7edb3c4ab26a\",\"size\":480,\"size_bytes\":43514},{\"format\":\"jxl\",\"sha256\":\"0233de1a5473f6b2081b584ea32fa1c1bd351435c9b0bc8eeee3b8b19b4df577\",\"size\":480,\"size_bytes\":24115},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"cc379107cce4b366\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:02.802088\"}},\"format\":\"avif\",\"sha256\":\"dcbe210acfe088e609b3be311161f28501821956e85bdc6211412b5641ce0621\",\"size\":800,\"size_bytes\":62794},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"cc379107cce4b366\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:03.150131\"}},\"format\":\"jpg\",\"sha256\":\"1fa3537e724e5670a3a15aca38c7326818eac9a4200edc6b9e01d9f7bf2a05dd\",\"size\":800,\"size_bytes\":101828},{\"format\":\"jxl\",\"sha256\":\"b72f909aee4cf07759e264114b3baf40b98e570d701c69d92144c0b884bb30d9\",\"size\":800,\"size_bytes\":53614},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"cc379107cce4b366\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:03.319320\"}},\"format\":\"avif\",\"sha256\":\"561a116d899511150dbefa648703bbdc66d6ad664a8319c30f4ba14f84cf371b\",\"size\":2400,\"size_bytes\":989014},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"cc379107cce4b366\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:03.362022\"}},\"format\":\"jpg\",\"sha256\":\"4a204dbbb1bd125fe7aa601cf4ae1e11441154989507ebffccb4d7e5fd205688\",\"size\":2400,\"size_bytes\":1078541},{\"format\":\"jxl\",\"sha256\":\"2e0d0c9e440807810032e76a8b394dbfaa97c892fa1b5317e63a3b72220fcec3\",\"size\":2400,\"size_bytes\":531564},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"cc379107cce4b366\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:03.474950\"}},\"format\":\"avif\",\"sha256\":\"c733be13b5d512fbf278e7d9d0b0c0f04fbf2b110ec1beb17fd82fcedf29846b\",\"size\":3840,\"size_bytes\":2261900},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"cc379107cce4b366\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:03.485911\"}},\"format\":\"jpg\",\"sha256\":\"bd1610c452dfcbcf42234d5f348e35386c19e32faf23c8d1e7927759e531ce02\",\"size\":3840,\"size_bytes\":2743036},{\"format\":\"jxl\",\"sha256\":\"6d6f68ce3868f5a7393482c65aafb535ccf5e276015111ab1ef9acd549dfd3b7\",\"size\":3840,\"size_bytes\":1516883},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"cc379107cce4b366\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.972935\"}},\"format\":\"avif\",\"sha256\":\"483b64fc230e0906f8fbdb89901b93caa88b32578bb1f7f473eb7e162500817b\",\"size\":4568,\"size_bytes\":2755988},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"cc379107cce4b366\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:37.555612\"}},\"format\":\"jpg\",\"sha256\":\"9e4346f225ef5634b496c884680572097c0bfabecc4cb5ae48107d7edcce292a\",\"size\":4568,\"size_bytes\":3895717},{\"format\":\"jxl\",\"sha256\":\"8b19838cbfe9fd2f1313d218c704a6d3368d017dc49459fc998b20128cdc9bd7\",\"size\":4568,\"size_bytes\":2178197}],\"width\":4568},{\"apple_photos\":{\"ai_caption\":\"a black bird standing on a rocky surface with plants in the background during the daytime\",\"uuid\":\"3A86C411-62DD-4CE4-B7C1-468793C26852\"},\"cdn_base_path\":\"photos/2025/12/P1038893-3A86C411\",\"date\":\"2025-12-18T16:37:22.537000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A black vulture walks across a gravel path with sparse grass, set against a blurred background of green foliage.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"bird\",\"ground\",\"grass\",\"rocks\",\"trees\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:19:15.079161\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9917398691177368,\"timestamp\":\"2026-02-15T01:14:18.614939\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":85,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.008369999999999999,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"All-black vulture with short tail and wrinkled gray bare head; stout build typical of Black Vulture. Turkey Vulture would show red head. Common in Costa Rica.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Coragyps atratus\",\"species_binomial\":\"Coragyps atratus\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:42:17.831011+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":731,\"total_tokens\":1579},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Aves\",\"common_name\":\"Black Vulture\",\"embedding_key\":\"P1038893-3A86C411\",\"family\":\"Cathartidae\",\"genus\":\"Coragyps\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Accipitriformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.12071596086025238,\"species\":\"Coragyps atratus\",\"species_epithet\":\"atratus\",\"timestamp\":\"2026-02-15T01:13:43.911101\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Black Vulture\",\"family\":\"Cathartidae\",\"genus\":\"Coragyps\",\"kingdom\":\"Animalia\",\"order\":\"Accipitriformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.12071596086025238,\"species\":\"Coragyps atratus\",\"species_epithet\":\"atratus\"},{\"class\":\"Aves\",\"common_name\":\"Mariana crow\",\"family\":\"Corvidae\",\"genus\":\"Corvus\",\"kingdom\":\"Animalia\",\"order\":\"Passeriformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.08497446775436401,\"species\":\"Corvus kubaryi\",\"species_epithet\":\"kubaryi\"},{\"class\":\"Aves\",\"common_name\":\"Tamaulipas crow\",\"family\":\"Corvidae\",\"genus\":\"Corvus\",\"kingdom\":\"Animalia\",\"order\":\"Passeriformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.05741550028324127,\"species\":\"Corvus imparatus\",\"species_epithet\":\"imparatus\"},{\"class\":\"Aves\",\"common_name\":\"Fan-tailed raven\",\"family\":\"Corvidae\",\"genus\":\"Corvus\",\"kingdom\":\"Animalia\",\"order\":\"Passeriformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.05572463572025299,\"species\":\"Corvus rhipidurus\",\"species_epithet\":\"rhipidurus\"},{\"class\":\"Aves\",\"common_name\":\"Brown-headed Crow\",\"family\":\"Corvidae\",\"genus\":\"Corvus\",\"kingdom\":\"Animalia\",\"order\":\"Passeriformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.05368848517537117,\"species\":\"Corvus fuscicapillus\",\"species_epithet\":\"fuscicapillus\"},{\"class\":\"Aves\",\"common_name\":\"Jamaican Crow\",\"family\":\"Corvidae\",\"genus\":\"Corvus\",\"kingdom\":\"Animalia\",\"order\":\"Passeriformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.04792379215359688,\"species\":\"Corvus jamaicensis\",\"species_epithet\":\"jamaicensis\"}],\"class\":\"Aves\",\"common_name\":\"Black Vulture\",\"embedding_key\":\"P1038893-3A86C411\",\"family\":\"Cathartidae\",\"genus\":\"Coragyps\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Accipitriformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.12071596086025238,\"species\":\"Coragyps atratus\",\"species_epithet\":\"atratus\",\"timestamp\":\"2026-02-15T10:24:54.354167\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"original_filename\":\"P1038893.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.593677+00:00\"},\"photos_uuid\":\"3A86C411-62DD-4CE4-B7C1-468793C26852\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T12:53:34.785762+00:00\",\"reviewed_value_hash\":\"sha256:68b30b3392c11e853fb28da17cbd6be304044c8308af9e0f092805b280bf66f6\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"},\"taxonomy\":{\"approved_at\":\"2026-02-15T12:53:36.102369+00:00\",\"reviewed_value_hash\":\"sha256:b8b30acfec2e9ddae308bb0458fa612c4038edf3c5f7ac4acfeb671981e170e9\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"9515dc8a5a7363a3\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:37.085956\"}},\"format\":\"avif\",\"sha256\":\"26b7c55cfb09bb3be75fb372cad415d71f592683f50f1f2a22330825b2b30323\",\"size\":480,\"size_bytes\":40704},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"9515dc8a5a7363a3\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:37.131705\"}},\"format\":\"jpg\",\"sha256\":\"0930d98c73fe75533cda2df61eed65ae8f4166d6b1eb7b6ff68909b3c33f0671\",\"size\":480,\"size_bytes\":65270},{\"format\":\"jxl\",\"sha256\":\"36176e927deedfb3a13d0d39e8ff74dca3466e21ba099effda09dac726933fc5\",\"size\":480,\"size_bytes\":35878},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"9515dc8a5a7363a3\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:02.410259\"}},\"format\":\"avif\",\"sha256\":\"a8e8319f867243a68952f656b07984cacc5facfc609da19cd2f9b646a1f67b3d\",\"size\":800,\"size_bytes\":72691},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"9515dc8a5a7363a3\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:02.412980\"}},\"format\":\"jpg\",\"sha256\":\"a63da764a22a02793a8e6b9f0b9b0d792909c7c649fc3d7747ffc4621b6d1309\",\"size\":800,\"size_bytes\":140441},{\"format\":\"jxl\",\"sha256\":\"45443824627bb155be2d0dab52c850ded1e8029e0686221b8454736df350e408\",\"size\":800,\"size_bytes\":70257},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"9515dc8a5a7363a3\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:02.565051\"}},\"format\":\"avif\",\"sha256\":\"5c56e8a25f8c687d23d1cf1cd8f37d0b25356ab321d5f9b63b331a373e627d1e\",\"size\":2400,\"size_bytes\":364059},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"9515dc8a5a7363a3\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:02.558864\"}},\"format\":\"jpg\",\"sha256\":\"7ae6170ad16ad53482de60be916be940df1838b466a146a029bb0cb56687c611\",\"size\":2400,\"size_bytes\":842742},{\"format\":\"jxl\",\"sha256\":\"94524fb9be81da9fb625dcff3af3b0d641dc42c7110613b72fbc5bfcaee5ba4e\",\"size\":2400,\"size_bytes\":431776},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"9515dc8a5a7363a3\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:03.287714\"}},\"format\":\"avif\",\"sha256\":\"946831622a8be699711b7758adfd4c240889db3c6ec7a0235812a3f0a804efd5\",\"size\":3840,\"size_bytes\":1022662},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"9515dc8a5a7363a3\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:03.230979\"}},\"format\":\"jpg\",\"sha256\":\"c0a5bb338565bb5329dd38c29a642bb30c79358390c0cc2096bdf470ef5f5986\",\"size\":3840,\"size_bytes\":2079597},{\"format\":\"jxl\",\"sha256\":\"3a59f99d94f87a5fdf4e52243141da8c93100863520dbb294b078063966465e9\",\"size\":3840,\"size_bytes\":1191759},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"9515dc8a5a7363a3\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.880386\"}},\"format\":\"avif\",\"sha256\":\"71f20eca08d4a43bb46a1ed7f0d06ae5c87f0d32aec680644b6609f318c3a4dd\",\"size\":5184,\"size_bytes\":1752983},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"9515dc8a5a7363a3\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:37.688973\"}},\"format\":\"jpg\",\"sha256\":\"4abdb975fdeb6c592e8ea85c890449817bc7e83f6d66ed78158b054f9f0cc37f\",\"size\":5184,\"size_bytes\":3533830},{\"format\":\"jxl\",\"sha256\":\"6c32e295c0cb052c17d6dd5645f58c4d9d598564fd9bee64ac057077b57a34c7\",\"size\":5184,\"size_bytes\":2155667}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a bird standing in a shallow body of water\",\"labels\":[\"Animal\",\"Beak\",\"Bird\",\"Foliage\",\"Land\",\"Outdoor\",\"Plant\",\"Tree\"],\"uuid\":\"0A0EFB80-B11E-4441-BB83-971AD75F2F74\"},\"cdn_base_path\":\"photos/2025/12/P1038886-0A0EFB80\",\"date\":\"2025-12-18T16:35:51.763000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A gray heron stands in shallow water among tangled branches and green foliage, its long neck extended and beak pointed forward.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"bird\",\"branches\",\"leaves\",\"water\",\"vines\",\"mud\",\"twigs\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:19:00.725612\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9995365142822266,\"timestamp\":\"2026-02-15T01:14:18.599957\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":96,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.00799,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Large heron with dense fine barring and a distinctive bare yellow throat patch, heavy bill, and greenish legs along a water edge; diagnostic of Bare-throated Tiger Heron in Costa Rica. Other regional tiger-herons lack the bright bare yellow throat or are rufous-toned.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Tigrisoma mexicanum\",\"species_binomial\":\"Tigrisoma mexicanum\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:42:08.200312+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":693,\"total_tokens\":1541},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Aves\",\"common_name\":\"Bare-throated tiger-heron\",\"embedding_key\":\"P1038886-0A0EFB80\",\"family\":\"Ardeidae\",\"genus\":\"Tigrisoma\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.9837719798088074,\"species\":\"Tigrisoma mexicanum\",\"species_epithet\":\"mexicanum\",\"timestamp\":\"2026-02-15T01:13:43.899464\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Bare-throated tiger-heron\",\"family\":\"Ardeidae\",\"genus\":\"Tigrisoma\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.9837719798088074,\"species\":\"Tigrisoma mexicanum\",\"species_epithet\":\"mexicanum\"},{\"class\":\"Aves\",\"common_name\":\"Agami Heron\",\"family\":\"Ardeidae\",\"genus\":\"Agamia\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0028471010737121105,\"species\":\"Agamia agami\",\"species_epithet\":\"agami\"},{\"class\":\"Aves\",\"common_name\":\"Zigzag heron\",\"family\":\"Ardeidae\",\"genus\":\"Zebrilus\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0019637064542621374,\"species\":\"Zebrilus undulatus\",\"species_epithet\":\"undulatus\"},{\"class\":\"Aves\",\"common_name\":\"Capped heron\",\"family\":\"Ardeidae\",\"genus\":\"Pilherodius\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0013602819526568055,\"species\":\"Pilherodius pileatus\",\"species_epithet\":\"pileatus\"},{\"class\":\"Aves\",\"common_name\":\"Fasciated Tiger Heron\",\"family\":\"Ardeidae\",\"genus\":\"Tigrisoma\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0008043063571676612,\"species\":\"Tigrisoma fasciatum\",\"species_epithet\":\"fasciatum\"},{\"class\":\"Aves\",\"common_name\":\"Great-billed Heron\",\"family\":\"Ardeidae\",\"genus\":\"Ardea\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0007396119181066751,\"species\":\"Ardea sumatrana\",\"species_epithet\":\"sumatrana\"}],\"class\":\"Aves\",\"common_name\":\"Bare-throated tiger-heron\",\"embedding_key\":\"P1038886-0A0EFB80\",\"family\":\"Ardeidae\",\"genus\":\"Tigrisoma\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.9837719798088074,\"species\":\"Tigrisoma mexicanum\",\"species_epithet\":\"mexicanum\",\"timestamp\":\"2026-02-15T10:24:54.343628\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"manual_description\":{\"source\":\"taxonomy_review_v1\",\"text\":\"A tiger heron stands in shallow water among tangled branches and green foliage, its long neck extended and beak pointed forward.\",\"updated_at\":\"2026-02-15T19:32:42.942671+00:00\"},\"original_filename\":\"P1038886.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.595486+00:00\"},\"photos_uuid\":\"0A0EFB80-B11E-4441-BB83-971AD75F2F74\",\"review_signoff\":{\"taxonomy\":{\"approved_at\":\"2026-02-15T19:32:52.407437+00:00\",\"reviewed_value_hash\":\"sha256:6146b1e6d0dd3a6329fbdb36a16d6964fbba72917419119a84ca6ada1c079b26\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d085e76391796c96\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.426815\"}},\"format\":\"avif\",\"sha256\":\"b69f3f9ebeaf8bbe4b3d8570c89687b0ffc48b1a994dba8e051ea3f8b998d2e9\",\"size\":480,\"size_bytes\":90750},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d085e76391796c96\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.442467\"}},\"format\":\"jpg\",\"sha256\":\"32468fc5f5955639055d61b82ee3ac1e78a3cffc7a49f683ac9ffa3cbcaa91ea\",\"size\":480,\"size_bytes\":109487},{\"format\":\"jxl\",\"sha256\":\"18c50d49c4878c65b37097eb6d861b7bc18bc3ae9f2086f902736734ab746a9b\",\"size\":480,\"size_bytes\":67751},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d085e76391796c96\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.865955\"}},\"format\":\"avif\",\"sha256\":\"68f3846325cfde0e47e5ad582f5395a183f6ce690497ea8e84f0a41e3e10a6e4\",\"size\":800,\"size_bytes\":208218},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d085e76391796c96\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.946913\"}},\"format\":\"jpg\",\"sha256\":\"3a565e86b3a0d7a9bdf61c2aa1f0c829ff20788a9cc3c3a576e2bd6c6b19f0de\",\"size\":800,\"size_bytes\":260329},{\"format\":\"jxl\",\"sha256\":\"6ac463cb7455b6409b88a5e06153d06caf8c5adc3ef6b92fba554fb043f19dda\",\"size\":800,\"size_bytes\":162350},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d085e76391796c96\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:02.063653\"}},\"format\":\"avif\",\"sha256\":\"cd1b68748645f9ef0b5acf7e826039448983f2dec86e0f466958401209d31251\",\"size\":2400,\"size_bytes\":1375990},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d085e76391796c96\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:02.102341\"}},\"format\":\"jpg\",\"sha256\":\"f2e4f7f1854a478653acd5ad02ce43211016591e96c8e9b54546fcc3c77c3234\",\"size\":2400,\"size_bytes\":1696304},{\"format\":\"jxl\",\"sha256\":\"f31e2f4e86139b617d64194fe486748c32c4bf1a93e2ac85bd0c0371a340d436\",\"size\":2400,\"size_bytes\":1111251},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d085e76391796c96\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:02.327352\"}},\"format\":\"avif\",\"sha256\":\"1e65db1f132b7ad8f71dd1b711bd75df17c5f4942ee2e728ae4715106dd347a8\",\"size\":3840,\"size_bytes\":2951576},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d085e76391796c96\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:02.402694\"}},\"format\":\"jpg\",\"sha256\":\"4844e8b614b1a47edee88147d37fa8ec8cf1679dbd6ae874905318e3bb996338\",\"size\":3840,\"size_bytes\":3817091},{\"format\":\"jxl\",\"sha256\":\"294f94df505005e7d4f4844fd189e3a9cb666d3a75f3eff848ace37ddef934dc\",\"size\":3840,\"size_bytes\":2549589},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d085e76391796c96\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.946100\"}},\"format\":\"avif\",\"sha256\":\"e2132180a3117e2b4f86a7342cfded1674af25b42e72ce52bdc17e00dbee26f9\",\"size\":5184,\"size_bytes\":4290961},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d085e76391796c96\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.986629\"}},\"format\":\"jpg\",\"sha256\":\"59799b4f19ca0e9d731d7d97477db6e7a2e18324c766db0aa05e9a1db66c3e75\",\"size\":5184,\"size_bytes\":6277911},{\"format\":\"jxl\",\"sha256\":\"1b101a7052c306ebaaf5ebb8865a348114789698387c06fa9d04668996138417\",\"size\":5184,\"size_bytes\":4093816}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a lizard standing on a tree branch\",\"labels\":[\"Branch\",\"Plant\"],\"uuid\":\"A0A4E579-47BC-4DBD-806C-03D1A16BAED5\"},\"cdn_base_path\":\"photos/2025/12/P1038864-A0A4E579\",\"date\":\"2025-12-18T16:30:48.399000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A brown lizard with a spiny back perches on a muddy, greenish-brown log, surrounded by tangled roots and dry branches.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"lizard\",\"branch\",\"mud\",\"twigs\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:18:46.030173\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9958920478820801,\"timestamp\":\"2026-02-15T01:14:18.583846\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":87,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.01488,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Brown basilisk with distinct pale stripe behind eye, brown body, and pronounced cranial/back-tail crests; photographed along muddy streamside in Costa Rica. Green/plumed basilisk would be bright green and lack the strong lateral stripe.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Basiliscus vittatus\",\"species_binomial\":\"Basiliscus vittatus\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:42:16.588853+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":1382,\"total_tokens\":2230},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Squamata\",\"common_name\":\"Common basilisk\",\"embedding_key\":\"P1038864-A0A4E579\",\"family\":\"Corytophanidae\",\"genus\":\"Basiliscus\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.7686188220977783,\"species\":\"Basiliscus basiliscus\",\"species_epithet\":\"basiliscus\",\"timestamp\":\"2026-02-15T01:13:43.885954\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Squamata\",\"common_name\":\"Common basilisk\",\"family\":\"Corytophanidae\",\"genus\":\"Basiliscus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.7686188220977783,\"species\":\"Basiliscus basiliscus\",\"species_epithet\":\"basiliscus\"},{\"class\":\"Squamata\",\"common_name\":\"(sulawesi) sailfin lizard\",\"family\":\"Agamidae\",\"genus\":\"Hydrosaurus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.1403169482946396,\"species\":\"Hydrosaurus celebensis\",\"species_epithet\":\"celebensis\"},{\"class\":\"Squamata\",\"common_name\":\"(sulawesi) sailfin lizard\",\"family\":\"Agamidae\",\"genus\":\"Hydrosaurus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.028373025357723236,\"species\":\"Hydrosaurus microlophus\",\"species_epithet\":\"microlophus\"},{\"class\":\"Squamata\",\"common_name\":\"Philippine sailfin lizard\",\"family\":\"Agamidae\",\"genus\":\"Hydrosaurus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.022861767560243607,\"species\":\"Hydrosaurus pustulatus\",\"species_epithet\":\"pustulatus\"},{\"class\":\"Squamata\",\"common_name\":\"Sailfin lizard\",\"family\":\"Agamidae\",\"genus\":\"Hydrosaurus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.00957232154905796,\"species\":\"Hydrosaurus amboinensis\",\"species_epithet\":\"amboinensis\"},{\"class\":\"Squamata\",\"common_name\":\"Giant forest dragon\",\"family\":\"Agamidae\",\"genus\":\"Gonocephalus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0073801190592348576,\"species\":\"Gonocephalus grandis\",\"species_epithet\":\"grandis\"}],\"class\":\"Squamata\",\"common_name\":\"Common basilisk\",\"embedding_key\":\"P1038864-A0A4E579\",\"family\":\"Corytophanidae\",\"genus\":\"Basiliscus\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.7686188220977783,\"species\":\"Basiliscus basiliscus\",\"species_epithet\":\"basiliscus\",\"timestamp\":\"2026-02-15T10:24:54.333324\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"manual_taxonomy\":{\"class\":\"Reptilia\",\"common_name\":\"Basilisco rayado, Brown Basilisk\",\"family\":\"Corytophanidae\",\"genus\":\"Basiliscus\",\"kingdom\":\"Animalia\",\"order\":\"Squamata\",\"phylum\":\"Chordata\",\"species\":\"Basiliscus vittatus\",\"species_epithet\":\"vittatus\"},\"original_filename\":\"P1038864.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.597104+00:00\"},\"photos_uuid\":\"A0A4E579-47BC-4DBD-806C-03D1A16BAED5\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T17:55:29.500093+00:00\",\"reviewed_value_hash\":\"sha256:9101d3dd8b3c716c62b648849afd8cd1ecba0e05dda7bea44e5c4ae58cdacafb\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"8f4f2f01e1b0d96c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.260869\"}},\"format\":\"avif\",\"sha256\":\"42eccd63f63fff2759e2fd464c7edeb79e3064126f1e631d7a47c3e669593400\",\"size\":480,\"size_bytes\":50924},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"8f4f2f01e1b0d96c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.338587\"}},\"format\":\"jpg\",\"sha256\":\"2fba346dc154492bc61ea92202f1473fb72efbd58773d9ff3d1300c1388871ba\",\"size\":480,\"size_bytes\":66949},{\"format\":\"jxl\",\"sha256\":\"4159216317ce195c489b82d4912cdf424cbf8b077b2762e0f1a8ea58862097e5\",\"size\":480,\"size_bytes\":45791},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"8f4f2f01e1b0d96c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.485010\"}},\"format\":\"avif\",\"sha256\":\"27fc195e220b695a92c8b70dcdc28e9f5b8664ec28a1d425e4302422b48a9f52\",\"size\":800,\"size_bytes\":108677},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"8f4f2f01e1b0d96c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.511792\"}},\"format\":\"jpg\",\"sha256\":\"1eccb3672ef6f4358b021f4341c0bfe5522ed5a908051000b448a428b16d23a8\",\"size\":800,\"size_bytes\":152212},{\"format\":\"jxl\",\"sha256\":\"f0a8c642c5383c79f9e8a6f7d91b83a9b7f8146c5cb9893ebd51eb8d7b61dcb3\",\"size\":800,\"size_bytes\":102350},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"8f4f2f01e1b0d96c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.711341\"}},\"format\":\"avif\",\"sha256\":\"44a8af98b0fd4ed5919224690a63c056cb4f193789bf2d1fa7032e7666189a6c\",\"size\":2400,\"size_bytes\":989631},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"8f4f2f01e1b0d96c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.733617\"}},\"format\":\"jpg\",\"sha256\":\"862fd068a98540af9fac0ece2f8fcc090ddfdba14b57b7e7b1b1d616809628c5\",\"size\":2400,\"size_bytes\":1149316},{\"format\":\"jxl\",\"sha256\":\"b96b4b99782e4aa3f409199e9726ffd4db8f4d0460130cbf305f80b9cf51f5d3\",\"size\":2400,\"size_bytes\":764772},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"8f4f2f01e1b0d96c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.766460\"}},\"format\":\"avif\",\"sha256\":\"8fe29ad2bcf71bc6cc7cef5d9e1707c9aab114840f6439728c3550f518f94ea1\",\"size\":3840,\"size_bytes\":2339277},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"8f4f2f01e1b0d96c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.999107\"}},\"format\":\"jpg\",\"sha256\":\"c308b6313bf63bbbf58364a88e21254e83a4b03dde95d06a474784947afa12d9\",\"size\":3840,\"size_bytes\":2877912},{\"format\":\"jxl\",\"sha256\":\"445b458e32902ae7789e9119187c6e2a241b4ee0f2703ffb7acd875e5507ca4e\",\"size\":3840,\"size_bytes\":1977466},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"8f4f2f01e1b0d96c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.911283\"}},\"format\":\"avif\",\"sha256\":\"01364c858a9ea73f3cd4ecb542dbbcbab041cb136f066baaa5c80b8355ce011b\",\"size\":5184,\"size_bytes\":3444981},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"8f4f2f01e1b0d96c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:37.396623\"}},\"format\":\"jpg\",\"sha256\":\"b3a9fb273b98d0c28d281bfcec382effd692714b84ffe706ae1474e10b255bbe\",\"size\":5184,\"size_bytes\":5002975},{\"format\":\"jxl\",\"sha256\":\"5ce73f55d87c858010bc128ae3828f381a0ce8b0808044bf091a5d3293bb5bfc\",\"size\":5184,\"size_bytes\":3333645}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a bird is standing in the mud under a tree\",\"labels\":[\"Animal\",\"Beak\",\"Bird\",\"Heron\",\"Land\",\"Outdoor\",\"Plant\"],\"uuid\":\"3B687FC6-6A30-47D2-9B06-B88364B0B8E3\"},\"cdn_base_path\":\"photos/2025/12/P1038846-3B687FC6\",\"date\":\"2025-12-18T16:26:51.406000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A gray and black heron stands on muddy ground with its wings partially spread, beneath dry, tangled palm fronds.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"bird\",\"mud\",\"branches\",\"shadow\",\"water\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:18:31.287710\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9997639060020447,\"timestamp\":\"2026-02-15T01:14:18.569551\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":78,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.00918,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Small, stocky heron with dark greenish-black cap, chestnut neck, yellow eye, and gray wings; foraging on muddy bank in mangroves fits Green Heron common in Costa Rica. Subspecies not safely separable from photo.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Butorides virescens\",\"species_binomial\":\"Butorides virescens\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:41:54.174256+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":812,\"total_tokens\":1660},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Aves\",\"common_name\":\"Yellow-crowned Night Heron\",\"embedding_key\":\"P1038846-3B687FC6\",\"family\":\"Ardeidae\",\"genus\":\"Nyctanassa\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.6346803307533264,\"species\":\"Nyctanassa violacea\",\"species_epithet\":\"violacea\",\"timestamp\":\"2026-02-15T01:13:43.871938\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Yellow-crowned Night Heron\",\"family\":\"Ardeidae\",\"genus\":\"Nyctanassa\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.6346803307533264,\"species\":\"Nyctanassa violacea\",\"species_epithet\":\"violacea\"},{\"class\":\"Aves\",\"common_name\":\"Boat-billed Heron\",\"family\":\"Ardeidae\",\"genus\":\"Cochlearius\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.20724083483219147,\"species\":\"Cochlearius cochlearius\",\"species_epithet\":\"cochlearius\"},{\"class\":\"Aves\",\"common_name\":\"Rodrigues night-heron\",\"family\":\"Ardeidae\",\"genus\":\"Nycticorax\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.04813879728317261,\"species\":\"Nycticorax megacephalus\",\"species_epithet\":\"megacephalus\"},{\"class\":\"Aves\",\"common_name\":\"White-backed Night Heron\",\"family\":\"Ardeidae\",\"genus\":\"Gorsachius\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.033576056361198425,\"species\":\"Gorsachius leuconotus\",\"species_epithet\":\"leuconotus\"},{\"class\":\"Aves\",\"common_name\":\"Humblot's heron\",\"family\":\"Ardeidae\",\"genus\":\"Ardea\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.015142923220992088,\"species\":\"Ardea humbloti\",\"species_epithet\":\"humbloti\"},{\"class\":\"Aves\",\"common_name\":\"White-eared night heron\",\"family\":\"Ardeidae\",\"genus\":\"Gorsachius\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.01026037335395813,\"species\":\"Gorsachius magnificus\",\"species_epithet\":\"magnificus\"}],\"class\":\"Aves\",\"common_name\":\"Yellow-crowned Night Heron\",\"embedding_key\":\"P1038846-3B687FC6\",\"family\":\"Ardeidae\",\"genus\":\"Nyctanassa\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.6346803307533264,\"species\":\"Nyctanassa violacea\",\"species_epithet\":\"violacea\",\"timestamp\":\"2026-02-15T10:24:54.322192\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"manual_description\":{\"source\":\"taxonomy_review_v1\",\"text\":\"A night heron stands on muddy ground with its wings partially spread, beneath dry, tangled palm fronds.\",\"updated_at\":\"2026-02-15T17:38:20.181117+00:00\"},\"original_filename\":\"P1038846.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.598861+00:00\"},\"photos_uuid\":\"3B687FC6-6A30-47D2-9B06-B88364B0B8E3\",\"review_signoff\":{\"taxonomy\":{\"approved_at\":\"2026-02-15T17:38:24.946251+00:00\",\"reviewed_value_hash\":\"sha256:8c22feae4dfc8812b89c940173cee6ce643e017152877b5a3b9f4d3635820ac2\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d960e69098671dbe\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:37.258906\"}},\"format\":\"avif\",\"sha256\":\"7c8ae556b7d7501e58dea5844418536d4720c0ac2e1a81be420db01f0658b2da\",\"size\":480,\"size_bytes\":68835},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d960e69098671dbe\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.171715\"}},\"format\":\"jpg\",\"sha256\":\"b4765e4811b8c5b9d209b8b683e3a3c006f7e7aa70ea5e8708099ec6c8aad20d\",\"size\":480,\"size_bytes\":92648},{\"format\":\"jxl\",\"sha256\":\"e8d65c24c0df27e005fbc0575af4fcd58cc851364265741638006a7d4ac05a07\",\"size\":480,\"size_bytes\":58573},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d960e69098671dbe\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.397861\"}},\"format\":\"avif\",\"sha256\":\"7c841196ff881e1702399bb1efc01e73f2ba09cf4140093e8ec3096cdc599eeb\",\"size\":800,\"size_bytes\":154367},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d960e69098671dbe\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.401445\"}},\"format\":\"jpg\",\"sha256\":\"526797c7f0d71346a60c4d4e2454f9f6124ecb9f651914c16d52a3cb9e6ccee6\",\"size\":800,\"size_bytes\":216495},{\"format\":\"jxl\",\"sha256\":\"a7a3b25e6f7e619182ddef8d98185f56199e155e38b41b4d503a3d13c6095549\",\"size\":800,\"size_bytes\":134934},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d960e69098671dbe\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.517080\"}},\"format\":\"avif\",\"sha256\":\"f1622dcd5c8736f0d8def76e14a34f1e4ee54f4ce2e27f0d98dd97f6b1e078ac\",\"size\":2400,\"size_bytes\":857614},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d960e69098671dbe\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.497808\"}},\"format\":\"jpg\",\"sha256\":\"59f92ae703b2ed1e31b49a928c0a8e1718db00d789f598aa6c46a6a1621bcffd\",\"size\":2400,\"size_bytes\":1319075},{\"format\":\"jxl\",\"sha256\":\"b76c35fdb833e3cfe21ed6c034606f322ed85728fe385271a469a6f293ca7679\",\"size\":2400,\"size_bytes\":787216},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d960e69098671dbe\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.735078\"}},\"format\":\"avif\",\"sha256\":\"f4f5bf0574fdb442b6b57c57c571c07a24bef90194c310b48d81c8688bfa10b6\",\"size\":3840,\"size_bytes\":1771411},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d960e69098671dbe\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.794037\"}},\"format\":\"jpg\",\"sha256\":\"aa5da84a34bd20663c146123a92f9e779faa7f4d1aa2146e3bc4d9b3cd6b109b\",\"size\":3840,\"size_bytes\":2893146},{\"format\":\"jxl\",\"sha256\":\"fab234e98d2c5c79324e2aa09d421ae28c213c2e0f4b673c911245b09cbb1a03\",\"size\":3840,\"size_bytes\":1709833},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d960e69098671dbe\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.790572\"}},\"format\":\"avif\",\"sha256\":\"d5e7d6db1ef8613fba543aec6884b9063d422e70272b0643a6214f52d46ca3b3\",\"size\":5184,\"size_bytes\":2763797},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d960e69098671dbe\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:37.224060\"}},\"format\":\"jpg\",\"sha256\":\"de712ec1352b44db366b0e975982784640e7380e63c7f254027cf5f8dd8c76ff\",\"size\":5184,\"size_bytes\":4688749},{\"format\":\"jxl\",\"sha256\":\"393f57591888753b4ff638e20b3b02e5df6b42596ab07485628cc2f4c57b9a4b\",\"size\":5184,\"size_bytes\":2854912}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a bird that is standing in the water\",\"uuid\":\"88CB35DC-5BFA-4D11-BD95-E669A56403D6\"},\"cdn_base_path\":\"photos/2025/12/P1038831-88CB35DC\",\"date\":\"2025-12-18T16:25:54.105000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A gray heron stands in shallow water with its wings partially spread, surrounded by muddy banks and dry palm fronds.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"bird\",\"mud\",\"water\",\"branches\",\"leaves\",\"shadow\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:18:16.902432\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9997960925102234,\"timestamp\":\"2026-02-15T01:14:18.552863\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":70,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.01893,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Stocky night-heron with thick dark bill, orange eye, dark cap, gray wings and lightly streaked brownish neck; photographed on a muddy mangrove bank typical for Yellow-crowned Night-Heron in Costa Rica. Black-crowned Night-Heron would show whiter face/cheek or more heavily spotted juvenile pattern.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Nyctanassa violacea\",\"species_binomial\":\"Nyctanassa violacea\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:42:01.459143+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":1787,\"total_tokens\":2635},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Aves\",\"common_name\":\"Boat-billed Heron\",\"embedding_key\":\"P1038831-88CB35DC\",\"family\":\"Ardeidae\",\"genus\":\"Cochlearius\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.285340279340744,\"species\":\"Cochlearius cochlearius\",\"species_epithet\":\"cochlearius\",\"timestamp\":\"2026-02-15T01:13:43.860150\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Boat-billed Heron\",\"family\":\"Ardeidae\",\"genus\":\"Cochlearius\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.285340279340744,\"species\":\"Cochlearius cochlearius\",\"species_epithet\":\"cochlearius\"},{\"class\":\"Aves\",\"common_name\":\"Yellow-crowned Night Heron\",\"family\":\"Ardeidae\",\"genus\":\"Nyctanassa\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.23128899931907654,\"species\":\"Nyctanassa violacea\",\"species_epithet\":\"violacea\"},{\"class\":\"Aves\",\"common_name\":\"Rodrigues night-heron\",\"family\":\"Ardeidae\",\"genus\":\"Nycticorax\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.14741158485412598,\"species\":\"Nycticorax megacephalus\",\"species_epithet\":\"megacephalus\"},{\"class\":\"Aves\",\"common_name\":\"White-backed Night Heron\",\"family\":\"Ardeidae\",\"genus\":\"Gorsachius\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.06528137624263763,\"species\":\"Gorsachius leuconotus\",\"species_epithet\":\"leuconotus\"},{\"class\":\"Aves\",\"common_name\":\"Striated heron\",\"family\":\"Ardeidae\",\"genus\":\"Butorides\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.06204622983932495,\"species\":\"Butorides striata\",\"species_epithet\":\"striata\"},{\"class\":\"Aves\",\"common_name\":\"Zigzag heron\",\"family\":\"Ardeidae\",\"genus\":\"Zebrilus\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.038165248930454254,\"species\":\"Zebrilus undulatus\",\"species_epithet\":\"undulatus\"}],\"class\":\"Aves\",\"common_name\":\"Boat-billed Heron\",\"embedding_key\":\"P1038831-88CB35DC\",\"family\":\"Ardeidae\",\"genus\":\"Cochlearius\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.285340279340744,\"species\":\"Cochlearius cochlearius\",\"species_epithet\":\"cochlearius\",\"timestamp\":\"2026-02-15T10:24:54.312192\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3223,\"manual_description\":{\"source\":\"taxonomy_review_v1\",\"text\":\"A night heron stands in daylight in shallow water with its wings partially spread, surrounded by muddy banks and dry palm fronds.\",\"updated_at\":\"2026-02-15T13:55:51.916573+00:00\"},\"manual_taxonomy\":{\"class\":\"Aves\",\"common_name\":\"Yellow-crowned Night Heron\",\"family\":\"Ardeidae\",\"genus\":\"Nyctanassa\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"species\":\"Nyctanassa violacea\",\"species_epithet\":\"violacea\"},\"original_filename\":\"P1038831.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.600651+00:00\"},\"photos_uuid\":\"88CB35DC-5BFA-4D11-BD95-E669A56403D6\",\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"c86266cf891c75cb\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.518138\"}},\"format\":\"avif\",\"sha256\":\"55ed4f9f89f8a4f82647795ea87a2f1e2ba6a238d4ccd64270c7de8a37cfadcc\",\"size\":480,\"size_bytes\":80653},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"c86266cf891975cb\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.570761\"}},\"format\":\"jpg\",\"sha256\":\"ec95bc9dfa1202fbac75e7d37457e03dbf2bae754195bc00919e051764c671c2\",\"size\":480,\"size_bytes\":104556},{\"format\":\"jxl\",\"sha256\":\"4b1a4a2aed00e4a1ee75f4be27ab602f41a2a2b4b88101c85c25b7995fa44201\",\"size\":480,\"size_bytes\":63060},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c86266cf891c75cb\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.148520\"}},\"format\":\"avif\",\"sha256\":\"c0e71d2edac7ac4a05f60d3889adefd45beb2c3912bee3f884d68ec582c342aa\",\"size\":800,\"size_bytes\":182239},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c86266cf891975cb\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.154943\"}},\"format\":\"jpg\",\"sha256\":\"37f86cb144fa4078af52a9200c5a9256f333db96897731782754deabfe732126\",\"size\":800,\"size_bytes\":248585},{\"format\":\"jxl\",\"sha256\":\"4f389a265b7badcac0852b967428dadc5fa80d7f6b70ca26f368d37407fc3707\",\"size\":800,\"size_bytes\":148215},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c86266cf891c75cb\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.325364\"}},\"format\":\"avif\",\"sha256\":\"1431cc387f9ce0218caa1fd32925fc94e16c495c8ed1fb57fd0699e66cad64aa\",\"size\":2400,\"size_bytes\":912697},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c86266cf891c75cb\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.366742\"}},\"format\":\"jpg\",\"sha256\":\"84c4e538245bb41e4d5ad0e4c88dcad341837628c65d4c8e686f10e760024aa2\",\"size\":2400,\"size_bytes\":1425384},{\"format\":\"jxl\",\"sha256\":\"d73ac68e197a6487e6365528ea21336eadef7c38bde545d03507810c4346322d\",\"size\":2400,\"size_bytes\":833476},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c86266cf891c75cb\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.490449\"}},\"format\":\"avif\",\"sha256\":\"4ef56b3ce928d3b3ef26bbb74311a1119d7180ab4aa6de0c84699934d0279cc4\",\"size\":3840,\"size_bytes\":1685265},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c86266cf891c75cb\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.734865\"}},\"format\":\"jpg\",\"sha256\":\"1058a75e38ca069b1327cc8d1fa56b627ef29d0f6f7b5fdc110081d39f704614\",\"size\":3840,\"size_bytes\":2949891},{\"format\":\"jxl\",\"sha256\":\"a8a90f3fdd357ab109a912b64feae0845daad3b0d4534b381f3949ca4a4c597a\",\"size\":3840,\"size_bytes\":1698081},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"c86266cf891c75cb\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.596665\"}},\"format\":\"avif\",\"sha256\":\"9ab673d8c25ad9828c2f69c03806ee4eea87ce4e60a9098802d53c61810c2440\",\"size\":4297,\"size_bytes\":2030006},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"c86266cf891c75cb\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:37.176801\"}},\"format\":\"jpg\",\"sha256\":\"e5c134d2b36b2d8f15f3eda0738eff994f628881c81836786ab1a89ef78c58a5\",\"size\":4297,\"size_bytes\":3469870},{\"format\":\"jxl\",\"sha256\":\"a33c0fd4a13a581a5ef444c86cabb59ce06b01c1c4b58386d09c7257de662611\",\"size\":4297,\"size_bytes\":2057677}],\"width\":4297},{\"apple_photos\":{\"ai_caption\":\"a lizard lying on a rock\",\"labels\":[\"Animal\",\"Iguana\",\"Lizard\",\"Reptile\",\"Rocks\",\"Scaled Reptile\"],\"uuid\":\"52A8819C-5089-42DF-9DB2-A98F2DFB41D4\"},\"cdn_base_path\":\"photos/2025/12/P1038807-52A8819C\",\"date\":\"2025-12-18T16:22:32.634000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A gray lizard with a spiky crest and long tail perches on a sunlit rock, surrounded by other rocks and dry earth.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"lizard\",\"rock\",\"dirt\",\"sun\",\"shadow\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:18:02.254213\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9943749904632568,\"timestamp\":\"2026-02-15T01:14:18.538660\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":78,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.01825,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Brown basilisk with moderate head/nuchal crest, long laterally compressed tail, and a pale stripe through the eye along the body; seen on a riverbank in Costa Rica. Lacks the bright green of B. plumifrons and the very tall continuous back/tail crests of B. basiliscus.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Basiliscus vittatus\",\"species_binomial\":\"Basiliscus vittatus\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:41:58.809087+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":1719,\"total_tokens\":2567},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Squamata\",\"common_name\":\"Sailfin lizard\",\"embedding_key\":\"P1038807-52A8819C\",\"family\":\"Agamidae\",\"genus\":\"Hydrosaurus\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.2278602570295334,\"species\":\"Hydrosaurus amboinensis\",\"species_epithet\":\"amboinensis\",\"timestamp\":\"2026-02-15T01:13:43.847351\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Squamata\",\"common_name\":\"Sailfin lizard\",\"family\":\"Agamidae\",\"genus\":\"Hydrosaurus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.2278602570295334,\"species\":\"Hydrosaurus amboinensis\",\"species_epithet\":\"amboinensis\"},{\"class\":\"Squamata\",\"common_name\":\"Philippine sailfin lizard\",\"family\":\"Agamidae\",\"genus\":\"Hydrosaurus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.1657056361436844,\"species\":\"Hydrosaurus pustulatus\",\"species_epithet\":\"pustulatus\"},{\"class\":\"Squamata\",\"common_name\":\"(sulawesi) sailfin lizard\",\"family\":\"Agamidae\",\"genus\":\"Hydrosaurus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.15266333520412445,\"species\":\"Hydrosaurus celebensis\",\"species_epithet\":\"celebensis\"},{\"class\":\"Squamata\",\"common_name\":\"(sulawesi) sailfin lizard\",\"family\":\"Agamidae\",\"genus\":\"Hydrosaurus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.12680977582931519,\"species\":\"Hydrosaurus microlophus\",\"species_epithet\":\"microlophus\"},{\"class\":\"Squamata\",\"common_name\":\"Weber's sailfin lizard\",\"family\":\"Agamidae\",\"genus\":\"Hydrosaurus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.09354504942893982,\"species\":\"Hydrosaurus weberi\",\"species_epithet\":\"weberi\"},{\"class\":\"Squamata\",\"common_name\":\"Santa fe land iguana\",\"family\":\"Iguanidae\",\"genus\":\"Conolophus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.07982796430587769,\"species\":\"Conolophus pallidus\",\"species_epithet\":\"pallidus\"}],\"class\":\"Squamata\",\"common_name\":\"Sailfin lizard\",\"embedding_key\":\"P1038807-52A8819C\",\"family\":\"Agamidae\",\"genus\":\"Hydrosaurus\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.2278602570295334,\"species\":\"Hydrosaurus amboinensis\",\"species_epithet\":\"amboinensis\",\"timestamp\":\"2026-02-15T10:24:54.300882\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"manual_description\":{\"source\":\"taxonomy_review_v1\",\"text\":\"A lizard with a spiky crest and long tail perches on a sunlit rock, surrounded by other rocks and dry earth.\",\"updated_at\":\"2026-02-15T13:13:32.095819+00:00\"},\"manual_taxonomy\":{\"class\":\"Reptilia\",\"common_name\":\"Common Green Iguana, Green Iguana, Iguana verde, iguane commun\",\"family\":\"Iguanidae\",\"genus\":\"Iguana\",\"kingdom\":\"Animalia\",\"order\":\"Squamata\",\"phylum\":\"Chordata\",\"species\":\"Iguana iguana\",\"species_epithet\":\"iguana\"},\"original_filename\":\"P1038807.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.602434+00:00\"},\"photos_uuid\":\"52A8819C-5089-42DF-9DB2-A98F2DFB41D4\",\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d5b52b4a16ad6a43\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:35.807230\"}},\"format\":\"avif\",\"sha256\":\"b2633a9ce1c0c5c88da7eb345712e7de77c95e86d0c2682fbfd176967eca1f5c\",\"size\":480,\"size_bytes\":66889},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d5b52b4a16ad6a43\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:35.855518\"}},\"format\":\"jpg\",\"sha256\":\"bfb00f5b2cbeaa458dae62f822a05774bba8d80a8b4c8c47230a433dd94cafa4\",\"size\":480,\"size_bytes\":83972},{\"format\":\"jxl\",\"sha256\":\"4d1159fa7c0ef04f17c7bee48fba7bb371b238c635cc0499ac2c439136cda1d3\",\"size\":480,\"size_bytes\":51563},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d5b52b4a16ad6a43\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:00.963318\"}},\"format\":\"avif\",\"sha256\":\"d761c2a8811c962d3d1d132f4ac7a50d5ffae627ead0b2718d956e5b3579a806\",\"size\":800,\"size_bytes\":157950},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d5b52b4a16ad6a43\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:00.975414\"}},\"format\":\"jpg\",\"sha256\":\"0a7c570d3f437e93da928d78bbb5910d8a5ddd9f1623ae23ed3d5436d558dd8e\",\"size\":800,\"size_bytes\":207395},{\"format\":\"jxl\",\"sha256\":\"e8ae6158ceb7d6974ccee78d7612bc34549ca44cf34bfbf64fb1305b07870cdc\",\"size\":800,\"size_bytes\":121818},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d5b52b4a16ad6a43\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.086215\"}},\"format\":\"avif\",\"sha256\":\"68cd6c3b9b96b8d471713e8be2f58f43cf471c405b1b60b1cb8f7ee7d549d1a2\",\"size\":2400,\"size_bytes\":788977},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d5b52b4a16ad6a43\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.090868\"}},\"format\":\"jpg\",\"sha256\":\"95b52e6417070b71cde41b5a3b07691abfae81c1acc102e7f56f90c239051a24\",\"size\":2400,\"size_bytes\":1295178},{\"format\":\"jxl\",\"sha256\":\"6f4f9257710993870d8353c1eecbac0b6f66a00f7221a576d802044f4a367ec0\",\"size\":2400,\"size_bytes\":706382},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d5b52b4a16ad6a43\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.335865\"}},\"format\":\"avif\",\"sha256\":\"79a2ea1a1751be0ed85bd172e8918cc848086e3f1214389a46a9ede54428d112\",\"size\":3840,\"size_bytes\":1602437},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d5b52b4a16ad6a43\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.347145\"}},\"format\":\"jpg\",\"sha256\":\"d7cbac77270d08dc1c955975339b6cf12af2189eeb65898f6dc87f09904e4e71\",\"size\":3840,\"size_bytes\":2805490},{\"format\":\"jxl\",\"sha256\":\"c414f71c779758919b6b610a818ec9058c4023e4e231958f447e7dcc7fe9cf35\",\"size\":3840,\"size_bytes\":1588553},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d5b52b4a16ad6a43\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.398662\"}},\"format\":\"avif\",\"sha256\":\"369abce210589a7fe8f3aa5eae043c7f02d36eeee40e14e93a0faf7f1d1eac1d\",\"size\":5184,\"size_bytes\":2579602},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d5b52b4a16ad6a43\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.466607\"}},\"format\":\"jpg\",\"sha256\":\"6a77934137d9e53aeac5b960455ba14c704addccfda148940ba2840cd48c5688\",\"size\":5184,\"size_bytes\":4518415},{\"format\":\"jxl\",\"sha256\":\"f6e1bb1918c23c313170d6f5c007bbb262670adc7fcb62fc9b1c4d12dbf74700\",\"size\":5184,\"size_bytes\":2694120}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a close up of a bird sitting on a stick\",\"uuid\":\"7C6C20CF-8A8F-4C2E-874D-1C18D9C95E3D\"},\"cdn_base_path\":\"photos/2025/12/P1038801-7C6C20CF\",\"date\":\"2025-12-18T16:20:53.598000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A small bird with a blue head, white chest, and speckled wings perches on a thin branch, its long pointed beak directed forward, against a blurred background of green foliage and tw\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"bird\",\"branch\",\"leaves\",\"twigs\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:17:47.514449\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9997151494026184,\"timestamp\":\"2026-02-15T01:14:18.522330\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":85,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.01483,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Small green-backed kingfisher with white spotting on wings and a green mottled breast band over white underparts; slender bill. This matches female Green Kingfisher, common along Costa Rican streams.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Chloroceryle americana\",\"species_binomial\":\"Chloroceryle americana\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:41:48.010805+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":1377,\"total_tokens\":2225},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Aves\",\"common_name\":\"Green Kingfisher\",\"embedding_key\":\"P1038801-7C6C20CF\",\"family\":\"Alcedinidae\",\"genus\":\"Chloroceryle\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Coraciiformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.9633536338806152,\"species\":\"Chloroceryle americana\",\"species_epithet\":\"americana\",\"timestamp\":\"2026-02-15T01:13:43.835163\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Green Kingfisher\",\"family\":\"Alcedinidae\",\"genus\":\"Chloroceryle\",\"kingdom\":\"Animalia\",\"order\":\"Coraciiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.9633536338806152,\"species\":\"Chloroceryle americana\",\"species_epithet\":\"americana\"},{\"class\":\"Aves\",\"common_name\":\"American Pygmy Kingfisher\",\"family\":\"Alcedinidae\",\"genus\":\"Chloroceryle\",\"kingdom\":\"Animalia\",\"order\":\"Coraciiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.010330927558243275,\"species\":\"Chloroceryle aenea\",\"species_epithet\":\"aenea\"},{\"class\":\"Aves\",\"common_name\":\"Amazon Kingfisher\",\"family\":\"Alcedinidae\",\"genus\":\"Chloroceryle\",\"kingdom\":\"Animalia\",\"order\":\"Coraciiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.008353357203304768,\"species\":\"Chloroceryle amazona\",\"species_epithet\":\"amazona\"},{\"class\":\"Aves\",\"common_name\":\"Cerulean kingfisher\",\"family\":\"Alcedinidae\",\"genus\":\"Alcedo\",\"kingdom\":\"Animalia\",\"order\":\"Coraciiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0019397323485463858,\"species\":\"Alcedo coerulescens\",\"species_epithet\":\"coerulescens\"},{\"class\":\"Aves\",\"common_name\":\"Northern silvery kingfisher\",\"family\":\"Alcedinidae\",\"genus\":\"Ceyx\",\"kingdom\":\"Animalia\",\"order\":\"Coraciiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0012934620026499033,\"species\":\"Ceyx flumenicola\",\"species_epithet\":\"flumenicola\"},{\"class\":\"Aves\",\"common_name\":\"Southern Silvery Kingfisher\",\"family\":\"Alcedinidae\",\"genus\":\"Ceyx\",\"kingdom\":\"Animalia\",\"order\":\"Coraciiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0012860035058110952,\"species\":\"Ceyx argentatus\",\"species_epithet\":\"argentatus\"}],\"class\":\"Aves\",\"common_name\":\"Green Kingfisher\",\"embedding_key\":\"P1038801-7C6C20CF\",\"family\":\"Alcedinidae\",\"genus\":\"Chloroceryle\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Coraciiformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.9633536338806152,\"species\":\"Chloroceryle americana\",\"species_epithet\":\"americana\",\"timestamp\":\"2026-02-15T10:24:54.289408\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3051,\"manual_description\":{\"source\":\"taxonomy_review_v1\",\"text\":\"A small bird with a blue head, white chest, and speckled wings perches on a thin branch, its long pointed beak directed forward, against a blurred background.\",\"updated_at\":\"2026-02-15T17:42:20.004875+00:00\"},\"original_filename\":\"P1038801.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.604143+00:00\"},\"photos_uuid\":\"7C6C20CF-8A8F-4C2E-874D-1C18D9C95E3D\",\"review_signoff\":{\"taxonomy\":{\"approved_at\":\"2026-02-15T19:29:11.748481+00:00\",\"reviewed_value_hash\":\"sha256:821cd66f5b7ee799603075daaeca6139aecf809adcc8dad5cf3752a57154d649\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"8c53b0daecf4a233\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:35.735219\"}},\"format\":\"avif\",\"sha256\":\"e0cf9856355ec076f4519a6f76979f171c7ff53a9080f254b17908fb5b747662\",\"size\":480,\"size_bytes\":48860},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"8c53b0daecf4a233\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:35.784001\"}},\"format\":\"jpg\",\"sha256\":\"d4504c7fe7d6758cfdd781ea40e96f74ae2f3ad4f66040aaff72504a5c1886c7\",\"size\":480,\"size_bytes\":73859},{\"format\":\"jxl\",\"sha256\":\"4dacfc1571ad951f4dbbb0c9cbc60f03ad04fa8b6acac409d55c257e39563a3a\",\"size\":480,\"size_bytes\":40641},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"8c53b0daecf4a233\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:00.661366\"}},\"format\":\"avif\",\"sha256\":\"a6ebe9e0640ab837907487615f7db79d88bdb866373501a6f1b6b70fd2ef9514\",\"size\":800,\"size_bytes\":69170},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"8c53b0daecf4a233\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:00.792920\"}},\"format\":\"jpg\",\"sha256\":\"edb8375c43479fda8b926ce6a4cef15a2c43175b071746bdff5500ce8e611d9e\",\"size\":800,\"size_bytes\":129161},{\"format\":\"jxl\",\"sha256\":\"2c6e141b1f1a1018547c023c9ebee2f90a5cade198b66f1e5caa5e9901a86bb3\",\"size\":800,\"size_bytes\":70050},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"8c53b0daecf4a233\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:00.828317\"}},\"format\":\"avif\",\"sha256\":\"a350f5fbb6e28a78f55420c33c8ecae76116bd56b9a3d6eb544da838d239717b\",\"size\":2400,\"size_bytes\":715146},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"8c53b0daecf4a233\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:00.929919\"}},\"format\":\"jpg\",\"sha256\":\"47f8804f4207445de383cbf6cbb20ac70f56b55957292b7b7b01d6725c47d0e6\",\"size\":2400,\"size_bytes\":951883},{\"format\":\"jxl\",\"sha256\":\"646fe3e06bc5c22f62c1a659f56b22818ef263aa8723a0d371893b3c69597d4e\",\"size\":2400,\"size_bytes\":600826},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"8c53b0daecf4a233\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.170924\"}},\"format\":\"avif\",\"sha256\":\"fad24994d90b728f08dc6a04da4ceaa6c012f5533d599297079760445b08ca51\",\"size\":3840,\"size_bytes\":1500933},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"8c53b0daecf4a233\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.257526\"}},\"format\":\"jpg\",\"sha256\":\"f82d1585473b512fa8bcd4a6980562317a284e5fb069a0ced9c1a1e7a258d231\",\"size\":3840,\"size_bytes\":2304802},{\"format\":\"jxl\",\"sha256\":\"0ed2c0f1c6fbcaeeb4367fca340df7380333cff5e15208ddd378a31f0bf14bc2\",\"size\":3840,\"size_bytes\":1512026},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"8c53b0daecf4a233\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.008292\"}},\"format\":\"avif\",\"sha256\":\"62271bc575a263571e8a463592458cf2ad5d47c2207bf1a2d7d781b6fcbade4b\",\"size\":4068,\"size_bytes\":1649949},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"8c53b0daecf4a233\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.430622\"}},\"format\":\"jpg\",\"sha256\":\"d9689c428138f2a4716d01837ac8670636d965f222b0d378cbd4be158dfc3592\",\"size\":4068,\"size_bytes\":2595932},{\"format\":\"jxl\",\"sha256\":\"8c3d6afac6547e267c8ba209a600ebba06a016d5059a51baf9ad67e0d470ef86\",\"size\":4068,\"size_bytes\":1733770}],\"width\":4068},{\"apple_photos\":{\"ai_caption\":\"a white bird standing in a body of water\",\"uuid\":\"76805FBF-C5F6-4142-8C3E-FC6E8EBAD949\"},\"cdn_base_path\":\"photos/2025/12/P1038751-76805FBF\",\"date\":\"2025-12-18T16:13:36.927000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A white ibis with a long, curved pink beak and pink legs stands in shallow green water, surrounded by lush green vegetation.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"bird\",\"water\",\"grass\",\"reflection\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:17:32.300116\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9697680473327637,\"timestamp\":\"2026-02-15T01:14:18.507184\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":98,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.00583,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"All-white wading ibis with long decurved red bill, red facial skin and legs; common in Costa Rica’s wetlands. No other local ibis matches this adult plumage.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Eudocimus albus\",\"species_binomial\":\"Eudocimus albus\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:41:25.456258+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":477,\"total_tokens\":1325},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Aves\",\"common_name\":\"White ibis\",\"embedding_key\":\"P1038751-76805FBF\",\"family\":\"Threskiornithidae\",\"genus\":\"Eudocimus\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.994335949420929,\"species\":\"Eudocimus albus\",\"species_epithet\":\"albus\",\"timestamp\":\"2026-02-15T01:13:43.822360\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"White ibis\",\"family\":\"Threskiornithidae\",\"genus\":\"Eudocimus\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.994335949420929,\"species\":\"Eudocimus albus\",\"species_epithet\":\"albus\"},{\"class\":\"Aves\",\"common_name\":\"Scarlet ibis\",\"family\":\"Threskiornithidae\",\"genus\":\"Eudocimus\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.002139174612239003,\"species\":\"Eudocimus ruber\",\"species_epithet\":\"ruber\"},{\"class\":\"Aves\",\"common_name\":\"Wood stork\",\"family\":\"Ciconiidae\",\"genus\":\"Mycteria\",\"kingdom\":\"Animalia\",\"order\":\"Ciconiiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0002479866670910269,\"species\":\"Mycteria americana\",\"species_epithet\":\"americana\"},{\"class\":\"Aves\",\"common_name\":\"Bare-faced Ibis\",\"family\":\"Threskiornithidae\",\"genus\":\"Phimosus\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0001909666316350922,\"species\":\"Phimosus infuscatus\",\"species_epithet\":\"infuscatus\"},{\"class\":\"Aves\",\"common_name\":\"Roseate Spoonbill\",\"family\":\"Threskiornithidae\",\"genus\":\"Platalea\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.00012798512761946768,\"species\":\"Platalea ajaja\",\"species_epithet\":\"ajaja\"},{\"class\":\"Aves\",\"common_name\":\"White-faced Ibis\",\"family\":\"Threskiornithidae\",\"genus\":\"Plegadis\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.00012752994371112436,\"species\":\"Plegadis chihi\",\"species_epithet\":\"chihi\"}],\"class\":\"Aves\",\"common_name\":\"White ibis\",\"embedding_key\":\"P1038751-76805FBF\",\"family\":\"Threskiornithidae\",\"genus\":\"Eudocimus\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.994335949420929,\"species\":\"Eudocimus albus\",\"species_epithet\":\"albus\",\"timestamp\":\"2026-02-15T10:24:54.277124\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3688,\"original_filename\":\"P1038751.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.605731+00:00\"},\"photos_uuid\":\"76805FBF-C5F6-4142-8C3E-FC6E8EBAD949\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T12:57:16.523338+00:00\",\"reviewed_value_hash\":\"sha256:c31cf46015a0775e93e725766640e2611c90d25195b9238b984f5574499f72f8\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"},\"taxonomy\":{\"approved_at\":\"2026-02-15T12:57:15.251712+00:00\",\"reviewed_value_hash\":\"sha256:d8bd142da21aa5cfe3c6a9c56548725361ba86f69f1640a5fadd00650d75741a\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"906cec6593936b65\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.339444\"}},\"format\":\"avif\",\"sha256\":\"a5e246971a06d5eaa8ea7c489af029eb968b9994f299eb0ba5229924640e1bde\",\"size\":480,\"size_bytes\":79862},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"906cec6593936b65\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:35.672954\"}},\"format\":\"jpg\",\"sha256\":\"f3499b5f5757e84683dbc498bcac998ad0b8e4d791b3ed070c171f06a3742393\",\"size\":480,\"size_bytes\":105012},{\"format\":\"jxl\",\"sha256\":\"79d8ef575822b5c776feb9d7d8f0421479fa82b2e46e7b77ddf06e0a969a6cbb\",\"size\":480,\"size_bytes\":64097},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"906cec6593936b65\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:00.471999\"}},\"format\":\"avif\",\"sha256\":\"ca83730cf3c2d6fc1556298fa86a9bf3900e495d9b08f3328ab1b7d0c92f1770\",\"size\":800,\"size_bytes\":122553},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"906cec6593936b65\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:00.490040\"}},\"format\":\"jpg\",\"sha256\":\"d920f1bbdf3ea508d46a1480b26c991d699a71f60eefe777dea4b9f640d7b859\",\"size\":800,\"size_bytes\":193356},{\"format\":\"jxl\",\"sha256\":\"8fda69d47ab7d2ebb6c8e17e739ecb60364450c3d934a6368f1665390621e62d\",\"size\":800,\"size_bytes\":114383},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"906cec6593936b65\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:00.758197\"}},\"format\":\"avif\",\"sha256\":\"f6d6d6376b0b6dfd57cfbd677ccf55bc43fce40884859b1609c13d7d3cadcf34\",\"size\":2400,\"size_bytes\":453867},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"906cec6593936b65\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:00.787184\"}},\"format\":\"jpg\",\"sha256\":\"7a08a8118bfbed09bde040f9a0f98d7403a0eb06c968eb5670ce0f02110bb438\",\"size\":2400,\"size_bytes\":965486},{\"format\":\"jxl\",\"sha256\":\"3d9455e5b571d49daa3b6f5c7603bf8dfe8928f404931be21d1866964f2b16d0\",\"size\":2400,\"size_bytes\":522585},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"906cec6593936b65\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:00.949417\"}},\"format\":\"avif\",\"sha256\":\"755453612193fdd2055795ed48c446b56b6b3833c4f7a7e07b210ea46c97715d\",\"size\":3840,\"size_bytes\":1081320},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"906cec6593936b65\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:01.001625\"}},\"format\":\"jpg\",\"sha256\":\"a2f760e12a5c842994598c96fc49e2f005b02c745676c80eea4ef1b97946dddf\",\"size\":3840,\"size_bytes\":2208989},{\"format\":\"jxl\",\"sha256\":\"e04dc403f24b5ad0f5b32ca62b111040eb47e093dcf22f226b2615dbfc586f58\",\"size\":3840,\"size_bytes\":1285528},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"906cec6593936b65\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.017934\"}},\"format\":\"avif\",\"sha256\":\"4ae4cdf5da561d481cca46d294f33fab931c915ebb7bd9c9e0498d83560edf41\",\"size\":4917,\"size_bytes\":1705927},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"906cec6593936b65\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.688883\"}},\"format\":\"jpg\",\"sha256\":\"3f31100702de6afcd4e555e9b03671ba929ca53409a737069f6bdd76b727edcd\",\"size\":4917,\"size_bytes\":3344487},{\"format\":\"jxl\",\"sha256\":\"4dbf590475b5fc6869ee33b9fa7eec57b2f050a50c6752eb83fa871d23ae49a0\",\"size\":4917,\"size_bytes\":2051733}],\"width\":4917},{\"apple_photos\":{\"ai_caption\":\"a white bird standing in a body of water\",\"labels\":[\"Animal\",\"Beak\",\"Bird\",\"Ciconiiformes\",\"Egret\",\"Great Egret\",\"Heron\",\"Outdoor\",\"Plant\"],\"uuid\":\"83C11460-5337-4284-B5EE-DDED2F8845D8\"},\"cdn_base_path\":\"photos/2025/12/P1038747-83C11460\",\"date\":\"2025-12-18T16:13:21.876000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A white egret stands in shallow green water, bending its neck downward as it searches for prey, with its reflection visible on the water's surface.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"bird\",\"water\",\"reflection\",\"grass\",\"reeds\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:17:17.767646\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9972831010818481,\"timestamp\":\"2026-02-15T01:14:18.493755\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":94,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.008579999999999999,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Small white egret with all-black slender bill, bright yellow lores, black legs (yellow feet likely) wading in shallow water; matches Snowy Egret and not Great Egret (yellow bill) or juvenile Little Blue Heron (pale bill, greenish legs).\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Egretta thula\",\"species_binomial\":\"Egretta thula\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:41:36.390637+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":752,\"total_tokens\":1600},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Aves\",\"common_name\":\"Snowy Egret\",\"embedding_key\":\"P1038747-83C11460\",\"family\":\"Ardeidae\",\"genus\":\"Egretta\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.942401111125946,\"species\":\"Egretta thula\",\"species_epithet\":\"thula\",\"timestamp\":\"2026-02-15T01:13:43.810696\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Snowy Egret\",\"family\":\"Ardeidae\",\"genus\":\"Egretta\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.942401111125946,\"species\":\"Egretta thula\",\"species_epithet\":\"thula\"},{\"class\":\"Aves\",\"common_name\":\"Dimorphic egret\",\"family\":\"Ardeidae\",\"genus\":\"Egretta\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.030678359791636467,\"species\":\"Egretta dimorpha\",\"species_epithet\":\"dimorpha\"},{\"class\":\"Aves\",\"common_name\":\"Little egret\",\"family\":\"Ardeidae\",\"genus\":\"Egretta\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0025554317981004715,\"species\":\"Egretta garzetta\",\"species_epithet\":\"garzetta\"},{\"class\":\"Aves\",\"common_name\":\"Great Egret\",\"family\":\"Ardeidae\",\"genus\":\"Ardea\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0006633821758441627,\"species\":\"Ardea alba\",\"species_epithet\":\"alba\"},{\"class\":\"Aves\",\"common_name\":\"Chinese egret\",\"family\":\"Ardeidae\",\"genus\":\"Egretta\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.00047555603669025004,\"species\":\"Egretta eulophotes\",\"species_epithet\":\"eulophotes\"},{\"class\":\"Aves\",\"common_name\":\"Little blue heron\",\"family\":\"Ardeidae\",\"genus\":\"Egretta\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.00038451363798230886,\"species\":\"Egretta caerulea\",\"species_epithet\":\"caerulea\"}],\"class\":\"Aves\",\"common_name\":\"Snowy Egret\",\"embedding_key\":\"P1038747-83C11460\",\"family\":\"Ardeidae\",\"genus\":\"Egretta\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.942401111125946,\"species\":\"Egretta thula\",\"species_epithet\":\"thula\",\"timestamp\":\"2026-02-15T10:24:54.266894\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"original_filename\":\"P1038747.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.607394+00:00\"},\"photos_uuid\":\"83C11460-5337-4284-B5EE-DDED2F8845D8\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T19:24:15.007646+00:00\",\"reviewed_value_hash\":\"sha256:42c1ce22414d5ee672193e8ef0a1a3fd22ce0367a4fce8f92236c2fc27f515ad\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"},\"taxonomy\":{\"approved_at\":\"2026-02-15T19:24:08.226610+00:00\",\"reviewed_value_hash\":\"sha256:574a1e8ee39c678fc4a72340b06392733f5a83a35a04071b48129fb4e2d9716f\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"99274c6266d9d9cc\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.075632\"}},\"format\":\"avif\",\"sha256\":\"a460907169dafb018fe8d8e76705b52556e207f0a75e57d0b87d2fcadd84cde2\",\"size\":480,\"size_bytes\":27425},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"99274c6266d9d9cc\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.116400\"}},\"format\":\"jpg\",\"sha256\":\"5f43b0278bb42a6e4377f8596e5007d84c7d500d0ef0b8175d521b5f0e3fc61a\",\"size\":480,\"size_bytes\":50471},{\"format\":\"jxl\",\"sha256\":\"313b7df3979fafd006ecfeadac71f56a42514d693857cb7d8811a2705b5fba0d\",\"size\":480,\"size_bytes\":31362},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"99274c6266d9d9cc\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:00.051307\"}},\"format\":\"avif\",\"sha256\":\"18764289e91cd02ba7f311a9c004613f0473108cdab9a6797dc83af02cf01c3d\",\"size\":800,\"size_bytes\":52251},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"99274c6266d9d9cc\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:00.116442\"}},\"format\":\"jpg\",\"sha256\":\"4402e668b7c9a1e71ffbfe3911ba1ad01ae354b975f678ed9ddac114f08a8599\",\"size\":800,\"size_bytes\":111099},{\"format\":\"jxl\",\"sha256\":\"422981f789bd1f7aac741d67525285c3b87797c6996d32e7431e59a429a431e6\",\"size\":800,\"size_bytes\":64197},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"99274c6266d9d9cc\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:00.187444\"}},\"format\":\"avif\",\"sha256\":\"eb895093efa0733aa9d47937b5961c7e2e984a6549fcc4f50d6c0bf622fe7fc9\",\"size\":2400,\"size_bytes\":255159},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"99274c6266d9d9cc\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:00.203123\"}},\"format\":\"jpg\",\"sha256\":\"41450fbdd3672b109a512a1c418f24ec758ac334d7aa927f4eaf37e2bfe3599f\",\"size\":2400,\"size_bytes\":707733},{\"format\":\"jxl\",\"sha256\":\"449d93d28dfa95852ec321e147fb5c486d9856be7e559e6d4d6c57db3573ac12\",\"size\":2400,\"size_bytes\":405978},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"99274c6266d9d9cc\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:00.429488\"}},\"format\":\"avif\",\"sha256\":\"25fc5ea902479c5a7c7dcb0477324a6102e514e66e90b55ea7d1374ea5e06a4f\",\"size\":3840,\"size_bytes\":743718},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"99274c6266d9d9cc\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:00.600687\"}},\"format\":\"jpg\",\"sha256\":\"e9355369275fdb3e73f71988f4f07f986fc8f4136e7f5ca87736b8a4882ad779\",\"size\":3840,\"size_bytes\":1780647},{\"format\":\"jxl\",\"sha256\":\"b956d65bf7468d43fbcfb48625686044f72dd77f5f8248a47cbd23ab28fdf564\",\"size\":3840,\"size_bytes\":1114598},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"99274c6266d9d9cc\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:35.834422\"}},\"format\":\"avif\",\"sha256\":\"e1958fda86c853e01a24ddce58c73f92e62421e44dbb34420cbbbe057421f5d3\",\"size\":5184,\"size_bytes\":1317513},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"99274c6266d9d9cc\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.308609\"}},\"format\":\"jpg\",\"sha256\":\"310004ced3b3f53dbfbd93c24bfde6e7c9286decb0bea453be39b26511545ab4\",\"size\":5184,\"size_bytes\":3053298},{\"format\":\"jxl\",\"sha256\":\"0a86528d6868beabf5b744ab08c261d7f711c13a542a1664fd4d2bb4ac1fcbe5\",\"size\":5184,\"size_bytes\":1984109}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"an alligator in muddy water with leaves on it\",\"labels\":[\"American Crocodile\",\"Animal\",\"Crocodile\",\"Crocodilia\",\"Nile Crocodile\",\"Outdoor\",\"Reptile\"],\"uuid\":\"F2854121-AAB1-43F4-898F-D223A9952309\"},\"cdn_base_path\":\"photos/2025/12/P1038720-F2854121\",\"date\":\"2025-12-18T16:05:50.922000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A crocodile rests in shallow, muddy water, its head and back visible above the surface, surrounded by scattered leaves and debris.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"crocodile\",\"mud\",\"leaves\",\"rocks\",\"water\",\"branches\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:17:03.054782\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9988961219787598,\"timestamp\":\"2026-02-15T01:14:18.478573\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":88,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.006010000000000001,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Juvenile crocodilian with long, narrow V-shaped snout, pale gray coloration and banded tail on a muddy riverbank; in Costa Rica this matches American crocodile, not spectacled caiman which has a shorter snout and distinct interorbital ridge.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Crocodylus acutus\",\"species_binomial\":\"Crocodylus acutus\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:41:13.484699+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":495,\"total_tokens\":1343},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Crocodylia\",\"common_name\":\"Saltwater Crocodile\",\"embedding_key\":\"P1038720-F2854121\",\"family\":\"Crocodylidae\",\"genus\":\"Crocodylus\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.325810968875885,\"species\":\"Crocodylus porosus\",\"species_epithet\":\"porosus\",\"timestamp\":\"2026-02-15T01:13:43.797648\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Crocodylia\",\"common_name\":\"Saltwater Crocodile\",\"family\":\"Crocodylidae\",\"genus\":\"Crocodylus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.325810968875885,\"species\":\"Crocodylus porosus\",\"species_epithet\":\"porosus\"},{\"class\":\"Crocodylia\",\"common_name\":\"\",\"family\":\"Crocodylidae\",\"genus\":\"Crocodylus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.21179582178592682,\"species\":\"Crocodylus Crocodilus subulatus\",\"species_epithet\":\"Crocodilus subulatus\"},{\"class\":\"Crocodylia\",\"common_name\":\"\",\"family\":\"Crocodylidae\",\"genus\":\"Crocodylus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.1807071715593338,\"species\":\"Crocodylus raninus\",\"species_epithet\":\"raninus\"},{\"class\":\"Crocodylia\",\"common_name\":\"\",\"family\":\"Crocodylidae\",\"genus\":\"Crocodylus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.06766045093536377,\"species\":\"Crocodylus Crocodilus chamensis\",\"species_epithet\":\"Crocodilus chamensis\"},{\"class\":\"Crocodylia\",\"common_name\":\"Hall’s new guinea crocodile\",\"family\":\"Crocodylidae\",\"genus\":\"Crocodylus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.029865359887480736,\"species\":\"Crocodylus halli\",\"species_epithet\":\"halli\"},{\"class\":\"Crocodylia\",\"common_name\":\"\",\"family\":\"Crocodylidae\",\"genus\":\"Crocodylus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.027520399540662766,\"species\":\"Crocodylus Crocodilus elliottii\",\"species_epithet\":\"Crocodilus elliottii\"}],\"class\":\"Crocodylia\",\"common_name\":\"Saltwater Crocodile\",\"embedding_key\":\"P1038720-F2854121\",\"family\":\"Crocodylidae\",\"genus\":\"Crocodylus\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.325810968875885,\"species\":\"Crocodylus porosus\",\"species_epithet\":\"porosus\",\"timestamp\":\"2026-02-15T10:24:54.255812\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"manual_description\":{\"source\":\"taxonomy_review_v1\",\"text\":\"A juvenile crocodile rests in shallow, muddy water, its head and back visible above the surface, surrounded by scattered leaves and debris.\",\"updated_at\":\"2026-02-15T14:17:53.785734+00:00\"},\"manual_taxonomy\":{\"class\":\"Reptilia\",\"common_name\":\"American Crocodile, caiman de la costa, Central American Alligator, cocodrilo, Cocodrilo americano, lagarto\",\"family\":\"Crocodylidae\",\"genus\":\"Crocodylus\",\"kingdom\":\"Animalia\",\"order\":\"Crocodilia\",\"phylum\":\"Chordata\",\"species\":\"Crocodylus acutus\",\"species_epithet\":\"acutus\"},\"original_filename\":\"P1038720.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.608983+00:00\"},\"photos_uuid\":\"F2854121-AAB1-43F4-898F-D223A9952309\",\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"86fe193ae4c1f18c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:35.193575\"}},\"format\":\"avif\",\"sha256\":\"4633b1022a94ef8bfb5ec9d717ca63c3b99895071e7faa7c30e5304401e8902a\",\"size\":480,\"size_bytes\":48063},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"86fe193ae4c1f18c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:35.218153\"}},\"format\":\"jpg\",\"sha256\":\"936f735acb27f80638c2b2abc1c816ba1ef290fb7e8b75f83809ae511122c950\",\"size\":480,\"size_bytes\":68701},{\"format\":\"jxl\",\"sha256\":\"03874ecb0450d4398a3f7cf64517a5883e15b8a7ba16644a312fa636058e89b4\",\"size\":480,\"size_bytes\":43457},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"86fe193ae4c1f18c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.519837\"}},\"format\":\"avif\",\"sha256\":\"dbc207cc3204daf1ffcc18b48a8406cd06b1923e35a64ddd6bcee74bd1d1a935\",\"size\":800,\"size_bytes\":94975},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"86fe193ae4c1f18c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.518051\"}},\"format\":\"jpg\",\"sha256\":\"8d091eecf98d3673853e8c5a412ece3f60e145ca647fc9e109fbd2e0c1b2658c\",\"size\":800,\"size_bytes\":151584},{\"format\":\"jxl\",\"sha256\":\"0b058680e3320dc4b550dc7cddf22fe6289f91cd58643aed9b10f5670facabef\",\"size\":800,\"size_bytes\":91578},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"86fe193ae4c1f18c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.666827\"}},\"format\":\"avif\",\"sha256\":\"b5e9f82ad2b1e7eb11538919d99e562ce2dd0e7472e572c218291e128a04a76b\",\"size\":2400,\"size_bytes\":528860},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"86fe193ae4c1f18c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.804556\"}},\"format\":\"jpg\",\"sha256\":\"645f7fe45a3e813e33ee1e5fbaed9afa59f796ce8a11c4ff8fc8e7a0678c0020\",\"size\":2400,\"size_bytes\":934957},{\"format\":\"jxl\",\"sha256\":\"cb6c8dd08a2a6a251aeace4ea8a7cc4c05290c18deb30efd14a6d286e98f23f5\",\"size\":2400,\"size_bytes\":555000},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"86fe193ae4c1f18c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:00.077661\"}},\"format\":\"avif\",\"sha256\":\"6ca4d316c71b7c1b848461b292fd4b3fec698cbb26db1aac9e62d783a11c27bf\",\"size\":3840,\"size_bytes\":1264207},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"86fe193ae4c1f18c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:13:00.069130\"}},\"format\":\"jpg\",\"sha256\":\"669396b4e08aede5a6358ea859c64851fcef9cfd549a29c138d434fa85a18bd8\",\"size\":3840,\"size_bytes\":2237389},{\"format\":\"jxl\",\"sha256\":\"975289ef3a0be163827731d5396f9091328446b21c73719ba463726dc9f6c1e2\",\"size\":3840,\"size_bytes\":1392773},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"86fe193ae4c1f18c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:35.636384\"}},\"format\":\"avif\",\"sha256\":\"400dedaa1c67762171c60df8eee7fb0848efc7c047b620c290a2a48e841b98d8\",\"size\":5184,\"size_bytes\":2037994},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"86fe193ae4c1f18c\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.040570\"}},\"format\":\"jpg\",\"sha256\":\"0e37ec63edd3086a57869aa2d2342e79d9d67b794d7bdf5f73360b3211d04866\",\"size\":5184,\"size_bytes\":3761899},{\"format\":\"jxl\",\"sha256\":\"b1869a040fb8edf3fc5100049dab3ba2a42e69d0a2ee92e4c1fd2c2c6c3c123a\",\"size\":5184,\"size_bytes\":2404604}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a crocodile lying on a muddy surface\",\"labels\":[\"American Alligator\",\"American Crocodile\",\"Animal\",\"Crocodile\",\"Crocodilia\",\"Land\",\"Nile Crocodile\",\"Outdoor\",\"Reptile\"],\"uuid\":\"C7DA6607-E52A-4C64-8F44-F18D529B4BD6\"},\"cdn_base_path\":\"photos/2025/12/P1038719-C7DA6607\",\"date\":\"2025-12-18T16:05:42.782000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A crocodile rests in muddy water, its head and shoulders above the surface, surrounded by scattered leaves and debris.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"crocodile\",\"mud\",\"leaves\",\"branches\",\"rocks\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:16:48.356271\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9987899661064148,\"timestamp\":\"2026-02-15T01:14:18.462945\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":93,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.01119,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Large crocodilian with long, narrow V-shaped snout and pale olive-gray color; visible teeth with mouth closed. Seen on muddy estuary habitat in Costa Rica. These traits fit American Crocodile and not Spectacled Caiman (shorter, broader snout with interorbital ridge).\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Crocodylus acutus\",\"species_binomial\":\"Crocodylus acutus\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:41:19.894667+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":1013,\"total_tokens\":1861},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Crocodylia\",\"common_name\":\"American crocodile\",\"embedding_key\":\"P1038719-C7DA6607\",\"family\":\"Crocodylidae\",\"genus\":\"Crocodylus\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.16826343536376953,\"species\":\"Crocodylus acutus\",\"species_epithet\":\"acutus\",\"timestamp\":\"2026-02-15T01:13:43.783906\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Crocodylia\",\"common_name\":\"American crocodile\",\"family\":\"Crocodylidae\",\"genus\":\"Crocodylus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.16826343536376953,\"species\":\"Crocodylus acutus\",\"species_epithet\":\"acutus\"},{\"class\":\"Crocodylia\",\"common_name\":\"\",\"family\":\"Crocodylidae\",\"genus\":\"Crocodylus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.10448909550905228,\"species\":\"Crocodylus raninus\",\"species_epithet\":\"raninus\"},{\"class\":\"Crocodylia\",\"common_name\":\"\",\"family\":\"Crocodylidae\",\"genus\":\"Crocodylus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.09709998965263367,\"species\":\"Crocodylus Crocodilus aptus\",\"species_epithet\":\"Crocodilus aptus\"},{\"class\":\"Crocodylia\",\"common_name\":\"\",\"family\":\"Crocodylidae\",\"genus\":\"Crocodylus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.07354306429624557,\"species\":\"Crocodylus Crocodilus elliottii\",\"species_epithet\":\"Crocodilus elliottii\"},{\"class\":\"Crocodylia\",\"common_name\":\"\",\"family\":\"Crocodylidae\",\"genus\":\"Crocodylus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.06527645140886307,\"species\":\"Crocodylus Crocodilus subulatus\",\"species_epithet\":\"Crocodilus subulatus\"},{\"class\":\"Crocodylia\",\"common_name\":\"Orinoco crocodile\",\"family\":\"Crocodylidae\",\"genus\":\"Crocodylus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.06178034469485283,\"species\":\"Crocodylus intermedius\",\"species_epithet\":\"intermedius\"}],\"class\":\"Crocodylia\",\"common_name\":\"American crocodile\",\"embedding_key\":\"P1038719-C7DA6607\",\"family\":\"Crocodylidae\",\"genus\":\"Crocodylus\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.16826343536376953,\"species\":\"Crocodylus acutus\",\"species_epithet\":\"acutus\",\"timestamp\":\"2026-02-15T10:24:54.245641\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"manual_taxonomy\":{\"class\":\"Reptilia\",\"common_name\":\"Common Caiman\",\"family\":\"Alligatoridae\",\"genus\":\"Caiman\",\"kingdom\":\"Animalia\",\"order\":\"Crocodilia\",\"phylum\":\"Chordata\",\"species\":\"Caiman crocodilus\",\"species_epithet\":\"crocodilus\"},\"original_filename\":\"P1038719.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.610737+00:00\"},\"photos_uuid\":\"C7DA6607-E52A-4C64-8F44-F18D529B4BD6\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T12:53:41.283499+00:00\",\"reviewed_value_hash\":\"sha256:2f6f26a377861b2a84df02c22d394776829ca1ad6cb0190183e4ef7ff10ced4e\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d3d8a93067cf10a7\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:35.008010\"}},\"format\":\"avif\",\"sha256\":\"07a34666034793c81bb921020ee43d1450aa3552e5b216b44da51ebb1590cf40\",\"size\":480,\"size_bytes\":58563},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d3d8a93067cf10a7\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:35.065806\"}},\"format\":\"jpg\",\"sha256\":\"8cc41b83ad66569b9c892e4be033899bad581af8e7ccc3ed7ef40b5a9a029724\",\"size\":480,\"size_bytes\":77771},{\"format\":\"jxl\",\"sha256\":\"8f7eec0ed06d6fd3a163ab14eb9b8d58b60b6263c1b95741e9fcc393c49c695e\",\"size\":480,\"size_bytes\":47092},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d3d8a93067cf10a7\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.309625\"}},\"format\":\"avif\",\"sha256\":\"5c1e3f3e0622a147d9985fc40287039f2f2ec95ab348c0b311c96b55dcfc32f1\",\"size\":800,\"size_bytes\":125621},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d3d8a93067cf20a7\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.280236\"}},\"format\":\"jpg\",\"sha256\":\"e7c121618703367c542c742b25d65c0bce551b90f11a6e89d48e6f0d65136755\",\"size\":800,\"size_bytes\":179529},{\"format\":\"jxl\",\"sha256\":\"152d6befb0051e223e1fed21be57e672aa56b3dc9ca6e785c70ae7499f853cdf\",\"size\":800,\"size_bytes\":105708},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d3d8a93067cf20a7\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.477253\"}},\"format\":\"avif\",\"sha256\":\"0340ddfe1644c1d8c3273f9482ee2dba30142cb65162c3cecab0a75748b534c1\",\"size\":2400,\"size_bytes\":700981},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d3d8a93067cf10a7\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.421593\"}},\"format\":\"jpg\",\"sha256\":\"c2d1ef1d5435f2df907ab0ee90d4e33ecc09598ba026a3968a953f3183663089\",\"size\":2400,\"size_bytes\":1121262},{\"format\":\"jxl\",\"sha256\":\"f8c4c773e859e32f1a244cb1dedd6ef5511fd23436e026a023ce1884e00b2bab\",\"size\":2400,\"size_bytes\":662156},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d3d8a93067cf10a7\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.666810\"}},\"format\":\"avif\",\"sha256\":\"3b06ccf9b8a108ce319e086ec38e1faf19e80e9e27624c83feedb5a6a8d3fa8d\",\"size\":3840,\"size_bytes\":1553553},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"d3d8a93067cf10a7\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.800810\"}},\"format\":\"jpg\",\"sha256\":\"cc0a7d25543787ab37f508faed21b0683868642ed04eb96496d2e44bdffd852a\",\"size\":3840,\"size_bytes\":2577952},{\"format\":\"jxl\",\"sha256\":\"6830e04f67b9d83b47575eff9005406cfdf5fd507c781e4d2fca4e8a5c92b3fd\",\"size\":3840,\"size_bytes\":1586688},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d3d8a93067cf20a7\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:35.540504\"}},\"format\":\"avif\",\"sha256\":\"7974d76929762f1ceb8ce3014b1512667941a3d4fde4632dd53b43f0560d4d27\",\"size\":5184,\"size_bytes\":2444964},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d3d8a93067cf20a7\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.057201\"}},\"format\":\"jpg\",\"sha256\":\"6aa8753275dd2929e50602da833a62b78c7a32f10e803d9f4330f1c70da29bf0\",\"size\":5184,\"size_bytes\":4260421},{\"format\":\"jxl\",\"sha256\":\"9b4d458eef228a665da975bbdd69b852290b4d2856c3e3836a788e82c766b40f\",\"size\":5184,\"size_bytes\":2691357}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a bird standing in a body of water\",\"uuid\":\"C5443AC3-20C4-4A20-8433-488661057DEE\"},\"cdn_base_path\":\"photos/2025/12/P1038713-C5443AC3\",\"date\":\"2025-12-18T16:02:40.102000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A gray heron stands in shallow water near a dense thicket of green foliage and tangled branches, with a single purple flower visible in the background.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"heron\",\"water\",\"branches\",\"leaves\",\"flower\",\"mud\",\"reflection\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:16:32.231892\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9971781969070435,\"timestamp\":\"2026-02-15T01:14:18.450115\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":88,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.009130000000000001,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Large gray heron with long neck and hefty yellow bill; lacks white plumage of egrets and barring of tiger-herons. Juvenile-like plain gray head matches Great Blue Heron, a regular species in Costa Rican wetlands.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Ardea herodias\",\"species_binomial\":\"Ardea herodias\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:41:10.239008+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":807,\"total_tokens\":1655},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Aves\",\"common_name\":\"Great blue heron\",\"embedding_key\":\"P1038713-C5443AC3\",\"family\":\"Ardeidae\",\"genus\":\"Ardea\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.6071921586990356,\"species\":\"Ardea herodias\",\"species_epithet\":\"herodias\",\"timestamp\":\"2026-02-15T01:13:43.770405\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Great blue heron\",\"family\":\"Ardeidae\",\"genus\":\"Ardea\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.6071921586990356,\"species\":\"Ardea herodias\",\"species_epithet\":\"herodias\"},{\"class\":\"Aves\",\"common_name\":\"Humblot's heron\",\"family\":\"Ardeidae\",\"genus\":\"Ardea\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.1627454310655594,\"species\":\"Ardea humbloti\",\"species_epithet\":\"humbloti\"},{\"class\":\"Aves\",\"common_name\":\"Great-billed Heron\",\"family\":\"Ardeidae\",\"genus\":\"Ardea\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.14201949536800385,\"species\":\"Ardea sumatrana\",\"species_epithet\":\"sumatrana\"},{\"class\":\"Aves\",\"common_name\":\"Cocoi Heron\",\"family\":\"Ardeidae\",\"genus\":\"Ardea\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.019090037792921066,\"species\":\"Ardea cocoi\",\"species_epithet\":\"cocoi\"},{\"class\":\"Aves\",\"common_name\":\"Agami Heron\",\"family\":\"Ardeidae\",\"genus\":\"Agamia\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.006857218220829964,\"species\":\"Agamia agami\",\"species_epithet\":\"agami\"},{\"class\":\"Aves\",\"common_name\":\"Bare-throated tiger-heron\",\"family\":\"Ardeidae\",\"genus\":\"Tigrisoma\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.005693470593541861,\"species\":\"Tigrisoma mexicanum\",\"species_epithet\":\"mexicanum\"}],\"class\":\"Aves\",\"common_name\":\"Great blue heron\",\"embedding_key\":\"P1038713-C5443AC3\",\"family\":\"Ardeidae\",\"genus\":\"Ardea\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.6071921586990356,\"species\":\"Ardea herodias\",\"species_epithet\":\"herodias\",\"timestamp\":\"2026-02-15T10:24:54.234958\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"manual_description\":{\"source\":\"taxonomy_review_v1\",\"text\":\"A heron stands in shallow water near a dense thicket of green foliage and tangled branches, with a single purple flower visible in the background.\",\"updated_at\":\"2026-02-15T14:30:52.077822+00:00\"},\"original_filename\":\"P1038713.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.612633+00:00\"},\"photos_uuid\":\"C5443AC3-20C4-4A20-8433-488661057DEE\",\"review_signoff\":{\"taxonomy\":{\"approved_at\":\"2026-02-15T14:30:47.797447+00:00\",\"reviewed_value_hash\":\"sha256:24e137b8399fafc2d3a2f01996d16e29c2877a1b9e46e4c7a6a3c613cdf73baf\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"9c717333c9a30c9d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:35.827265\"}},\"format\":\"avif\",\"sha256\":\"4fef538669d4fc3057cf116eb91af7d449d4445933232293d703fcd54c9a8693\",\"size\":480,\"size_bytes\":129293},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"9c717333c9a30c9d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:34.812437\"}},\"format\":\"jpg\",\"sha256\":\"71b30f17445e148b4b037423630e66c908e16fd5a754a7e5285711f654043f50\",\"size\":480,\"size_bytes\":153328},{\"format\":\"jxl\",\"sha256\":\"2969fdda73a2f0eb23c3100ff27fc4a5b956ec91a8527acd44d44353b8611c50\",\"size\":480,\"size_bytes\":91192},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"9c717333c9a30c9d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.234360\"}},\"format\":\"avif\",\"sha256\":\"d3218ed88f83625810fcf953d6e09762ce1e3820253a8a4fc52fad7aa6a38b82\",\"size\":800,\"size_bytes\":256160},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"9c717333c9a30c9d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.218437\"}},\"format\":\"jpg\",\"sha256\":\"3c9da346ace2e28719f23109d09da5ee479572dbeae10c8059a756cc3e767df6\",\"size\":800,\"size_bytes\":321298},{\"format\":\"jxl\",\"sha256\":\"7fdf6948bb95e3a95945001cc844acb27ad1b43bffd525566c99babd695f6675\",\"size\":800,\"size_bytes\":192718},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"9c717333c9a30c9d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.470403\"}},\"format\":\"avif\",\"sha256\":\"bf3579cb33af74f3429c76c2e103a54c5a13e0fe593ae089894bbb986e1174a7\",\"size\":2400,\"size_bytes\":1143350},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"9c717333c9a30c9d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.506131\"}},\"format\":\"jpg\",\"sha256\":\"ee0d6cafdc0f758bdc5e6aeff15983ab88fbd7c2729ed173bcaae70f3149815e\",\"size\":2400,\"size_bytes\":1688442},{\"format\":\"jxl\",\"sha256\":\"3daef63ab0b1d2ecdd75e20871a049bca242102124c9034e54f8337cf8b02aa4\",\"size\":2400,\"size_bytes\":1034261},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"9c717333c9a30c9d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.592284\"}},\"format\":\"avif\",\"sha256\":\"945168622014a54a0f732c34dea3ba4a5d28c80833b0aa724b7c7a1726b07166\",\"size\":3840,\"size_bytes\":2153389},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"9c717333c9a30c9d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.668721\"}},\"format\":\"jpg\",\"sha256\":\"f56d3e7af0af333497b308231c77723ceaa3ea51f1fcbe9ac8f03109c0a9911c\",\"size\":3840,\"size_bytes\":3461227},{\"format\":\"jxl\",\"sha256\":\"a54ee09d7113f7aa4ee6d333941c29a0651c31610d0c9726995ca29841c0918f\",\"size\":3840,\"size_bytes\":2087178},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"9c717333c9a30c9d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:35.544507\"}},\"format\":\"avif\",\"sha256\":\"08a9ab31515686a53ee59cdfabaafc40702e804385ecd3fa4bf3ec456528b6fb\",\"size\":5184,\"size_bytes\":3301758},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"9c717333c9a30c9d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:36.066786\"}},\"format\":\"jpg\",\"sha256\":\"beff93d4527eaa03ffb5a368ccf5e93404a978d33bb14213fe90e1b02e87464e\",\"size\":5184,\"size_bytes\":5428985},{\"format\":\"jxl\",\"sha256\":\"caeb2d95a6af46c41ee909aa2774cf6669bc1fa798ab26a52c56797944655673\",\"size\":5184,\"size_bytes\":3325026}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a black and yellow bird sitting on a tree branch\",\"uuid\":\"AE4CBB27-0E9F-4CBA-A7A6-DCDE276922FE\"},\"cdn_base_path\":\"photos/2025/12/P1038681-AE4CBB27\",\"date\":\"2025-12-16T15:41:03.314000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A toucan perches among the branches of a tree, its bright yellow and black beak and head contrasting against the muted green leaves and gray sky.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"toucan\",\"tree\",\"leaves\",\"branches\",\"sky\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:16:16.145932\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9973529577255249,\"timestamp\":\"2026-02-15T01:14:18.433870\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":85,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.01494,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Large toucan with yellow throat, black body, red undertail, and two-toned bill (yellow upper, dark lower). In Costa Rica this fits Yellow-throated Toucan; only subspecies present is swainsonii.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Ramphastos ambiguus swainsonii\",\"species_binomial\":\"Ramphastos ambiguus\",\"taxon_rank\":\"subspecies\",\"timestamp\":\"2026-02-15T17:40:59.435368+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":1388,\"total_tokens\":2236},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Aves\",\"common_name\":\"Yellow-throated Toucan\",\"embedding_key\":\"P1038681-AE4CBB27\",\"family\":\"Ramphastidae\",\"genus\":\"Ramphastos\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.6070469617843628,\"species\":\"Ramphastos ambiguus\",\"species_epithet\":\"ambiguus\",\"timestamp\":\"2026-02-15T01:13:43.752030\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Yellow-throated Toucan\",\"family\":\"Ramphastidae\",\"genus\":\"Ramphastos\",\"kingdom\":\"Animalia\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.6070469617843628,\"species\":\"Ramphastos ambiguus\",\"species_epithet\":\"ambiguus\"},{\"class\":\"Aves\",\"common_name\":\"Choco Toucan\",\"family\":\"Ramphastidae\",\"genus\":\"Ramphastos\",\"kingdom\":\"Animalia\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.2779708504676819,\"species\":\"Ramphastos brevis\",\"species_epithet\":\"brevis\"},{\"class\":\"Aves\",\"common_name\":\"Citron-throated toucan\",\"family\":\"Ramphastidae\",\"genus\":\"Ramphastos\",\"kingdom\":\"Animalia\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.056644946336746216,\"species\":\"Ramphastos citreolaemus\",\"species_epithet\":\"citreolaemus\"},{\"class\":\"Aves\",\"common_name\":\"Keel-billed toucan\",\"family\":\"Ramphastidae\",\"genus\":\"Ramphastos\",\"kingdom\":\"Animalia\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.022224489599466324,\"species\":\"Ramphastos sulfuratus\",\"species_epithet\":\"sulfuratus\"},{\"class\":\"Aves\",\"common_name\":\"White-throated Toucan\",\"family\":\"Ramphastidae\",\"genus\":\"Ramphastos\",\"kingdom\":\"Animalia\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.003610211191698909,\"species\":\"Ramphastos tucanus\",\"species_epithet\":\"tucanus\"},{\"class\":\"Aves\",\"common_name\":\"Yellow-eared toucanet\",\"family\":\"Ramphastidae\",\"genus\":\"Selenidera\",\"kingdom\":\"Animalia\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.003605201607570052,\"species\":\"Selenidera spectabilis\",\"species_epithet\":\"spectabilis\"}],\"class\":\"Aves\",\"common_name\":\"Yellow-throated Toucan\",\"embedding_key\":\"P1038681-AE4CBB27\",\"family\":\"Ramphastidae\",\"genus\":\"Ramphastos\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Piciformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.6070469617843628,\"species\":\"Ramphastos ambiguus\",\"species_epithet\":\"ambiguus\",\"timestamp\":\"2026-02-15T10:24:54.223785\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"original_filename\":\"P1038681.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.614418+00:00\"},\"photos_uuid\":\"AE4CBB27-0E9F-4CBA-A7A6-DCDE276922FE\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T14:29:42.399792+00:00\",\"reviewed_value_hash\":\"sha256:3b19491c9b31b7f98bb81ed5e6a1f82160cf6c0ab59bc5ab7d8b1028ad081d2e\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"},\"taxonomy\":{\"approved_at\":\"2026-02-15T14:29:39.163774+00:00\",\"reviewed_value_hash\":\"sha256:85e09683d984afae15f3548a24324fe02fb5cd54d68d34da4111f65203aaffe6\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"92b83db115d3f894\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:34.894141\"}},\"format\":\"avif\",\"sha256\":\"bc45dfd49b0c800ad82b840ede46a8128241717102ade3548595440ca1647483\",\"size\":480,\"size_bytes\":73068},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"92b83db115d3f894\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:34.980577\"}},\"format\":\"jpg\",\"sha256\":\"c429e3e24cf3c268e6b4d69a941762403608c158a0bef6b0f0dabec1a7895bf2\",\"size\":480,\"size_bytes\":88279},{\"format\":\"jxl\",\"sha256\":\"f7904e8341fc514013dbabcd9f906bd015b5cf3beb207d6218be99462e7a9a7b\",\"size\":480,\"size_bytes\":60693},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"92b83db115d3f894\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.053480\"}},\"format\":\"avif\",\"sha256\":\"b5c37e0ec0975755d69f90ccd0448d39d78848175d2019a1bfde7de425168cec\",\"size\":800,\"size_bytes\":172811},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"92b83db115d3f894\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.070695\"}},\"format\":\"jpg\",\"sha256\":\"4260ebd06ec8ca797dd0659250572786b5fbdd5261854194567b520a0282ad5f\",\"size\":800,\"size_bytes\":222302},{\"format\":\"jxl\",\"sha256\":\"ed74e1666fbddd8d1501079534e53ef26c645ba11a61fec6cd51f45e296636bf\",\"size\":800,\"size_bytes\":150597},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"92b83db115d3f894\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.215848\"}},\"format\":\"avif\",\"sha256\":\"f966b4637a534c773e347afa70a452c31a7151f968bdfc632ac1333ce959ac0c\",\"size\":2400,\"size_bytes\":1014883},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"92b83db115d3f894\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.216620\"}},\"format\":\"jpg\",\"sha256\":\"45e7276f36c3bb7cfcf306fa044649bc47b9c310c737fc7120602073072dc8a7\",\"size\":2400,\"size_bytes\":1463424},{\"format\":\"jxl\",\"sha256\":\"fb9893cf65858e9d88b4f289873634186487e67c9e9d62e767140e9b48d1508a\",\"size\":2400,\"size_bytes\":997594},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"92b83db115d3f894\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.390879\"}},\"format\":\"avif\",\"sha256\":\"3d672d14d686d3589234c4e5a1dfa446d2a8016f144ef31d2f1ef5a5343af676\",\"size\":3840,\"size_bytes\":2113053},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"92b83db115d3f894\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.331368\"}},\"format\":\"jpg\",\"sha256\":\"23922359ddaeb9dcf38c3a06f11c1f6bfb8abbe65d4e33511a7a09d66ab90bb8\",\"size\":3840,\"size_bytes\":3194060},{\"format\":\"jxl\",\"sha256\":\"04f104373b15950a7309feebef4594ded5b4d1dd922f755f16c83a6b1637d45b\",\"size\":3840,\"size_bytes\":2145266},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"92b83db115d3f894\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:35.254550\"}},\"format\":\"avif\",\"sha256\":\"f53e1829c5ec9b7e415a39566871150b3988a6442ce1c7590216b90a352fe90d\",\"size\":5184,\"size_bytes\":3249775},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"92b83db115d3f894\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:35.799684\"}},\"format\":\"jpg\",\"sha256\":\"036e2fd13972ccd04376fef90648471c69d810ce7ef670681ff9736f9728e3c1\",\"size\":5184,\"size_bytes\":5189464},{\"format\":\"jxl\",\"sha256\":\"4cbb8498991b1708748b56371ef7b3dcc9e288770cba212a30f2ea22eaa5e02f\",\"size\":5184,\"size_bytes\":3381807}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a bird sitting on top of a large green leaf\",\"labels\":[\"Animal\",\"Arthropods\",\"Foliage\",\"Insect\",\"Plant\"],\"uuid\":\"50CE8A78-4039-422E-B771-D65C8B5E84A9\"},\"cdn_base_path\":\"photos/2025/12/P1038674-50CE8A78\",\"date\":\"2025-12-16T14:13:26.710000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A small bird with orange and brown plumage perches on a large, green banana leaf, which has brown, torn edges. The leaf is part of a lush, green tropical setting with blurred foliage\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"bird\",\"leaf\",\"stem\",\"edge\",\"spot\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:16:00.123380\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9996650218963623,\"timestamp\":\"2026-02-15T01:14:18.419211\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":70,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.01118,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Female tanager with slate-gray head, bright orange underparts, dark olive-brown upperparts, and pale blue-based conical bill; this combination matches female Passerini’s Tanager, the common Ramphocelus on most of Costa Rica’s Caribbean/central areas.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Ramphocelus passerinii\",\"species_binomial\":\"Ramphocelus passerinii\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:40:56.503484+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":1012,\"total_tokens\":1860},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Aves\",\"common_name\":\"Passerini's tanager\",\"embedding_key\":\"P1038674-50CE8A78\",\"family\":\"Thraupidae\",\"genus\":\"Ramphocelus\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Passeriformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.9835957288742065,\"species\":\"Ramphocelus passerinii\",\"species_epithet\":\"passerinii\",\"timestamp\":\"2026-02-15T01:13:43.731166\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Passerini's tanager\",\"family\":\"Thraupidae\",\"genus\":\"Ramphocelus\",\"kingdom\":\"Animalia\",\"order\":\"Passeriformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.9835957288742065,\"species\":\"Ramphocelus passerinii\",\"species_epithet\":\"passerinii\"},{\"class\":\"Aves\",\"common_name\":\"Flame-rumped Tanager\",\"family\":\"Thraupidae\",\"genus\":\"Ramphocelus\",\"kingdom\":\"Animalia\",\"order\":\"Passeriformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0034740923438221216,\"species\":\"Ramphocelus flammigerus\",\"species_epithet\":\"flammigerus\"},{\"class\":\"Aves\",\"common_name\":\"Tanager Finch\",\"family\":\"Passerellidae\",\"genus\":\"Oreothraupis\",\"kingdom\":\"Animalia\",\"order\":\"Passeriformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.001957267289981246,\"species\":\"Oreothraupis arremonops\",\"species_epithet\":\"arremonops\"},{\"class\":\"Aves\",\"common_name\":\"Amber mountain rock thrush\",\"family\":\"Muscicapidae\",\"genus\":\"Monticola\",\"kingdom\":\"Animalia\",\"order\":\"Passeriformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0012237151386216283,\"species\":\"Monticola erythronotus\",\"species_epithet\":\"erythronotus\"},{\"class\":\"Aves\",\"common_name\":\"Dusky-faced tanager\",\"family\":\"Mitrospingidae\",\"genus\":\"Mitrospingus\",\"kingdom\":\"Animalia\",\"order\":\"Passeriformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0011579981073737144,\"species\":\"Mitrospingus cassinii\",\"species_epithet\":\"cassinii\"},{\"class\":\"Aves\",\"common_name\":\"Martinique Oriole\",\"family\":\"Icteridae\",\"genus\":\"Icterus\",\"kingdom\":\"Animalia\",\"order\":\"Passeriformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0008842243696562946,\"species\":\"Icterus bonana\",\"species_epithet\":\"bonana\"}],\"class\":\"Aves\",\"common_name\":\"Passerini's tanager\",\"embedding_key\":\"P1038674-50CE8A78\",\"family\":\"Thraupidae\",\"genus\":\"Ramphocelus\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Passeriformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.9835957288742065,\"species\":\"Ramphocelus passerinii\",\"species_epithet\":\"passerinii\",\"timestamp\":\"2026-02-15T10:24:54.213735\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"manual_description\":{\"source\":\"taxonomy_review_v1\",\"text\":\"A small bird with orange and brown plumage perches on a large, green banana leaf, which has brown, torn edges. The leaf is part of a lush, green tropical setting with blurred foliage.\",\"updated_at\":\"2026-02-15T19:33:41.765175+00:00\"},\"original_filename\":\"P1038674.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.616380+00:00\"},\"photos_uuid\":\"50CE8A78-4039-422E-B771-D65C8B5E84A9\",\"review_signoff\":{\"taxonomy\":{\"approved_at\":\"2026-02-15T19:33:45.737893+00:00\",\"reviewed_value_hash\":\"sha256:f233f686dc8f49c8034e0cf0d14a9290fc6d724cb2a5df46c3f63e24481ba870\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"98d0a5ea173a654f\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:34.247297\"}},\"format\":\"avif\",\"sha256\":\"829d1f04d2adc2160c4b36651ee375318029aa3ba9da27f0bde13437e7684e30\",\"size\":480,\"size_bytes\":24857},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"98d0a5ea173a654f\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:34.380412\"}},\"format\":\"jpg\",\"sha256\":\"6da81159f84f8ebc537acb8b4b1e85a760ece4885e6e22dde30a0f135c84fc32\",\"size\":480,\"size_bytes\":47348},{\"format\":\"jxl\",\"sha256\":\"b47100f694f597a5edd084187e31eab329e2be3dd16a8ec15d25c50b0053ffdc\",\"size\":480,\"size_bytes\":27807},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"98d0a5ea173a654f\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:58.823695\"}},\"format\":\"avif\",\"sha256\":\"70642ebc5dd78b582ad82e91e5432c431ff036e050739708f580b2dbb931dc57\",\"size\":800,\"size_bytes\":46417},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"98d0a5ea173a654f\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:58.846676\"}},\"format\":\"jpg\",\"sha256\":\"be266a889a9d6daa9460cd0d041acdd045c25974357ca40a1461cde4a875c936\",\"size\":800,\"size_bytes\":105412},{\"format\":\"jxl\",\"sha256\":\"2ebf6ae1248d04d359f131de16367139f4db7425013a7bf53afbb73d75476f7b\",\"size\":800,\"size_bytes\":58983},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"98d0a5ea173a654f\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:58.979147\"}},\"format\":\"avif\",\"sha256\":\"642c9f982a6bc7586025edcd620bcbc94337cf1fbf469bcde1f50e4fbb58fc85\",\"size\":2400,\"size_bytes\":613550},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"98d0a5ea173a654f\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.053750\"}},\"format\":\"jpg\",\"sha256\":\"ce35bd7b7fdf20f3c002978551d2aa21f73b69955ac52218a4b4d7a34d6fffbd\",\"size\":2400,\"size_bytes\":857788},{\"format\":\"jxl\",\"sha256\":\"e324f78731ceb24781c60ccdcd42fe919e34a175004623b978bbf862109d1741\",\"size\":2400,\"size_bytes\":551123},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"98d0a5ea173a654f\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.196767\"}},\"format\":\"avif\",\"sha256\":\"f1d641a508e1e59f72d15874dac1837163771f8dc32203408dd83b319f2662be\",\"size\":3840,\"size_bytes\":1631560},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"98d0a5ea173a654f\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.150581\"}},\"format\":\"jpg\",\"sha256\":\"bf8f0d070e3639e452f25a21a14f5676c5dd1ed87287566e1366b52af6b9356e\",\"size\":3840,\"size_bytes\":2307677},{\"format\":\"jxl\",\"sha256\":\"2555402823c942a7f1e51d63bd49af31ca64cfa8515bdf69ad131fd1dc6807b7\",\"size\":3840,\"size_bytes\":1563141},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"98d0a5ea173a654f\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:35.160477\"}},\"format\":\"avif\",\"sha256\":\"7ba1934dd671de13c7824d75450e2ffc0a66460593ee8770220d05b76caa9c8c\",\"size\":5184,\"size_bytes\":2588982},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"98d0a5ea173a654f\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:34.820750\"}},\"format\":\"jpg\",\"sha256\":\"a6ccc370e682ca42191ea0b9bc476d2e1115456462260ed63bc647b309bdf169\",\"size\":5184,\"size_bytes\":4093378},{\"format\":\"jxl\",\"sha256\":\"283cd037c2a7497bfff0ab2607277f2460c722d030b71b76ba102cad0be1a8f3\",\"size\":5184,\"size_bytes\":2766318}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a black bird sitting on top of a green leaf\",\"labels\":[\"Animal\",\"Beak\",\"Bird\",\"Foliage\",\"Plant\"],\"uuid\":\"C384C879-5F59-4C65-BF67-546C00255136\"},\"cdn_base_path\":\"photos/2025/12/P1038658-C384C879\",\"date\":\"2025-12-16T14:10:59.565000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A small black bird with a red wing patch perches on the edge of a large green banana leaf, with a blurred green forest background.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"bird\",\"leaf\",\"branch\",\"greenery\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:15:44.384786\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9992851614952087,\"timestamp\":\"2026-02-15T01:14:18.403572\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":65,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.03157,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Black bird with a bright red patch at the shoulder/rump area, common in Costa Rica; overall shape and typical perch on banana leaf fit male Scarlet-rumped (Passerini’s) Tanager better than rarer icterids.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Ramphocelus passerinii\",\"species_binomial\":\"Ramphocelus passerinii\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:41:24.194996+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":3051,\"total_tokens\":3899},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Aves\",\"common_name\":\"Passerini's tanager\",\"embedding_key\":\"P1038658-C384C879\",\"family\":\"Thraupidae\",\"genus\":\"Ramphocelus\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Passeriformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.6273832321166992,\"species\":\"Ramphocelus passerinii\",\"species_epithet\":\"passerinii\",\"timestamp\":\"2026-02-15T01:13:43.712146\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Passerini's tanager\",\"family\":\"Thraupidae\",\"genus\":\"Ramphocelus\",\"kingdom\":\"Animalia\",\"order\":\"Passeriformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.6273832321166992,\"species\":\"Ramphocelus passerinii\",\"species_epithet\":\"passerinii\"},{\"class\":\"Aves\",\"common_name\":\"Flame-rumped Tanager\",\"family\":\"Thraupidae\",\"genus\":\"Ramphocelus\",\"kingdom\":\"Animalia\",\"order\":\"Passeriformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.34738969802856445,\"species\":\"Ramphocelus flammigerus\",\"species_epithet\":\"flammigerus\"},{\"class\":\"Aves\",\"common_name\":\"Scarlet-rumped Cacique\",\"family\":\"Icteridae\",\"genus\":\"Cacicus\",\"kingdom\":\"Animalia\",\"order\":\"Passeriformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0043964749202132225,\"species\":\"Cacicus uropygialis\",\"species_epithet\":\"uropygialis\"},{\"class\":\"Aves\",\"common_name\":\"Red-bellied grackle\",\"family\":\"Icteridae\",\"genus\":\"Hypopyrrhus\",\"kingdom\":\"Animalia\",\"order\":\"Passeriformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.002946299035102129,\"species\":\"Hypopyrrhus pyrohypogaster\",\"species_epithet\":\"pyrohypogaster\"},{\"class\":\"Aves\",\"common_name\":\"Red-shouldered tanager\",\"family\":\"Thraupidae\",\"genus\":\"Tachyphonus\",\"kingdom\":\"Animalia\",\"order\":\"Passeriformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0017790625570341945,\"species\":\"Tachyphonus phoenicius\",\"species_epithet\":\"phoenicius\"},{\"class\":\"Aves\",\"common_name\":\"Scarlet-browed tanager\",\"family\":\"Thraupidae\",\"genus\":\"Heterospingus\",\"kingdom\":\"Animalia\",\"order\":\"Passeriformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0014341814676299691,\"species\":\"Heterospingus xanthopygius\",\"species_epithet\":\"xanthopygius\"}],\"class\":\"Aves\",\"common_name\":\"Passerini's tanager\",\"embedding_key\":\"P1038658-C384C879\",\"family\":\"Thraupidae\",\"genus\":\"Ramphocelus\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Passeriformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.6273832321166992,\"species\":\"Ramphocelus passerinii\",\"species_epithet\":\"passerinii\",\"timestamp\":\"2026-02-15T10:24:54.202544\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"manual_description\":{\"source\":\"taxonomy_review_v1\",\"text\":\"A small black bird with a red patch perches on the edge of a large green banana leaf, with a blurred green forest background.\",\"updated_at\":\"2026-02-15T14:32:36.092007+00:00\"},\"original_filename\":\"P1038658.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.618246+00:00\"},\"photos_uuid\":\"C384C879-5F59-4C65-BF67-546C00255136\",\"review_signoff\":{\"taxonomy\":{\"approved_at\":\"2026-02-15T14:32:37.959191+00:00\",\"reviewed_value_hash\":\"sha256:f233f686dc8f49c8034e0cf0d14a9290fc6d724cb2a5df46c3f63e24481ba870\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"c6cd1c5aa3173e61\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:34.168419\"}},\"format\":\"avif\",\"sha256\":\"2db7704360439cd20eac21364266190a666fe2a8f14ab863493e164b30014fb8\",\"size\":480,\"size_bytes\":16082},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"c6cd1c5aa3173e61\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:34.194634\"}},\"format\":\"jpg\",\"sha256\":\"58b3e88ece0035bad9059eaaaa6e1c9f347e1425821bd6b7ceb322008777304f\",\"size\":480,\"size_bytes\":33721},{\"format\":\"jxl\",\"sha256\":\"71692d5e571073bf4487155eb21cf8e5fe6372856490be28739d1e5b15155739\",\"size\":480,\"size_bytes\":18855},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c6cd1c5aa3173e61\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:58.696832\"}},\"format\":\"avif\",\"sha256\":\"995bc6f8b3b2e22927f33294a561d6c9a6588069f38eb6a1d401916ae252abb8\",\"size\":800,\"size_bytes\":30636},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c6cd1c5aa3173e61\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:58.691054\"}},\"format\":\"jpg\",\"sha256\":\"aea9cb5c07d3a86278a705ecfcb19a06136e247f78d7ecc6053e75b787750bef\",\"size\":800,\"size_bytes\":77612},{\"format\":\"jxl\",\"sha256\":\"fcf049fcaaba43b065335f98e0dc716cb035eec5cc1c1dd0eee59f071c9c9519\",\"size\":800,\"size_bytes\":42849},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c6cd1c5aa3173e61\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:58.794965\"}},\"format\":\"avif\",\"sha256\":\"1492d0c2d45a127350314f43de5a02731a23c218ba2783e793304e5e1501f682\",\"size\":2400,\"size_bytes\":464371},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c6cd1c5aa3173e61\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:58.782715\"}},\"format\":\"jpg\",\"sha256\":\"5502aacf3cc2e3544a8f39bc958b40ebb97e75ceaf10ba8ce5696e11a56c9734\",\"size\":2400,\"size_bytes\":722833},{\"format\":\"jxl\",\"sha256\":\"722b3989ca9414745c0c1f305ab17522c1a93c8d0d33d9f5b52e9594015d0956\",\"size\":2400,\"size_bytes\":480736},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c6cd1c5aa3173e61\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.041091\"}},\"format\":\"avif\",\"sha256\":\"1fb12d833cd6637e2795a2fd5e867b03177d0bcc1049cb3e85dd587590c7d445\",\"size\":3840,\"size_bytes\":1353649},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"c6cd1c5aa3173e61\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.044010\"}},\"format\":\"jpg\",\"sha256\":\"19cf683dfae962898faba981790ce136d81fdd038b646b816b031c5982e96c25\",\"size\":3840,\"size_bytes\":2043836},{\"format\":\"jxl\",\"sha256\":\"1ce9e64198c27eeaad0d2485d1a594ed997b9d6ed63095bd362cc8be9bb0d9a8\",\"size\":3840,\"size_bytes\":1419983},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"c6cd1c5aa3173e61\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:34.750095\"}},\"format\":\"avif\",\"sha256\":\"d22520423c97f767f6d4b1e53ad7d68a76af95010838b44360799948ebd02cae\",\"size\":5184,\"size_bytes\":2223617},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"c6cd1c5aa3173e61\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:35.303778\"}},\"format\":\"jpg\",\"sha256\":\"7e56a8e9ece146e98380e595c73940a02474460a1a22778198be7e6f181d9780\",\"size\":5184,\"size_bytes\":3694523},{\"format\":\"jxl\",\"sha256\":\"aa68ca4a8f315f4cb0ecada78e848315fe37e87eb58331f5c251aeea7f125fc5\",\"size\":5184,\"size_bytes\":2506607}],\"width\":5184},{\"apple_photos\":{\"uuid\":\"5CE3E0D3-FB1B-49F7-82FF-00A7095E093F\"},\"cdn_base_path\":\"photos/2025/12/P1038636-5CE3E0D3\",\"date\":\"2025-12-16T02:44:15.197000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A large green grasshopper perches on a glass door handle, with a pineapple and other fruits visible in the blurred background.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"grasshopper\",\"pineapple\",\"bowl\",\"glass\",\"handle\",\"fruit\",\"door\",\"floor\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2025-12-15T20:52:05.157093\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9989786148071289,\"timestamp\":\"2025-12-15T20:50:26.966846\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":70,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.01231,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Very large short-antenna grasshopper with long reticulated green forewings and robust body; coloration and size match the Giant Grasshopper common in Costa Rica. No clear traits to assign subspecies.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Tropidacris cristata\",\"species_binomial\":\"Tropidacris cristata\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:40:50.537939+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":1125,\"total_tokens\":1973},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Insecta\",\"common_name\":\"\",\"family\":\"Romaleidae\",\"genus\":\"Tropidacris\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Orthoptera\",\"phylum\":\"Arthropoda\",\"rank\":\"Rank.SPECIES\",\"score\":0.35067567229270935,\"species\":\"Tropidacris collaris\",\"species_epithet\":\"collaris\",\"timestamp\":\"2025-12-15T20:50:12.686375\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Insecta\",\"common_name\":\"\",\"family\":\"Romaleidae\",\"genus\":\"Tropidacris\",\"kingdom\":\"Animalia\",\"order\":\"Orthoptera\",\"phylum\":\"Arthropoda\",\"rank\":\"species\",\"score\":0.35069403052330017,\"species\":\"Tropidacris collaris\",\"species_epithet\":\"collaris\"},{\"class\":\"Insecta\",\"common_name\":\"\",\"family\":\"Romaleidae\",\"genus\":\"Tropidacris\",\"kingdom\":\"Animalia\",\"order\":\"Orthoptera\",\"phylum\":\"Arthropoda\",\"rank\":\"species\",\"score\":0.12889012694358826,\"species\":\"Tropidacris cristata\",\"species_epithet\":\"cristata\"},{\"class\":\"Insecta\",\"common_name\":\"\",\"family\":\"Romaleidae\",\"genus\":\"Coryacris\",\"kingdom\":\"Animalia\",\"order\":\"Orthoptera\",\"phylum\":\"Arthropoda\",\"rank\":\"species\",\"score\":0.060687217861413956,\"species\":\"Coryacris angustipennis\",\"species_epithet\":\"angustipennis\"},{\"class\":\"Insecta\",\"common_name\":\"\",\"family\":\"Romaleidae\",\"genus\":\"Prionacris\",\"kingdom\":\"Animalia\",\"order\":\"Orthoptera\",\"phylum\":\"Arthropoda\",\"rank\":\"species\",\"score\":0.027636641636490822,\"species\":\"Prionacris erosa\",\"species_epithet\":\"erosa\"},{\"class\":\"Insecta\",\"common_name\":\"\",\"family\":\"Agathemeridae\",\"genus\":\"Agathemera\",\"kingdom\":\"Animalia\",\"order\":\"Phasmida\",\"phylum\":\"Arthropoda\",\"rank\":\"species\",\"score\":0.017458027228713036,\"species\":\"Agathemera luteola\",\"species_epithet\":\"luteola\"},{\"class\":\"Insecta\",\"common_name\":\"\",\"family\":\"Agathemeridae\",\"genus\":\"Agathemera\",\"kingdom\":\"Animalia\",\"order\":\"Phasmida\",\"phylum\":\"Arthropoda\",\"rank\":\"species\",\"score\":0.013521327637135983,\"species\":\"Agathemera elegans\",\"species_epithet\":\"elegans\"}],\"class\":\"Insecta\",\"common_name\":\"\",\"embedding_key\":\"P1038636-5CE3E0D3\",\"family\":\"Romaleidae\",\"genus\":\"Tropidacris\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Orthoptera\",\"phylum\":\"Arthropoda\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.35069403052330017,\"species\":\"Tropidacris collaris\",\"species_epithet\":\"collaris\",\"timestamp\":\"2026-02-15T10:24:54.191280\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"manual_description\":{\"source\":\"taxonomy_review_v1\",\"text\":\"A large grasshopper perches on a glass door handle, with a pineapple and other fruits visible in the blurred background.\",\"updated_at\":\"2026-02-15T13:12:53.271055+00:00\"},\"manual_taxonomy\":{\"class\":\"Insecta\",\"common_name\":\"\",\"family\":\"Romaleidae\",\"genus\":\"Tropidacris\",\"kingdom\":\"Animalia\",\"order\":\"Orthoptera\",\"phylum\":\"Arthropoda\",\"score\":0.95,\"species\":\"Tropidacris cristata\",\"species_epithet\":\"cristata\"},\"original_filename\":\"P1038636.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.619996+00:00\"},\"photos_uuid\":\"5CE3E0D3-FB1B-49F7-82FF-00A7095E093F\",\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"cdd11236951dc33d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:34.123301\"}},\"format\":\"avif\",\"sha256\":\"1000be68198e2a18cd541b7d64d2fd1d55cd32be6b57ec94f477c5b2b5683a82\",\"size\":480,\"size_bytes\":17729},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"cdd11236951dc33d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:34.121385\"}},\"format\":\"jpg\",\"sha256\":\"9da340a8199fa01167b27143d7a7af9b10d438a6c094579a635ba1fbe0bb89e3\",\"size\":480,\"size_bytes\":40601},{\"format\":\"jxl\",\"sha256\":\"10536b8e460ca0f608c7ccaba3f342e549689d5934d908c2d955483493a6f22a\",\"size\":480,\"size_bytes\":22503},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"hash\":\"cdd11236951dc33d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2025-12-15T20:49:55.770526\"}},\"format\":\"avif\",\"sha256\":\"c9bf71d4b3f02ac412c83f4c5fb6e5cd627fcc6ccb5f836057ce3597fc20973b\",\"size\":800,\"size_bytes\":32867},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"hash\":\"cdd11236951dc33d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2025-12-15T20:49:55.830223\"}},\"format\":\"jpg\",\"sha256\":\"6e5095b4db9ef993822e14725c55803360c3d6129ac6082d2246be9bdd8173f7\",\"size\":800,\"size_bytes\":89103},{\"format\":\"jxl\",\"sha256\":\"72045523bdeb21b1be67ac14dce43b3ec71bda5146a85ee09811127fec0028b6\",\"size\":800,\"size_bytes\":46829},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"hash\":\"cdd11236951dc33d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2025-12-15T20:49:55.890130\"}},\"format\":\"avif\",\"sha256\":\"d19fd08dcfe68532bfabe5b7a187c5ae8ef67da4a27f9864f19f0e791fcadf82\",\"size\":2400,\"size_bytes\":663805},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"hash\":\"cdd11236951dc33d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2025-12-15T20:49:55.936274\"}},\"format\":\"jpg\",\"sha256\":\"4fb7ef9bb06b7b2a5b2e5ab52d7852f455a0a07e50871107259b2da3354f4d4f\",\"size\":2400,\"size_bytes\":856389},{\"format\":\"jxl\",\"sha256\":\"4f4e8c64ef7e6d5eaf0665675ba5360fcf716fe8f3469e3f6ba7035db74cd508\",\"size\":2400,\"size_bytes\":536812},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"hash\":\"cdd11236951dc33d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2025-12-15T20:49:56.018767\"}},\"format\":\"avif\",\"sha256\":\"4314207e47edcbf7489ae2d7b1d332b120af2513730e8e97abff70e5cdf87f52\",\"size\":3840,\"size_bytes\":1780742},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"hash\":\"cdd11236951dc33d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2025-12-15T20:49:56.033405\"}},\"format\":\"jpg\",\"sha256\":\"16cd45147d93fa1ba3c8bf65664d53e266cacb9c45d1578daf120018cb4965e7\",\"size\":3840,\"size_bytes\":2361304},{\"format\":\"jxl\",\"sha256\":\"d7467dbb9f9f23b3c10154d68dc11416970430361e0b3d9d1530ee18c19a96f1\",\"size\":3840,\"size_bytes\":1576001},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"cdd11236951dc33d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:34.949525\"}},\"format\":\"avif\",\"sha256\":\"b69986379c2de3ec90e3948412105c4ebe36f6e6878882fa147fdd58e0aa7f0a\",\"size\":5184,\"size_bytes\":2772335},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"cdd11236951dc33d\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:35.519472\"}},\"format\":\"jpg\",\"sha256\":\"7f69b306aa4dfeaf25c721847e83f4bd090dd8aff1ff0c85db67b4a484209eab\",\"size\":5184,\"size_bytes\":4240061},{\"format\":\"jxl\",\"sha256\":\"ab5e459748de695eaacc71d24a406058c9d5f68f24b5892c4b10f8342eddeaa3\",\"size\":5184,\"size_bytes\":2857426}],\"width\":5184},{\"apple_photos\":{\"uuid\":\"9C0D7B3B-2B07-46B9-AA01-2B41598A636D\"},\"cdn_base_path\":\"photos/2025/12/P1038616-9C0D7B3B\",\"date\":\"2025-12-16T02:25:42.174000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A large, patterned grasshopper with long antennae and spiny legs rests on a white surface, with a blurred wooden background.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"grasshopper\",\"window\",\"floor\",\"antenna\",\"leg\",\"wing\",\"eye\",\"body\",\"leg\",\"leg\",\"leg\",\"leg\",\"leg\",\"leg\",\"leg\",\"leg\",\"leg\",\"leg\",\"leg\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2025-12-15T20:51:49.898852\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9988604784011841,\"timestamp\":\"2025-12-15T20:50:26.954184\",\"variant_used\":{\"format\":\"jpg\",\"size\":3149}},\"llm_species_id_v1\":{\"confidence_1_to_100\":72,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.01566,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"5ce06c44c58e0b000981188a0788455325a5a302\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Very large romaleid grasshopper with long mottled yellow-brown tegmina, granulated crested pronotum, and robust body; this matches the Giant Grasshopper Tropidacris cristata, which is common in Costa Rica. Subspecies not clear from photo alone.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Tropidacris cristata\",\"species_binomial\":\"Tropidacris cristata\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:12:16.175146+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":1460,\"total_tokens\":2308},\"variant_used\":{\"format\":\"jpg\",\"size\":3149}},\"tree_of_life_v1\":{\"class\":\"Insecta\",\"common_name\":\"\",\"family\":\"Romaleidae\",\"genus\":\"Tropidacris\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Orthoptera\",\"phylum\":\"Arthropoda\",\"rank\":\"Rank.SPECIES\",\"score\":0.7241363525390625,\"species\":\"Tropidacris cristata\",\"species_epithet\":\"cristata\",\"timestamp\":\"2025-12-15T20:50:12.669586\",\"variant_used\":{\"format\":\"jpg\",\"size\":3149}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Insecta\",\"common_name\":\"\",\"family\":\"Romaleidae\",\"genus\":\"Tropidacris\",\"kingdom\":\"Animalia\",\"order\":\"Orthoptera\",\"phylum\":\"Arthropoda\",\"rank\":\"species\",\"score\":0.7241341471672058,\"species\":\"Tropidacris cristata\",\"species_epithet\":\"cristata\"},{\"class\":\"Insecta\",\"common_name\":\"\",\"family\":\"Tettigoniidae\",\"genus\":\"Typhoptera\",\"kingdom\":\"Animalia\",\"order\":\"Orthoptera\",\"phylum\":\"Arthropoda\",\"rank\":\"species\",\"score\":0.0704684779047966,\"species\":\"Typhoptera staudingeri\",\"species_epithet\":\"staudingeri\"},{\"class\":\"Insecta\",\"common_name\":\"\",\"family\":\"Tettigoniidae\",\"genus\":\"Typhoptera\",\"kingdom\":\"Animalia\",\"order\":\"Orthoptera\",\"phylum\":\"Arthropoda\",\"rank\":\"species\",\"score\":0.03171638026833534,\"species\":\"Typhoptera quadrituberculata\",\"species_epithet\":\"quadrituberculata\"},{\"class\":\"Insecta\",\"common_name\":\"\",\"family\":\"Romaleidae\",\"genus\":\"Tropidacris\",\"kingdom\":\"Animalia\",\"order\":\"Orthoptera\",\"phylum\":\"Arthropoda\",\"rank\":\"species\",\"score\":0.01034372765570879,\"species\":\"Tropidacris descampsi\",\"species_epithet\":\"descampsi\"},{\"class\":\"Insecta\",\"common_name\":\"\",\"family\":\"Tettigoniidae\",\"genus\":\"Holochlora\",\"kingdom\":\"Animalia\",\"order\":\"Orthoptera\",\"phylum\":\"Arthropoda\",\"rank\":\"species\",\"score\":0.009401057846844196,\"species\":\"Holochlora nigrotympana\",\"species_epithet\":\"nigrotympana\"},{\"class\":\"Insecta\",\"common_name\":\"\",\"family\":\"Romaleidae\",\"genus\":\"Tropidacris\",\"kingdom\":\"Animalia\",\"order\":\"Orthoptera\",\"phylum\":\"Arthropoda\",\"rank\":\"species\",\"score\":0.009326047264039516,\"species\":\"Tropidacris collaris\",\"species_epithet\":\"collaris\"}],\"class\":\"Insecta\",\"common_name\":\"\",\"embedding_key\":\"P1038616-9C0D7B3B\",\"family\":\"Romaleidae\",\"genus\":\"Tropidacris\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Orthoptera\",\"phylum\":\"Arthropoda\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.7241341471672058,\"species\":\"Tropidacris cristata\",\"species_epithet\":\"cristata\",\"timestamp\":\"2026-02-15T10:24:54.181110\",\"variant_used\":{\"format\":\"jpg\",\"size\":3149}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3149},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3149},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3149},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3149}},\"gallery_caption\":\"\",\"height\":2362,\"manual_description\":{\"source\":\"taxonomy_review_v1\",\"text\":\"A large, patterned grasshopper with long antennae and spiny legs rests on a white surface, with a blurred background.\",\"updated_at\":\"2026-02-15T17:11:41.431033+00:00\"},\"original_filename\":\"P1038616.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.621746+00:00\"},\"photos_uuid\":\"9C0D7B3B-2B07-46B9-AA01-2B41598A636D\",\"review_signoff\":{\"taxonomy\":{\"approved_at\":\"2026-02-15T17:12:47.007176+00:00\",\"reviewed_value_hash\":\"sha256:3c9204f8feb79b6fb794787efc82e8df22ba6d3b23a08d4c45874297b58b536f\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"bc42b629d42ec93e\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:34.038497\"}},\"format\":\"avif\",\"sha256\":\"497053077b207011846b7740f0430b3abc279d785bfbd58648092476bb60b5d2\",\"size\":480,\"size_bytes\":18469},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"bc42b629d42ec93e\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:34.087665\"}},\"format\":\"jpg\",\"sha256\":\"d52992213d20a3730c8658f47428df90f87395c3c72d3fde3a3fb50af899095f\",\"size\":480,\"size_bytes\":35981},{\"format\":\"jxl\",\"sha256\":\"072087d44cbc149b929fbd312c3547ca2c2f76308dd58bee8c66cd82e308f1cb\",\"size\":480,\"size_bytes\":21661},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"hash\":\"bc42b629d42ec93e\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2025-12-15T20:49:55.736336\"}},\"format\":\"avif\",\"sha256\":\"6937f842338e8d882d5fb47b4b937855d2071579464f9442f5a798618e9ac5a2\",\"size\":800,\"size_bytes\":51493},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"hash\":\"bc43b629d42ec13e\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2025-12-15T20:49:55.672193\"}},\"format\":\"jpg\",\"sha256\":\"728ee6e97993751e351ee0819a5a5aa7c32f39b26cde6453284f826bcfac3a03\",\"size\":800,\"size_bytes\":92382},{\"format\":\"jxl\",\"sha256\":\"bc55b7b5e717161a94d9a2674bc397e87a49cbae3c2659cd333de5e5c02e4cfa\",\"size\":800,\"size_bytes\":57514},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"hash\":\"bc42b629d42ec93e\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2025-12-15T20:49:55.804450\"}},\"format\":\"avif\",\"sha256\":\"9c1262c4c4e4d5b7a6aea52fccbdde027b5d4eb094ac69eec255253267ec9223\",\"size\":2400,\"size_bytes\":747449},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"hash\":\"bc42b629d42ec93e\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2025-12-15T20:49:55.766927\"}},\"format\":\"jpg\",\"sha256\":\"234e6e11c01ba8215d3e7ed9a8b6a38c782cd483ed78e291898c7f00ee7cc688\",\"size\":2400,\"size_bytes\":967082},{\"format\":\"jxl\",\"sha256\":\"b42cf29fd13e1628159827c4e6c75f52f7926536b101ce7c561df27bd684ead4\",\"size\":2400,\"size_bytes\":659860},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"hash\":\"bc42b629d42ec93e\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2025-12-15T20:49:55.937387\"}},\"format\":\"avif\",\"sha256\":\"1df8e213f59117ca9d15f9134d6a421d85c0294891af7353d6669ba1dbbfb2db\",\"size\":3149,\"size_bytes\":1090033},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"hash\":\"bc42b629d42ec93e\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2025-12-15T20:49:55.870680\"}},\"format\":\"jpg\",\"sha256\":\"f14e805f5e7ecb324ac2c5c9f94d354e49116d43e7fcd11f78b0ec9f0ad4fb4c\",\"size\":3149,\"size_bytes\":1631117},{\"format\":\"jxl\",\"sha256\":\"12a984cd9b0366d397ccac506d2f042304bad49008fa42e4373af61f99812925\",\"size\":3149,\"size_bytes\":1111942}],\"width\":3149},{\"apple_photos\":{\"ai_caption\":\"an iguana sitting on a dirt covered area\",\"labels\":[\"Animal\",\"Foliage\",\"Iguana\",\"Lizard\",\"Plant\",\"Reptile\",\"Scaled Reptile\"],\"uuid\":\"73CA61EE-6197-4CE0-908A-E62EBEBCDCA7\"},\"cdn_base_path\":\"photos/2025/12/P1038600-73CA61EE\",\"date\":\"2025-12-15T22:44:44.639000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A gray and black iguana rests on a patch of dirt, its spiny back and textured scales visible, with green foliage in the background.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"iguana\",\"dirt\",\"rock\",\"root\",\"leaf\",\"stem\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:15:28.766743\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9318070411682129,\"timestamp\":\"2026-02-15T01:14:18.387252\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":95,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.00598,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Large iguanid with strong dorsal crest and very spiny, banded tail; gray-black mottled body with dark crossbands matches Black Spiny-tailed Iguana common in Costa Rica; unlike green iguana’s smoother tail and different coloration.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Ctenosaura similis\",\"species_binomial\":\"Ctenosaura similis\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:40:17.778539+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":492,\"total_tokens\":1340},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Squamata\",\"common_name\":\"Black spiny-tailed iguana\",\"embedding_key\":\"P1038600-73CA61EE\",\"family\":\"Iguanidae\",\"genus\":\"Ctenosaura\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.796853244304657,\"species\":\"Ctenosaura similis\",\"species_epithet\":\"similis\",\"timestamp\":\"2026-02-15T01:13:43.696452\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Squamata\",\"common_name\":\"Black spiny-tailed iguana\",\"family\":\"Iguanidae\",\"genus\":\"Ctenosaura\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.796853244304657,\"species\":\"Ctenosaura similis\",\"species_epithet\":\"similis\"},{\"class\":\"Squamata\",\"common_name\":\"Black-chested spiny-tailed iguana\",\"family\":\"Iguanidae\",\"genus\":\"Ctenosaura\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.12207651883363724,\"species\":\"Ctenosaura melanosterna\",\"species_epithet\":\"melanosterna\"},{\"class\":\"Squamata\",\"common_name\":\"Utila spiny-tailed iguana\",\"family\":\"Iguanidae\",\"genus\":\"Ctenosaura\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.014384725131094456,\"species\":\"Ctenosaura bakeri\",\"species_epithet\":\"bakeri\"},{\"class\":\"Squamata\",\"common_name\":\"Five-keeled spiny-tailed iguana\",\"family\":\"Iguanidae\",\"genus\":\"Ctenosaura\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.00968208909034729,\"species\":\"Ctenosaura quinquecarinata\",\"species_epithet\":\"quinquecarinata\"},{\"class\":\"Squamata\",\"common_name\":\"Yucatán spinytail iguana\",\"family\":\"Iguanidae\",\"genus\":\"Cachryx\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.008966979570686817,\"species\":\"Cachryx defensor\",\"species_epithet\":\"defensor\"},{\"class\":\"Squamata\",\"common_name\":\"Campeche spiny-tailed iguana\",\"family\":\"Iguanidae\",\"genus\":\"Cachryx\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.006727496162056923,\"species\":\"Cachryx alfredschmidti\",\"species_epithet\":\"alfredschmidti\"}],\"class\":\"Squamata\",\"common_name\":\"Black spiny-tailed iguana\",\"embedding_key\":\"P1038600-73CA61EE\",\"family\":\"Iguanidae\",\"genus\":\"Ctenosaura\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.796853244304657,\"species\":\"Ctenosaura similis\",\"species_epithet\":\"similis\",\"timestamp\":\"2026-02-15T10:24:54.169954\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"manual_taxonomy\":{\"class\":\"Reptilia\",\"common_name\":\"Common Spiny-tailed Iguana\",\"family\":\"Iguanidae\",\"genus\":\"Ctenosaura\",\"kingdom\":\"Animalia\",\"order\":\"Squamata\",\"phylum\":\"Chordata\",\"species\":\"Ctenosaura similis\",\"species_epithet\":\"similis\"},\"original_filename\":\"P1038600.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.623271+00:00\"},\"photos_uuid\":\"73CA61EE-6197-4CE0-908A-E62EBEBCDCA7\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T17:56:29.222335+00:00\",\"reviewed_value_hash\":\"sha256:c02463f656a4130dba75529e25cf42d2c823f1b4079d26d571d312deae501bb7\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"a7174424daec3e0f\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:34.010081\"}},\"format\":\"avif\",\"sha256\":\"c8ea84895b0fc36e0fbd4e82c0e14044cedb335e12166fc74b2b74ae0b15b4e0\",\"size\":480,\"size_bytes\":64711},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"a7174424daec3e0f\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:34.076863\"}},\"format\":\"jpg\",\"sha256\":\"ce19e1621ac21164ba162bc85d3e1d727cefb1f216738a853e22be546e16f19a\",\"size\":480,\"size_bytes\":83415},{\"format\":\"jxl\",\"sha256\":\"1276d8bd206f2a57cfb693b728e3e107a1ee70de4b9d5abfc9bfe24bffaa6fc7\",\"size\":480,\"size_bytes\":50663},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"a7174424daec3e0f\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:58.634570\"}},\"format\":\"avif\",\"sha256\":\"484e9ea83f7ee059595269e540016954bed10e09071b1d80ef023636fa3746db\",\"size\":800,\"size_bytes\":154685},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"a7174424daec3e0f\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:58.497964\"}},\"format\":\"jpg\",\"sha256\":\"9c4cad73eb6bd60cfc1c67a3698a92f4f83370f9c8e8a9b79423da419f09511a\",\"size\":800,\"size_bytes\":206692},{\"format\":\"jxl\",\"sha256\":\"99233995fc7b1296e071e366a30e40936052f5ca6c8f4a97e547590db890f9f7\",\"size\":800,\"size_bytes\":121597},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"a7174424daec3e0f\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:58.697563\"}},\"format\":\"avif\",\"sha256\":\"cfcf52b7f6092ab49d4044c4a1380066c22fbe9fce1345dcac74fd812a8246c6\",\"size\":2400,\"size_bytes\":1144810},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"a7174424daec3e0f\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:58.655595\"}},\"format\":\"jpg\",\"sha256\":\"07a3e879efb5028ac6eec33fe9e6f1efead14656effd17961a5a19cd1dd0c788\",\"size\":2400,\"size_bytes\":1457579},{\"format\":\"jxl\",\"sha256\":\"45622d30838a976e027788d9bcf0f661452448fcc000d9a2939bc2163ab362dd\",\"size\":2400,\"size_bytes\":884014},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"a7174424daec3e0f\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:58.877589\"}},\"format\":\"avif\",\"sha256\":\"33d537a5c3cce91231ac31b9501a2814875cd5a59d0f97b303e025be5de81028\",\"size\":3840,\"size_bytes\":2512192},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"a7174424daec3e0f\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:59.003601\"}},\"format\":\"jpg\",\"sha256\":\"a64aa38638ff304663119f5b881f3958247d60c3bf074e9fd8a0e42d2e1009af\",\"size\":3840,\"size_bytes\":3373283},{\"format\":\"jxl\",\"sha256\":\"ff61b54c6b551ccf7446a5fc8c3df35706dd9294ef9a8c47f7071dba915916f1\",\"size\":3840,\"size_bytes\":2147420},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"a7174424daec3e0f\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:34.943316\"}},\"format\":\"avif\",\"sha256\":\"1b9e08f31a1d681fd2be5c8ac0c4bbcc63855da16e198c48df7654a46227502b\",\"size\":5184,\"size_bytes\":3737415},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"a7174424daec3e0f\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:35.631087\"}},\"format\":\"jpg\",\"sha256\":\"734a05cf253a213287692eb72c59f2e3924bd9e80ea4b8a7aefaf125bcd07554\",\"size\":5184,\"size_bytes\":5628771},{\"format\":\"jxl\",\"sha256\":\"c9a579943c1cd69419a12d81d353ed7314b4d136d9e2a9cf4db2c50e9f0b281e\",\"size\":5184,\"size_bytes\":3586319}],\"width\":5184},{\"apple_photos\":{\"ai_caption\":\"a bird perched on a branch of a tree\",\"labels\":[\"Accipitriformes\",\"Animal\",\"Beak\",\"Bird\",\"Branch\",\"Buzzard\",\"Eagle\",\"Hawk\",\"Plant\",\"Raptor\",\"Sokol\"],\"uuid\":\"12777E13-790A-47C1-AF63-71E936058840\"},\"cdn_base_path\":\"photos/2025/12/P1038586-12777E13\",\"date\":\"2025-12-15T22:42:33.231000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A large bird of prey perches on a tree branch, its head bowed and talons gripping the bark, against a muted gray sky.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"bird\",\"branch\",\"claw\",\"beak\",\"eye\",\"feather\",\"wing\",\"tail\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2026-02-15T01:15:07.436390\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9983148574829102,\"timestamp\":\"2026-02-15T01:14:18.372673\",\"variant_used\":{\"format\":\"jpg\",\"size\":1537}},\"llm_species_id_v1\":{\"confidence_1_to_100\":86,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.01299,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Pale buff head and underparts with slight streaking, dark brown mantle and wings, yellow facial skin and long legs; slim caracara shape. Lacks dark cap of Crested Caracara. Species common in Costa Rica.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Milvago chimachima\",\"species_binomial\":\"Milvago chimachima\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:40:20.195505+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":1193,\"total_tokens\":2041},\"variant_used\":{\"format\":\"jpg\",\"size\":1537}},\"tree_of_life_v1\":{\"class\":\"Aves\",\"common_name\":\"Yellow-headed caracara\",\"embedding_key\":\"P1038586-12777E13\",\"family\":\"Falconidae\",\"genus\":\"Milvago\",\"git_commit\":\"ce62732fce0c2b393505b8528dd86184af87d5a7\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Falconiformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.6470706462860107,\"species\":\"Milvago chimachima\",\"species_epithet\":\"chimachima\",\"timestamp\":\"2026-02-15T01:13:43.680957\",\"variant_used\":{\"format\":\"jpg\",\"size\":1537}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Yellow-headed caracara\",\"family\":\"Falconidae\",\"genus\":\"Milvago\",\"kingdom\":\"Animalia\",\"order\":\"Falconiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.6470706462860107,\"species\":\"Milvago chimachima\",\"species_epithet\":\"chimachima\"},{\"class\":\"Aves\",\"common_name\":\"White-throated caracara\",\"family\":\"Falconidae\",\"genus\":\"Phalcoboenus\",\"kingdom\":\"Animalia\",\"order\":\"Falconiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.08164303004741669,\"species\":\"Phalcoboenus albogularis\",\"species_epithet\":\"albogularis\"},{\"class\":\"Aves\",\"common_name\":\"Chimango Caracara\",\"family\":\"Falconidae\",\"genus\":\"Milvago\",\"kingdom\":\"Animalia\",\"order\":\"Falconiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.04807278886437416,\"species\":\"Milvago chimango\",\"species_epithet\":\"chimango\"},{\"class\":\"Aves\",\"common_name\":\"Crested Caracara\",\"family\":\"Falconidae\",\"genus\":\"Caracara\",\"kingdom\":\"Animalia\",\"order\":\"Falconiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.022869672626256943,\"species\":\"Caracara plancus\",\"species_epithet\":\"plancus\"},{\"class\":\"Aves\",\"common_name\":\"Guira cuckoo\",\"family\":\"Cuculidae\",\"genus\":\"Guira\",\"kingdom\":\"Animalia\",\"order\":\"Cuculiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.017152130603790283,\"species\":\"Guira guira\",\"species_epithet\":\"guira\"},{\"class\":\"Aves\",\"common_name\":\"Black Caracara\",\"family\":\"Falconidae\",\"genus\":\"Daptrius\",\"kingdom\":\"Animalia\",\"order\":\"Falconiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.015726957470178604,\"species\":\"Daptrius ater\",\"species_epithet\":\"ater\"}],\"class\":\"Aves\",\"common_name\":\"Yellow-headed caracara\",\"embedding_key\":\"P1038586-12777E13\",\"family\":\"Falconidae\",\"genus\":\"Milvago\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Falconiformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.6470706462860107,\"species\":\"Milvago chimachima\",\"species_epithet\":\"chimachima\",\"timestamp\":\"2026-02-15T10:24:54.156869\",\"variant_used\":{\"format\":\"jpg\",\"size\":1537}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":1537},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":1537},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":1537},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":1537}},\"gallery_caption\":\"\",\"height\":1153,\"original_filename\":\"P1038586.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.624758+00:00\"},\"photos_uuid\":\"12777E13-790A-47C1-AF63-71E936058840\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T13:34:09.468123+00:00\",\"reviewed_value_hash\":\"sha256:b18719e1c10767925a9c48e8963d1f92179faa79898b788079a004e1ec8d867d\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"},\"taxonomy\":{\"approved_at\":\"2026-02-15T13:34:11.801535+00:00\",\"reviewed_value_hash\":\"sha256:f8e024dbe4eaa86ff60c79550d9f589d1389e1f536e96cb5ff9abe787717b45d\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"ed0d97d2eab65804\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:35.409630\"}},\"format\":\"avif\",\"sha256\":\"fe77bd62f4a2edf3d3ff96f2bf8e179163d7766de5403a7209a08806c729217b\",\"size\":480,\"size_bytes\":27158},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"ed0d97d2eab65804\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:33.956668\"}},\"format\":\"jpg\",\"sha256\":\"13d90ce1b6d5b5a1758a016ca48398a81641c54b6c7201da0ebfd816f49ff317\",\"size\":480,\"size_bytes\":43690},{\"format\":\"jxl\",\"sha256\":\"4d8008e7c3ba4e79d2f86b3d9e1490ecfed0ccd8ea6473f11f84833342a8298a\",\"size\":480,\"size_bytes\":27090},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"ed9d97d2ea964804\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:57.679435\"}},\"format\":\"avif\",\"sha256\":\"4b09c7dc3f0be93affe002649d7733c47d1c8e9cc58654505734f90c1374a47d\",\"size\":800,\"size_bytes\":63116},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"ed9d97d2ea964804\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:57.679164\"}},\"format\":\"jpg\",\"sha256\":\"7b3fddcd35722a720c240e236a9bad6ba776e02f3747abe7ef34988389b811cb\",\"size\":800,\"size_bytes\":104762},{\"format\":\"jxl\",\"sha256\":\"d1387f6bea6b9cf803ff730b8fbde270a2ef0c43b592b3d0fc901a99fb44b09a\",\"size\":800,\"size_bytes\":65419},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"ed9d97d2ea964804\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:58.568199\"}},\"format\":\"avif\",\"sha256\":\"ad30dc185ddf276c66a2e12b5b89513e7fd5b27eb8da480c555b6322162ca4a6\",\"size\":1537,\"size_bytes\":183693},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"de119c63b33c27a69655d27071c039f8c5c6048c\",\"hash\":\"ed9d97d2ea964804\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-15T01:12:58.492664\"}},\"format\":\"jpg\",\"sha256\":\"ea51aa2332216fbba92776b268c49d9c4530572b737618853df17c6422870809\",\"size\":1537,\"size_bytes\":343592},{\"format\":\"jxl\",\"sha256\":\"68e6c1a9e8cd9d357baca162f434653d058f324711a3e74c151cdc51f7282afc\",\"size\":1537,\"size_bytes\":206851}],\"width\":1537},{\"apple_photos\":{\"uuid\":\"E0BEA982-7824-4D40-A6D5-6CF75A1220DE\"},\"cdn_base_path\":\"photos/2025/12/P1038573-E0BEA982\",\"date\":\"2025-12-15T22:39:46.992000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A brown pelican perches on a bare tree branch, its long beak pointing downward and its wings folded against its body. The background is a soft, out-of-focus gray sky with faint sil\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"pelican\",\"branch\",\"tree limb\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2025-12-15T20:51:02.917449\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9978418350219727,\"timestamp\":\"2025-12-15T20:50:26.906950\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":95,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.00783,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Large pelican with long pouched bill, overall brown body and whitish belly, typical of Brown Pelican; this is the common pelican on Costa Rica’s coasts. Subspecies not safely told from photo.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Pelecanus occidentalis\",\"species_binomial\":\"Pelecanus occidentalis\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:40:10.799426+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":677,\"total_tokens\":1525},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Aves\",\"common_name\":\"Brown pelican\",\"family\":\"Pelecanidae\",\"genus\":\"Pelecanus\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.9680027365684509,\"species\":\"Pelecanus occidentalis\",\"species_epithet\":\"occidentalis\",\"timestamp\":\"2025-12-15T20:50:12.618352\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Brown pelican\",\"family\":\"Pelecanidae\",\"genus\":\"Pelecanus\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.9680029153823853,\"species\":\"Pelecanus occidentalis\",\"species_epithet\":\"occidentalis\"},{\"class\":\"Aves\",\"common_name\":\"Peruvian Pelican\",\"family\":\"Pelecanidae\",\"genus\":\"Pelecanus\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.005988032557070255,\"species\":\"Pelecanus thagus\",\"species_epithet\":\"thagus\"},{\"class\":\"Aves\",\"common_name\":\"\",\"family\":\"\",\"genus\":\"Cyrtopelicanus\",\"kingdom\":\"Animalia\",\"order\":\"\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0011178537970408797,\"species\":\"Cyrtopelicanus Pelecanus halieus\",\"species_epithet\":\"Pelecanus halieus\"},{\"class\":\"Dinophyceae\",\"common_name\":\"\",\"family\":\"Brachidiniaceae\",\"genus\":\"Karenia\",\"kingdom\":\"Chromista\",\"order\":\"Gymnodiniales\",\"phylum\":\"Myzozoa\",\"rank\":\"species\",\"score\":0.0006462882738560438,\"species\":\"Karenia brevis\",\"species_epithet\":\"brevis\"},{\"class\":\"Aves\",\"common_name\":\"American White Pelican\",\"family\":\"Pelecanidae\",\"genus\":\"Pelecanus\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.00042821624083444476,\"species\":\"Pelecanus erythrorhynchos\",\"species_epithet\":\"erythrorhynchos\"},{\"class\":\"Aves\",\"common_name\":\"Red-footed booby\",\"family\":\"Sulidae\",\"genus\":\"Sula\",\"kingdom\":\"Animalia\",\"order\":\"Suliformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.00033124088076874614,\"species\":\"Sula sula\",\"species_epithet\":\"sula\"}],\"class\":\"Aves\",\"common_name\":\"Brown pelican\",\"embedding_key\":\"P1038573-E0BEA982\",\"family\":\"Pelecanidae\",\"genus\":\"Pelecanus\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.9680029153823853,\"species\":\"Pelecanus occidentalis\",\"species_epithet\":\"occidentalis\",\"timestamp\":\"2026-02-15T10:24:54.135352\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3888,\"manual_description\":{\"source\":\"taxonomy_review_v1\",\"text\":\"A brown pelican perches on a bare tree branch, its long beak pointing downward and its wings folded against its body. The background is a soft, out-of-focus gray sky.\",\"updated_at\":\"2026-02-15T19:29:22.328287+00:00\"},\"original_filename\":\"P1038573.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.626461+00:00\"},\"photos_uuid\":\"E0BEA982-7824-4D40-A6D5-6CF75A1220DE\",\"review_signoff\":{\"taxonomy\":{\"approved_at\":\"2026-02-15T19:29:25.930643+00:00\",\"reviewed_value_hash\":\"sha256:ab7b395910d725d690464396832cb887a7c32f6b0e3851df80b6576c201b0bc5\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"a49b59fc709149a7\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:34.078477\"}},\"format\":\"avif\",\"sha256\":\"d28da9a9892e278f440013529101e4b81ca293f2d6783f1dc8b3b6e11471d324\",\"size\":480,\"size_bytes\":19108},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"a49b59fc709149a7\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:34.098371\"}},\"format\":\"jpg\",\"sha256\":\"b80a5533ea5d5d9d70ed40df0d53281ad8f034c1bbb35ee6540dfd9e9af12e63\",\"size\":480,\"size_bytes\":37876},{\"format\":\"jxl\",\"sha256\":\"5c4071ebb211270a07dac2bb36226d1fb878b0c3cc558b7d5e5e84e24d17d67a\",\"size\":480,\"size_bytes\":22472},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"hash\":\"a49b59fc709149a7\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2025-12-15T20:49:54.284471\"}},\"format\":\"avif\",\"sha256\":\"66dd0bcd860367f5d0103275ea6fb0672ed818f8a651cc4e7a1fbe2f57c7999d\",\"size\":800,\"size_bytes\":37229},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"hash\":\"a49b59fc709149a7\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2025-12-15T20:49:54.716208\"}},\"format\":\"jpg\",\"sha256\":\"b2baeb2362526a4d58464bcc0893d7b0f7c4f973950210a657e2e46f3b1c0aca\",\"size\":800,\"size_bytes\":81887},{\"format\":\"jxl\",\"sha256\":\"fd55d5875f9e5fade17bb1b42a3fb7a389908c0f2371b1b0d79f6ab12bf8d900\",\"size\":800,\"size_bytes\":44256},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"hash\":\"a49b59fc709149a7\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2025-12-15T20:49:54.962860\"}},\"format\":\"avif\",\"sha256\":\"1cbf3ecb872ecefe2b603a8d4a72096e6637050fc9f2dcfc72f175659d17fc9d\",\"size\":2400,\"size_bytes\":206426},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"hash\":\"a49b59fc709149a7\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2025-12-15T20:49:54.982441\"}},\"format\":\"jpg\",\"sha256\":\"da9e14836e1be251f0c1ad161df1729da45ac4ee348729fd1e4c89f8fe0e24fb\",\"size\":2400,\"size_bytes\":596671},{\"format\":\"jxl\",\"sha256\":\"fa983e3c1bc983a35784ce1bb4d0e7fecc88e51f41ee57f2f6a5e977786796c5\",\"size\":2400,\"size_bytes\":305642},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"hash\":\"a49b59fc709149a7\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2025-12-15T20:49:55.454949\"}},\"format\":\"avif\",\"sha256\":\"557ffd9e275cd5b41f04e6a9adb5208d1ede67657b844487ca002e5d14f2ee12\",\"size\":3840,\"size_bytes\":572954},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"hash\":\"a49b59fc709149a7\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2025-12-15T20:49:55.537382\"}},\"format\":\"jpg\",\"sha256\":\"90a4e9aca5992cbb24608b3da9e3a2909d7ca69b037c84e6f818c5af9dc62ecf\",\"size\":3840,\"size_bytes\":1597400},{\"format\":\"jxl\",\"sha256\":\"89c815fafafc2cc0382e2ed4ebb68ec974cdd3ad988f12ffbaca98a1a203cfcb\",\"size\":3840,\"size_bytes\":907401},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"a49b59fc709149a7\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:34.617500\"}},\"format\":\"avif\",\"sha256\":\"a4136750378e08c41c2522befbb3da054741ee3218fd56a2bf37af0ee34bda76\",\"size\":5184,\"size_bytes\":1084002},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"a49b59fc709149a7\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:35.278705\"}},\"format\":\"jpg\",\"sha256\":\"ab0ef2cbebe038438765f71bb974674065b0929ad866e40be6e1f45175488bf6\",\"size\":5184,\"size_bytes\":2781296},{\"format\":\"jxl\",\"sha256\":\"e612a17c797898cebc22da413dd686aa2feeee1eddc5419857483756f577ec3d\",\"size\":5184,\"size_bytes\":1680636}],\"width\":5184},{\"apple_photos\":{\"uuid\":\"1C60BA0F-12D0-4A57-9E6B-4683047BC62A\"},\"cdn_base_path\":\"photos/2025/12/P1038567-1C60BA0F\",\"date\":\"2025-12-15T22:38:15.376000+01:00\",\"enrichment\":{\"description_v1\":{\"description\":\"A group of small white and gray birds perches on dark, jagged rocks beside the ocean, with a single large brown pelican standing on a separate rock formation nearby.\",\"description_prompt\":\"\\n You write neutral, factual alt text for accessibility.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: A brown dog lies on a gray sofa in a living room.\\n\\n Example 2\\n Input: [image of a city street with cars and people]\\n Output: Cars and pedestrians move along a city street lined with buildings.\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: A lake sits in front of a mountain under a cloudy sky.\\n\\n Now write the output for the next input.\\n\\n Input: [this image]\\n Output:\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"library\":\"mlx-vlm\",\"model\":\"mlx-community/Qwen3-VL-4B-Instruct-4bit\",\"tags\":[\"rock\",\"bird\",\"bird\",\"bird\",\"bird\",\"bird\",\"bird\",\"bird\",\"bird\",\"bird\",\"bird\",\"bird\",\"bird\",\"bird\",\"bird\",\"bird\",\"bird\",\"bird\",\"bird\",\"bird\"],\"tags_prompt\":\"\\n You extract a list of concrete visual objects from an image.\\n\\n Rules:\\n - Only list objects that are directly visible.\\n - Use simple nouns only.\\n - No category labels (e.g., animals, plants, natural elements).\\n - No abstract concepts, no activities, no interpretations.\\n - No negatives (e.g., “no buildings”).\\n - No adjectives unless it is a simple color adjective.\\n - Output a comma-separated list.\\n\\n Example 1\\n Input: [image of a dog lying on a sofa]\\n Output: dog, sofa, cushions, blanket\\n\\n Example 2\\n Input: [image of a busy city street]\\n Output: cars, people, buildings, traffic lights, crosswalk\\n\\n Example 3\\n Input: [image of a mountain and a lake]\\n Output: lake, mountain, trees, sky, clouds\\n\\n Now extract the list for this image.\\n Input: [this image]\\n Output:\\n \",\"timestamp\":\"2025-12-15T20:50:47.869255\",\"variant_used\":{\"format\":\"jpg\",\"size\":800}},\"individual_vs_group_v1\":{\"classification\":\"individual\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"score\":0.9251629710197449,\"timestamp\":\"2025-12-15T20:50:26.879093\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"llm_species_id_v1\":{\"confidence_1_to_100\":78,\"config_hash\":\"9d3056f94f2ac75d302ce98ff98fd7b34e7fff6eab453a73df315b86143e3889\",\"cost\":{\"cached_input_rate_per_mtok\":0.125,\"estimated_cost_usd\":0.017449999999999997,\"input_rate_per_mtok\":1.25,\"output_rate_per_mtok\":10,\"pricing_snapshot_sha256\":\"204532c7ea4cc437e418756d4b174cae83e28b4c2664a9945e9ded4d61dad5e1\",\"pricing_updated_at\":\"2025-12-17\"},\"git_commit\":\"bd3865c6ce291afccdb8a74b6a6fe19f21ba7a54\",\"location_input\":{\"label\":\"costa rica\",\"region\":\"costa rica\"},\"location_input_hash\":\"sha256:1c204c1e005b34d88bbe07a9e7eae74c3e10132d175dd4cf9045f05f40fd5b49\",\"model\":\"gpt-5\",\"prompt_sha256\":\"0c7ce30cb553f6ee3904dfaf1fa1ce28dbedfdef0a3ee3abb98445e0dc88d3db\",\"prompt_version\":\"2026-02-16-v2\",\"rationale\":\"Group of medium-large terns with thick orange bills and partial black caps (nonbreeding), pale gray upperparts, roosting on coastal rocks; Royal Tern is common on Costa Rica coasts and matches these features.\",\"schema_sha256\":\"1ec2d6744b6d74e5f5cc44e3e89c3b5e19c5cf78c26f3e242cfbdb0f6e0abb03\",\"schema_version\":\"2\",\"scientific_name_most_specific\":\"Thalasseus maximus\",\"species_binomial\":\"Thalasseus maximus\",\"taxon_rank\":\"species\",\"timestamp\":\"2026-02-15T17:40:23.884081+00:00\",\"usage\":{\"cached_input_tokens\":0,\"input_tokens\":848,\"output_tokens\":1639,\"total_tokens\":2487},\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v1\":{\"class\":\"Aves\",\"common_name\":\"Cabot's tern\",\"family\":\"Laridae\",\"genus\":\"Thalasseus\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Charadriiformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"score\":0.47129499912261963,\"species\":\"Thalasseus acuflavidus\",\"species_epithet\":\"acuflavidus\",\"timestamp\":\"2025-12-15T20:50:12.565893\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}},\"tree_of_life_v2\":{\"candidates\":[{\"class\":\"Aves\",\"common_name\":\"Cabot's tern\",\"family\":\"Laridae\",\"genus\":\"Thalasseus\",\"kingdom\":\"Animalia\",\"order\":\"Charadriiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.47128912806510925,\"species\":\"Thalasseus acuflavidus\",\"species_epithet\":\"acuflavidus\"},{\"class\":\"Aves\",\"common_name\":\"Elegant Tern\",\"family\":\"Laridae\",\"genus\":\"Thalasseus\",\"kingdom\":\"Animalia\",\"order\":\"Charadriiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.25870460271835327,\"species\":\"Thalasseus elegans\",\"species_epithet\":\"elegans\"},{\"class\":\"Aves\",\"common_name\":\"Royal Tern\",\"family\":\"Laridae\",\"genus\":\"Thalasseus\",\"kingdom\":\"Animalia\",\"order\":\"Charadriiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.1271975189447403,\"species\":\"Thalasseus maximus\",\"species_epithet\":\"maximus\"},{\"class\":\"Aves\",\"common_name\":\"Sandwich Tern\",\"family\":\"Laridae\",\"genus\":\"Thalasseus\",\"kingdom\":\"Animalia\",\"order\":\"Charadriiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.0504053458571434,\"species\":\"Thalasseus sandvicensis\",\"species_epithet\":\"sandvicensis\"},{\"class\":\"Aves\",\"common_name\":\"Forster's tern\",\"family\":\"Laridae\",\"genus\":\"Sterna\",\"kingdom\":\"Animalia\",\"order\":\"Charadriiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.011722762137651443,\"species\":\"Sterna forsteri\",\"species_epithet\":\"forsteri\"},{\"class\":\"Aves\",\"common_name\":\"Chinese crested tern\",\"family\":\"Laridae\",\"genus\":\"Thalasseus\",\"kingdom\":\"Animalia\",\"order\":\"Charadriiformes\",\"phylum\":\"Chordata\",\"rank\":\"species\",\"score\":0.008801405318081379,\"species\":\"Thalasseus bernsteini\",\"species_epithet\":\"bernsteini\"}],\"class\":\"Aves\",\"common_name\":\"Cabot's tern\",\"embedding_key\":\"P1038567-1C60BA0F\",\"family\":\"Laridae\",\"genus\":\"Thalasseus\",\"git_commit\":\"6682a244f34070333be7185e47831ccfe98e0b34\",\"k_requested\":6,\"kingdom\":\"Animalia\",\"library\":\"pybioclip\",\"library_version\":\"2.1.1\",\"model\":\"hf-hub:imageomics/bioclip\",\"order\":\"Charadriiformes\",\"phylum\":\"Chordata\",\"rank\":\"Rank.SPECIES\",\"schema_version\":2,\"score\":0.47128912806510925,\"species\":\"Thalasseus acuflavidus\",\"species_epithet\":\"acuflavidus\",\"timestamp\":\"2026-02-15T10:24:54.122975\",\"variant_used\":{\"format\":\"jpg\",\"size\":3840}}},\"enrichment_sources\":{\"description_v1\":{\"format\":\"jpg\",\"size\":800},\"individual_vs_group_v1\":{\"format\":\"jpg\",\"size\":3840},\"llm_species_id_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v1\":{\"format\":\"jpg\",\"size\":3840},\"tree_of_life_v2\":{\"format\":\"jpg\",\"size\":3840}},\"gallery_caption\":\"\",\"height\":3146,\"manual_taxonomy\":{\"class\":\"Aves\",\"common_name\":\"Brown pelican\",\"family\":\"Pelecanidae\",\"genus\":\"Pelecanus\",\"kingdom\":\"Animalia\",\"order\":\"Pelecaniformes\",\"phylum\":\"Chordata\",\"species\":\"Pelecanus occidentalis\",\"species_epithet\":\"occidentalis\"},\"original_filename\":\"P1038567.JPG\",\"photo_location\":{\"label\":\"Costa Rica\",\"region\":\"Costa Rica\",\"source\":\"gallery_bulk_set_v1\",\"updated_at\":\"2026-02-15T14:52:01.628124+00:00\"},\"photos_uuid\":\"1C60BA0F-12D0-4A57-9E6B-4683047BC62A\",\"review_signoff\":{\"description\":{\"approved_at\":\"2026-02-15T14:19:13.484675+00:00\",\"reviewed_value_hash\":\"sha256:03abc6879c1912a6f6016923f8d7fc04f5b9e9741a0d6a1c4760b966b76b5573\",\"source\":\"taxonomy_review_v1\",\"status\":\"approved\"}},\"variants\":[{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d9a62459de26195e\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:33.536162\"}},\"format\":\"avif\",\"sha256\":\"f1672f51e7827b8085dd6ea7e269497b2d2944880d4d85c121b527b298b88a33\",\"size\":480,\"size_bytes\":59072},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d9e62459da26195e\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:33.600757\"}},\"format\":\"jpg\",\"sha256\":\"95fc507b0b93960475c55fc5fe3ee94a9b6037fe3ae64b21d699efb95e9b445f\",\"size\":480,\"size_bytes\":76903},{\"format\":\"jxl\",\"sha256\":\"fd258121471260c1abde4395e57aa1d86e84c81b4682c44404ed29b968455f58\",\"size\":480,\"size_bytes\":46247},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"hash\":\"d9e62459da26195e\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2025-12-15T20:49:54.337112\"}},\"format\":\"avif\",\"sha256\":\"245883e3e99b52ffd4d1ef8c3b8dd4c7df1a3803fc6ad1cef231bd75242442e3\",\"size\":800,\"size_bytes\":144147},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"hash\":\"d9e62459da26195e\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2025-12-15T20:49:54.391318\"}},\"format\":\"jpg\",\"sha256\":\"89d84c9455079fe71d8e457b53de5cbd98fd0cb48049d9cbfd72ce30b869feb5\",\"size\":800,\"size_bytes\":194162},{\"format\":\"jxl\",\"sha256\":\"4b127ad42e9e17d3a221befd1af9625d15442b87a1c81a3a45db97e0ba09a2fa\",\"size\":800,\"size_bytes\":113880},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"hash\":\"d9a62459de26195e\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2025-12-15T20:49:54.271083\"}},\"format\":\"avif\",\"sha256\":\"67999b7558d653ab016218de5eed549781e1178aa055767a3f109940b08310bf\",\"size\":2400,\"size_bytes\":905692},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"hash\":\"d9a62459de26195e\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2025-12-15T20:49:54.287799\"}},\"format\":\"jpg\",\"sha256\":\"2a61582eb4d55d6a9da279fdca4c0458cf93012ae894e152571080e9f18e93fb\",\"size\":2400,\"size_bytes\":1311048},{\"format\":\"jxl\",\"sha256\":\"fbf2d57e3558cdebb16edb60d323184980c2148887f7e572737e9cf85953d4c2\",\"size\":2400,\"size_bytes\":750977},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"hash\":\"d9a62459de26195e\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2025-12-15T20:49:54.696262\"}},\"format\":\"avif\",\"sha256\":\"46e955994415a1b981a731167130200f3732baefdefc3887907c12e65137cba3\",\"size\":3840,\"size_bytes\":1780416},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"1eaf9534e4ed2b7ef4134caf9d3131d1ac91d68d\",\"hash\":\"d9a62459de26195e\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2025-12-15T20:49:54.576846\"}},\"format\":\"jpg\",\"sha256\":\"0ac8bd279e33fd936ce51a22b3175f9da6a732700cbf3ac92ba457a6f3c5e2f7\",\"size\":3840,\"size_bytes\":2860744},{\"format\":\"jxl\",\"sha256\":\"9605246e5b5bf0f01914a7030dd5c4912d8d59b52363f5f8f0c5e079afd64b56\",\"size\":3840,\"size_bytes\":1653565},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d9a62459de26195e\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:33.868277\"}},\"format\":\"avif\",\"sha256\":\"86acd4f4b1477cceee03e9719b1ea7ef587fd2966172399e93866e7f948d45c6\",\"size\":4194,\"size_bytes\":2084139},{\"enrichment\":{\"perceptual_hash_v1\":{\"algorithm\":\"phash\",\"git_commit\":\"4738aa36973c85e5f72667f351cd5eb234b01f06\",\"hash\":\"d9a62459de26195e\",\"library\":\"imagehash\",\"library_version\":\"4.3.2\",\"timestamp\":\"2026-02-19T00:19:34.001357\"}},\"format\":\"jpg\",\"sha256\":\"3b20fcf738fb15e46234eb84fdfadb795f9f03fd271dc759b3831f683f3508f1\",\"size\":4194,\"size_bytes\":3314314},{\"format\":\"jxl\",\"sha256\":\"7c24bcdd1d843bc844dd66f7ed26788b3edaf55e3395f168fdae5e50ec23461f\",\"size\":4194,\"size_bytes\":1981614}],\"width\":4194}],\"mode\":\"embedded\",\"photoParam\":\"photo\",\"showFooter\":false,\"showTaxonomySidebar\":false}"&lt;/script>
 &lt;/div></description></item><item><title>LibImageQuant.jl</title><link>https://ericphanson.com/blog/2025/libimagequant.jl/</link><pubDate>Mon, 01 Dec 2025 00:00:00 +0000</pubDate><guid>https://ericphanson.com/blog/2025/libimagequant.jl/</guid><description>&lt;!-- source_hash: 979e250479f12731cd621cc564d0be5d7e1afc9ac5da1fdf116bbe3b49179ae4 -->

&lt;nav id="TOC" role="doc-toc">
&lt;ul>
&lt;li>&lt;a href="#color-quantization" id="toc-color-quantization">Color
quantization&lt;/a>&lt;/li>
&lt;li>&lt;a href="#usage" id="toc-usage">Usage&lt;/a>&lt;/li>
&lt;li>&lt;a href="#examples" id="toc-examples">Examples&lt;/a>&lt;/li>
&lt;li>&lt;a
href="#are-there-clear-breakpoints-in-file-size-as-you-quantize-further"
id="toc-are-there-clear-breakpoints-in-file-size-as-you-quantize-further">Are
there clear breakpoints in file size as you quantize further?&lt;/a>&lt;/li>
&lt;li>&lt;a href="#beyond-png" id="toc-beyond-png">Beyond PNG&lt;/a>&lt;/li>
&lt;/ul>
&lt;/nav>

&lt;div class="note-block">
&lt;div class="note-content">
&lt;p>This post is cross-posted from the Julia language community’s
Discourse forum. See &lt;a
href="https://discourse.julialang.org/t/ann-libimagequant-jl-smaller-pngs-via-color-quantization/134252">here&lt;/a>
for the original post where you can read and leave comments.&lt;/p>&lt;/div>
&lt;/div>
&lt;p>&lt;a
href="https://github.com/ImageOptim/libimagequant">libimagequant&lt;/a> is
a GPL Rust library (originally C, ported to rust by the maintainers)
which performs color quantization (available from the command line as &lt;a
href="https://pngquant.org/">pngquant&lt;/a>). I got it building with
Binary Builder and wrote a small Julia wrapper called &lt;a
href="https://github.com/ericphanson/LibImageQuant.jl">LibImageQuant.jl&lt;/a>
to make it easier (and slightly more efficient) to use from Julia.
Instead of saving a PNG to disk and then calling &lt;code>pngquant&lt;/code>,
you can do it in-memory with
&lt;code>quantize_image(figure_or_matrix)&lt;/code>.&lt;/p></description></item><item><title>Birb Stalker (2021)</title><link>https://ericphanson.com/blog/2025/birb-stalker-2021/</link><pubDate>Mon, 24 Nov 2025 00:00:00 +0000</pubDate><guid>https://ericphanson.com/blog/2025/birb-stalker-2021/</guid><description>&lt;p>In 2021, I had a project I called &amp;ldquo;birb stalker&amp;rdquo;. It was kind of a weird project. I was interested in taking &amp;ldquo;paparazzi&amp;rdquo; photos of birds, in which they were potentially partially obscured, etc, to emphasize the role of the photographer and that photos always are part of some physical context, which in many cases we try to omit. I had a couple fuzzy thoughts circling my head at the time:&lt;/p></description></item><item><title>Counting short package names</title><link>https://ericphanson.com/blog/2025/counting-short-package-names/</link><pubDate>Sun, 16 Nov 2025 00:00:00 +0000</pubDate><guid>https://ericphanson.com/blog/2025/counting-short-package-names/</guid><description>&lt;!-- source_hash: 4f6ba0f2a7b5da936b85849cad594dea1f2aef75a8d69b79636f8d840f15f145 -->

&lt;nav id="TOC" role="doc-toc">
&lt;ul>
&lt;li>&lt;a href="#introduction" id="toc-introduction">Introduction&lt;/a>&lt;/li>
&lt;li>&lt;a href="#mixed-integer-linear-programs"
id="toc-mixed-integer-linear-programs">Mixed-integer linear
programs&lt;/a>&lt;/li>
&lt;li>&lt;a href="#an-analytical-solution-to-a-simpler-problem"
id="toc-an-analytical-solution-to-a-simpler-problem">An analytical
solution to a simpler problem&lt;/a>&lt;/li>
&lt;li>&lt;a
href="#finding-676-3-letter-package-names-satisfying-our-pairwise-dl-distance-constraint"
id="toc-finding-676-3-letter-package-names-satisfying-our-pairwise-dl-distance-constraint">Finding
676 3-letter package names satisfying our pairwise DL distance
constraint&lt;/a>&lt;/li>
&lt;li>&lt;a href="#notes" id="toc-notes">Notes&lt;/a>&lt;/li>
&lt;/ul>
&lt;/nav>

&lt;h2 id="introduction">Introduction&lt;/h2>
&lt;p>In my post yesterday &lt;a
href="https://ericphanson.com/blog/2025/thoughts-on-being-a-package-registry-maintainer/">&lt;em>Thoughts
on being a package registry maintainer&lt;/em>&lt;/a>, I discussed package
registration moderation, exercise of power, and some historical
moderation decisions. One piece of it was about Julia packages with
3-letter names, and in particular the question of how many such packages
there can be. I
wrote&lt;span>&lt;label for="sn-1" class="margin-toggle sidenote-number">&lt;/label>&lt;input type="checkbox" id="sn-1" class="margin-toggle"/>&lt;span class="sidenote">lightly edited here for clarity&lt;/span>&lt;/span>:&lt;/p></description></item><item><title>Thoughts on being a package registry maintainer</title><link>https://ericphanson.com/blog/2025/thoughts-on-being-a-package-registry-maintainer/</link><pubDate>Sat, 15 Nov 2025 00:00:00 +0000</pubDate><guid>https://ericphanson.com/blog/2025/thoughts-on-being-a-package-registry-maintainer/</guid><description>&lt;!-- source_hash: cb0b9641ee70cce4aac75a5cd739f370098d2356ece51ddb502e107198707c3f -->

&lt;nav id="TOC" role="doc-toc">
&lt;ul>
&lt;li>&lt;a href="#introduction" id="toc-introduction">Introduction&lt;/a>&lt;/li>
&lt;li>&lt;a
href="#how-did-i-become-a-maintainer-should-i-exercise-that-power"
id="toc-how-did-i-become-a-maintainer-should-i-exercise-that-power">How
did I become a maintainer &amp;amp; should I exercise that power?&lt;/a>&lt;/li>
&lt;li>&lt;a href="#what-factors-should-i-consider-in-registration-decisions"
id="toc-what-factors-should-i-consider-in-registration-decisions">What
factors should I consider in registration decisions?&lt;/a>&lt;/li>
&lt;li>&lt;a href="#three-letter-package-names"
id="toc-three-letter-package-names">Three-letter package names&lt;/a>&lt;/li>
&lt;li>&lt;a href="#do-we-need-a-system-for-this"
id="toc-do-we-need-a-system-for-this">Do we need a &lt;em>system&lt;/em> for
this?&lt;/a>&lt;/li>
&lt;/ul>
&lt;/nav>

&lt;h2 id="introduction">Introduction&lt;/h2>
&lt;p>&lt;a href="https://julialang.org/">Julia&lt;/a> is a modern programming
language with a fairly large package ecosystem (currently ~10k packages)
that provide all kinds of useful functionality to build on. Packages are
&lt;em>registered&lt;/em> in a global registry called &lt;a
href="https://github.com/JuliaRegistries/General">General&lt;/a>, which is
installed by default by the package manager, allowing users to easily
add and use registered packages.&lt;/p></description></item><item><title>Bus factor 0</title><link>https://ericphanson.com/blog/2025/bus-factor-0/</link><pubDate>Tue, 28 Oct 2025 00:00:00 +0000</pubDate><guid>https://ericphanson.com/blog/2025/bus-factor-0/</guid><description>&lt;!-- source_hash: a1e33e8c53e3e3943cedf8512fd440a0f0cf176f1d077b624b7610e368fda0f9 -->

&lt;p>“Bus factor” is a somewhat morbid term used in software engineering
(and possibly elsewhere), meaning the number of people who would have to
get “hit by a bus” for a project to fall apart. In programming terms,
it’s often used to mean the number of people who understand a codebase.
It’s also called the “lottery factor” sometimes to try to have a less
morbid spin; the number of people who would win the lottery and quit
working. That doesn’t quite feel appropriate for open source projects
done by volunteers, because potentially those people would not stop
working on a project just because of petty concerns like winning the
lottery (lol).&lt;/p></description></item><item><title>I can't stop vibe-coding</title><link>https://ericphanson.com/blog/2025/i-cant-stop-vibe-coding/</link><pubDate>Tue, 28 Oct 2025 00:00:00 +0000</pubDate><guid>https://ericphanson.com/blog/2025/i-cant-stop-vibe-coding/</guid><description>&lt;p>I just keep &lt;a href="https://simonwillison.net/2025/Mar/19/vibe-coding/">vibe coding&lt;/a>. I don’t think I’ve written about this on my blog before but I was diagnosed with classical hodgkin’s lymphoma (CHL) in late June and have been on medical leave basically since then doing ABVD chemo&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>. I want to write a post on that at some point (and PET scans, medical imaging is pretty cool), but the relevance for this post is that (1) I have kind of a lot of time, (2) sometimes a strong need for escapism, and (3) sometimes I am kind of out of it&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>. I had infusion 5 on October 17 (hopefully second-to-last), and after an infusion I’m kinda out of it, but also pretty nauseous and can’t watch movies or tv or play games because the moving images trigger nausea. Turns out, vibe coding is pretty great though. You can turn off your brain and let the robot make something interesting at your direction, with only a bit of text moving around on the screen.&lt;/p></description></item><item><title>valuetier.org (and some thoughts on LLMs)</title><link>https://ericphanson.com/blog/2025/valuetier.org-and-some-thoughts-on-llms/</link><pubDate>Sun, 05 Oct 2025 00:00:00 +0000</pubDate><guid>https://ericphanson.com/blog/2025/valuetier.org-and-some-thoughts-on-llms/</guid><description>&lt;p>Note: the first half of the blog post documents my experience and takeways making &lt;a href="https://valuetier.org">valuetier.org&lt;/a>, a webapp for helping users (or specifically, me) identify their values. The second half is more of a personal exploration of my thoughts &amp;amp; feelings about LLMs.&lt;/p>

&lt;h2 id="valuetierorg--vibecoding-good">
 &lt;a class="heading-anchor" href="#valuetierorg--vibecoding-good">
 ValueTier.org (&amp;amp; &amp;ldquo;vibecoding good&amp;rdquo;)
 &lt;/a>
&lt;/h2>
&lt;p>I&amp;rsquo;ve been doing some &lt;a href="https://en.wikipedia.org/wiki/Acceptance_and_commitment_therapy">Acceptance and Commitment Therapy (ACT)&lt;/a> and have found it pretty helpful. One of the components is to identify your values, so that you can align your actions to your values. My therapist suggested I search online or use ChatGPT to find a list of 100 human values, then group them into categories &amp;ldquo;very important&amp;rdquo;, &amp;ldquo;somewhat important&amp;rdquo;, &amp;ldquo;not important&amp;rdquo;, and try to narrow down to 8-12 &amp;ldquo;very important&amp;rdquo; values to focus on. That sounded a lot like a &lt;a href="https://en.wikipedia.org/wiki/Tier_list">tier list&lt;/a>, so I searched online to see if there would be a nice ergonomic privacy-conscious tool to use, but I didn&amp;rsquo;t find one I liked, and I decided to make a webapp to do so. A few days later and thanks to the magic of code-generating LLMs, I have &lt;a href="https://valuetier.org/">https://valuetier.org/&lt;/a> (code: &lt;a href="https://github.com/ericphanson/value-tier">https://github.com/ericphanson/value-tier&lt;/a>).&lt;/p></description></item><item><title>Julia's package registration tooling</title><link>https://ericphanson.com/blog/2024/julias-package-registration-tooling/</link><pubDate>Sun, 27 Oct 2024 00:00:00 +0000</pubDate><guid>https://ericphanson.com/blog/2024/julias-package-registration-tooling/</guid><description>&lt;p>Julia has a large ecosystem of over 10,000 registered packages in it&amp;rsquo;s &amp;ldquo;&lt;a href="https://github.com/JuliaRegistries/General">General&lt;/a>&amp;rdquo; open-source package registry.&lt;/p>
&lt;p>Package registration is mostly automated, but it can be hard to understand how all the various bits fit together. There are some helpful resources and tutorials on how to create and register a package, such as&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://julialang.org/contribute/developing_package/">https://julialang.org/contribute/developing_package/&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://modernjuliaworkflows.org/sharing/">https://modernjuliaworkflows.org/sharing/&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>and I won&amp;rsquo;t provide a step-by-step tutorial here. Instead, I aim to provide a point-in-time snapshot of many of the different pieces of tooling currently used in the Julia package registration system, and explain how they work together. I will also try to mention how they can be applied to alternative registries beyond General.&lt;/p></description></item><item><title>Why you might avoid `deepcopy` in Julia</title><link>https://ericphanson.com/blog/2024/why-you-might-avoid-deepcopy-in-julia/</link><pubDate>Sun, 21 Jul 2024 00:00:00 +0000</pubDate><guid>https://ericphanson.com/blog/2024/why-you-might-avoid-deepcopy-in-julia/</guid><description>&lt;h2 id="why-use-deepcopy">
 &lt;a class="heading-anchor" href="#why-use-deepcopy">
 Why use &lt;code>deepcopy&lt;/code>?
 &lt;/a>
&lt;/h2>
&lt;p>In &lt;a href="https://julialang.org/">Julia&lt;/a>, &lt;a href="https://docs.julialang.org/en/v1/base/base/#Base.copy">&lt;code>copy&lt;/code>&lt;/a> is a function which creates a shallow copy. For example:&lt;/p>
&lt;pre>&lt;code class="language-julia-repl">julia&amp;gt; a = [1] # vector with one element, namely 1
1-element Vector{Int64}:
 1

julia&amp;gt; b = [a] # vector with one element, `a`
1-element Vector{Vector{Int64}}:
 [1]

julia&amp;gt; b2 = copy(b) # new vector, also with one element which is `a`
1-element Vector{Vector{Int64}}:
 [1]

julia&amp;gt; push!(a, 2) # mutate `a` so it contains 1 and 2
2-element Vector{Int64}:
 1
 2

julia&amp;gt; b # since `b` contains `a`, we can see its (nested) contents have changed
1-element Vector{Vector{Int64}}:
 [1, 2]

julia&amp;gt; b2 # same for `b2`!
1-element Vector{Vector{Int64}}:
 [1, 2]
&lt;/code>&lt;/pre>
&lt;p>Since &lt;code>copy&lt;/code> is shallow, &lt;code>b2&lt;/code> still contains the same vector &lt;code>a&lt;/code> (whose contents we modified to be &lt;code>[1,2]&lt;/code>), just like &lt;code>b&lt;/code>, even though they are independent vectors which do not share memory:&lt;/p></description></item><item><title>Learning algorithmic techniques: dynamic programming</title><link>https://ericphanson.com/blog/2019/learning-algorithmic-techniques-dynamic-programming/</link><pubDate>Sun, 10 Nov 2019 00:00:00 +0000</pubDate><guid>https://ericphanson.com/blog/2019/learning-algorithmic-techniques-dynamic-programming/</guid><description>&lt;div id="three-nice-techniques" class="section level1">
&lt;h1>Three nice techniques&lt;/h1>
&lt;p>In the past months, I’ve found myself really appreciating some nice techniques
for constructing algorithms. These are probably quite familiar to those with a
computer science background, but are new to me. There are three in particular
that I have in mind; I’ll just highlight the first two here, and then discuss
the third in detail.&lt;/p>
&lt;p>The first such technique I learned about was solving the traveling salesman
problem via mixed-integer programming, using lazy constraints. In essence, you
encode a solution to the traveling salesman problem (a tour) as a permutation
(of the cities to visit), which you represent with a binary matrix. Then you
minimize the cost of the tour over all permutation matrices. The difficulty is
that this can yield “tours” that don’t aren’t full cycles: a permutation of
&lt;span class="math inline">\((1,2,3,4)\)&lt;/span> could be &lt;span class="math inline">\(1\)&lt;/span> goes to &lt;span class="math inline">\(2\)&lt;/span>, &lt;span class="math inline">\(2\)&lt;/span> goes to &lt;span class="math inline">\(1\)&lt;/span>, &lt;span class="math inline">\(3\)&lt;/span> goes to &lt;span class="math inline">\(4\)&lt;/span>, and &lt;span class="math inline">\(4\)&lt;/span>
goes to &lt;span class="math inline">\(3\)&lt;/span>. That’s actually just two transpositions instead of a single cycle
of all the cities. So instead, one needs to rule out all the permutations that
aren’t cycles. However, there doesn’t seem to be a good way to do that; one
could impose exponentially many linear constraints, one for each non-full-cycle,
for example, but that would be very inefficient (if you can even fit them all
into memory). But what you &lt;em>can&lt;/em> do is solve the problem without such
constraints, and then just add constraints corresponding to any non-full-cycles
that you obtain in the solution. Then you re-solve the problem. That way, you
only need to impose the constraints that actually matter (which usually is far
fewer than the total number of constraints). I thought this was really cool! I
learned about it from the blog post &lt;a href="https://opensourc.es/blog/mip-tsp">&lt;em>MIP - Travelling
Salesman&lt;/em>&lt;/a> by Ole Kröger. To explore it for
myself, I wrote a Julia package
&lt;a href="https://github.com/ericphanson/TravelingSalesmanExact.jl">TravelingSalesmanExact.jl&lt;/a>
to use this technique for solving the problem (using
&lt;a href="https://github.com/JuliaOpt/JuMP.jl">JuMP.jl&lt;/a>). In fact, shortly after coming
across this approach to the traveling salesman problem, I realized that I could
use the same technique to find good upper bounds on an optimization problem that
came up in my research (that project is still in progress, so I won’t go into
details here).&lt;/p></description></item><item><title>When do we lose correlations under Markovian evolution?</title><link>https://ericphanson.com/blog/2019/when-do-we-lose-correlations-under-markovian-evolution/</link><pubDate>Fri, 22 Mar 2019 00:00:00 +0000</pubDate><guid>https://ericphanson.com/blog/2019/when-do-we-lose-correlations-under-markovian-evolution/</guid><description>&lt;p>&lt;span>&lt;label for="sn-1" class="margin-toggle">&amp;#8853;&lt;/label>&lt;input type="checkbox" id="sn-1" class="margin-toggle"/>&lt;span class="marginnote"> This post started as a talk for the CCIMI retreat, the slides of which are available &lt;a href="https://ericphanson.com/EBslides">here&lt;/a>. But I added a lot of words to turn this into a blog post, so I encourage you to stay here instead!&lt;br />
&lt;br />
&lt;/span>&lt;/span>&lt;/p>
&lt;p>Consider the following divided box with &lt;span class="math inline">\(N=20\)&lt;/span> particles&lt;span>&lt;label for="sn-2" class="margin-toggle sidenote-number">&lt;/label>&lt;input type="checkbox" id="sn-2" class="margin-toggle"/>&lt;span class="sidenote">A discrete-time Ehrenfest model&lt;br />
&lt;br />
&lt;/span>&lt;/span>.&lt;/p>
&lt;div id="ehren">
&lt;p>&lt;img src="images/ehren/1.svg" />&lt;/p>
&lt;/div>
&lt;button type="button" id="button1">
Toggle animation
&lt;/button>
&lt;p>At each time step, exactly one particle jumps from one side of the box to the other. The more particles there are on one side, the more likely one will jump away from that side. Let us think of this as a joint system, the state of which is the number of particles on each side&lt;span>&lt;label for="sn-3" class="margin-toggle sidenote-number">&lt;/label>&lt;input type="checkbox" id="sn-3" class="margin-toggle"/>&lt;span class="sidenote">We won’t consider positions, velocities, etc.– just how many particles are on each side&lt;br />
&lt;br />
&lt;/span>&lt;/span>. This is a &lt;em>perfectly correlated&lt;/em> system: if there are &lt;span class="math inline">\(n\)&lt;/span> particles on the left, there are exactly &lt;span class="math inline">\(N-n\)&lt;/span> particles on the right. So we can exactly figure out the state of the right side of the box only knowing the state on the left side.&lt;/p></description></item><item><title>Another example of using type domain information in Julia</title><link>https://ericphanson.com/blog/2019/another-example-of-using-type-domain-information-in-julia/</link><pubDate>Sat, 09 Mar 2019 00:00:00 +0000</pubDate><guid>https://ericphanson.com/blog/2019/another-example-of-using-type-domain-information-in-julia/</guid><description>&lt;p>In a &lt;a href="https://ericphanson.com/blog/2018/fast-small-random-density-matrices/">previous post&lt;/a>, I discussed using type domain information to speed up generation of random density matrices with small dimension in Julia. There, we gave the Julia compiler knowledge of the dimension of the matrices at the time it generates code, instead of passing that dimension as a runtime variable, and saw significant runtime speedups as a consequence. This time, let’s push this further by giving the compiler a whole vector of numbers instead of a single integer.&lt;/p></description></item><item><title>Carathéodory's theorem and the Holevo capacity</title><link>https://ericphanson.com/blog/2018/caratheodorys-theorem-and-the-holevo-capacity/</link><pubDate>Tue, 18 Dec 2018 00:00:00 +0000</pubDate><guid>https://ericphanson.com/blog/2018/caratheodorys-theorem-and-the-holevo-capacity/</guid><description>&lt;p>Let &lt;span class="math inline">\(\Lambda: \mathcal{B}(\mathcal{H})\to \mathcal{B}(\mathcal{H})\)&lt;/span> be a quantum channel&lt;span>&lt;label for="sn-1" class="margin-toggle sidenote-number">&lt;/label>&lt;input type="checkbox" id="sn-1" class="margin-toggle"/>&lt;span class="sidenote">completely positive and trace-preserving map&lt;br />
&lt;br />
&lt;/span>&lt;/span> on a finite-dimensional Hilbert space &lt;span class="math inline">\(\mathcal{H}\)&lt;/span>, and let &lt;span class="math inline">\(d:= \dim \mathcal{H}\)&lt;/span>.
The &lt;em>Holevo capacity&lt;/em> of &lt;span class="math inline">\(\Lambda\)&lt;/span> is defined as
&lt;span class="math display">\[
\chi(\Lambda) := \sup_{\{p_k, \rho_k\}} \left[ S\Big(\sum_k p_k \Lambda(\rho_k)\Big) - \sum_k p_k S( \Lambda(\rho_k)) \right]
\]&lt;/span>
where supremum is over ensembles of quantum states &lt;span class="math inline">\(\rho_k\)&lt;/span> and probability distributions &lt;span class="math inline">\(\{p_k\}\)&lt;/span>. The HSW theorem &lt;span class="citation">(Holevo &lt;a href="#ref-Hol98" role="doc-biblioref">1998&lt;/a>; Schumacher and Westmoreland &lt;a href="#ref-SW97" role="doc-biblioref">1997&lt;/a>)&lt;/span> states that the product state classical capacity of a quantum channel &lt;span class="math inline">\(\Lambda\)&lt;/span> is given by its Holevo capacity, thus providing the quantity with an operational meaning. It is well known that that the supremum may be restricted to ensembles of at most &lt;span class="math inline">\(d^2\)&lt;/span> pure states; in fact, this is exercise 12.11 in the classic textbook &lt;span class="citation">(Nielsen and Chuang &lt;a href="#ref-NC09" role="doc-biblioref">2009&lt;/a>)&lt;/span>.&lt;/p></description></item><item><title>Fast small random density matrices</title><link>https://ericphanson.com/blog/2018/fast-small-random-density-matrices/</link><pubDate>Sun, 23 Sep 2018 20:07:42 +0000</pubDate><guid>https://ericphanson.com/blog/2018/fast-small-random-density-matrices/</guid><description>&lt;p>&lt;em>Update (19 January 2019):&lt;/em> I looked at this code again, and realized I had made a few basic mistakes, such as constructing a statically sized normally-distributed random matrix via &lt;code>SMatrix{d,d,Float64, d*d}(randn(Float64, d,d))&lt;/code> which constructs a random matrix (allocating memory dynamically) and then converts it to a static &lt;code>SMatrix&lt;/code>, instead of &lt;code>randn(SMatrix{d,d,Float64})&lt;/code> which directly constructs an &lt;code>SMatrix&lt;/code> without dynamic memory allocation. I also hadn’t written the function &lt;code>randsimplexpt&lt;/code> in a very good way. I’ve updated the code in the post with these improvements; the static versions of the methods are now allocation-free and twice as fast, in some cases.&lt;/p></description></item><item><title>Website rewrite</title><link>https://ericphanson.com/blog/2018/website-rewrite/</link><pubDate>Sat, 25 Aug 2018 19:26:42 -0400</pubDate><guid>https://ericphanson.com/blog/2018/website-rewrite/</guid><description>&lt;p>I decided to redo my website using Hugo (before I was using Jekyll). Both are static site generators: you write in Markdown, a simple clean formatting language, and it generates HTML webpages following a consistent format. It’s great because the generation only has to occur once after the Markdown is written, and nothing active has to happen for each user of the website (unlike a so-called dynamic website). This reduces costs, increases reliability, and improves security&lt;span>&lt;label for="sn-1" class="margin-toggle sidenote-number">&lt;/label>&lt;input type="checkbox" id="sn-1" class="margin-toggle"/>&lt;span class="sidenote">the user needs very little access to the server hosting the webpages in a static site&lt;br />
&lt;br />
&lt;/span>&lt;/span>. The problem I was having with Jekyll was that it was taking about 40 seconds to generate the site, which meant that if I wanted to make a small change and see how it looked, I had to wait for it to generate to see the result (like a long LaTeX compilation). Hugo is super fast; my site takes less than a second to generate fully now.&lt;/p></description></item><item><title>Locally maximizing the Rényi entropies</title><link>https://ericphanson.com/blog/2018/locally-maximizing-the-renyi-entropies/</link><pubDate>Sat, 25 Aug 2018 00:00:00 +0000</pubDate><guid>https://ericphanson.com/blog/2018/locally-maximizing-the-renyi-entropies/</guid><description>&lt;p>As I was rewriting my website, I found some visualizations I had stored on my old website to show a collaborator, and I figured it was worth writing a little to have a more proper place to put them; hence this post 😊.&lt;/p>
&lt;p>Probability distributions on three letters consist just of three non-negative numbers which add up to 1, which we can see as a vector in &lt;span class="math inline">\(\mathbb{R}^3\)&lt;/span>. The set of all such distributions form a simplex, which looks like a 2D triangle laying in &lt;span class="math inline">\(\mathbb{R}^3\)&lt;/span>:&lt;/p></description></item><item><title>How to make an index in LaTeX</title><link>https://ericphanson.com/blog/2018/how-to-make-an-index-in-latex/</link><pubDate>Wed, 20 Jun 2018 00:00:00 +0000</pubDate><guid>https://ericphanson.com/blog/2018/how-to-make-an-index-in-latex/</guid><description>&lt;p>I’m sure there are many ways to make an index in LaTeX, but I was asked this question recently and thought I’d put my response here, which is based on what I did in my &lt;a href="https://github.com/ericphanson/CombinatoricsNotes">combinatorics notes&lt;/a>.&lt;/p>
&lt;p>In the preamble, make a command &lt;code>\defw&lt;/code> (short for “define word”), use
the package &lt;code>imakeidx&lt;/code>, and call &lt;code>\makeindex&lt;/code>:&lt;/p>
&lt;pre class="latex">&lt;code>\usepackage{imakeidx}
\usepackage{xparse}
\NewDocumentCommand{\defw}{m o}{%
 {\emph{#1}}%
 \IfNoValueTF{#2}
 {\index{#1}}
 {\index{#2}}%
}
\makeindex&lt;/code>&lt;/pre>
&lt;p>Generate the index at the end of the file with &lt;code>\printindex&lt;/code>, like one
does with a bibliography.&lt;/p></description></item><item><title>arXiv-search (the sad goodbye-for-now post)</title><link>https://ericphanson.com/blog/2018/arxiv-search/</link><pubDate>Mon, 14 May 2018 00:00:00 +0000</pubDate><guid>https://ericphanson.com/blog/2018/arxiv-search/</guid><description>&lt;p>&lt;em>Update (26 January 10):&lt;/em> The source code is now available under a MIT license at &lt;a href="https://github.com/ericphanson/arxiv-search" class="uri">https://github.com/ericphanson/arxiv-search&lt;/a>.&lt;/p>
&lt;p>For a few months, I and a few others were working on a project we called “arxiv-search”, an attempt to search and sort all of the &lt;a href="https://arxiv.org/">arxiv&lt;/a> (~1 million papers). We were inspired by &lt;a href="https://cs.stanford.edu/people/karpathy/">Andrej Karpathy&lt;/a>’s &lt;a href="http://arxiv-sanity.com/">arxiv sanity preserver&lt;/a> which is an excellent tool for a limited set of papers (~50,000). Starting from that project, we ended up writing a new backend and frontend. Our backend used &lt;a href="https://www.elastic.co/products/elasticsearch">elasticsearch&lt;/a> which is a large scale search engine which runs constantly on a big server, indexing metadata and responding to search requests&lt;span>&lt;label for="sn-1" class="margin-toggle sidenote-number">&lt;/label>&lt;input type="checkbox" id="sn-1" class="margin-toggle"/>&lt;span class="sidenote">In fact, the arxiv itself very recently started using elasticsearch to improve their own search results.&lt;br />
&lt;br />
&lt;/span>&lt;/span>. The original arxiv-sanity implementation kept the metadata for all the papers in the server’s RAM which limits how many papers can be hosted; the idea was that elasticsearch can scale far better, as well as perhaps do more sophisticated searching efficiently. Our frontend was written by my officemate &lt;a href="https://www.dpmms.cam.ac.uk/people/ewa21/">Ed Ayers&lt;/a> in &lt;a href="https://reactjs.org/">react.js&lt;/a>, and was responsive and useful. Our ambitions expanded; we set up an AWS Lambda pipeline to process new papers (get the metadata, generate thumbnails, scrape the text), which we hoped to include semantic elements (parse definitions and theorems&lt;span>&lt;label for="sn-2" class="margin-toggle sidenote-number">&lt;/label>&lt;input type="checkbox" id="sn-2" class="margin-toggle"/>&lt;span class="sidenote">Lars Mennen wrote a &lt;a href="https://github.com/larsmennen/extract_from_tex">nice python script&lt;/a> to work on this task.&lt;br />
&lt;br />
&lt;/span>&lt;/span>, etc), and to generate recommendations for our users.&lt;/p></description></item><item><title>A synchronized dance of eigenvalues</title><link>https://ericphanson.com/blog/2017/a-synchronized-dance-of-eigenvalues/</link><pubDate>Tue, 26 Sep 2017 00:00:00 +0000</pubDate><guid>https://ericphanson.com/blog/2017/a-synchronized-dance-of-eigenvalues/</guid><description>&lt;figure>
&lt;div class="gallery">

 &lt;a href="https://ericphanson.com/blog/2017/a-synchronized-dance-of-eigenvalues/images/random_examples/randomTRIexample1.gif" data-fancybox=1>
 &lt;img src="https://ericphanson.com/blog/2017/a-synchronized-dance-of-eigenvalues/images/random_examples/randomTRIexample1.gif" alt="Gif of four dots moving inside the unit circle."/>
 &lt;/a>
 
 &lt;a href="https://ericphanson.com/blog/2017/a-synchronized-dance-of-eigenvalues/images/random_examples/randomTRIexample2.gif" data-fancybox=1>
 &lt;img src="https://ericphanson.com/blog/2017/a-synchronized-dance-of-eigenvalues/images/random_examples/randomTRIexample2.gif" alt="Gif of four dots moving inside the unit circle."/>
 &lt;/a>
 
 &lt;a href="https://ericphanson.com/blog/2017/a-synchronized-dance-of-eigenvalues/images/random_examples/randomTRIexample3.gif" data-fancybox=1>
 &lt;img src="https://ericphanson.com/blog/2017/a-synchronized-dance-of-eigenvalues/images/random_examples/randomTRIexample3.gif" alt="Gif of four dots moving inside the unit circle."/>
 &lt;/a>
 
 &lt;a href="https://ericphanson.com/blog/2017/a-synchronized-dance-of-eigenvalues/images/random_examples/randomTRIexample4.gif" data-fancybox=1>
 &lt;img src="https://ericphanson.com/blog/2017/a-synchronized-dance-of-eigenvalues/images/random_examples/randomTRIexample4.gif" alt="Gif of four dots moving inside the unit circle."/>
 &lt;/a>
 
 &lt;a href="https://ericphanson.com/blog/2017/a-synchronized-dance-of-eigenvalues/images/random_examples/randomTRIexample5.gif" data-fancybox=1>
 &lt;img src="https://ericphanson.com/blog/2017/a-synchronized-dance-of-eigenvalues/images/random_examples/randomTRIexample5.gif" alt="Gif of four dots moving inside the unit circle."/>
 &lt;/a>
 
 &lt;a href="https://ericphanson.com/blog/2017/a-synchronized-dance-of-eigenvalues/images/random_examples/randomTRIexample6.gif" data-fancybox=1>
 &lt;img src="https://ericphanson.com/blog/2017/a-synchronized-dance-of-eigenvalues/images/random_examples/randomTRIexample6.gif" alt="Gif of four dots moving inside the unit circle."/>
 &lt;/a>
 
 &lt;a href="https://ericphanson.com/blog/2017/a-synchronized-dance-of-eigenvalues/images/random_examples/randomTRIexample7.gif" data-fancybox=1>
 &lt;img src="https://ericphanson.com/blog/2017/a-synchronized-dance-of-eigenvalues/images/random_examples/randomTRIexample7.gif" alt="Gif of four dots moving inside the unit circle."/>
 &lt;/a>
 
 &lt;a href="https://ericphanson.com/blog/2017/a-synchronized-dance-of-eigenvalues/images/random_examples/randomTRIexample8.gif" data-fancybox=1>
 &lt;img src="https://ericphanson.com/blog/2017/a-synchronized-dance-of-eigenvalues/images/random_examples/randomTRIexample8.gif" alt="Gif of four dots moving inside the unit circle."/>
 &lt;/a>
 
 &lt;a href="https://ericphanson.com/blog/2017/a-synchronized-dance-of-eigenvalues/images/random_examples/randomTRIexample9.gif" data-fancybox=1>
 &lt;img src="https://ericphanson.com/blog/2017/a-synchronized-dance-of-eigenvalues/images/random_examples/randomTRIexample9.gif" alt="Gif of four dots moving inside the unit circle."/>
 &lt;/a>
 
&lt;/div>



&lt;/figure>











&lt;figure>
&lt;div class="gallery">

 &lt;a href="https://ericphanson.com/blog/2017/a-synchronized-dance-of-eigenvalues/images/special_examples/full-dipole.gif" data-fancybox=2>
 &lt;img src="https://ericphanson.com/blog/2017/a-synchronized-dance-of-eigenvalues/images/special_examples/full-dipole.gif" alt="Gif of four dots moving inside the unit circle."/>
 &lt;/a>
 
 &lt;a href="https://ericphanson.com/blog/2017/a-synchronized-dance-of-eigenvalues/images/special_examples/rw.gif" data-fancybox=2>
 &lt;img src="https://ericphanson.com/blog/2017/a-synchronized-dance-of-eigenvalues/images/special_examples/rw.gif" alt="Gif of four dots moving inside the unit circle."/>
 &lt;/a>
 
&lt;/div>



&lt;/figure>

&lt;p>The motivation behind this post is to show some off some nice gifs. But I thought maybe they aren’t actually interesting without any context, so below I’ll try to explain what the gifs are about.&lt;/p></description></item><item><title>Perceptron demo</title><link>https://ericphanson.com/blog/2017/perceptron-demo/</link><pubDate>Wed, 19 Jul 2017 00:00:00 +0000</pubDate><guid>https://ericphanson.com/blog/2017/perceptron-demo/</guid><description>&lt;p>A javascript demonstration of the perceptron algorithm, written for a reading group session. This was originally a separate webpage, but when I rewrote my website I decided to make it a blog post. This post can still be reached from &lt;a href="https://ericphanson.com/perceptron-demo">/perceptron-demo&lt;/a>, though.&lt;/p>


&lt;script src="perceptron.js">&lt;/script>



&lt;h1 id="perceptron">
 &lt;a class="heading-anchor" href="#perceptron">
 Perceptron
 &lt;/a>
&lt;/h1>
&lt;p>Perceptron is a very simple binary classification online learning algorithm, dating from the 1950s&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>. Such an algorithm tries to classify input (here, points in the plane) into one of two categories. It receives the correct answer each time, and aims to minimize the total number of mistakes compared to a &lt;em>hypothesis class&lt;/em>. Here, the hypothesis class is the set of halfplanes. Perceptron thus aims to perform as well at classifying the input points as any halfplane, which simply assigns points to one category if they are in the halfplane, and to the other if they are out of the halfplane. In the so-called &lt;em>realizable case&lt;/em>, the true classifications really do come from a halfplane in this manner. Even in the realizable case, there is no online classification algorithm which can be guaranteed to make only finitely many mistakes given an infinite stream of inputs, even if all the points lie within some radius &lt;em>R&lt;/em> of the origin&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>.&lt;/p></description></item><item><title>The arrow of time in RIS</title><link>https://ericphanson.com/blog/2017/the-arrow-of-time-in-ris/</link><pubDate>Wed, 18 Jan 2017 21:09:03 +0000</pubDate><guid>https://ericphanson.com/blog/2017/the-arrow-of-time-in-ris/</guid><description>&lt;!--
FROZEN ARTIFACT
===============
This is a frozen artifact copied from content_store/posts/2017-01-18-arrow-of-time/
Canonical source: content_store/posts/2017-01-18-arrow-of-time/body.html
Frozen: 2025-10-25
Stage 1: rmarkdown-2.20+pandoc-3.1.1+crossref-0.3.15
DO NOT EDIT: Edit the canonical source in content_store/ instead
-->

&lt;div id="TOC">
&lt;ul>
&lt;li>&lt;a href="#repeated-interaction-systems-ris">Repeated interaction systems (RIS)&lt;/a>&lt;/li>
&lt;li>&lt;a href="#introduction-to-arrow-of-time">Introduction to arrow of time&lt;/a>&lt;/li>
&lt;li>&lt;a href="#a-more-careful-description-of-the-forward-and-backward-processes">A more careful description of the forward and backward processes&lt;/a>&lt;/li>
&lt;li>&lt;a href="#hypothesis-testing-on-the-arrow-of-time">Hypothesis testing on the arrow of time&lt;/a>&lt;/li>
&lt;li>&lt;a href="#connection-to-landauers-principle">Connection to Landauer’s Principle&lt;/a>&lt;/li>
&lt;/ul>
&lt;/div>


&lt;p>I gave an informal talk today on the &lt;a href="https://en.wikipedia.org/wiki/Arrow_of_time">arrow of time&lt;/a> in repeated interaction systems and I thought I’d write about it here.&lt;/p></description></item><item><title>The traveling salesman and 10 lines of Python</title><link>https://ericphanson.com/blog/2016/the-traveling-salesman-and-10-lines-of-python/</link><pubDate>Tue, 25 Oct 2016 00:00:00 +0000</pubDate><guid>https://ericphanson.com/blog/2016/the-traveling-salesman-and-10-lines-of-python/</guid><description>&lt;p>&lt;em>Update (21 May 18):&lt;/em> It turns out this post is one of the top hits on google for “python travelling salesmen”! That means a lot of people who want to solve the travelling salesmen problem in python end up here. While I tried to do a good job explaining a simple algorithm for this, it was for a challenge to make a progam in 10 lines of code or fewer. That constraint means it’s definitely not the best code around for using for a demanding application, and not the best for learning to write good, readable code. On the other hand, it is simple and short, and I explain each line. So stick around if you’re up for that. Otherwise, while I haven’t used it myself, Google has a library “OR-Tools” that has a &lt;a href="https://developers.google.com/optimization/routing/tsp">nice page&lt;/a> about solving the travelling salesmen problem in python via their library. So maybe check that out!&lt;/p></description></item><item><title>Setting up SublimeText</title><link>https://ericphanson.com/blog/2016/setting-up-sublimetext/</link><pubDate>Fri, 14 Oct 2016 00:00:00 +0000</pubDate><guid>https://ericphanson.com/blog/2016/setting-up-sublimetext/</guid><description>&lt;p>I’m setting up a new laptop and figured it was a good chance to document setting up SublimeText for LaTeX, as quasi follow up to my &lt;a href="https://ericphanson.com/blog/2016/live-notetaking-with-latex/">recent post&lt;/a> about live LaTeXing. However, installing LaTeX can be hard, and configuring the SublimeText package LaTeXTools to work with LaTeX has the potential to be hard (often just works, but if not, can be confusing), and I won’t write about those parts, because they are better documented elsewhere. So this is simply the easy part (configuring SublimeText) to try to remove a barrier from those who might be looking to switch.&lt;/p></description></item><item><title>Live notetaking with LaTeX</title><link>https://ericphanson.com/blog/2016/live-notetaking-with-latex/</link><pubDate>Sat, 24 Sep 2016 00:00:00 +0000</pubDate><guid>https://ericphanson.com/blog/2016/live-notetaking-with-latex/</guid><description>&lt;p>A friend suggested I write a guide about live notetaking in LaTeX, since it’s pretty useful and something I have a fair amount of experience with. I had been making attempts at live-LaTeXing course notes for a year or two before I was able to make it through a semester long class; the first course I fully LaTeX’d was Vojkan Jaksic’s excellent Analysis 3 (introduction to metric spaces and topology)&lt;span>&lt;label for="sn-1" class="margin-toggle sidenote-number">&lt;/label>&lt;input type="checkbox" id="sn-1" class="margin-toggle"/>&lt;span class="sidenote">&lt;a href="https://www.dropbox.com/s/p5wwwws1l44sm1z/Analysis_3_Fall_2013_notes.pdf">PDF&lt;/a>. Not my best work, but it did the job.&lt;br />
&lt;br />
&lt;/span>&lt;/span>. Most recently, I wrote notes for Sergey Norin’s Combinatorics course which I submitted as a project for the class&lt;span>&lt;label for="sn-2" class="margin-toggle sidenote-number">&lt;/label>&lt;input type="checkbox" id="sn-2" class="margin-toggle"/>&lt;span class="sidenote">&lt;a href="https://www.dropbox.com/s/ysvmcw88hf5h4h9/CombinatoricsNotes.pdf?dl=0">PDF&lt;/a>, &lt;a href="https://github.com/ericphanson/CombinatoricsNotes">source&lt;/a>. Probably my best work.&lt;br />
&lt;br />
&lt;/span>&lt;/span>.&lt;/p></description></item><item><title>Landauer's Principle and the balance equation</title><link>https://ericphanson.com/blog/2016/landauers-principle-and-the-balance-equation/</link><pubDate>Mon, 29 Feb 2016 21:50:00 +0000</pubDate><guid>https://ericphanson.com/blog/2016/landauers-principle-and-the-balance-equation/</guid><description>&lt;p>I’ve been working on my thesis&lt;span>&lt;label for="sn-1" class="margin-toggle sidenote-number">&lt;/label>&lt;input type="checkbox" id="sn-1" class="margin-toggle"/>&lt;span class="sidenote">Edit: this was my master’s thesis&lt;br />
&lt;br />
&lt;/span>&lt;/span> over reading week, and I think I’ve finished my introduction to Landauer’s Principle. I ended up writing a pretty detailed derivation of the balance equation, and thus Landauer’s bound, so I thought it might be useful to post here.&lt;/p>
&lt;p>&lt;span class="newthought">Landauer's principle&lt;/span> states that there is a minimal energetic cost for a state transformation &lt;span class="math inline">\(\rho^\text{i}\to \rho^\text{f}\)&lt;/span> on a system &lt;span class="math inline">\(\mathcal{S}\)&lt;/span> via the action of a thermal reservoir &lt;span class="math inline">\(\mathcal{E}\)&lt;/span> at temperature &lt;span class="math inline">\((k_B\beta)^{-1}\)&lt;/span>&lt;span>&lt;label for="sn-2" class="margin-toggle">&amp;#8853;&lt;/label>&lt;input type="checkbox" id="sn-2" class="margin-toggle"/>&lt;span class="marginnote"> &lt;span class="math inline">\(k_B \approx 1.38 \times 10^{-23}\)&lt;/span> Joules per Kelvin is Boltzmann's constant.&lt;br />
&lt;br />
&lt;/span>&lt;/span>. In particular, if &lt;span class="math inline">\(\Delta S_\mathcal{S}\)&lt;/span> is the change of entropy of the system &lt;span class="math inline">\(\mathcal{S}\)&lt;/span>, and &lt;span class="math inline">\(\Delta Q_\mathcal{E}\)&lt;/span> is the change in energy of the reservoir &lt;span class="math inline">\(\mathcal{E}\)&lt;/span>, then
&lt;span id="eq:LP">&lt;span class="math display">\[
\Delta Q_\mathcal{E}\geq \beta^{-1}\Delta S_\mathcal{S}.
\qquad(1)\]&lt;/span>&lt;/span>
This principle has generated interest since its inception in 1961; see [Section 1, RW14]&lt;span>&lt;label for="sn-3" class="margin-toggle">&amp;#8853;&lt;/label>&lt;input type="checkbox" id="sn-3" class="margin-toggle"/>&lt;span class="marginnote"> [RW14]: &lt;a href="http://arxiv.org/abs/1306.4352">An improved Landauer Principle with finite-size corrections&lt;/a>, D. Reeb and M. Wolf, 2014 (v3).&lt;br />
&lt;br />
&lt;/span>&lt;/span> for a recent summary. First, the bound has allusions to practicality: perhaps the energy efficiency of our computers will be limited. For changing the state of a classical or quantum bit however, the bound is at most
&lt;span class="math display">\[
\Delta Q_\mathcal{E}\geq k_B\cdot T \log 2 \approx (9.6 \times 10^{-24} J/K)\cdot
\]&lt;/span>
which is extremely small for reasonable temperatures &lt;span class="math inline">\(T\)&lt;/span>; yet, modern processors are within several orders of magnitude of this limit, as shown in Figure 1.&lt;/p></description></item><item><title>Cantor's set and function</title><link>https://ericphanson.com/blog/2016/cantors-set-and-function/</link><pubDate>Tue, 09 Feb 2016 00:00:00 +0000</pubDate><guid>https://ericphanson.com/blog/2016/cantors-set-and-function/</guid><description>&lt;div id="TOC">
&lt;ul>
&lt;li>&lt;a href="#cantors-set">Cantor’s Set&lt;/a>&lt;ul>
&lt;li>&lt;a href="#construction">Construction&lt;/a>&lt;/li>
&lt;li>&lt;a href="#properties">Properties&lt;/a>&lt;/li>
&lt;/ul>&lt;/li>
&lt;li>&lt;a href="#cantors-function">Cantor’s function&lt;/a>&lt;/li>
&lt;/ul>
&lt;/div>


&lt;p>I wrote these notes in February 2016 for an Analysis 2 tutorial when I was a teaching assistant at McGill, and always intended to put them here eventually; before August 2018 though, I hadn’t translated them to something web-friendly and only had posted a &lt;a href="files/Cantor_set_and_function.pdf">PDF&lt;/a>&lt;span>&lt;label for="sn-1" class="margin-toggle sidenote-number">&lt;/label>&lt;input type="checkbox" id="sn-1" class="margin-toggle"/>&lt;span class="sidenote">The web version has slightly improved wording in some parts.&lt;br />
&lt;br />
&lt;/span>&lt;/span>.&lt;/p>
&lt;div id="cantors-set" class="section level1">
&lt;h1>Cantor’s Set&lt;/h1>
&lt;p>Cantor’s set is an interesting subset of &lt;span class="math inline">\([0,1]\)&lt;/span>, with properties
that help illuminate concepts in analysis. It can often serve as a
counter-example or edge-case on which to test ideas, and to construct
further unusual objects; one such object is the Cantor function, which
we’ll define here as well. To me, one of the most immediate
clarifications provided by the Cantor set is the idea that looking at on
object in different ways yields different notions of size, and these
do not have to play nicely with each other. As we will see, the Cantor
set is nowhere dense, yet uncountable.&lt;/p></description></item><item><title>Completeness I</title><link>https://ericphanson.com/blog/2016/completeness-i/</link><pubDate>Fri, 01 Jan 2016 00:00:00 +0000</pubDate><guid>https://ericphanson.com/blog/2016/completeness-i/</guid><description>&lt;p>Last semester, I helped a friend review McGill’s Analyis 3 course by trying to provide a better feel for completeness; this post will be a slightly edited version of that. Originally, I wanted to write about both completeness and compactness, and their connections, but I ended up only getting to completeness, and actually not everything I wanted to talk about. So I’ll call this &lt;em>Completeness I&lt;/em>, leaving open the possibility for more of these in the future. Hopefully the style is casual and expository without being misleading.&lt;/p></description></item><item><title>New blog</title><link>https://ericphanson.com/blog/2015/new-blog/</link><pubDate>Mon, 14 Dec 2015 00:00:00 +0000</pubDate><guid>https://ericphanson.com/blog/2015/new-blog/</guid><description>&lt;p>I’ve made a new blog!&lt;/p>
&lt;p>I started a “coffee blog” a month or so ago but only posted once (I think I’ll bring that post over here, too). I do like the idea though, and want to write about math and my research. So this should become a place for me to do that.&lt;/p>
&lt;p>Part of my impetus is that journals and traditional publication methods don’t provide a pathway for discussing failed attempts. And I think on a global scale, that can slow down progress — it’s useful to know what has been tried and why it failed&lt;span>&lt;label for="sn-1" class="margin-toggle sidenote-number">&lt;/label>&lt;input type="checkbox" id="sn-1" class="margin-toggle"/>&lt;span class="sidenote">Of course, we must avoid groupthink&lt;br />
&lt;br />
&lt;/span>&lt;/span>. It seems to me that some mathematicians are beginning to use blogs as an informal publication method, one in which partial progress or a lack of progress can be reported and discussed.&lt;/p></description></item></channel></rss>