इमेज होस्टिंग API: एक POST रिक्वेस्ट से इमेज अपलोड करें

MyIMGs.org की इमेज होस्टिंग API एक ही रिक्वेस्ट में इमेज अपलोड करती है और डायरेक्ट लिंक लौटाती है। अपनी API की के साथ फाइल या base64 इमेज भेजें और ऐप, वेबसाइट और फोरम के लिए तैयार JSON पाएं। हर इमेज HTTPS पर CDN से दी जाती है। API एक्सेस हर Pro प्लान में शामिल है, $3.29 प्रति माह से।

इमेज होस्टिंग API Key कैसे पाएं

  1. MyIMGs.org का फ्री अकाउंट बनाएं और अपना ईमेल वेरिफाई करें।
  2. Pro प्लान और कीमतें पेज पर प्लान चुनें। API एक्सेस हर Pro प्लान का हिस्सा है।
  3. अपना अकाउंट पेज खोलें और Create API key चुनें।
  4. Key कॉपी करें। यह सिर्फ एक बार दिखती है। खो जाए तो नई Key बनाएं, पुरानी Key काम करना बंद कर देगी।

curl से इमेज अपलोड करें (क्विक स्टार्ट)

YOUR_API_KEY की जगह अपनी Key डालें और चलाएं:

curl -X POST https://myimgs.org/api/v1/upload \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "image=@photo.jpg"

जवाब JSON में आता है। डायरेक्ट इमेज लिंक के लिए data.url और इमेज दिखाने वाले पेज के लिए data.viewer_url इस्तेमाल करें:

{
  "success": true,
  "status": 201,
  "data": {
    "id": "AbC12xyz",
    "title": "photo",
    "name": "photo",
    "extension": "jpg",
    "size": 245891,
    "optimized": false,
    "url": "https://myimgs.org/storage/images/61178/photo.jpg",
    "viewer_url": "https://myimgs.org/image/AbC12xyz",
    "url_viewer": "https://myimgs.org/image/AbC12xyz",
    "display_url": "https://myimgs.org/storage/images/61178/photo.jpg",
    "width": 1600,
    "height": 1067,
    "time": 1762000000,
    "expiration": 0,
    "image": {
      "filename": "photo.jpg",
      "name": "photo",
      "mime": "image/jpeg",
      "extension": "jpg",
      "url": "https://myimgs.org/storage/images/61178/photo.jpg"
    }
  }
}

इमेज अपलोड API रेफरेंस

एक एंडपॉइंट: POST https://myimgs.org/api/v1/upload

ऑथेंटिकेशन

अपनी Key Authorization: Bearer YOUR_API_KEY हेडर में भेजें। ImgBB के लिए लिखी स्क्रिप्ट के लिए key फॉर्म फील्ड भी चलती है। जब हो सके हेडर इस्तेमाल करें, क्योंकि फॉर्म फील्ड सर्वर लॉग में पहुंच सकती हैं।

रिक्वेस्ट फील्ड

फील्डजरूरीविवरण
imageहांइमेज फाइल (multipart फॉर्म डेटा) या base64 स्ट्रिंग। data:image/png;base64,... जैसा data URI भी स्वीकार है।
nameनहींस्टोर की गई इमेज का फाइल नाम। सिर्फ अक्षर, अंक, डैश और अंडरस्कोर रखे जाते हैं। डिफ़ॉल्ट रूप से अपलोड की गई फाइल का नाम होता है।
optimizeनहींJPG, PNG और WebP इमेज को कंप्रेस्ड WebP में बदलने के लिए 1 या true भेजें, जब इससे फाइल छोटी हो। GIF कभी कन्वर्ट नहीं होतीं। जवाब में अंतिम फाइल data.extension और data.url में दिखती है।
keyनहींआपकी API Key, अगर आप Authorization हेडर इस्तेमाल नहीं करते।

रिस्पॉन्स फील्ड

फील्डविवरण
successइमेज स्टोर होने पर true।
data.idइमेज की छोटी ID।
data.nameस्टोर की गई फाइल का नाम, एक्सटेंशन के बिना।
data.extensionjpg, png, gif या webp, असली फाइल कंटेंट से लिया गया।
data.sizeस्टोर किया गया साइज, बाइट में।
data.optimizedअगर आपने optimize भेजा और इमेज WebP में बदली गई तो true, वरना false।
data.urlडायरेक्ट इमेज लिंक। इसे <img> टैग, BBCode और ऐप में इस्तेमाल करें।
data.viewer_urlइमेज दिखाने वाले पेज का लिंक। data.url_viewer में भी यही लिंक है।
data.titledata.name जैसा ही।
data.display_urldata.url जैसा ही।
data.width, data.heightइमेज का साइज, पिक्सेल में।
data.timeअपलोड का समय, Unix टाइमस्टैम्प के रूप में।
data.expirationहमेशा 0: इमेज एक्सपायर नहीं होतीं।
data.imageस्टोर की गई फाइल: filename, name, mime, extension और url।
statusHTTP स्टेटस कोड, इमेज स्टोर होने पर 201।

JavaScript, Python और PHP में इमेज अपलोड API के उदाहरण

JavaScript (Node.js 18 या नया)

import { readFile } from "node:fs/promises";

const form = new FormData();
form.append("image", new Blob([await readFile("photo.jpg")]), "photo.jpg");

const res = await fetch("https://myimgs.org/api/v1/upload", {
  method: "POST",
  headers: { Authorization: "Bearer YOUR_API_KEY" },
  body: form,
});
const json = await res.json();
console.log(json.data.url);

Python (requests)

import requests

r = requests.post(
    "https://myimgs.org/api/v1/upload",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    files={"image": open("photo.jpg", "rb")},
)
print(r.json()["data"]["url"])

PHP (cURL)

$ch = curl_init("https://myimgs.org/api/v1/upload");
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => ["Authorization: Bearer YOUR_API_KEY"],
    CURLOPT_POSTFIELDS => ["image" => new CURLFile("photo.jpg")],
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
echo $data["data"]["url"];

base64 इमेज अपलोड करें

तब काम आता है जब इमेज सिर्फ मेमोरी में हो, जैसे canvas या स्क्रीनशॉट:

curl -X POST https://myimgs.org/api/v1/upload \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "image=$(base64 -w0 photo.jpg)" \
  -F "name=photo"

बड़ी फोटो छोटी हों तो तेज अपलोड होती हैं। भेजने से पहले आप फ्री इमेज कंप्रेसर से ब्राउज़र में इमेज कंप्रेस कर सकते हैं।

इमेज होस्टिंग API एरर और स्टेटस कोड

एरर इस तरह का JSON लौटाते हैं {"success": false, "error": "message"} और इनमें से एक स्टेटस कोड के साथ:

स्टेटसमतलब
201इमेज स्टोर हो गई। रिस्पॉन्स में लिंक हैं।
401API Key नहीं है या गलत है।
403अकाउंट में कोई सक्रिय Pro प्लान नहीं है, या अकाउंट बंद है।
413इमेज 96 MB से बड़ी है।
422कोई इमेज नहीं भेजी गई, base64 टेक्स्ट गलत है, या फाइल JPG, PNG, GIF या WebP इमेज नहीं है।
429एक मिनट में 60 से ज्यादा रिक्वेस्ट। रुकें और दोबारा कोशिश करें।

इमेज होस्टिंग API की सीमाएं

इमेज साइजप्रति इमेज 96 MB
फॉर्मेटJPG, PNG, GIF (एनिमेशन बना रहता है) और WebP
रेट लिमिटहर अकाउंट के लिए प्रति मिनट 60 रिक्वेस्ट
स्टोरेजPro प्लान में अनलिमिटेड स्टोरेज
डिलीवरीHTTPS पर CDN, डायरेक्ट लिंक फोरम, वेबसाइट और ऐप में काम करते हैं
इनपुटफाइल अपलोड या base64

ImgBB API का विकल्प

अगर आप पहले से ImgBB API से अपलोड करते हैं, तो बदलने में दो बदलाव लगते हैं: रिक्वेस्ट को https://myimgs.org/api/v1/upload पर भेजें और अपनी MyIMGs.org की इस्तेमाल करें। key और image फील्ड उसी तरह काम करते हैं, और डायरेक्ट लिंक data.url में आता है। जवाब में url_viewer, display_url, title, width, height, time, expiration और image के लिए ImgBB जैसे ही नाम हैं। इसमें thumb, medium या delete_url नहीं हैं, और यह URL से इमेज नहीं लाती और एक्सपायरी सेटिंग भी नहीं लेती। Pro प्लान में 96 MB की इमेज, बिना विज्ञापन और अनलिमिटेड स्टोरेज मिलता है।

इमेज होस्टिंग API की कीमत

API हर Pro प्लान में शामिल है। अपने हिसाब से बिलिंग अवधि चुनें:

मासिक प्लान

$11.49 प्रति माह

वार्षिक प्लान

$6.49 प्रति माह

$77.88 का बिल

3 साल का प्लान

$3.29 प्रति माह

$118.44 का बिल

Pro प्लान देखें और API Key पाएं

इमेज होस्टिंग API के सवाल और जवाब

क्या कोई फ्री इमेज होस्टिंग API है?

API से अपलोड करने के लिए Pro प्लान चाहिए, जो $3.29 प्रति माह से शुरू होता है। फ्री अकाउंट वेबसाइट से 20 इमेज तक होस्ट करता है और उसमें API की नहीं होती।

API के लिए इमेज का अधिकतम साइज क्या है?

प्रति इमेज 96 MB। इससे बड़ी फाइल पर 413 एरर मिलता है।

इमेज अपलोड API कौन से इमेज फॉर्मेट स्वीकार करती है?

JPG, PNG, GIF और WebP। फॉर्मेट फाइल से ही पढ़ा जाता है, इसलिए गलत एक्सटेंशन वाली फाइल भी उसके असली कंटेंट से जांची जाती है, और जो असली इमेज नहीं है उसे अस्वीकार कर दिया जाता है। एनिमेटेड GIF एनिमेटेड ही रहती हैं।

क्या मैं URL से इमेज अपलोड कर सकता हूं?

नहीं। फाइल को multipart फॉर्म डेटा के रूप में भेजें, या इमेज को base64 स्ट्रिंग के रूप में भेजें। URL से फेच करना सुरक्षा के लिए जानबूझकर नहीं रखा गया है।

क्या मैं API से इमेज हटा सकता हूं?

अभी नहीं। फिलहाल अपलोड ही एकमात्र API कॉल है। इमेज अपने डैशबोर्ड से हटाएं।

मैं अपनी API Key कैसे बदलूं या रद्द करूं?

अपने अकाउंट पेज पर Make a new key का इस्तेमाल करें। पुरानी की तुरंत काम करना बंद कर देती है, और नई की सिर्फ एक बार दिखती है।

API की रेट लिमिट क्या है?

हर अकाउंट के लिए प्रति मिनट 60 रिक्वेस्ट। इससे ज्यादा होने पर मिनट पूरा होने तक API स्टेटस 429 के साथ जवाब देती है।

क्या API से अपलोड की गई इमेज एक्सपायर होती हैं?

नहीं। कोई एक्सपायरी सेटिंग नहीं है। आपकी की से अपलोड की गई इमेज आपके अकाउंट में रहती हैं।

क्या API ImgBB के लिए लिखी स्क्रिप्ट के साथ काम करती है?

अपलोड कॉल के लिए हां। वही key और image फील्ड MyIMGs.org के URL पर भेजें। जवाब में url, url_viewer, display_url, title, width, height, time, expiration और image के लिए वही नाम हैं। इसमें thumb, medium या delete_url नहीं हैं, और यह इमेज URL या एक्सपायरी सेटिंग नहीं लेती।

MyIMGs.org एक फ्री इमेज होस्टिंग सर्विस है। बिना अकाउंट के होम पेज पर इमेज अपलोड करें।