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 - फाइल अपलोड करा

ऑथेंटिकेट केलेल्या खात्यासाठी एक फाइल अपलोड करते.

फील्डप्रकारआवश्यकवर्णन
uploadsfileया तिघांपैकी एकअपलोड करायची फाइल, 100MB पर्यंत (आमच्या नेटवर्कमधून एका विनंतीची मर्यादा). प्रति विनंती एक फाइल - हा एंडपॉइंट अनेक फाइल एकत्र अपलोड करत नाही.
urlstringइमेज किंवा व्हिडिओची सार्वजनिक http(s) लिंक. आम्ही ती स्वतः डाउनलोड करतो, त्यामुळे 200MB पर्यंतच्या फाइल चालतात.
upload_idstringआधी POST /api/chunk वर तुकड्यांत पाठवलेली फाइल, 200MB पर्यंत.
filenamestringनाहीupload_id सोबत: फाइलचे मूळ नाव.
expires_inintegerनाहीइतक्या सेकंदांनंतर हा अपलोड आपोआप हटवला जातो (60 ते 31,536,000, म्हणजे 1 मिनिट ते 1 वर्ष). सामान्य, कायमस्वरूपी अपलोडसाठी वगळा.
allow_duplicatebooleanनाहीतुमच्या खात्यावर अगदी तीच फाइल आधीच अपलोड केलेली असली तरी नवीन प्रत साठवा (खाली duplicate पाहा).
keep_originalbooleanनाहीइमेज अपलोड केल्याप्रमाणेच ठेवा. हे नसल्यास 1 MB पेक्षा मोठ्या JPG/PNG फाइल WebP मध्ये ऑप्टिमाइझ केल्या जातात. GPS सारखा मेटाडेटा दोन्ही प्रकारे काढला जातो.
visibilitystringनाहीunlisted (डिफॉल्ट): लिंक असलेल्या कोणालाही फाइल आणि तिचे पेज चालते, पण ती कुठेही सूचीबद्ध नसते. private: फक्त फाइल - पेजची लिंक तुमच्याशिवाय सर्वांना थेट फाइलकडे पाठवते (कमेंट, रिअॅक्शन किंवा जाहिराती नाहीत). public: साइटवर सूचीबद्ध आणि इंडेक्स करता येणारी.
titlestringनाही90 अक्षरांपर्यंत, अपलोडच्या पेजवर दाखवले जाते.
descriptionstringनाही500 अक्षरांपर्यंत.

स्वीकारले जाणारे प्रकार: JPG, PNG, GIF, WEBP, AVIF, BMP, TIFF, HEIC किंवा HEIF इमेज; MP4, WEBM किंवा AVI व्हिडिओ (अचूक यादी कालांतराने वाढू शकते). 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फाइलचा युनिक आयडेंटिफायर.
typeimage किंवा video.
pathअपलोड केल्याप्रमाणे फाइलचा स्टोरेज URL. फाइल रूपांतरित (WebP/MP4) झाल्यावर तो थोड्याच वेळात बदलू शकतो, त्यामुळे path नव्हे, src साठवा.
srcकायमस्वरूपी थेट फाइल URL - नेहमी सध्याची फाइल उघडतो, <img>/<video> च्या src साठी आणि साठवण्यासाठी योग्य.
directYourImageShare वरील फाइलचे पेज (शीर्षक, वर्णन, कमेंट, शेअर पर्याय).
thumb280px रुंदीचा WebP थंबनेल (व्हिडिओसाठी त्याची पहिली फ्रेम), किंवा null.
width, heightपिक्सेलमधील प्रदर्शन आकार (सरळ; व्हिडिओसाठी फ्रेमचा आकार), किंवा माहीत नसल्यास null.
sizeसाठवल्याप्रमाणे फाइलचा आकार बाइट्समध्ये.
lockedअपलोड पासवर्ड-संरक्षित असल्यास true.
visibilityprivate, 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 करा:

  1. अपलोड आयडी निवडा: 32 रँडम हेक्स अक्षरे.
  2. प्रत्येक तुकड्यासाठी POST /api/chunk (multipart/form-data) करा, सोबत upload_id, index (0 पासून), total (तुकड्यांची संख्या) आणि chunk मध्ये बाइट्स. उत्तर असते {"type": "success", "chunk_size": 5242880}.
  3. uploads ऐवजी upload_id आणि filename सह POST /api करा, तसेच इतर कोणतेही अपलोड फील्ड. उत्तर सामान्य अपलोड प्रतिसाद असतो.

पूर्ण न झालेल्या अपलोडचे तुकडे 2 तासांनी हटवले जातात. फक्त शेवटचा POST /api अपलोड रेट लिमिटमध्ये मोजला जातो.

GET /api/{id} आणि PATCH /api/{id} - एक अपलोड

GET तुमचा एक अपलोड खालील यादीतील फील्डसह परत देते. PATCH त्याचे visibility, title किंवा description बदलते (फॉर्म फील्ड किंवा JSON; रिकामे शीर्षक किंवा वर्णन ते साफ करते) आणि अपडेट केलेला अपलोड परत देते. दोन्हींसाठी पूर्ण 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 [email protected]

GET /api - तुमच्या अपलोडची यादी

ऑथेंटिकेट केलेल्या खात्याच्या अपलोडची (API, वेबसाइट किंवा एडिटर कोणत्याही स्रोतातून) पेजनुसार यादी देते, सर्वात नवीन आधी, प्रति पेज 50.

पॅरामीटरकुठेआवश्यकवर्णन
pagequeryनाहीपेज क्रमांक, डिफॉल्ट 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 शोधण्यासाठीही ही यादीच वापरावी लागते.

DELETE /api/{id} - अपलोड हटवा

ऑथेंटिकेट केलेल्या खात्याचा एक अपलोड कायमचा हटवते. API वरून हे परत करता येत नाही. {id} म्हणजे अपलोड किंवा यादी एंडपॉइंटने id म्हणून परत केलेली किंमत.

प्रतिसाद - 200 OK:

{ "type": "success", "msg": "Deleted." }

त्या आयडीचा अपलोड तुमच्या खात्यावर नसल्यास 404 (तो कधी तुमचा नव्हता, किंवा आधीच हटवला गेला आहे).

रेट लिमिट

प्रत्येक 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." }
स्टेटसअर्थ
401API की नाही किंवा अवैध आहे.
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

शून्य gem डिपेंडन्सी (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 ब्लॉब किंवा मॅन्युअल अपलोडऐवजी खऱ्या URL म्हणून टाका. Claude Desktop आणि इतर कोणत्याही MCP क्लायंटसोबतही असेच चालते. इन्स्टॉल न करता थेट npx ने चालवा:

npx yourimageshare-mcp

टूल्स: upload_image (स्थानिक फाइल, इनलाइन मजकूर किंवा लिंक, 200MB पर्यंत, ऐच्छिक visibility, शीर्षक आणि आपोआप हटवणे सह), 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"

फोरम प्लगइन

तुमच्या फोरमच्या पोस्ट एडिटरजवळ खरे "Upload Image" बटण जोडा. प्रत्येक प्लगइन वर वर्णन केलेल्याच /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 कीने बदला.

phpBB साठी डाउनलोड करा

SMF (Simple Machines Forum)

खरे SMF पॅकेज - Admin > Package Manager मधून इन्स्टॉल करा, मग Sources/yis_forumupload.php मधील YOUR_UPLOAD_ONLY_KEY तुमच्या खऱ्या upload-only कीने बदला.

SMF साठी डाउनलोड करा

MyBB

खरे MyBB 1.8 प्लगइन. inc/plugins/ मध्ये कॉपी करा, Configuration > Plugins अंतर्गत सक्रिय करा, मग प्लगइन फाइलमधील YOUR_UPLOAD_ONLY_KEY तुमच्या खऱ्या upload-only कीने बदला.

MyBB साठी डाउनलोड करा

FluxBB, PunBB & ZetaBoards

यांना औपचारिक प्लगइन सिस्टम नाही, त्यामुळे हा एक छोटा स्निपेट आहे जो थेट तुमच्या टेम्पलेटमध्ये (FluxBB/PunBB) किंवा Admin CP मध्ये (ZetaBoards) पेस्ट करायचा असतो - प्रत्येकासाठी संपूर्ण कॉपी-पेस्ट सूचना:

FluxBB सूचना PunBB सूचना ZetaBoards सूचना

WordPress प्लगइन

तुमची मीडिया लायब्ररी स्थानिक डिस्कऐवजी YourImageShare वर हलवा. नवीन इमेज/व्हिडिओ अपलोड वर वर्णन केलेल्याच /api एंडपॉइंटवरून आपोआप जातात, अपलोड निश्चित झाल्यावर स्थानिक फाइल (आणि तयार केलेला प्रत्येक थंबनेल आकार) हटवली जाते, आणि WordPress चा प्रत्येक अटॅचमेंट URL - ब्लॉक एडिटर, फीचर्ड इमेज, गॅलरी, REST API - YourImageShare वर असलेल्या फाइलकडे जातो. शॉर्टकोड नाही, कामाची पद्धत बदलण्याची गरज नाही.

  • फक्त नवीन अपलोड नव्हे, तर सध्याची मीडिया लायब्ररी पार्श्वभूमीत (किंवा wp yis offload --all ने) एकत्र हलवा
  • पोस्टमध्ये आधीच टाकलेल्या इमेज आणि व्हिडिओ, स्थानिक फाइल काढल्यानंतरही चालत राहतात
  • थंबनेल आणि srcset आमचा 280px थंबनेल वापरतात, त्यामुळे लहान इमेज जागा पूर्ण आकाराच्या फाइल लोड करत नाहीत
  • 200MB पर्यंतच्या फाइल, तुकड्यांत पाठवलेल्या, त्यामुळे मोठे व्हिडिओ शेअर्ड होस्टवर ताण आणत नाहीत
  • हलवलेली कोणतीही फाइल कधीही स्थानिक स्टोरेजमध्ये परत आणा
  • मीडिया लायब्ररीमधील एक कॉलम काय हलवले आहे आणि काय अजून स्थानिक आहे ते दाखवतो
  • हलवलेल्या फाइल private म्हणून साठवल्या जातात: तुमची साइट जिथे वापरते तिथे त्या लोड होतात, पण YourImageShare वर त्यांना स्वतःचे पेज नसते

तुमची API की नव्हे, तुमची Upload-only की वापरते. WordPress मध्ये हटवल्यावर हलवलेल्या फाइल YourImageShare वरूनही हटवायच्या असतील तरच ऐच्छिक पूर्ण API की लागते.

WordPress.org वर मिळवा ZIP डाउनलोड करा

WordPress मध्ये: Plugins > Add New, YourImageShare Media Offload शोधा, मग Install आणि Activate करा.

ब्लॉगवरून

वापरून पाहायला तयार आहात?

तुमची API की मिळवा →