API ডকুমেন্টেশন
YourImageShare API দিয়ে আপনি প্রোগ্রাম থেকেই ফাইল আপলোড করতে, তালিকা দেখতে ও ডিলিট করতে পারবেন। এটি ছোট একটি JSON/REST API - কোনো SDK লাগে না, শুধু একটি HTTP ক্লায়েন্ট আর একটি API কী হলেই চলে - তবে অফিসিয়াল JavaScript, Python ও MCP লাইব্রেরিও আছে।
সব ক্লায়েন্ট লাইব্রেরি এবং নিচের টুলগুলো ওপেন সোর্স। আমাদের অফিসিয়াল GitHub রিপোজিটরিতে কোড দেখতে, সমস্যা জানাতে বা অবদান রাখতে পারবেন: github.com/yourimageshare/yourimageshare।
বেস URL: https://yourimageshare.com/api · ফরম্যাট: ইনপুট ও আউটপুট JSON, শুধু আপলোড হয় multipart/form-data-তে · অথেনটিকেশন: প্রতিটি রিকোয়েস্টে একটি API কী। · মেশিন-রিডেবল স্পেক: /openapi.json (OpenAPI 3.1), যেসব এজেন্ট ও কোডজেন টুল এই পেজ পার্স করতে চায় না তাদের জন্য।
API কী পাওয়া
সাইন ইন করে আমার অ্যাকাউন্ট-এ যান এবং API ট্যাব খুলুন। সেখানে আপনার কী দেখা যাবে, সাথে একটি Regenerate বাটনও থাকবে। কী পুনরায় তৈরি করলে পুরোনোটি সঙ্গে সঙ্গে অকেজো হয়ে যায়, তাই বাটনে ক্লিক করার আগে যেখানে যেখানে ব্যবহার করছেন সেগুলো আপডেট করে নিন।
ওই ট্যাবে আলাদা ও স্বাধীন একটি Upload-only key-ও আছে - কখন সেটি ব্যবহার করবেন তা জানতে নিচের টিপ এবং ফোরাম প্লাগইন দেখুন।
অথেনটিকেশন
কী হেডার হিসেবে পাঠান - এটিই পছন্দের উপায়, কারণ কোয়েরি স্ট্রিং অ্যাক্সেস লগ, প্রক্সি লগ ও Referer হেডারে থেকে যেতে পারে:
X-API-Key: YOUR_API_KEY ?key= কোয়েরি প্যারামিটারও কাজ করে, যা পুরোনো ইন্টিগ্রেশন এবং দ্রুত এক-দুটি curl কমান্ডের সুবিধার জন্য রাখা হয়েছে। দুটোই থাকলে হেডার অগ্রাধিকার পায়।
?key=YOUR_API_KEY টিপ: আপনার কী পাসওয়ার্ডের মতো গোপন রাখুন - এটি যার কাছে থাকবে সে আপনার অ্যাকাউন্টে আপলোড, তালিকা দেখা, পরিবর্তন ও ডিলিট করতে পারবে। প্রতিটি সফল রিকোয়েস্ট লগ হয় এবং অ্যাকাউন্ট পেজের API ট্যাবে দিন ও রিকোয়েস্টের ধরন অনুযায়ী চার্টে দেখা যায়। কোনো কী যদি অন্যদের চোখে পড়ার মতো জায়গায় রাখতে হয় - যেমন ফোরাম প্লাগইন বা পাবলিক কনফিগ ফাইল - তাহলে একই ট্যাব থেকে Upload-only key ব্যবহার করুন: এটি শুধু আপলোড করতে পারে - তালিকা, খোঁজা, পরিবর্তন ও ডিলিট করতে গেলে 401 দিয়ে প্রত্যাখ্যান হয়।
এন্ডপয়েন্ট
আপলোড, তালিকা ও ডিলিটে একই অথেনটিকেশন ও রেট লিমিট প্রযোজ্য; বড় ফাইল আগে টুকরো করে পাঠানো যায়।
POST /api - ফাইল আপলোড
অথেনটিকেটেড অ্যাকাউন্টের জন্য একটি ফাইল আপলোড করে।
| ফিল্ড | ধরন | বাধ্যতামূলক | বিবরণ |
|---|---|---|---|
uploads | file | এই তিনটির একটি | আপলোডের ফাইল, সর্বোচ্চ 100MB (আমাদের নেটওয়ার্কের মধ্য দিয়ে একটি রিকোয়েস্টের সীমা)। প্রতি রিকোয়েস্টে একটি ফাইল - এই এন্ডপয়েন্টে একসাথে একাধিক ফাইল আপলোড হয় না। |
url | string | ছবি বা ভিডিওর পাবলিক http(s) লিংক। আমরা নিজেরাই ডাউনলোড করি, তাই 200MB পর্যন্ত ফাইল চলবে। | |
upload_id | string | আগে POST /api/chunk-এ টুকরো করে পাঠানো ফাইল, সর্বোচ্চ 200MB। | |
filename | string | না | upload_id-এর সাথে: ফাইলের আসল নাম। |
expires_in | integer | না | এত সেকেন্ড পর এই আপলোড নিজে থেকে ডিলিট হবে (60 থেকে 31,536,000, অর্থাৎ 1 মিনিট থেকে 1 বছর)। সাধারণ স্থায়ী আপলোডের জন্য বাদ দিন। |
allow_duplicate | boolean | না | আপনার অ্যাকাউন্টে হুবহু একই ফাইল আগে আপলোড করা থাকলেও নতুন কপি সংরক্ষণ করুন (নিচে duplicate দেখুন)। |
keep_original | boolean | না | ছবি যেমন আপলোড করেছেন ঠিক তেমনই রাখুন। এটি না দিলে 1 MB-এর বড় JPG/PNG ফাইল WebP-তে অপটিমাইজ হয়। GPS-এর মতো মেটাডেটা দুই ক্ষেত্রেই মুছে ফেলা হয়। |
visibility | string | না | unlisted (ডিফল্ট): লিংক থাকলে যে কেউ ফাইল ও তার পেজ দেখতে পারে, কিন্তু কোথাও তালিকাভুক্ত হয় না। private: শুধু ফাইল - পেজের লিংকে গেলে আপনি ছাড়া সবাই সরাসরি ফাইলে চলে যায় (কমেন্ট, রিঅ্যাকশন বা বিজ্ঞাপন নেই)। public: সাইটে তালিকাভুক্ত এবং ইনডেক্সযোগ্য। |
title | string | না | সর্বোচ্চ 90 অক্ষর, আপলোডের পেজে দেখানো হয়। |
description | string | না | সর্বোচ্চ 500 অক্ষর। |
গ্রহণযোগ্য ধরন: JPG, PNG, GIF, WEBP, AVIF, BMP, TIFF, HEIC অথবা HEIF ছবি; MP4, WEBM, AVI, MOV, MKV, MPEG, WMV, FLV অথবা 3GP ভিডিও (তালিকা সময়ের সাথে বাড়তে পারে)। HEIC/HEIF ও TIFF WebP হিসেবে সংরক্ষিত হয়, MP4/WebM ছাড়া অন্য ভিডিও MP4-তে রূপান্তরিত হয়, আর বড় JPEG/PNG ছবি আপলোডের কিছুক্ষণ পর WebP-তে রূপান্তরিত হয়, যদি তাতে আকার উল্লেখযোগ্যভাবে কমে। সর্বোচ্চ আকার: 200MB; আকারে বড় বা পড়া যায় না এমন ফাইল 422 দিয়ে প্রত্যাখ্যাত হয়।
রেসপন্স - 200 OK:
{
"type": "success",
"msg": "success",
"data": {
"id": "aB3xY9qRz1",
"type": "image",
"path": "https://i.yourimageshare.com/aB3xY9qRz1.png",
"src": "https://yourimageshare.com/ib/aB3xY9qRz1.png",
"direct": "https://yourimageshare.com/ib/aB3xY9qRz1",
"thumb": "https://i.yourimageshare.com/thumb-aB3xY9qRz1.webp",
"width": 1920,
"height": 1080,
"size": 482113,
"locked": false,
"visibility": "unlisted",
"title": null,
"description": null,
"expires_at": null,
"duplicate": false,
"delete_url": "https://yourimageshare.com/delete#iV3x...k9"
}
} | ফিল্ড | বিবরণ |
|---|---|
id | ফাইলের অনন্য আইডেন্টিফায়ার। |
type | image বা video। |
path | আপলোড করা অবস্থায় ফাইলের স্টোরেজ URL। ফাইল রূপান্তরিত (WebP/MP4) হলে কিছুক্ষণ পরে এটি বদলে যেতে পারে, তাই path নয়, src সংরক্ষণ করুন। |
src | স্থায়ী সরাসরি ফাইল URL - সবসময় বর্তমান ফাইল খোলে, <img>/<video>-এর src এবং সংরক্ষণের জন্য উপযুক্ত। |
direct | YourImageShare-এ ফাইলের পেজ (শিরোনাম, বিবরণ, কমেন্ট, শেয়ার অপশন)। |
thumb | 280px চওড়া WebP থাম্বনেইল (ভিডিওর ক্ষেত্রে প্রথম ফ্রেম), অথবা null। |
width, height | পিক্সেলে প্রদর্শনের আকার (সোজা করা; ভিডিওর ক্ষেত্রে ফ্রেমের আকার), অজানা হলে null। |
size | সংরক্ষিত অবস্থায় ফাইলের আকার, বাইটে। |
locked | আপলোড পাসওয়ার্ড-সুরক্ষিত হলে true। |
visibility | private, unlisted বা public (উপরের রিকোয়েস্ট ফিল্ড দেখুন)। |
title, description | যেমন সেট করা হয়েছে, অথবা null। লেখাটি ওয়েবসাইটের মতোই মডারেশনের মধ্য দিয়ে যায়। |
delete_url | শুধু নতুন আপলোডে: API কী ছাড়াই এই আপলোড ডিলিট করার একটি ব্যক্তিগত লিংক। একবারই দেখানো হয় (শুধু হ্যাশ সংরক্ষিত থাকে) - দরকার হলে সংরক্ষণ করে রাখুন। |
expires_at | যে সময়ে এই আপলোড নিজে থেকে ডিলিট হবে তার ISO 8601 টাইমস্ট্যাম্প, মেয়াদ না থাকলে null। |
duplicate | আপনার অ্যাকাউন্টে হুবহু একই ফাইল আগে আপলোড করা থাকলে true: সেই আপলোডটিই ফেরত আসে এবং নতুন কিছু সংরক্ষিত হয় না। মেয়াদি আপলোডে বা allow_duplicate=1 থাকলে প্রযোজ্য নয়। |
মেয়াদি আপলোড: expires_at পার হলে ফাইল স্টোরেজ থেকে মুছে যায় এবং প্রায় 5 মিনিটের মধ্যে আপলোডের পেজ 410 Gone দেখাতে শুরু করে। এটি পরে ফেরানো বা বাড়ানো যায় না - আগে সরাতে চাইলে DELETE এন্ডপয়েন্ট দিয়ে আগেই ডিলিট করুন, আর বেশিদিন রাখতে চাইলে নতুন expires_in দিয়ে আবার আপলোড করুন।
POST /api/chunk - বড় ফাইল
একটি রিকোয়েস্টে সর্বোচ্চ 100MB যায়। এর চেয়ে বড় ফাইলের জন্য (সর্বোচ্চ 200MB), অথবা ধীর কানেকশনে প্রতিটি রিকোয়েস্ট ছোট রাখতে, ফাইলটি সর্বোচ্চ 5MB-এর টুকরোয় পাঠান, তারপর POST /api দিয়ে শেষ করুন:
- একটি আপলোড আইডি বেছে নিন: 32টি র্যান্ডম হেক্স অক্ষর।
- প্রতিটি টুকরোর জন্য
POST /api/chunk(multipart/form-data) করুন, সাথেupload_id,index(0 থেকে শুরু),total(মোট টুকরো) এবংchunk-এ বাইটগুলো। উত্তর আসবে{"type": "success", "chunk_size": 5242880}। uploads-এর বদলেupload_idওfilenameদিয়েPOST /apiকরুন, সাথে চাইলে অন্য আপলোড ফিল্ডও দিন। উত্তর হবে সাধারণ আপলোড রেসপন্স।
শেষ না হওয়া আপলোডের টুকরো 2 ঘণ্টা পর মুছে যায়। শুধু শেষের POST /api আপলোডের রেট লিমিটে গণ্য হয়।
GET /api/{id} ও PATCH /api/{id} - একটি আপলোড
GET আপনার একটি আপলোড ফেরত দেয়, নিচের তালিকার মতো একই ফিল্ডসহ। PATCH এর visibility, title বা description বদলায় (ফর্ম ফিল্ড বা JSON; খালি title বা description মুছে দেয়) এবং হালনাগাদ আপলোড ফেরত দেয়। দুটোতেই পূর্ণ API কী লাগে; আপনার অ্যাকাউন্টে এমন আপলোড না থাকলে 404।
curl -X PATCH https://yourimageshare.com/api/aB3xY9qRz1 \
-H "X-API-Key: YOUR_API_KEY" -d visibility=public -d title="Sunset" POST /api/{id}/replace - ফাইল প্রতিস্থাপন
আপনার একটি আপলোডের ফাইল বদলে দেয়, কিন্তু আইডি, পেজ ও সব লিংক একই থাকে। অনুমোদিত যেকোনো ধরন চলবে, এমনকি ভিন্ন ধরনও (ছবি ভিডিও হতে পারে)। নতুন ফাইল uploads হিসেবে পাঠান (অথবা POST /api/chunk দিয়ে টুকরো করে পাঠানো ফাইলের upload_id); keep_original আপলোডের মতোই কাজ করে। নতুন ফাইলে নতুন আপলোডের মতোই যাচাই ও রূপান্তর হয় এবং আগের সংস্করণ সরে যায়। পূর্ণ API কী লাগে; আপনার অ্যাকাউন্টে এমন আপলোড না থাকলে 404, পাসওয়ার্ড-সুরক্ষিত বা ভিউ-সীমিত হলে 409।
curl -X POST https://yourimageshare.com/api/aB3xY9qRz1/replace \
-H "X-API-Key: YOUR_API_KEY" -F uploads=@new-version.png GET /api - আপনার আপলোডের তালিকা
অথেনটিকেটেড অ্যাকাউন্টের আপলোডের পেজিনেটেড তালিকা ফেরত দেয় (API, ওয়েবসাইট বা এডিটর - যেকোনো উৎস থেকে), নতুনটি আগে, প্রতি পেজে 50টি।
| প্যারামিটার | কোথায় | বাধ্যতামূলক | বিবরণ |
|---|---|---|---|
page | query | না | পেজ নম্বর, ডিফল্ট 1। |
রেসপন্স - 200 OK:
{
"type": "success",
"data": [
{
"id": "aB3xY9qRz1",
"type": "image",
"title": null,
"path": "https://i.yourimageshare.com/aB3xY9qRz1.webp",
"src": "https://yourimageshare.com/ib/aB3xY9qRz1.webp",
"direct": "https://yourimageshare.com/ib/aB3xY9qRz1",
"thumb": "https://i.yourimageshare.com/thumb-aB3xY9qRz1.webp",
"width": 1920,
"height": 1080,
"size": 482113,
"locked": false,
"visibility": "unlisted",
"description": null,
"expires_at": null,
"created_at": "2026-07-23T15:43:28+01:00"
}
],
"meta": { "current_page": 1, "last_page": 1, "total": 1 }
} এখানে ফিল্ডগুলোর অর্থ উপরের আপলোড রেসপন্সের মতোই (পাসওয়ার্ড-সুরক্ষিত আপলোডের ক্ষেত্রে path ও thumb স্বল্পস্থায়ী সাইন করা লিংক)। id দিয়ে একটি আপলোড খুঁজতে GET /api/{id} ব্যবহার করুন।
DELETE /api/{id} - আপলোড ডিলিট
অথেনটিকেটেড অ্যাকাউন্টের একটি আপলোড স্থায়ীভাবে ডিলিট করে। API থেকে এটি ফেরানো যায় না। {id} হলো আপলোড বা তালিকা এন্ডপয়েন্টে id হিসেবে পাওয়া মান।
রেসপন্স - 200 OK:
{ "type": "success", "msg": "Deleted." } আপনার অ্যাকাউন্টে ওই আইডির কোনো আপলোড না থাকলে 404 (হয় সেটি কখনো আপনার ছিল না, নয়তো আগেই ডিলিট হয়ে গেছে)।
POST /api/compare - আগে/পরে স্লাইডার
আপনার নিজের দুটি ছবির আপলোড দিয়ে আগে/পরে তুলনা তৈরি করে: /c/{id}-এ স্লাইডারসহ একটি পেজ, যা যেকোনো ওয়েবসাইটে এমবেডও করা যায়। Upload-only কী-ও চলে। before ও after (আপলোড আইডি, বাধ্যতামূলক) পাঠান, চাইলে title, label_before ও label_after-ও দিন (ডিফল্ট "Before" ও "After")।
রেসপন্স - 201 Created:
{
"type": "success",
"id": "P7uAYy04VA",
"url": "https://yourimageshare.com/c/P7uAYy04VA",
"embed_url": "https://yourimageshare.com/embed/c/P7uAYy04VA",
"embed": { "script": "<blockquote class=\"YISEmbed\" ...", "iframe": "<iframe ..." }
} কোনো আইডি আপনার ছবির আপলোড না হলে 422 (ভিডিও ও পাসওয়ার্ড-সুরক্ষিত ছবি ব্যবহার করা যায় না)।
রেট লিমিট
প্রতিটি API কীর আলাদা প্রতি-মিনিট ও প্রতি-দিনের কোটা আছে, সাথে একটি IP একাধিক কী ঘুরিয়ে ব্যবহার করা ঠেকাতে IP অনুযায়ী আরও বড় দৈনিক সীমা আছে। আপলোড, তালিকা ও ডিলিট একই সীমা ভাগ করে নেয়।
| সময়সীমা | ডিফল্ট সীমা | পরিধি |
|---|---|---|
| প্রতি মিনিটে | 20 রিকোয়েস্ট | প্রতি API কী |
| প্রতি দিনে | 500 রিকোয়েস্ট | প্রতি পূর্ণ API কী |
| প্রতি দিনে | 2,000 রিকোয়েস্ট | প্রতি Upload-only কী (পুরো মিডিয়া লাইব্রেরি সরানো প্লাগইনের জন্য) |
| প্রতি দিনে | 2,000 রিকোয়েস্ট | প্রতি IP ঠিকানা |
| প্রতি মিনিটে | 300 টুকরো | প্রতি API কী, শুধু POST /api/chunk |
এই সীমা বদলাতে পারে। প্রতিটি রেসপন্সে স্ট্যান্ডার্ড রেট-লিমিট হেডার থাকে:
X-RateLimit-Limit: 20
X-RateLimit-Remaining: 14 সীমা ছাড়ালে 429 ফেরত আসে, সাথে Retry-After হেডার জানিয়ে দেয় কত সেকেন্ড অপেক্ষা করতে হবে।
এরর
এন্ডপয়েন্ট বা কারণ যা-ই হোক, প্রতিটি এরর রেসপন্সের কাঠামো একই:
{ "type": "error", "errors": "A human-readable description of what went wrong." } | স্ট্যাটাস | অর্থ |
|---|---|
| 401 | API কী নেই বা অবৈধ। |
| 403 | অ্যাকাউন্ট বা আপনার বর্তমান IP আপলোড থেকে নিষিদ্ধ। |
| 404 | এই অ্যাকাউন্টে ওই আইডির কোনো আপলোড পাওয়া যায়নি (খোঁজা, পরিবর্তন, ডিলিট)। |
| 413 | রিকোয়েস্ট 100MB-এর বেশি। এর বদলে ফাইলটি টুকরো করে (POST /api/chunk) অথবা url-এ লিংক দিয়ে পাঠান (200MB পর্যন্ত)। |
| 422 | ভ্যালিডেশন ব্যর্থ - ফাইল বা লিংক দেওয়া হয়নি, অসমর্থিত ফাইলের ধরন, পড়া যায় না এমন ছবির ডেটা, 30000x30000px সীমার বেশি মাত্রা, 200MB-এর বড় ফাইল, অসম্পূর্ণ বা মেয়াদোত্তীর্ণ upload_id, অথবা ডাউনলোড করা যায়নি এমন url (বার্তায় কারণ লেখা থাকে)। |
| 429 | রেট লিমিট ছাড়িয়ে গেছে - উপরের রেট লিমিট দেখুন। |
| 500 | সার্ভারে অপ্রত্যাশিত কিছু ব্যর্থ হয়েছে। নিশ্চিন্তে আবার চেষ্টা করতে পারেন। |
ক্লায়েন্ট লাইব্রেরি
অফিসিয়াল SDK, যা উপরের এন্ডপয়েন্টগুলোকে টাইপড রেজাল্টসহ মুড়ে দেয় এবং সরাসরি HTTP সামলানোর বদলে API এরর হলে এক্সেপশন তোলে।
JavaScript / TypeScript
কোনো ডিপেন্ডেন্সি নেই, Node.js ও ব্রাউজারে চলে। JSR-এও আছে @yourimageshare/yourimageshare নামে - npx jsr add @yourimageshare/yourimageshare - একই সোর্স, সরাসরি TypeScript হিসেবে প্রকাশিত।
npm install yourimageshare Python
একটি ডিপেন্ডেন্সি (requests), Python 3.8+।
pip install yourimageshare PHP
কোনো Composer ডিপেন্ডেন্সি নেই (PHP-র নিজস্ব curl এক্সটেনশন ব্যবহার করে), PHP 7.4+। সোর্স GitHub-এ।
composer require yourimageshare/yourimageshare-php Go
কোনো ডিপেন্ডেন্সি নেই (শুধু স্ট্যান্ডার্ড লাইব্রেরি), Go 1.18+। পূর্ণ রেফারেন্স ডকুমেন্টেশনের জন্য pkg.go.dev দেখুন।
go get github.com/yourimageshare/yourimageshare/go Rust
দুটি ডিপেন্ডেন্সি (ব্লকিং HTTP-র জন্য ureq - কোনো async রানটাইম আসে না - এবং serde), Rust 1.70+। সোর্স GitHub-এ।
cargo add yourimageshare Ruby
কোনো জেম ডিপেন্ডেন্সি নেই (stdlib Net::HTTP + json), Ruby 2.7+। সোর্স GitHub-এ।
gem install yourimageshare .NET
একটি ডিপেন্ডেন্সি (Microsoft-এর নিজস্ব System.Text.Json), netstandard2.0 টার্গেট করে, তাই .NET Framework ও আধুনিক .NET দুটোতেই চলে। সোর্স GitHub-এ। এই লাইভ API-র বিপরীতে তৈরি ও যাচাই করা; NuGet-এ শিগগিরই প্রকাশিত হবে।
dotnet add package YourImageShare Dart / Flutter
একটি ডিপেন্ডেন্সি (http, Dart টিমের নিজস্ব প্যাকেজ), Dart 2.17+। সোর্স GitHub-এ। এই লাইভ API-র বিপরীতে তৈরি ও যাচাই করা; pub.dev-এ শিগগিরই প্রকাশিত হবে।
dart pub add yourimageshare Elixir
একটি ডিপেন্ডেন্সি (Req), Elixir 1.14+। ফেরত দেয় {:ok, result}| {:error, reason} ট্যাগড টাপল - অন্য সব SDK-তে এই API-র এরর হ্যান্ডলিংয়ের সরাসরি সমতুল্য - সাথে এক্সেপশন তোলা bang ভ্যারিয়েন্টও আছে। সোর্স GitHub-এ, ডকুমেন্টেশন HexDocs-এ।
{:yourimageshare, "~> 1.1"} MCP সার্ভার
AI কোডিং এজেন্টের জন্য (Claude Code, Cursor এবং অন্যান্য MCP-সমর্থিত টুল) - বাগ রিপোর্ট, PR বিবরণ বা সাপোর্ট থ্রেডে স্ক্রিনশট base64 ব্লব বা হাতে আপলোডের ধাপ ছাড়াই আসল লিংক হিসেবে পেস্ট করুন। Claude Desktop ও অন্য যেকোনো MCP ক্লায়েন্টেও একইভাবে কাজ করে।
হোস্টেড, কিছু ইনস্টল করতে হয় না: রিমোট MCP সার্ভার হিসেবে যোগ করুন (Claude-এ: Settings › Connectors › Add custom connector; ChatGPT, Cursor, VS Code এবং সার্ভার URL নেয় এমন অন্য ক্লায়েন্টেও) URL-এ আপনার API কীসহ:
https://yourimageshare.com/mcp?key=YOUR_API_KEY যেসব ক্লায়েন্টে হেডার সেট করা যায়, সেখানে এর বদলে https://yourimageshare.com/mcp ও Authorization: Bearer YOUR_API_KEY ব্যবহার করতে পারেন। আপনার কীসহ URL পাসওয়ার্ডের মতো কাজ করে: এটি গোপন রাখুন, আর ফাঁস হলে আমার অ্যাকাউন্ট থেকে নতুন কী নিন। হোস্টেড সার্ভারে upload_image একটি পাবলিক লিংক (200MB পর্যন্ত) বা ইনলাইন base64 কনটেন্ট (15MB পর্যন্ত) নেয়। কী ছাড়া https://yourimageshare.com/mcp ওয়েবসাইটের মতোই বেনামে আপলোড করে: শুধু unlisted বা private, কম সীমা, এবং আপলোডটি ফেরত আসা delete_url দিয়ে ডিলিট হয়। অন্য টুলগুলোর জন্য কী লাগে।
লোকাল: npx দিয়ে সরাসরি চালান, ইনস্টলের ধাপ ছাড়াই (এটি আপনার ডিস্ক থেকে ফাইলও পড়তে পারে):
npx yourimageshare-mcp টুল: upload_image (লোকাল ফাইল, ইনলাইন কনটেন্ট বা লিংক, 200MB পর্যন্ত, সাথে ঐচ্ছিক visibility, title ও অটো-ডিলিট), list_uploads, get_upload, update_upload ও delete_upload।
অফিসিয়াল MCP Registry-তেও আছে (io.github.yourimageshare/yourimageshare নামে) এবং Smithery ও Glama-য় তালিকাভুক্ত, যদি আপনার MCP ক্লায়েন্ট ওগুলোর কোনোটি থেকে ইনস্টল করে।
MCP-তে নতুন? পুরো সেটআপ গাইডের জন্য MCP দিয়ে Claude ও ChatGPT-কে এই API-র সাথে কীভাবে যুক্ত করবেন দেখুন।
দশটিই MIT লাইসেন্সপ্রাপ্ত। আপনার ভাষার জন্য অফিসিয়াল লাইব্রেরি নেই? নিচের কোড উদাহরণে সরাসরি API কল করার পদ্ধতি দেখুন।
কোড উদাহরণ
curl
# Upload a file
curl "https://yourimageshare.com/api" \
-H "X-API-Key: YOUR_API_KEY" \
-F "uploads=@/path/to/photo.jpg"
# Upload from a link (files up to 200MB; one direct upload request stops at 100MB -
# bigger files go in pieces, see Large Files above)
curl "https://yourimageshare.com/api" \
-H "X-API-Key: YOUR_API_KEY" \
-F "url=https://example.com/video.mp4"
# Upload a file that auto-deletes after 1 hour
curl "https://yourimageshare.com/api" \
-H "X-API-Key: YOUR_API_KEY" \
-F "uploads=@/path/to/photo.jpg" \
-F "expires_in=3600"
# List uploads
curl "https://yourimageshare.com/api" -H "X-API-Key: YOUR_API_KEY"
# Upload a file without a page of its own (file only) and give it a title
curl "https://yourimageshare.com/api" \
-H "X-API-Key: YOUR_API_KEY" \
-F "uploads=@/path/to/photo.jpg" \
-F "visibility=private" \
-F "title=Sunset"
# Look up one upload, then make it public
curl "https://yourimageshare.com/api/aB3xY9qRz1" -H "X-API-Key: YOUR_API_KEY"
curl -X PATCH "https://yourimageshare.com/api/aB3xY9qRz1" \
-H "X-API-Key: YOUR_API_KEY" -d "visibility=public"
# Delete an upload
curl -X DELETE "https://yourimageshare.com/api/aB3xY9qRz1" -H "X-API-Key: YOUR_API_KEY" JavaScript (fetch)
const API_KEY = 'YOUR_API_KEY';
const BASE = 'https://yourimageshare.com/api';
async function uploadFile(file) {
const form = new FormData();
form.append('uploads', file);
const res = await fetch(BASE, {
method: 'POST',
headers: { 'X-API-Key': API_KEY },
body: form,
});
const json = await res.json();
if (json.type !== 'success') throw new Error(json.errors);
return json.data;
}
async function listUploads(page = 1) {
const res = await fetch(`${BASE}?page=${page}`, {
headers: { 'X-API-Key': API_KEY },
});
return res.json();
}
async function deleteUpload(id) {
const res = await fetch(`${BASE}/${id}`, {
method: 'DELETE',
headers: { 'X-API-Key': API_KEY },
});
return res.json();
} Python (requests)
import requests
API_KEY = "YOUR_API_KEY"
BASE = "https://yourimageshare.com/api"
HEADERS = {"X-API-Key": API_KEY}
# Upload a file
with open("/path/to/photo.jpg", "rb") as f:
res = requests.post(BASE, headers=HEADERS, files={"uploads": f})
res.raise_for_status()
upload = res.json()["data"]
# List uploads
res = requests.get(BASE, headers=HEADERS, params={"page": 1})
uploads = res.json()
# Delete an upload
res = requests.delete(f"{BASE}/{upload['id']}", headers=HEADERS) PHP (curl)
<?php
$apiKey = 'YOUR_API_KEY';
$base = 'https://yourimageshare.com/api';
// Upload a file
$curl = curl_init($base);
curl_setopt_array($curl, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ["X-API-Key: $apiKey"],
CURLOPT_POSTFIELDS => ['uploads' => new CURLFile('/path/to/photo.jpg')],
CURLOPT_RETURNTRANSFER => true,
]);
$upload = json_decode(curl_exec($curl), true)['data'];
curl_close($curl);
// List uploads
$curl = curl_init("$base?page=1");
curl_setopt($curl, CURLOPT_HTTPHEADER, ["X-API-Key: $apiKey"]);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$uploads = json_decode(curl_exec($curl), true);
curl_close($curl); Go (net/http)
উপরের অফিসিয়াল Go SDK এটি আপনার জন্য মুড়ে দেয় - যাঁরা ডিপেন্ডেন্সি যোগ করতে চান না, তাঁদের জন্য এখানে সরাসরি সংস্করণটি রাখা হয়েছে।
package main
import (
"bytes"
"encoding/json"
"io"
"mime/multipart"
"net/http"
"os"
)
const apiKey = "YOUR_API_KEY"
const base = "https://yourimageshare.com/api"
func uploadFile(path string) (map[string]any, error) {
file, err := os.Open(path)
if err != nil {
return nil, err
}
defer file.Close()
body := &bytes.Buffer{}
writer := multipart.NewWriter(body)
part, _ := writer.CreateFormFile("uploads", path)
io.Copy(part, file)
writer.Close()
req, _ := http.NewRequest("POST", base, body)
req.Header.Set("Content-Type", writer.FormDataContentType())
req.Header.Set("X-API-Key", apiKey)
res, err := http.DefaultClient.Do(req)
if err != nil {
return nil, err
}
defer res.Body.Close()
var result map[string]any
json.NewDecoder(res.Body).Decode(&result)
return result, nil
} স্ক্রিনশট টুল
একটি ব্রাউজার এক্সটেনশন এবং তৈরি কনফিগ ও স্ক্রিপ্ট, যা স্ক্রিনশট সরাসরি YourImageShare-এ পাঠায়, হাতে আপলোড করার দরকার হয় না। প্রতিটিই উপরে বর্ণিত একই /api এন্ডপয়েন্ট দিয়ে আপলোড করে।
ব্রাউজার এক্সটেনশন (Chrome ও Firefox)
Chrome ও Firefox-এর জন্য YourImageShare Capture এক্সটেনশনে স্ক্রিপ্ট বা কনফিগ ফাইলের ঝামেলাই নেই। এটি দৃশ্যমান অংশ, টেনে বেছে নেওয়া অংশ অথবা পুরো স্ক্রল করা পেজ ক্যাপচার করে, তীর, লেখা, ব্লার/রিড্যাক্ট ও অন্যান্য মার্ক-আপের জন্য বিল্ট-ইন এডিটর খোলে, তারপর ফলাফল ডাউনলোড করে, ক্লিপবোর্ডে কপি করে, অথবা এক ক্লিকে সরাসরি YourImageShare-এ পাবলিশ করে। পাবলিশ করতে উপরে বর্ণিত একই /api এন্ডপয়েন্টই ব্যবহার হয় - এক্সটেনশনের Settings-এ একবার আপনার API কী দিন, এরপর প্রতিটি পাবলিশে সঙ্গে সঙ্গে শেয়ার করার লিংক পাবেন। ডেস্কটপ Chrome (ও অন্য Chromium ব্রাউজার), ডেস্কটপ Firefox এবং Android-এর Firefox-এ কাজ করে।
Firefox-এর জন্য YourImageShare Capture নিন Chrome-এর জন্য YourImageShare Capture নিন
ShareX
নিচের কাস্টম আপলোডারটি ডাউনলোড করুন, তারপর ShareX-এ যান Destinations > Custom uploader settings > Import > from file, ডাউনলোড করা .sxcu খুলুন এবং Headers ফিল্ডে YOUR_API_KEY-এর জায়গায় আপনার আসল কী বসান। এটিকে ছবি/ফাইলের গন্তব্য হিসেবে সেট করলে ক্যাপচার নিজে থেকেই আপলোড হবে।
YourImageShare.sxcu ডাউনলোড করুন
ডিলিট করা: প্রতিটি আপলোডের জন্য ShareX-এর "Delete" লিংক আপনার ব্রাউজারে আমাদের ডিলিট পেজ খোলে (আপলোডের একবার-ব্যবহারযোগ্য delete_url), ফলে ShareX-এর হিস্ট্রি থেকেই ক্যাপচার সরাতে পারবেন। আমার অ্যাকাউন্ট থেকেও আপলোড ডিলিট করা যায়। অক্টোবর 2026-এর আগে কনফিগ ডাউনলোড করে থাকলে এটি পেতে আবার ডাউনলোড করুন।
Flameshot (Linux)
ছোট একটি শেল স্ক্রিপ্ট, যা flameshot gui চালায়, ক্যাপচার আপলোড করে এবং লিংক ক্লিপবোর্ডে কপি করে। Flameshot-এর ডিফল্ট শর্টকাটের বদলে আপনার ডেস্কটপ এনভায়রনমেন্টে এটিকে একটি কিবোর্ড শর্টকাটে বেঁধে নিন।
yis-flameshot-upload.sh ডাউনলোড করুন
# One-time setup
chmod +x yis-flameshot-upload.sh
export YIS_API_KEY="YOUR_API_KEY" # or add to ~/.config/yourimageshare/api_key
# Then bind this to a hotkey instead of calling flameshot directly:
/path/to/yis-flameshot-upload.sh Greenshot (Windows)
Greenshot-এর বিল্ট-ইন External command গন্তব্যের জন্য একটি PowerShell স্ক্রিপ্ট। Windows-এর সাথে আসা Windows PowerShell 5.1-এর সাথে সামঞ্জস্যপূর্ণ, আলাদা কিছু ইনস্টল করতে হয় না।
yis-greenshot-upload.ps1 ডাউনলোড করুন
# One-time setup
setx YIS_API_KEY "YOUR_API_KEY"
# In Greenshot: Preferences > Destinations > External command > Settings
# Command: powershell.exe
# Arguments: -ExecutionPolicy Bypass -File "C:\path\to\yis-greenshot-upload.ps1" "%1" ফোরাম প্লাগইন
আপনার ফোরামের পোস্ট এডিটরের পাশে একটি আসল "ছবি আপলোড" বাটন যোগ করুন। প্রতিটি প্লাগইন উপরে বর্ণিত একই /api এন্ডপয়েন্ট দিয়ে আপলোড করে এবং কার্সরের জায়গায় BBCode বসিয়ে দেয় - আলাদা ট্যাব নেই, হাতে কপি-পেস্টও নেই।
নিচে API কী নয়, আপনার Upload-only কী ব্যবহার করুন। প্রতিটি প্লাগইন প্রত্যেক ভিজিটরের পেজ সোর্সে কী-টি দেখায়, আর Upload-only কী (আমার অ্যাকাউন্ট > API ট্যাব) শুধু আপলোড করতে পারে - কেউ পেজ থেকে সেটি কপি করে নিলেও আপনার আপলোডের তালিকা দেখতে বা ডিলিট করতে পারবে না।
ফোরামের আপলোড ডিফল্টভাবে private: ছবিটি পোস্টে কাজ করে, কিন্তু YourImageShare তার জন্য আলাদা কোনো পেজ দেয় না (কমেন্ট, রিঅ্যাকশন বা বিজ্ঞাপন নেই)। লিংক থাকা যে কেউ দেখতে পারবে এমন পেজও চাইলে প্রতিটি প্লাগইনে unlisted-এ বদলানোর সেটিং আছে।
phpBB
আসল phpBB 3.2/3.3 এক্সটেনশন। ext/-এ আনজিপ করুন, Customise > Manage extensions-এ চালু করুন, তারপর এক্সটেনশনের টেমপ্লেট ইভেন্ট ফাইলে YOUR_UPLOAD_ONLY_KEY-এর জায়গায় আপনার আসল upload-only কী বসান।
SMF (Simple Machines Forum)
আসল SMF প্যাকেজ - Admin > Package Manager দিয়ে ইনস্টল করুন, তারপর Sources/yis_forumupload.php-এ YOUR_UPLOAD_ONLY_KEY-এর জায়গায় আপনার আসল upload-only কী বসান।
MyBB
আসল MyBB 1.8 প্লাগইন। inc/plugins/-এ কপি করুন, Configuration > Plugins-এ চালু করুন, তারপর প্লাগইন ফাইলে YOUR_UPLOAD_ONLY_KEY-এর জায়গায় আপনার আসল upload-only কী বসান।
FluxBB, PunBB ও ZetaBoards
এগুলোতে আনুষ্ঠানিক প্লাগইন সিস্টেম নেই, তাই এটি ছোট একটি স্নিপেট, যা সরাসরি আপনার টেমপ্লেটে (FluxBB/PunBB) বা Admin CP-তে (ZetaBoards) পেস্ট করতে হয় - প্রতিটির জন্য পূর্ণ কপি-পেস্ট নির্দেশনা:
WordPress প্লাগইন
লোকাল ডিস্কের বদলে আপনার মিডিয়া লাইব্রেরি YourImageShare-এ সরিয়ে নিন। নতুন ছবি/ভিডিও আপলোড উপরে বর্ণিত একই /api এন্ডপয়েন্ট দিয়ে নিজে থেকেই যায়, আপলোড নিশ্চিত হলে লোকাল ফাইল (এবং তৈরি হওয়া প্রতিটি থাম্বনেইল সাইজ) মুছে যায়, আর ব্লক এডিটর, ফিচার্ড ইমেজ, গ্যালারি, REST API - সব WordPress অ্যাটাচমেন্ট URL YourImageShare-এ হোস্ট করা ফাইলে পৌঁছায়। কোনো শর্টকোড বা কাজের ধরন বদলানোর দরকার নেই।
- শুধু নতুন আপলোড নয়, বিদ্যমান মিডিয়া লাইব্রেরিও ব্যাকগ্রাউন্ডে (অথবা
wp yis offload --allদিয়ে) একসাথে সরানো যায় - পোস্টে বসানো ছবি ও ভিডিও লোকাল ফাইল সরে যাওয়ার পরেও কাজ করে
- থাম্বনেইল ও srcset আমাদের 280px থাম্বনেইল ব্যবহার করে, তাই ছোট ছবির জায়গায় পূর্ণ আকারের ফাইল লোড হয় না
- 200MB পর্যন্ত ফাইল, টুকরো করে পাঠানো হয় যাতে বড় ভিডিও শেয়ার্ড হোস্টে চাপ না ফেলে
- সরানো যেকোনো ফাইল যেকোনো সময় লোকাল স্টোরেজে ফিরিয়ে আনা যায়
- মিডিয়া লাইব্রেরির একটি কলামে দেখা যায় কোনটি সরানো হয়েছে আর কোনটি এখনো লোকাল
- সরানো ফাইল private হিসেবে সংরক্ষিত হয়: আপনার সাইট যেখানে ব্যবহার করে সেখানে লোড হয়, কিন্তু YourImageShare-এ তাদের আলাদা পেজ থাকে না
আপনার API কী নয়, Upload-only কী ব্যবহার করে। ঐচ্ছিক পূর্ণ API কী শুধু তখনই লাগে, যখন WordPress-এ ডিলিট করলে সরানো ফাইল YourImageShare থেকেও ডিলিট করাতে চান।
WordPress.org-এ নিন ZIP ডাউনলোড করুন
WordPress-এ: Plugins > Add New, YourImageShare Media Offload খুঁজুন, তারপর Install ও Activate করুন।
iPhone ও iPad শর্টকাট
যেকোনো অ্যাপের শেয়ার শিট থেকে - Photos, Files, Safari, স্ক্রিনশট - আপলোড করুন এবং লিংক ক্লিপবোর্ডে পান। কোনো অ্যাপ ইনস্টল বা অ্যাকাউন্ট লাগে না।
Shortcuts অ্যাপে নিজে বানাতে (প্রায় দুই মিনিট):
- নতুন শর্টকাট বানান, নাম দিন "Upload to YourImageShare"। এর বিবরণে Show in Share Sheet চালু করুন এবং ছবি ও মিডিয়া গ্রহণ করতে দিন।
- Get Contents of URL যোগ করুন: URL
https://yourimageshare.com/api/widget, মেথডPOST, রিকোয়েস্ট বডি Form, দুটি ফিল্ডসহ:uploads(File) = Shortcut Input, এবংclient(Text) =ios-shortcut। data-র জন্য Get Dictionary Value যোগ করুন, তারপরsrc-র জন্য আরেকটি - সেটিই সরাসরি লিংক।- Copy to Clipboard ও Show Notification ("Link copied") যোগ করুন।
কী ছাড়া আপলোড বেনামি ও unlisted হয়, দৈনিক সীমাসহ। নিজের অ্যাকাউন্টে আপলোড করতে আপনার upload-only কী (আমার অ্যাকাউন্ট > API) দিয়ে X-API-Key হেডার যোগ করুন। ডিলিট লিংক রাখতে চাইলে রেসপন্সে delete_url-ও থাকে।
PicGo ও PicList
PicGo ও PicList Markdown এডিটরের জন্য পেস্ট বা টেনে আনা ছবি আপলোড করে - Typora, VS Code, Obsidian, Joplin - এবং লিংকটি আপনার লেখায় বসিয়ে দেয়। আমাদের প্লাগইন YourImageShare-কে তাদের ইমেজ হোস্টগুলোর একটি করে তোলে।
- PicGo বা PicList-এ: Plugins-এ
yourimageshareখুঁজুন, ইনস্টল করুন, তারপর আপলোডার হিসেবে YourImageShare বেছে নিন। কমান্ড লাইনে:picgo install yourimageshare - অথবা প্লাগইন ডাউনলোড করে লোকাল প্লাগইন হিসেবে ইমপোর্ট করুন (আগে আনজিপ করুন)
- সেটিংস: upload-only কী (ঐচ্ছিক - খালি রাখলে বেনামি, unlisted আপলোড), visibility, এবং সরাসরি ছবির লিংক (Markdown-এর জন্য) নাকি পেজের লিংক ফেরত দেবে
- বড় ছবি পরে WebP-তে অপটিমাইজ হলেও এটি যে লিংক দেয় তা কাজ করতে থাকে
Telegram বট
Telegram ছেড়ে না বেরিয়েই ছবি, ভিডিও বা GIF-এর লিংক পান। এটি @YourImageShare_bot-কে পাঠান, লিংক সঙ্গে সঙ্গে ফেরত আসবে - অ্যাকাউন্ট বা API কী লাগে না। বটটি উপরে বর্ণিত একই /api এন্ডপয়েন্ট দিয়ে আপলোড করে।
- ছবি, ভিডিও, GIF বা ছবি/ভিডিওর ফাইল পাঠান; 10টি পর্যন্ত অ্যালবাম এক উত্তরেই ফেরত আসে
- গ্রুপে কোনো ছবি বা ভিডিওর রিপ্লাইয়ে
/linkলিখলে বট সবার জন্য তার লিংক পোস্ট করে /autodeleteআপনার পরের আপলোডগুলোকে 1 ঘণ্টা, 1 দিন, 1 সপ্তাহ বা 30 দিন পর নিজে থেকে ডিলিট হওয়ার ব্যবস্থা করে- প্রতিটি ফলাফলে একটি Delete বাটন থাকে, যা শুধু ফাইল আপলোডকারীর জন্য কাজ করে
- লিংক unlisted: শুধু লিংক যাদের কাছে আছে তারাই ফাইল দেখতে পারে
- সাইটটি আপনার Telegram ভাষায় থাকলে বট সেই ভাষায় উত্তর দেয়
পূর্ণ কোয়ালিটি রাখুন: Telegram সাধারণ উপায়ে পাঠানো ছবি কমপ্রেস করে। সেগুলো ফাইল হিসেবে পাঠান (📎 → File), তাহলে আসল ছবিটি আপলোড হবে। Telegram বটকে 20 MB পর্যন্ত ফাইল আনতে দেয়, তাই এর চেয়ে বড় ফাইল ওয়েবসাইটে আপলোড করুন।
Discord বট
Discord-এর যেকোনো ছবি, GIF বা ভিডিওকে স্থায়ী লিংকে বদলে নিন। Discord-এর নিজস্ব অ্যাটাচমেন্ট লিংক কিছুদিন পর কাজ করা বন্ধ করে দেয়; YourImageShare লিংক করে না। অ্যাকাউন্ট বা API কী লাগে না। বটটি উপরে বর্ণিত একই /api এন্ডপয়েন্ট দিয়ে আপলোড করে।
- ফাইলসহ
/upload: ঐচ্ছিকভাবে 1, 7 বা 30 দিন পর অটো-ডিলিট, আর লিংক শুধু আপনাকে দেখাতে only_me - কোনো মেসেজে রাইট-ক্লিক করুন → Apps → Rehost on YourImageShare, এক উত্তরে তা থেকে 6টি পর্যন্ত ছবি বা ভিডিও রিহোস্ট করতে
- এটি সার্ভারে যোগ করুন, অথবা নিজের অ্যাকাউন্টে যোগ করে যেকোনো চ্যাট বা DM-এ ব্যবহার করুন
- প্রতিটি ফলাফলে একটি Delete বাটন থাকে, যা শুধু ফাইল আপলোডকারীর জন্য কাজ করে
- লিংক unlisted: শুধু লিংক যাদের কাছে আছে তারাই ফাইল দেখতে পারে
Playwright ও Cypress-এর জন্য GitHub Action
পুল রিকোয়েস্টে end-to-end টেস্ট ব্যর্থ হলে আর্টিফ্যাক্ট জিপ ডাউনলোড না করেই কারণ দেখুন। অ্যাকশনটি ব্যর্থতার স্ক্রিনশট ও ভিজ্যুয়াল ডিফ আপলোড করে এবং পুল রিকোয়েস্টের একটি কমেন্টে ছবি হিসেবে দেখায়, যা প্রতিটি রানে হালনাগাদ হয়।
- Playwright ও Cypress দুটোর সাথেই কাজ করে, আর প্রজেক্টে কোনটি ব্যবহার হচ্ছে তা নিজেই বুঝে নেয়
- ব্যর্থ ভিজ্যুয়াল তুলনা Expected, Actual ও Diff হিসেবে দেখায়, সাথে আগে/পরে স্লাইডারের লিংক (Playwright-এর
toHaveScreenshot; Cypress-এর জন্য cypress-image-diff-js ও cypress-visual-regression প্লাগইন) - টেস্ট ঠিক হলে কমেন্ট বদলে "all tests passed" হয়; একই রিপোর্ট জব সামারিতেও যায়
- স্ক্রিনশট private (শুধু ছবির ফাইল, কোনো পেজ নেই) এবং ডিফল্টভাবে 30 দিন পর ডিলিট হয়
- রিপোজিটরি সিক্রেট
YOURIMAGESHARE_API_KEYহিসেবে আপনার upload-only কী লাগে; এটি কখনো আপনার বিল্ড ব্যর্থ করে না
- uses: yourimageshare/playwright-pr-screenshots@v1
if: always()
with:
api-key: ${{ secrets.YOURIMAGESHARE_API_KEY }} কমিউনিটি প্রজেক্ট
YourImageShare-এর সেরা কিছু ইন্টিগ্রেশন তৈরি করেছেন যাঁরা এটি ব্যবহার করেন। এই প্রজেক্টগুলো কমিউনিটির সদস্যরা উপরে বর্ণিত পাবলিক API দিয়ে বানিয়েছেন। এগুলো তাঁদের লেখকরাই রক্ষণাবেক্ষণ করেন, তাই প্রশ্ন বা বাগ রিপোর্টের জন্য প্রজেক্টের পেজে লেখকের সাথে যোগাযোগ করুন।
- YourImageShare Uploads for FlatBB - FlatBB ফোরামের জন্য একটি প্লাগইন, তৈরি করেছেন madromas (MadWay Inc.)।
- FlatBB-র পোস্ট কম্পোজারে একটি আপলোড বাটন যোগ করে: এক বা একাধিক ছবি বা ভিডিও বেছে নিলে কার্সরের জায়গায় Markdown বসে যায়
- প্রতিটি আপলোড ক্লিকযোগ্য থাম্বনেইল, পূর্ণ আকারের ছবি বা সাধারণ লিংক হিসেবে বসায় (ভিডিও লিংক হিসেবে)
- আপলোড আপনার ফোরামের সার্ভার দিয়ে upload-only API কীসহ যায়, তাই কী কখনো ভিজিটরদের ব্রাউজারে পৌঁছায় না
- ফাইল আপনার ফোরামের ডিস্কে নয়, YourImageShare-এ হোস্ট হয়, আর ডিফল্ট visibility আপনি বেছে নেন (private, unlisted বা public)
- FlatBB-র নিজস্ব আপলোডারের পাশাপাশি কাজ করে, ফাইলের আকারের আলাদা সীমাসহ
ধন্যবাদ
যাঁরা YourImageShare দিয়ে কিছু বানান এবং নিজেদের কাজ অন্যদের সাথে শেয়ার করেন, তাঁদের সবাইকে অনেক ধন্যবাদ। কমিউনিটি প্রজেক্ট YourImageShare-কে এমন জায়গায় পৌঁছে দেয় যেখানে আমরা একা কখনো পৌঁছাতে পারতাম না। API দিয়ে কিছু বানিয়েছেন? আমাদের জানান, আমরা খুশি মনে এখানে যোগ করব।
ব্লগ থেকে
ডেভেলপারদের জন্য গাইড ও ধাপে ধাপে নির্দেশনা
- ShareX, Flameshot বা Greenshot দিয়ে স্ক্রিনশট সঙ্গে সঙ্গে আপলোড করুন
- আপনার phpBB, SMF বা MyBB ফোরামে আসল ছবি আপলোড বাটন যোগ করুন
- MCP কীভাবে ব্যবহার করবেন: Claude, ChatGPT ও AI এজেন্টকে YourImageShare-এর সাথে যুক্ত করুন
- YourImageShare Capture: Chrome ও Firefox-এর স্ক্রিনশট এক্সটেনশন
- আপনার WordPress মিডিয়া লাইব্রেরি ফ্রি ইমেজ হোস্টিংয়ে সরিয়ে নিন
- YourImageShare Telegram বট: যেকোনো ছবি বা ভিডিওর লিংক পান
চেষ্টা করতে প্রস্তুত?
আপনার API কী নিন →