مستندات API

از هر اپ یا اسکریپتی در حساب میوشات خود فایل آپلود، لیست و حذف کنید.

احراز هویت

در صفحه‌ی کلیدهای API یک کلید بسازید (شکل کلیدها mw_… است) و با هر درخواست به یکی از این روش‌ها بفرستید:

معرفی اپ (توصیه می‌شود)

این هدرهای اختیاری را بفرستید تا شناسنامه‌ی کلید نشان دهد روی کدام اپ، سیستم و دستگاه استفاده می‌شود. کاربر می‌تواند کلید هر دستگاه را بشناسد و باطل کند.

X-Mewshot-App: windows-app          # or chrome-extension, my-script, …
X-Mewshot-App-Version: 1.4.0
X-Mewshot-OS: Windows 11
X-Mewshot-Device: DESKTOP-K3R9      # hostname or a user-chosen name

یا یک User-Agent به شکل Mewshot-Windows/1.4.0 (Windows 11; DESKTOP-K3R9) به همین صورت تفسیر می‌شود.

اندپوینت‌ها

فرمت‌های مجاز: PNG، JPG، GIF، WebP · حداکثر 10 MB · ۱۲۰ درخواست در ساعت برای هر کلید.

نمونه — cURL

curl -X POST "https://mewshot.com/api/v1/upload.php" \
  -H "X-API-Key: mw_YOUR_KEY" \
  -H "X-Mewshot-App: my-script" \
  -F "image=@screenshot.png"

نمونه — JavaScript (افزونه / مرورگر)

const form = new FormData();
form.append("image", blob, "screenshot.png");

const res = await fetch("https://mewshot.com/api/v1/upload.php", {
  method: "POST",
  headers: {
    "X-API-Key": "mw_YOUR_KEY",
    "X-Mewshot-App": "chrome-extension",
    "X-Mewshot-App-Version": chrome.runtime.getManifest().version
  },
  body: form
});
const data = await res.json();
console.log(data.upload.url);

نمونه — C# (اپ ویندوز)

using var http = new HttpClient();
http.DefaultRequestHeaders.Add("X-API-Key", "mw_YOUR_KEY");
http.DefaultRequestHeaders.Add("X-Mewshot-App", "windows-app");
http.DefaultRequestHeaders.Add("X-Mewshot-App-Version", "1.4.0");
http.DefaultRequestHeaders.Add("X-Mewshot-OS", Environment.OSVersion.VersionString);
http.DefaultRequestHeaders.Add("X-Mewshot-Device", Environment.MachineName);

using var form = new MultipartFormDataContent();
form.Add(new ByteArrayContent(pngBytes), "image", "screenshot.png");
var res  = await http.PostAsync("https://mewshot.com/api/v1/upload.php", form);
var json = await res.Content.ReadAsStringAsync();

پاسخ آپلود

{
  "ok": true,
  "upload": {
    "code": "aB3xK9mQ",
    "url": "https://mewshot.com/i/aB3xK9mQ",
    "direct_url": "https://mewshot.com/raw/aB3xK9mQ",
    "download_url": "https://mewshot.com/raw/aB3xK9mQ?dl=1",
    "stats_url": "https://mewshot.com/file.php?c=aB3xK9mQ",
    "delete_token": "…",
    "size": 48231, "width": 1280, "height": 720,
    "expires_at": null, "claimed": true
  }
}

فایل‌هایی که با کلید آپلود می‌شوند متعلق به حساب شما هستند و منقضی نمی‌شوند مگر در صفحه‌ی فایل انقضا بگذارید. خطاها به شکل {"ok": false, "error": "…"} با کد وضعیت مناسب برمی‌گردند (۴۰۱ کلید نامعتبر/باطل، ۴۱۳ حجم زیاد، ۴۱۵ نوع اشتباه، ۴۲۹ محدودیت نرخ).

جریان اتصال برای اپ‌ها

وقتی کاربر کلید را در اپ شما پیست می‌کند، GET /api/v1/me.php را صدا بزنید. پاسخ ۲۰۰ با user.email یعنی «متصل به …»؛ ۴۰۱ یعنی کلید اشتباه است یا از سایت باطل شده.