এআই এজেন্টদের জন্য ইমেজ সার্চ ইনফ্রাস্ট্রাকচার: বাজার আসলে কী দিচ্ছে
Getty এই মাসে একটি MCP সার্ভার চালু করেছে; ফ্রি লাইব্রেরিগুলো এখনও একটিও চালু করেনি। একটি পুনরুৎপাদনযোগ্য বেঞ্চমার্ক, একটি রেজিস্ট্রি গণনা, এবং চারটি বড় ফটো এপিআই-এর শর্তাবলী — এমনভাবে পড়ুন যেন আপনি সেই মেশিন যাকে এগুলো মেনে চলতে হয়।
এই বছর চালু হওয়া প্রতিটি এজেন্ট ফ্রেমওয়ার্ক লিখতে, পরিকল্পনা করতে, টুল কল করতে এবং একটি পুল রিকোয়েস্ট খুলতে পারে। একটির কাছে একটি ছবি চান, আর পুরো ব্যাপারটা একটা কাঁধ ঝাঁকানোয় নেমে আসে: স্মৃতি থেকে বানানো একটি স্টক URL, একটি ভাঙা হটলিংক, অথবা একটি জেনারেট করা ছবি কারণ বাস্তব একটি খুঁজে বের করার চেয়ে একটা বানিয়ে নেওয়া সহজ ছিল। মডেলগুলো দুর্বল সংযোগ নয়। তার নিচে থাকা ইমেজ লেয়ারটাই সমস্যা — এবং এটি একটি নির্দিষ্ট, পরিমাপযোগ্য উপায়ে অনুপস্থিত।
এটি একটি বাজার সমীক্ষা, ইশতেহার নয়। নিচের সবকিছু ১৮ আগস্ট ২০২৬-এ পরিমাপ করা বা একটি প্রাথমিক উৎস থেকে পড়া: অফিসিয়াল MCP রেজিস্ট্রির একটি সেন্সাস, চারটি বড় ফ্রি ফটো API-র প্রকাশিত শর্তাবলী, এই মাসে এজেন্ট কানেক্টর প্রকাশ করা দুই পেইড ইনকাম্বেন্টের অ্যাক্সেস শর্ত, এবং একটি ছোট পুনরুত্পাদনযোগ্য বেঞ্চমার্ক যা আপনি কোনো API কী ছাড়াই এক মিনিটে পুনরায় চালাতে পারবেন।
একটি সীমারেখা, যাতে এটি আপনার প্রশ্ন না হলে আপনি আগেই পড়া বন্ধ করতে পারেন: এই নিবন্ধটি
অ্যাক্সেস লেয়ার নিয়ে — রিট্রিভাল, রিচেবিলিটি, শর্তাবলী, কোটা। এটি
প্রকাশনা পাইপলাইন নয়। আপনার যদি এটা লাগে যে কীভাবে একটি ড্রাফটকে ইলাস্ট্রেটেড, ক্রেডিট করা,
মার্কআপ করা পেজে রূপান্তর করবেন — রাউটার প্রম্পট, ভিজ্যুয়াল ব্রিফ, অ্যাসেম্বলি,
ImageObject মার্কআপ — সেটা আলাদাভাবে লেখা আছে
AI-লিখিত নিবন্ধ ইলাস্ট্রেট করার
পাইপলাইনে।
যখন কলার একটি মেশিন হয় তখন কী পরিবর্তিত হয়
একটি ছবি খুঁজতে থাকা মানুষ দুই বা তিনটি শব্দ টাইপ করে, একটি গ্রিড স্ক্যান করে, আর একটি ভালো ছবি দেখলেই বুঝে যায়। প্রতিটি স্টক সার্চ ইঞ্জিন যা কখনো বানানো হয়েছে তা এই লুপ ধরে নেয়। একটি এজেন্ট একসঙ্গে এই তিনটি ধারণাই ভাঙে:
- এটি বাক্য লেখে, কিওয়ার্ড নয়। মর্টগেজ কাগজপত্র সম্পর্কে একটি সেকশন যেই মডেল
খসড়া করে এলো, সেটি
mortgageলিখবে না; এটি লিখবে "একজন নারী একটি রান্নাঘরের টেবিলে বসে মর্টগেজ ডকুমেন্টে সাইন করছেন, যখন একজন ব্যাংক উপদেষ্টা শর্তাবলী ব্যাখ্যা করছেন"। এটাই একটি ভাষা মডেলের স্বাভাবিক আউটপুট, এবং ঠিক এটাই একটি টোকেন-ম্যাচিং ইনডেক্স সার্ভ করতে পারে না। - এটি একটি গ্রিড স্ক্যান করতে পারে না। টুলটি যা রিটার্ন করে সেটাই এজেন্ট জানে। রেসপন্সটি যদি বর্ণনা, ডাইমেনশন বা ক্রেডিট ছাড়া একগুচ্ছ URL হয়, তাহলে এজেন্টকে প্রতিটি ছবি ফেচ করে দেখতে হবে — অথবা, বেশিরভাগ সময় অনুমান করতে হবে।
- এর কোনো হাত নেই। এটি একটি রিভিউ কিউতে স্ক্রিনশট আপলোড করতে পারে না, শর্তাবলী স্বীকার করতে পারে না, একটি কী পরিবর্তন করতে পারে না, বা প্রোডাকশন অনুমোদনের জন্য তিন কার্যদিবস অপেক্ষা করতে পারে না। একটি API-র অনবোর্ডিংয়ের প্রতিটি মানবিক পদক্ষেপ একটি প্রাচীর যেখানে এজেন্ট থেমে যায়।
তাহলে "AI এজেন্টদের জন্য ইমেজ সার্চ ইনফ্রাস্ট্রাকচার" কোনো মার্কেটিং শব্দ নয়। এটি একটি চেকলিস্ট: স্বাভাবিক-ভাষার রিট্রিভাল, মেশিন-পাঠযোগ্য ফলাফল যা যুক্তির জন্য পর্যাপ্ত সমৃদ্ধ, এবং একটি অথেন্টিকেশন ও কোটা মডেল যা একটি প্রোগ্রাম নিজেই সম্পন্ন করতে পারে।
পরীক্ষা: একটি কিওয়ার্ড ইনডেক্সের বিরুদ্ধে একটি বাক্য
সমস্যাটি দেখার সবচেয়ে সহজ উপায় হলো একটি এজেন্টের নিজের শব্দ একটি কিওয়ার্ড ইঞ্জিনে পাঠানো। নিচের পরীক্ষাটি Openverse ব্যবহার করে, WordPress.org চালিত ওপেনলি-লাইসেন্সড মিডিয়া সার্চ, কারণ এর API পাবলিক, কোনো কী প্রয়োজন হয় না, এবং এই লেখা যে কেউ পড়লে এক মিনিটের কম সময়ে পুনরায় চালাতে পারে। চারটি ব্রিফ, যেমনটা একটি মডেল লেখে যখন সে নিজের সদ্য খসড়া করা কিছু ইলাস্ট্রেট করছে:
import json, urllib.request, urllib.parse
BRIEFS = [
"a woman signing a mortgage document at a kitchen table while a bank"
" adviser explains the terms, warm morning light",
"An elderly couple enjoying a peaceful retirement together",
"a child discovering snow for the first time in a suburban garden",
"a delivery cyclist waiting at a red light in heavy rain",
]
def count(q):
u = "https://api.openverse.org/v1/images/?" + urllib.parse.urlencode({"q": q})
r = urllib.request.Request(u, headers={"User-Agent": "benchmark/1.0"})
return json.load(urllib.request.urlopen(r))["result_count"]
for b in BRIEFS:
print(count(b), "|", b[:48])
# ০ | a woman signing a mortgage document at a kitchen
# ০ | An elderly couple enjoying a peaceful retirement
# ০ | a child discovering snow for the first time in a
# ০ | a delivery cyclist waiting at a red light in hea
চারটি ব্রিফ, চারটি খালি ফলাফল সেট। এখন প্রতিটি ব্রিফকে সেই দুটি কিওয়ার্ডে কেটে নিন যা একজন
মানুষ টাইপ করতো — signing document, elderly couple, child snow,
cyclist rain — এবং এগুলোর প্রতিটি একটি সম্পূর্ণ পেজ ছবি ফেরত দেয় (API রিপোর্ট করে ২৪০,
যেখানে এটি অ্যানোনিমাস কলারদের জন্য কাউন্ট ক্যাপ করে)। ক্যাটালগে ছবি আছে। বাক্যটাই এমন কিছু যা
এটি পার্স করতে পারে না।
| একটি এজেন্ট আসলে যা লেখে | কিওয়ার্ড ইঞ্জিনOpenverse, সম্পূর্ণ বাক্য | কিওয়ার্ড ইঞ্জিন২টি কিওয়ার্ডে কাটা | সিমান্টিক ইঞ্জিনPexafy, সম্পূর্ণ বাক্য |
|---|---|---|---|
| "একজন নারী একটি রান্নাঘরের টেবিলে বসে মর্টগেজ ডকুমেন্টে সাইন করছেন, যখন একজন ব্যাংক উপদেষ্টা শর্তাবলী ব্যাখ্যা করছেন…" | ০ ফলাফল | ২৪০ (ক্যাপড) | ১৬ ফলাফল · ১৪৮ ms |
| "একজোড়া বয়স্ক দম্পতি একসাথে একটি শান্তিপূর্ণ অবসর জীবন উপভোগ করছেন" | ০ ফলাফল | ২৪০ (ক্যাপড) | ১৬ ফলাফল · ১৩৫ ms |
| "একটি শিশু প্রথমবারের মতো একটি শহরতলির বাগানে বরফ আবিষ্কার করছে" | ০ ফলাফল | ২৪০ (ক্যাপড) | ১৬ ফলাফল · ১৪৭ ms |
| "একজন ডেলিভারি সাইক্লিস্ট ভারী বৃষ্টিতে একটি লাল বাতির কাছে অপেক্ষা করছেন" | ০ ফলাফল | ২৪০ (ক্যাপড) | ১৬ ফলাফল · ১৪৯ ms |
Pexafy কলামটি হলো ঠিক একই চারটি বাক্য কোনো পরিবর্তন না করে হোস্টেড MCP সার্ভারে
search_photos-এ পাঠানো, লেটেন্সি সহ যা সার্ভার নিজেই রিপোর্ট করেছে। এটি
কোয়েরি আকৃতির তুলনা, ক্যাটালগের গুণমানের নয় — এবং ক্যাটালগটি স্পষ্টতই সমস্যা নয়।
Openverse-এর নিজস্ব পরিসংখ্যান এন্ডপয়েন্ট পরীক্ষার দিনে ৫২টি উৎস জুড়ে ৯১৫ মিলিয়ন ছবির
রিপোর্ট দেয়, এবং এটি যার জন্য তৈরি হয়েছিল সেই কাজে অসাধারণ: মানুষের জন্য কিওয়ার্ড সার্চ। এতে কিছুই
ভাঙা নয়। এটি কেবল এমন একটি কলারের জন্য ডিজাইন করা হয়নি যে বাক্যে চিন্তা করে। বর্ণনা করা একটি
দৃশ্যে কেন ট্যাগ ম্যাচিং ভেঙে পড়ে — এবং সিমান্টিক রিট্রিভাল তার পরিবর্তে কী করে — পাঠকের
দৃষ্টিকোণ থেকে বলা হয়েছে
কিওয়ার্ডের পরিবর্তে
একটি বাক্য দিয়ে সার্চ করায়; এখানে যা নতুন তা পরিমাপ, এবং যখন কলার একটি ব্যক্তি নয় বরং একটি
প্রোগ্রাম হয় তখন এর অর্থ কী।
বাজার, ১৮ আগস্ট ২০২৬ অনুযায়ী
রিট্রিভাল একটি অর্ধেক। অন্য অর্ধেকটি হলো রিচেবিলিটি: একটি এজেন্ট কি ক্যাটালগে পৌঁছাতে পারে, এবং কী শর্তে? Model Context Protocol যখন সহায়কদের বাইরের সিস্টেমে সংযুক্ত হওয়ার উপায় হয়ে উঠলো — এর বর্তমান স্পেসিফিকেশন, ২৮ জুলাই ২০২৬ তারিখের, প্রোটোকলটিকে একটি স্টেটলেস রিকোয়েস্ট/রেসপন্স কোরে সরিয়ে দিলো যাতে সার্ভারগুলো সাধারণ লোড ব্যালেন্সারের পেছনে বসতে পারে1 — তখন এই বাজার জরিপ করার সততাপূর্ণ উপায় হলো আসলে কী প্রকাশিত হয়েছে তা দেখা, কী ঘোষণা করা হয়েছে তা নয়।
পেইড ইনকাম্বেন্টরা এই মাসে এসেছে
Getty Images তার MCP সার্ভার ১২ আগস্ট ২০২৬-এ চালু করেছে, এই নিবন্ধের ছয় দিন আগে, ক্রিয়েটিভ, এডিটোরিয়াল ও আর্কাইভাল সার্চ এবং ডাউনলোড AI ওয়ার্কফ্লোতে এক্সপোজ করে।2 এটি এন্টারপ্রাইজ টিম এবং প্ল্যাটফর্ম নির্মাতাদের লক্ষ্য করে, এবং এর নিজস্ব অ্যাক্সেস পেজ প্রবেশমূল্য নিয়ে দ্বিধাহীন: আপনার একটি সক্রিয় Getty Images চুক্তি প্রয়োজন, যেমন Premium Access, সাথে Web Service শর্তাবলীর গ্রহণ। কোনো ফ্রি টিয়ার নেই। Shutterstock-এর কনটেন্টও একটি MCP সার্ভারের মাধ্যমে অ্যাক্সেসযোগ্য — সার্চ, কালেকশন এবং লাইসেন্সিং নিয়ে ২৪টি টুল কভার করে — যেখানে ডাউনলোড একটি সক্রিয় সাবস্ক্রিপশন-বহনকারী অ্যাকাউন্টের পেছনে বন্ধ।3
দুটো পদক্ষেপই যুক্তিসম্পন্ন এবং দুটোই একটি নির্দিষ্ট ক্রেতার জন্য। Getty ২০২৫ সালে ৯৮১.৩ মিলিয়ন ডলার আয় বুক করেছে4 একটি স্টক ফটোগ্রাফি মার্কেটে যার আকার ২০২৬ সালের জন্য প্রায় ৫.৪ বিলিয়ন ডলার ধরা হয়েছে5; যে কানেক্টরের জন্য একটি চুক্তি প্রয়োজন তা সেই আয়কে খুলে দেওয়ার চেয়ে রক্ষা করে। আপনি যদি একটি ব্যাংক বা একটি সম্প্রচার সংস্থা হন, ঠিক এটাই আপনার চাই। আপনি যদি একটি সাইড প্রজেক্ট তারবন্দী করা একজন ডেভেলপার হন — অথবা একটি এজেন্ট যাকে থেমে গিয়ে একজন মানুষকে কিছু সাইন করতে বলা যায় না — এটি একটি বন্ধ দরজা।
ফ্রি লাইব্রেরিগুলো একটিও প্রকাশ করেনি
Unsplash, Pexels এবং Pixabay হলো সেই তিনটি ক্যাটালগ যেখানে অধিকাংশ নির্মাতারা পৌঁছান, এবং এদের কেউই একটি অফিসিয়াল MCP সার্ভার প্রকাশ করে না। তার পরিবর্তে যা আছে তা কমিউনিটি র্যাপারের একটি তাক। আমরা অফিসিয়াল MCP রেজিস্ট্রিটি সম্পূর্ণভাবে ক্রল করেছি — ২২,৬০৭টি সার্ভার, ৭৫,৪৮৭টি প্রকাশিত ভার্সন — এবং যে সব এন্ট্রির নাম বা বর্ণনা ফটো বা স্টক-ইমেজ সার্চ নিয়ে ছিল সেগুলো রেখেছি। প্যাটার্নটি একরকম:
| অফিসিয়াল MCP রেজিস্ট্রি, ১৮ আগস্ট ২০২৬ | সংখ্যা | এজেন্টের জন্য এর অর্থ |
|---|---|---|
| রেজিস্ট্রিতে তালিকাভুক্ত সার্ভার, সব ক্যাটাগরি | ২২,৬০৭ | একজন এজেন্ট যেখান থেকে টুল ব্যবহার করতে পারে সেই সম্পূর্ণ ইকোসিস্টেম |
| photo / image / stock / picture এবং লাইব্রেরির নামের সাথে মিলে যাওয়া সার্ভার | ১৩৭ | অধিকাংশই এডিটর, জেনারেটর বা ব্যক্তিগত ফটো টুল, সার্চ নয় |
| …যেগুলো আসলেই স্টক বা ফ্রি-লাইসেন্স ফটোগ্রাফি সার্চ করে | ১১ | সম্পূর্ণ অ্যাড্রেসেবল তাক |
| …যেগুলো Unsplash, Pexels, Pixabay বা Openverse নিজেই প্রকাশ করেছে | ০ | প্রতিটিই একটি থার্ড-পার্টি র্যাপার; একটির নিজস্ব বর্ণনাতেই "Unofficial" লেবেল লাগানো |
| …যেগুলো লোকালি চলে এবং আপনার থার্ড-পার্টি API কী প্রয়োজন করে | ৭ | UNSPLASH_ACCESS_KEY, PEXELS_API_KEY, PIXABAY_API_KEY… একজন মানুষকে আগে প্রতিটি সংগ্রহ করতে হবে |
| …যেগুলো একটি হোস্টেড রিমোট সার্ভার হিসেবে অ্যাক্সেসযোগ্য | ৪ | চারটিই একই কিওয়ার্ড API-র সামনে, একজন থার্ড-পার্টি অপারেটরের একক-উৎস গেটওয়ে |
| Getty বা Shutterstock-এর জন্য এন্ট্রি | ০ | তাদের সার্ভার আছে, কিন্তু পাবলিক রেজিস্ট্রির বাইরে, অ্যাকাউন্ট-হোল্ডারদের কাছে বিতরণ করা হয় |
import json, urllib.request, urllib.parse
def crawl(term): # রেজিস্ট্রি `nextCursor` দিয়ে পেজিনেট করে
out, cursor = {}, None
while True:
p = {"limit": "100", "search": term} | ({"cursor": cursor} if cursor else {})
d = json.load(urllib.request.urlopen(
"https://registry.modelcontextprotocol.io/v0/servers?" + urllib.parse.urlencode(p)))
for e in d["servers"]: out[e["server"]["name"]] = e["server"]
cursor = (d.get("metadata") or {}).get("nextCursor")
if not cursor or not d["servers"]: return out
servers = {}
for t in ["photo", "image", "stock", "picture", "unsplash",
"pexels", "pixabay", "getty", "shutterstock", "openverse"]:
servers |= crawl(t)
# ১৩৭টি ইউনিক সার্ভার · রিমোট বনাম লোকাল হলো `server["remotes"]`
# প্রয়োজনীয় থার্ড-পার্টি কী গুলো packages[].environmentVariables-এ
এই র্যাপারগুলোর প্রতিটিই একই তিনটি কিওয়ার্ড API-র একটি পাতলা ক্লায়েন্ট, যার অর্থ হলো উপরের বেঞ্চমার্ক তাদের সবার ক্ষেত্রেই প্রযোজ্য: ট্রান্সপোর্ট পরিবর্তিত হয়েছে, রিট্রিভাল হয়নি। একটি র্যাপার একটি ট্যাগ ইনডেক্সকে একটি বাক্য বুঝতে সক্ষম করে তুলতে পারে না।
যে ক্লজটি একটি মেশিনকে থামায় সেটি কোটা নয়
ফ্রি লাইব্রেরিগুলোর কোটা ও শর্তাবলী একটি সাধারণ ইউনিটে পাশাপাশি তুলনা করা আছে ফ্রি স্টক ফটো API তুলনায় — অনুমোদন কিউ, বাধ্যতামূলক ডাউনলোড কল, ২৪ ঘণ্টার ক্যাশিং বাধ্যবাধকতা, অ্যাট্রিবিউশন নিয়ম। সেই নিবন্ধ এগুলো একজন ডেভেলপারের চোখে পড়ে যে একটি প্রোভাইডার বেছে নিচ্ছে। এগুলো পুনরায় প্রোগ্রামের দৃষ্টিতে পড়ুন যার এগুলো মানতে হয়, এবং একটি লাইন সামনে আসে যার আয়তনের সাথে কোনো সম্পর্ক নেই:
Pixabay-র কোয়েরি ফিল্ড ১০০ ক্যারেক্টার গ্রহণ করে। উপরের বেঞ্চমার্কের চারটি ব্রিফের গড় দৈর্ঘ্য ৭২, এবং মর্টগেজ ব্রিফটি ১১৪ পর্যন্ত পৌঁছায় — এটি সরাসরি প্রত্যাখ্যাত হবে, খারাপভাবে র্যাংক করা হবে না। Pexels ও Unsplash কোনো দৈর্ঘ্যসীমা প্রকাশ করে না কারণ তারা কখনও ভাবেনি এর প্রয়োজন হবে: তাদের ডকুমেন্টেড উদাহরণ হলো Ocean, Tigers, Pears। দুটি শব্দের জন্য মাপা একটি ফিল্ড কলার কে হবে বলে ধরে নেওয়া হয়েছিল সে সম্পর্কে একটি বিবৃতি, এবং কোনো পরিমাণ কোটাই এটি ঠিক করে না। এজেন্ট যে সিমান্টিক এন্ডপয়েন্টে কথা বলে তা ৫০০ নেয়, কারণ পরের ক্লজটি — "…যখন একজন ব্যাংক উপদেষ্টা শর্তাবলী ব্যাখ্যা করছেন" — এটাই এমন অংশ যা রিট্রিভালকে ভালো করে তোলে।
অনবোর্ডিংয়ের ক্ষেত্রেও একই পঠন প্রযোজ্য। একটি ডেমো টায়ার যা কেবল একজন মানুষ আপনার অ্যাপের স্ক্রিনশট পর্যালোচনা করার পরই প্রোডাকশনে পরিণত হয়, তা এমন একটি রেট লিমিট নয় যা থেকে একটি এজেন্ট পিছিয়ে আসতে পারে; এটি এমন একটি পদক্ষেপ যা সে সম্পন্ন করতেই পারে না। Pixabay স্পষ্টভাবে উদ্দেশ্য বলে দেয় — API-টি বৈধ মানব ব্যবহারের জন্য, এবং ব্যাপকভাবে স্বয়ংক্রিয় ডাউনলোডিং নিষিদ্ধ। এর কিছুই অযৌক্তিক নয় — ফটোগ্রাফাররা কাজ বিনামূল্যে দিয়ে দেন এবং কেউ না কেউ ব্যান্ডউইথের খরচ বহন করে। এটি কেবল এমন একটি API বর্ণনা করে যার কলারের একটি স্ক্রিন এবং একজোড়া হাত আছে বলে ধরে নেওয়া হয়েছিল।
চারটি প্রয়োজনীয়তা, এবং কে পূরণ করে
দুই অর্ধেক একসাথে রাখলে একটি এজেন্ট আসলেই ব্যবহার করতে পারে এমন একটি ইমেজ লেয়ারের স্পেসিফিকেশন সংক্ষিপ্ত ও পরীক্ষাযোগ্য হয়ে দাঁড়ায়। এটি ইচ্ছাকৃতভাবে একটি প্রোভাইডার তুলনা নয় — ক্যাটালগের আকার, দাম ও লাইসেন্স শর্তাবলী পাশাপাশি সাজানো আছে তুলনা নিবন্ধে। এই চারটি কেবল এটাই নিয়ে যে একটি প্রোগ্রাম কি আসলেই ছবিগুলোতে পৌঁছাতে পারে:
- সিমান্টিক রিট্রিভাল — একটি সম্পূর্ণ বাক্য একটি র্যাংকড পেজ ফেরত দেয়, খালি সেট নয়।
- ফ্রি লাইসেন্স, একাধিক উৎস — প্রতি ছবিতে লাইসেন্স করার কিছু নেই, এবং একটি লাইব্রেরির রুচি আপনার প্রতিটি প্রকাশিত পেজ নির্ধারণ করে না।
- নিজস্ব সাইন-ইনসহ একটি হোস্টেড সার্ভার — রিমোট, OAuth, ইনস্টল করার মতো কোনো লোকাল প্রসেস নেই এবং কোনো থার্ড পার্টির API কী একটি কনফিগ ফাইলে পেস্ট করার প্রয়োজন নেই।
- একটি মেশিন নিজেই সম্পন্ন করতে পারে এমন একটি ফ্রি টিয়ার — কোনো স্ক্রিনশট রিভিউ নেই, কোনো চুক্তি নেই, একটি মাসিক কোটা এবং প্রতি-মিনিট রেট লিমিট যার সাথে একজন ওয়ার্কার নিজেকে গতি মিলিয়ে চলতে পারে।
| ১৮ আগস্ট ২০২৬ অনুযায়ী | সিমান্টিক | ফ্রি লাইসেন্স, মাল্টি-সোর্স | হোস্টেড সার্ভার + OAuth | সেলফ-সার্ভ ফ্রি টিয়ার |
|---|---|---|---|---|
| Getty Images MCP | স্বাভাবিক-ভাষার সার্চ | লাইসেন্সড ক্যাটালগ, প্রতি-চুক্তি | হ্যাঁ, অ্যাকাউন্ট-হোল্ডারদের জন্য | না — সক্রিয় চুক্তি প্রয়োজন |
| MCP-এর মাধ্যমে Shutterstock | কিওয়ার্ড-চালিত | লাইসেন্সড ক্যাটালগ, সাবস্ক্রিপশন | হ্যাঁ, অ্যাকাউন্ট অথ সহ | না — ডাউনলোডের জন্য সাবস্ক্রিপশন |
| Unsplash / Pexels / Pixabay র্যাপার | না — নিচে কিওয়ার্ড API | প্রতিটির একটি একক উৎস | না — লোকাল প্রসেস, আপনার নিজের কী | হোস্ট API-র মানবিক অনবোর্ডিং উত্তরাধিকার সূত্রে পায় |
| Openverse | না — কিওয়ার্ড ইনডেক্স | হ্যাঁ, অত্যন্ত বিস্তৃত CC ক্যাটালগ | কোনো অফিসিয়াল MCP সার্ভার নেই | হ্যাঁ, খোলা API |
| Pexafy | হ্যাঁ — বাক্য, ৫০০ ক্যারেক্টার পর্যন্ত | ৯টি ফ্রি-লাইসেন্স উৎস, ৯ মিলিয়ন+ ছবি | হ্যাঁ — mcp.pexafy.com/mcp, OAuth 2.1 |
হ্যাঁ — মাসে 5,000 রিকোয়েস্ট, 20/মিনিট, কোনো কার্ড নেই |
আমরা Pexafy বানাই, তাই সেই শেষ সারিটি যতটা সংশয়ের সাথে পড়া উপযুক্ত ততটা সংশয় নিয়ে পড়ুন — আর তারপর যাচাই করুন: রেজিস্ট্রি সেন্সাসটি একটি স্ক্রিপ্টে পুনরুত্পাদনযোগ্য, Getty ও Shutterstock-এর অ্যাক্সেস শর্তাবলী তাদের নিজস্ব পেজে আছে, এবং তিনটি ফটো API-র সীমা তাদের নিজস্ব ডকে আছে, সবগুলোই নিচে লিংক করা। দাবিটি সংকীর্ণ ও ভুল প্রমাণযোগ্য: ১৮ আগস্ট ২০২৬-এ আমরা একটি দ্বিতীয় পরিষেবা খুঁজে পাইনি যা এই চারটি পূরণ করে। আপনি একটি জানেন তো, আমরা এটি এই টেবিলে যুক্ত করবো — প্রয়োজনীয়তাগুলো লিখে রাখার পুরো বিষয়টাই এই যে যে কেউ এগুলো কোনো পণ্যের বিরুদ্ধে, আমাদেরটা সহ, চালিয়ে দেখতে পারেন।
MCP-র মাধ্যমে একটি ভালো ইমেজ সার্ভার কী করে
একটি কানেক্টর একটি নতুন কোট পরানো REST এন্ডপয়েন্ট নয়। এই লেয়ারের দুটি ব্যবহার অন্যত্র লেখা আছে এবং এখানে পুনরাবৃত্তি হচ্ছে না — একটি খসড়া ইলাস্ট্রেট করা, লেখা আছে পাইপলাইন নিবন্ধে, এবং একটি দীর্ঘ সিরিজকে ভিজ্যুয়ালি সুসংগত রাখা, লেখা আছে ভলিউম নিয়ে নিবন্ধে। ইনফ্রাস্ট্রাকচারের যা প্রাপ্য তা এমন কিছু যার উপর দুটোই নির্ভর করে এবং কোনোটিই পরে যুক্ত করতে পারে না: তিনটি সার্ভার-সাইড সিদ্ধান্ত, একবার নেওয়া, প্রতিটি এজেন্টের জন্য যারা কখনো সংযুক্ত হয়।
১. এমন অবজেক্ট ফেরত দাও যা নিয়ে একটি এজেন্ট যুক্তি করতে পারে। টুলটি যা রিটার্ন করে সেটাই মডেলের সব জানা — এটি একটি গ্রিড স্ক্যান করতে পারে না। নিচের দুটি আকৃতির মধ্যে পার্থক্যই হলো একটি সহকারী যা ছবি নিয়ে যুক্তি করে এবং একটি সহকারী যা কেবল লিংক পাঠায় তার মধ্যকার পার্থক্য:
# সাধারণ কিওয়ার্ড র্যাপার: এজেন্টকে ফেচ করে দেখতে হয়, বা অনুমান করতে হয়
[{ "url": "https://…/photo-8795398.jpeg" }, { "url": "https://…/366611.jpg" }]
# একটি ফলাফল, যেমনটা ফেরত আসে — এখানে ছোট করা, কিছু যুক্ত করা হয়নি
{
"rank": 1, // একজন মানুষ যে হ্যান্ডেল ব্যবহার করে: "#1-এর মতো আরও"
"photo_id": "019e14d9-e821-…", // get_similar_photos যা নেয়
"width": 6424, "height": 4283, "orientation": "landscape",
"color_hex": "#918872", "blur_hash": "LPI#Px?aDikCGwW?M{kD-VR*s.fl",
"source": "Pexels", "license_type": "free",
"alt_description": "Older couple sits together on wooden bench in a park",
"attribution": { "plain": "Photo by Anastasia Shuraeva on Pexels", "html": "…" },
"urls": { "thumb": "…", "small": "…", "regular": "…", "large": "…" }
}
দ্বিতীয় আকৃতিতে একটি এজেন্ট বলতে পারে "#৩টি পোর্ট্রেট, এটি আপনার হিরো স্লট ভেঙে দিবে", একটি ডুপ্লিকেট
ফটোগ্রাফার বাদ দিতে পারে, ক্রেডিট লাইন এমিট করতে পারে, এবং আপনার টেমপ্লেটকে একটি
width/height জোড়া হাতে দিতে পারে যা লেআউট শিফট বন্ধ করে দেয় — একটি
ছবিও ফেচ না করে। প্রথমটিতে, এই সিদ্ধান্তগুলোর প্রতিটিই একটি অনুমান বা একটি রাউন্ড ট্রিপ।
২. ফলাফলগুলো নম্বরবদ্ধ করো, যাতে একজন ব্যক্তি নির্দেশ করতে পারে। ফলাফল
#1, #2, #3… র্যাংক করে ফিরে আসে, যেমনটা কেউ কথোপকথনে একটি ছবি নির্দেশ করে —
"#৩-এর মতো আরও" — হাত দিয়ে কোনো আইডেন্টিফায়ার কপি না করে। যে ক্লায়েন্টগুলো MCP Apps সাপোর্ট
করে সেখানে থাম্বনেইলগুলো ইনলাইন রেন্ডার হয়, এবং একটি খোলা দেখালেই মেটাডেটা দেখা যায় যা টুল
ফলাফলেই আগে থেকে ছিল, কোনো অতিরিক্ত কল ছাড়াই।
৩. রিড-অনলি থাকো, এবং এটা নিয়ে স্পষ্ট থাকো। তিনটি টুল, কোনো রাইট স্কোপ নেই,
কোনো অ্যাকাউন্ট মিউটেশন নেই। এদের একটির কোনো কিওয়ার্ড সমতুল্য কোথাও নেই:
search_photos_by_image একটি রেফারেন্স ছবি নেয় — একজন ক্লায়েন্টের বিদ্যমান হিরো,
চ্যাটে পেস্ট করা একটি স্ক্রিনশট — সাথে একটি ঐচ্ছিক বাক্য যা এটিকে বাঁকিয়ে দেয়
("এইটার মতো, কিন্তু রাতের বেলা")। একটি ট্যাগ-ম্যাচিং API-তে এমন কোনো ফিল্ড নেই যেখানে
এই রিকোয়েস্ট টাইপ করাই যায়। এবং এমন একটি এজেন্ট যা কিছুই পরিবর্তন করতে পারে না তার সবচেয়ে খারাপ
পরিণতি একটি সাপোর্ট টিকিটের বদলে একটি খালি ফলাফল সেট।
দুটি সার্ফেস, এবং কোনটি আপনার চাই
ভেতরে ঢোকার ঠিক দুটি উপায় আছে, এবং পছন্দটা সক্ষমতার বিষয় নয় বরং কে লুপে আছে তা নিয়ে — টুলগুলো এবং ক্যাটালগ দুটোতেই অভিন্ন।
কানেক্টর, যখন একজন ব্যক্তি লুপে থাকেন। একটি URL,
https://mcp.pexafy.com/mcp, একবার একটি সহকারীর কানেক্টর সেটিংসে যুক্ত করা হয়;
সাইন-ইন একটি ব্রাউজার উইন্ডোতে ঘটে এবং ক্লায়েন্ট তার নিজের ক্রেডেনশিয়াল পায়, তাই কোনো কী
একটি কনফিগ ফাইলে পেস্ট করার প্রয়োজন নেই এবং পরে কোনো রোটেট করার প্রয়োজন নেই। যে ক্লায়েন্টগুলো
OAuth ইমপ্লিমেন্ট করে না তারা একই এন্ডপয়েন্টের বিপরীতে একটি Pexafy API কী একটি বেয়ারার টোকেন
হিসেবে পাঠায় — যা কানেক্টরটিকে একটি বিল্ড সার্ভারে একটি ক্রন জবের জন্য ব্যবহারযোগ্য করে তোলে,
যেখানে "Allow" ক্লিক করার জন্য কেউ থাকে না। Claude, ChatGPT এবং একটি ফ্লিট কনফিগ ফাইলের জন্য
ধাপে-ধাপে ওয়্যারিং আছে
পাইপলাইন
নিবন্ধে; এটি পরিবর্তিত হয়নি।
HTTP API, যখন কেউ লুপে নেই। ৮০০টি টপিক ক্লাস্টারের জন্য একটি পুল ভরার একটি
ব্যাচ জব একটি চ্যাট ক্লায়েন্ট হওয়ার ভান করা উচিত নয়: একই অ্যাকাউন্ট, একই কী, সরল HTTP,
প্রতি কলে ১০০টি ফলাফল। এর সাথে থাকা গতিনিয়ন্ত্রণ নিয়ম — রেট-লিমিট হেডার, কেন প্রতি-মিনিটের
429 পুনরায় চেষ্টা করার যোগ্য এবং মাসিক-কোটার 429 নয়, ভলিউমে একটি
ওয়ার্কারের খরচ কত — এগুলো
বড় আকারে
ইলাস্ট্রেট করার নিবন্ধে আছে, যেখানে সেই ওয়ার্কারটি সম্পূর্ণভাবে লেখা হয়েছে।
এখানে যা রাখার মতো তা আরও সংকীর্ণ, এবং এটাই সেই বিষয় যার উপর বাজার সমীক্ষা ঘুরপাক খায়: দুটি সার্ফেসই একটি প্রোগ্রামের কাছে অ্যাক্সেসযোগ্য যেদিন লেখা হয়েছিল, কোনো কিউ বা চুক্তি ছাড়া।
এটি কী সমাধান করে না
একটি সৎ তালিকা, কারণ এগুলোর প্রতিটির খরচ কাউকে না কাউকে একটি রোলব্যাক দিয়ে দিতে হয়েছে।
- লাইসেন্স এখনও ছবিটি নিয়ন্ত্রণ করে। Pexafy API শর্তাবলী দ্বারা অ্যাট্রিবিউশন বাধ্যতামূলক নয় এবং প্রতিটি ফলাফলে রেন্ডার করার জন্য প্রস্তুত একটি অ্যাট্রিবিউশন স্ট্রিং আছে — কিন্তু উৎস লাইব্রেরির সংযুক্ত লাইসেন্স সেই ছবির আপনার ব্যবহারে প্রযোজ্য। ক্রেডিট স্বয়ংক্রিয়ভাবে রেন্ডার করুন; পরে অডিট করার চেয়ে এটা সস্তা।
- ফ্রি-লাইসেন্স ক্যাটালগগুলো এডিটোরিয়াল আর্কাইভ নয়। চাহিদার ভিত্তিতে কোনো খবর, খেলা, স্বীকৃত ব্র্যান্ড বা পরিচিত ব্যক্তিত্ব নেই। আপনার পেজে যদি একটি নির্দিষ্ট ইভেন্ট বা ব্যক্তির ছবি লাগে, তাহলে লাইসেন্সড ইনকাম্বেন্টদের জন্যই এটা, এবং তাদের কানেক্টরগুলো এখন বিদ্যমান।
- এটি রিট্রিভাল, এবং কেবলই রিট্রিভাল। ডায়াগ্রাম, চার্ট আর স্ক্রিনশট কোড থেকে রেন্ডার করা হয়, খোঁজা হয় না; আপনার পেজগুলোর মধ্যে ডুপ্লিকেশন আপনার ডাটাবেজের একটি কলাম, এন্ডপয়েন্টের একটি প্যারামিটার নয়; এবং কোনো ছবিই একটি হালকা পেজকে র্যাংক করায় না — Google-এর স্প্যাম পলিসি স্কেলড কনটেন্ট অ্যাবিউজ-কে একইভাবে বিবেচনা করে পেজগুলো ইলাস্ট্রেটেড কি না তা নির্বিশেষে।6 এই তিনটিই পাইপলাইনের সমস্যা যার পাইপলাইনের উত্তর আছে, যা কাজ করা হয়েছে পাইপলাইন নিবন্ধে এবং ভলিউম নিয়ে নিবন্ধে।
কোথা থেকে শুরু করবেন
- বেঞ্চমার্কটি পুনরায় চালান। কুড়ি লাইন, কোনো কী নেই। আজ যে ইমেজ API-ই ব্যবহার করুন, আপনার এজেন্টের তিনটি নিজস্ব ব্রিফ হুবহু সেটাতে পাঠান এবং খালি ফলাফল সেট গুনুন।
- একটি কানেক্টর সংযুক্ত করুন আপনি যে সহকারী ইতিমধ্যে ব্যবহার করেন তাতে এবং একটি বাক্যে তাকে এমন একটি ছবির জন্য বলুন যা আপনার আসলেই এই সপ্তাহে প্রয়োজন। এটাই পুরো মূল্যায়ন।
- ব্রিফগুলো এজেন্টে সরিয়ে নিন — প্রতিটি স্লটের জন্য একটি দৃশ্য, খসড়া থেকে লেখা, শিরোনাম থেকে কখনো নয়।
photo_idকলাম যুক্ত করুন ভলিউমে কিছু প্রকাশ করার আগে।- ফ্রি টিয়ারে চালান — মাসে 5,000টি সার্চ, প্রতি মিনিটে 20টি যতক্ষণ না একটি বিল্ড উইন্ডো, একটি বিল নয়, আপনাকে উপরে ওঠাতে বাধ্য করে।
রেফারেন্স ও ফুটনোট
1 ২৮ জুলাই ২০২৬-এর Model Context Protocol স্পেসিফিকেশন: স্টেটলেস রিকোয়েস্ট/রেসপন্স কোর, RFC 9207 অনুযায়ী ইস্যুয়ার যাচাইকরণ, Dynamic Client Registration-এর পরিবর্তে Client ID Metadata Documents, এবং গেটওয়ে রাউটিংয়ের জন্য HTTP হেডারে বহন করা মেথড/টুল নাম।
2 Getty Images নিউজরুম, ১২ আগস্ট ২০২৬ — "Getty Images Launches MCP Server to Connect Creative and Editorial Content to AI Workflows and Products"। অ্যাক্সেস পেজে বলা আছে ব্যবহারের জন্য একটি সক্রিয় Getty Images চুক্তি প্রয়োজন, যেমন Premium Access, এবং Web Service শর্তাবলীর গ্রহণ।
3 Shutterstock-এর ক্যাটালগ একটি MCP সার্ভারের মাধ্যমে ২৪টি টুল (সার্চ, কালেকশন, লাইসেন্সিং) দিয়ে এক্সপোজ করা হয়, একটি থার্ড-পার্টি MCP প্ল্যাটফর্মের মাধ্যমে বিতরণ করা হয় এবং এই লেখার সময় Shutterstock-এর নিজস্ব ডেভেলপার পোর্টালে ঘোষণা করা হয়নি; লাইসেন্সিং এবং ডাউনলোডের জন্য একটি সক্রিয় সাবস্ক্রিপশনসহ একটি অ্যাকাউন্ট প্রয়োজন।
4 Getty Images Holdings, ২০২৫ পূর্ণ-বছরের ফলাফল (১৬ মার্চ ২০২৬-এ রিপোর্ট করা): $৯৮১.৩ মিলিয়ন আয়, বছর-বছর ৪.৫% বৃদ্ধি।
5 Mordor Intelligence, স্টক ফটোগ্রাফি মার্কেট: USD ৫.৪৪ বিলিয়ন ২০২৬-এ, ৬.৮৬% CAGR-এ বাড়ছে। মার্কেট-সাইজিং অনুমান পদ্ধতি অনুযায়ী ভিন্ন হয়; এখানে এটি শুধুমাত্র মাত্রার ধারণা দেওয়ার জন্য উদ্ধৃত করা হয়েছে।
6 Google Search স্প্যাম পলিসি — স্কেলড কনটেন্ট অ্যাবিউজ: মূলত র্যাংকিং নিয়ন্ত্রণ করার জন্য অনেক পেজ তৈরি করা এবং ব্যবহারকারীদের জন্য সামান্য মূল্য প্রদান করা, তা অটোমেশন, মানবিক প্রচেষ্টা বা এদের সমন্বয়ে তৈরি হোক না কেন।
প্রাথমিক উৎস, ১৮ আগস্ট ২০২৬-এ যাচাই করা হয়েছে: MCP রেজিস্ট্রি API · MCP স্পেসিফিকেশন · Getty Images MCP ঘোষণা · Unsplash API ডক · Pexels API ডক · Pixabay API ডক · Openverse API · Google স্প্যাম পলিসি · Pexafy API & MCP ডক। Openverse কাউন্ট, Pexafy ফলাফল কাউন্ট এবং এই নিবন্ধের প্রতিটি লেটেন্সি সেদিন ধরা লাইভ মূল্য; প্ল্যান লিমিট রেন্ডার সময়ে লাইভ প্রাইসিং ক্যাটালগ থেকে পড়া হয়।
প্রায়শই জিজ্ঞাসিত প্রশ্ন
কেন স্টক ফটো এপিআই কোনো এআই এজেন্টের সার্চে কিছুই ফেরত দেয় না?
elderly couple), একই ক্যাটালগ শত শত ফলাফল দিয়েছে। Pixabay তার কোয়েরিকে ১০০ ক্যারেক্টারে সীমাবদ্ধ রাখে, যা বেশিরভাগ এজেন্ট ব্রিফ নিজে থেকেই ছাড়িয়ে যায়। একটি সিমান্টিক ইঞ্জিন পুরো বাক্যটিকে এম্বেড করে, তাই “tired” বা “at night”-এর মতো ক্লজ ম্যাচ ভেঙে না দিয়ে র্যাঙ্কিং পরিবর্তন করে।Unsplash, Pexels বা Pixabay-র জন্য কি কোনো অফিসিয়াল MCP সার্ভার আছে?
Getty Images MCP সার্ভারের খরচ কত, এবং যে কেউ কি এটি ব্যবহার করতে পারে?
একটি ইমেজ সার্চ এপিআই-কে এআই এজেন্টের ব্যবহারযোগ্য হওয়ার জন্য কী প্রয়োজন?
OAuth প্রয়োজন এমন একটি MCP ইমেজ সার্ভার কি কোনো CI জব বা হেডলেস ওয়ার্কার ব্যবহার করতে পারে?
mcp.pexafy.com/mcp-তে থাকা সার্ভারটি দ্বৈত-মোড: ইন্টারঅ্যাক্টিভ ক্লায়েন্টদের জন্য একটি ব্রাউজার সাইন-ইন, এবং যেসব ক্লায়েন্ট কোনো OAuth ফ্লো বাস্তবায়ন করে না তাদের জন্য একই এন্ডপয়েন্ট Authorization: Bearer <key> বা x-api-key হিসেবে Pexafy এপিআই কী গ্রহণ করে — যা এটিকে একটি ক্রন জব বা বিল্ড রানার থেকে চালানো সম্ভব করে তোলে যেখানে কেউ “Allow” ক্লিক করতে পারে না। তিনটি টুলই read-only, তাই একটি আপোসকৃত রানার কী অ্যাকাউন্ট পরিবর্তন করতে পারে না। শুধু ইন্টারঅ্যাক্টিভ OAuth বোঝে এমন সার্ভার একেবারেই হেডলেসভাবে চালানো যায় না।কীভাবে জানব কোন ইমেজ MCP সার্ভারগুলো বিদ্যমান এবং প্রতিটির জন্য কী প্রয়োজন?
GET registry.modelcontextprotocol.io/v0/servers?search=photo&limit=100 একটি টার্মের সাথে মেলে এমন সার্ভার ফেরত দেয়; metadata-তে থাকা nextCursor ভ্যালু দিয়ে পেজিনেট করুন (ক্যামেল কেস লক্ষ্য করুন — next_cursor নিঃশব্দে শুধু একটি পেজ ফেরত দেয়)। প্রতিটি এন্ট্রিতে, remotes বলে দেয় এটি একটি হোস্টেড সার্ভার নাকি স্থানীয় প্রসেস, এবং packages[].environmentVariables তালিকাভুক্ত করে সেই তৃতীয়-পক্ষের এপিআই কী যা আপনাকে নিজে সংগ্রহ করতে হবে। ১৮ আগস্ট ২০২৬ তারিখে photo, image, stock এবং লাইব্রেরির নাম দিয়ে এটি পুনরাবৃত্তি করলে মোট ২২,৬০৭টি সার্ভার পাওয়া গেছে, যার মধ্যে ১১টি স্টক ফটো সার্চ করে।