Skip to content

API Token فائل اپ لوڈز

API Token اپ لوڈز اسکرپٹس، خودکار کاموں، اور فریق ثالث پروگراموں کے لیے ہیں۔ آپ کو web UI کھولنے کی ضرورت نہیں۔ جب تک آپ سائٹ URL، token، مقامی فائل path، اور حقیقی اپ لوڈ چینل فراہم کرتے ہیں، فائل ImgHost پر اپ لوڈ کی جا سکتی ہے اور response میں فائل URL شامل ہوگا۔

API Token میں ترمیم

شروع کرنے سے پہلے

ایڈمن پینل کھولیں، پھر یہاں جائیں:

text
System Settings -> Security Settings -> API Token

API Token بناتے یا ترمیم کرتے وقت یقینی بنائیں کہ اس کے پاس upload permission ہے اور یہ حقیقی طے شدہ اپ لوڈ چینل استعمال کرتا ہے۔ API Token اپ لوڈز ذہین dispatch داخلہ استعمال نہیں کرتے، اور اسکرپٹس کو بھی حقیقی چینل pass کرنا چاہیے۔

اپ لوڈ اسکرپٹس ڈاؤن لوڈ کریں

دستاویزاتی package دو Node.js اسکرپٹس فراہم کرتا ہے:

اسکرپٹمقصد
ایک درخواست اپ لوڈ اسکرپٹ/upload کو ایک بار call کرتا ہے۔ چھوٹی فائلوں اور connectivity tests کے لیے مفید۔
حصوں میں اپ لوڈ اسکرپٹAPI Token chunking، direct upload، یا platform upload sessions استعمال کرتا ہے۔ بڑی فائلوں کے لیے تجویز کردہ۔

Node.js 18 یا بعد کا ورژن درکار ہے۔

دستیاب چینلز کی فہرست دیکھیں

دونوں اسکرپٹس موجودہ API Token کو دستیاب اپ لوڈ چینلز list کر سکتے ہیں:

powershell
node imghost-token-single-upload.mjs --base-url "https://your-domain" --token "your API Token" --list-channels
node imghost-token-chunk-upload.mjs --base-url "https://your-domain" --token "your API Token" --list-channels

چینلز list کرتے وقت --file اور --channel ضروری نہیں ہوتے۔ response میں default upload channel، upload channel keys، child channel names، اور load-balance status شامل ہوتے ہیں۔ secrets، ریفریش ٹوکنز، اور دیگر sensitive configuration values واپس نہیں کی جاتیں۔

اپ لوڈ موڈ منتخب کرنا

موڈبہترین استعمالوضاحت
Single-request uploadچھوٹی فائلیں، سادہ اسکرپٹس، connectivity testsپوری فائل ایک درخواست میں /upload کو بھیجتا ہے۔
Chunked uploadبڑی فائلیں یا timeout ہونے کے امکان والی فائلیںاسکرپٹ چینل کے مطابق chunked، direct، یا upload-session flow منتخب کرتا ہے۔

بڑی فائلوں کے لیے پہلے chunked upload script استعمال کریں۔ Single-request uploads Cloudflare request size، Worker memory، اور ہر platform کی اپنی limits سے محدود ہوتے ہیں۔

ایک درخواست والا اپ لوڈ

single-request script /upload کو ایک درخواست بھیجتا ہے۔

powershell
node imghost-token-single-upload.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --file "D:\test\image.png" `
  --channel s3 `
  --folder "photos/2026"

آپ token کو environment variable میں بھی رکھ سکتے ہیں:

powershell
$env:IMGHOST_API_TOKEN="your API Token"
node imghost-token-single-upload.mjs --base-url "https://your-domain" --file "D:\test\image.png" --channel s3

ایک درخواست والے اپ لوڈ کے پیرامیٹرز

پیرامیٹرضروریوضاحت
--base-url <url>ہاںImgHost سائٹ URL، مثلاً https://image.ai6.me۔
--token <token>ہاںAPI Token۔ آپ IMGHOST_API_TOKEN environment variable بھی استعمال کر سکتے ہیں۔
--file <path>ہاںمقامی فائل path۔
--channel <key>ہاںاپ لوڈ چینل۔
--folder <path>نہیںاپ لوڈ folder، مثلاً photos/2026 یا /user/۔
--name-type <type>نہیںnaming mode، بیک اینڈ uploadNameType سے mapped۔ طے شدہ قدر default ہے۔
--channel-name <name>نہیںchild channel/account منتخب کرتا ہے۔ نہ دینے پر بیک اینڈ channel configuration فیصلہ کرتی ہے۔
--retries <n>نہیںعارضی ناکامی پر دوبارہ کوششوں کی تعداد۔ طے شدہ قدر 3۔
--timeout-ms <n>نہیںrequest timeout۔ طے شدہ قدر 180000۔
--output <pretty|json>نہیںoutput format۔ طے شدہ قدر pretty۔
--save-response <path>نہیںحتمی JSON response فائل میں محفوظ کریں۔
--list-channelsنہیںموجودہ token کو دستیاب چینلز list کریں اور exit کریں۔

ایک درخواست والے اپ لوڈ کے چینلز

چینل keyچینل
telegram / tgTelegram
discord / dcDiscord
cfr2 / r2Cloudflare R2
s3S3
webdav / wdWebDAV storage channel
github / ghGitHub Releases
gitlab / glGitLab Packages
huggingface / hfHugging Face
onedrive / odOneDrive
googledrive / google / gdGoogle Drive
dropbox / dbDropbox
yandex / yxYandex Disk
pcloud / pdpCloud

ایک درخواست والے اپ لوڈ کی حجم حدود

ممکن ہو تو single-request فائلیں 100 MB سے کم رکھیں۔

ان چینلز کے لیے single-request /upload blocking thresholds واضح طور پر مقرر ہیں:

چینلSingle-Request حد
Telegram20 MiB
Discord10 MiB
S364 MiB
WebDAV64 MiB
GitHub Releases64 MiB
GitLab Packages64 MiB

جب فائل ان حدود میں سے کسی سے تجاوز کرتی ہے تو اسکرپٹ متعلقہ error locally report کرتا ہے۔ دوسرے چینلز کے لیے اسکرپٹ میں hardcoded 100 MB local check نہیں ہے۔ اگر request body Cloudflare یا platform capacity سے تجاوز کرے تو Cloudflare یا remote platform error واپس کرے گا۔

حصوں میں اپ لوڈ

chunked upload script پہلے بیک اینڈ سے target file resolve کراتا ہے، پھر selected channel کے لیے large-file flow follow کرتا ہے۔ آپ کو chunk session، merge، یا completion requests خود لکھنے کی ضرورت نہیں۔

powershell
node imghost-token-chunk-upload.mjs `
  --base-url "https://your-domain" `
  --token "your API Token" `
  --file "D:\test\video.zip" `
  --channel github `
  --folder "photos/2026" `
  --concurrency 3

حصوں میں اپ لوڈ کے پیرامیٹرز

پیرامیٹرضروریوضاحت
--base-url <url>ہاںImgHost سائٹ URL۔
--token <token>ہاںAPI Token۔ آپ IMGHOST_API_TOKEN environment variable بھی استعمال کر سکتے ہیں۔
--file <path>ہاںمقامی فائل path۔
--channel <key>ہاںاپ لوڈ چینل۔
--folder <path>نہیںاپ لوڈ folder۔
--name-type <type>نہیںnaming mode، بیک اینڈ uploadNameType سے mapped۔ طے شدہ قدر default ہے۔
--channel-name <name>نہیںchild channel/account منتخب کرتا ہے۔ نہ دینے پر بیک اینڈ channel configuration فیصلہ کرتی ہے۔
--concurrency <n>نہیںconcurrent uploads۔ طے شدہ قدر 1، زیادہ سے زیادہ 3۔
--retries <n>نہیںعارضی ناکامی پر دوبارہ کوششوں کی تعداد۔ طے شدہ قدر 3۔
--timeout-ms <n>نہیںہر درخواست کا timeout۔ طے شدہ قدر 180000۔
--output <pretty|json>نہیںoutput format۔ طے شدہ قدر pretty۔
--save-response <path>نہیںحتمی JSON response فائل میں محفوظ کریں۔
--list-channelsنہیںموجودہ token کو دستیاب چینلز list کریں اور exit کریں۔

حصوں میں اپ لوڈ کے چینلز

چینل keyاپ لوڈ flow
telegram / tgحقیقی chunked /upload session
discord / dcحقیقی chunked /upload session
cfr2 / r2حقیقی chunked /upload session
github / ghحقیقی chunked /upload session
gitlab / glحقیقی chunked /upload session
webdav / wdحقیقی chunked /upload session
s3S3 multipart upload
onedrive / odOneDrive upload session
googledrive / google / gdGoogle Drive resumable upload
dropbox / dbDropbox upload session
yandex / yxYandex direct upload URL
pcloud / pdpCloud upload link
huggingface / hfHugging Face LFS upload

Yandex compressed-file samples testing میں unstable تھے۔ non-compressed files کامیابی سے upload ہونا verified ہیں۔

اپ لوڈ جواب

کامیاب اپ لوڈ کے بعد اسکرپٹ print کرتا ہے:

text
success
src: /file/photos/2026/example.png
url: https://your-domain/file/photos/2026/example.png
fileId: photos/2026/example.png
فیلڈوضاحت
srcاندرونی site file path۔
urlمکمل public URL، آپ کے اپنے اسکرپٹس یا database records کے لیے مناسب۔
fileIdfile ID، بعد کی queries، management، یا logs کے لیے مفید۔
channelNamechunked script اصل استعمال شدہ child channel/account واپس کر سکتا ہے۔

--output json کے ساتھ اسکرپٹ programmatic use کے لیے مکمل JSON response print کرتا ہے۔

براہ راست ایک درخواست والی API کال

اگر آپ اسکرپٹ استعمال نہیں کرتے تو single-request upload رسائی نقطے کو براہ راست call کر سکتے ہیں:

text
POST https://your-domain/upload?uploadChannel=s3&uploadFolder=photos/2026&uploadNameType=default
Authorization: Bearer your API Token
Content-Type: multipart/form-data

Form field:

فیلڈضروریوضاحت
fileہاںاپ لوڈ کرنے والی فائل۔

Query parameters:

پیرامیٹرضروریوضاحت
uploadChannelہاںحقیقی اپ لوڈ چینل۔
uploadFolderنہیںاپ لوڈ folder۔
uploadNameTypeنہیںnaming mode۔
channelNameنہیںchild channel/account منتخب کرتا ہے۔

کامیاب responses اس طرح ہوتے ہیں:

json
{
  "success": true,
  "src": "/file/photos/2026/example.png",
  "url": "https://your-domain/file/photos/2026/example.png",
  "fileId": "photos/2026/example.png"
}

عمومی سوالات

بڑے ایک درخواست والے اپ لوڈز ناکام ہوتے ہیں

Single-request /upload پوری فائل ایک درخواست میں بھیجتا ہے۔ بڑی فائلیں Cloudflare یا remote platform سے block ہو سکتی ہیں۔ بڑی فائلوں کے لیے chunked upload script استعمال کریں۔

--channel-name مقرر ہے لیکن اپ لوڈ پھر بھی ناکام ہے

چیک کریں کہ منتخب channel میں واقعی اس نام کا child channel موجود ہے اور وہ فعال ہے۔ اگر --channel-name نہ دیا جائے تو بیک اینڈ اس channel کی configuration کے مطابق دستیاب account منتخب کرتا ہے۔

میں نتیجہ کسی دوسرے پروگرام میں استعمال کرنا چاہتا ہوں

--output json استعمال کریں، یا --save-response result.json شامل کریں۔ مکمل file URL حاصل کرنے کے لیے url field پڑھیں۔

Yandex آرکائیوز اپ لوڈ نہیں کر سکتا

Yandex archive formats کو support نہیں کرتا۔ یہ ان کی platform policy کی وجہ سے ہو سکتا ہے۔ Yandex استعمال کرتے وقت جہاں ممکن ہو non-archive files اپ لوڈ کریں۔

Released as user documentation for ImgHost.