Geliştirici rehberi
Bir görsel yükleyin, paylaşım bağlantısını alın. API anahtarı gerekmez.
POST https://buresim.com/api
Bir görsel yükleyin, paylaşım bağlantısını alın. API anahtarı gerekmez.
POST https://buresim.com/api
buresim.com, geliştiriciler, komut satırı kullanıcıları ve ekran görüntüsü araçları için hızlı, ücretsiz ve herkese açık (public) bir görsel yükleme API'si sunar.
Görseller 24 saat sonra erişime kapanır. Süresi dolan dosyalar otomatik temizlik göreviyle sunucudan kaldırılır.
https://buresim.com/apiPOSTmultipart/form-dataJPG, PNG, GIF, WEBP* (Tüm kökenlerden tarayıcı üzerinden erişilebilir)Form-data (multipart/form-data) gövdesinde aşağıdaki parametrelerden biri gönderilmelidir:
| Parametre | Tip | Zorunlu mu? | Açıklama |
|---|---|---|---|
image | Dosya (Binary) | Evet* | Yüklenecek görsel dosyası. |
file | Dosya (Binary) | Evet* | Alternatif alan adı (image yerine kullanılabilir). |
image veya file alanlarından birini göndermeniz yeterlidir.
HTTP 201 Created){
"status": "success",
"code": "deye",
"url": "https://buresim.com/deye",
"direct_url": "https://buresim.com/r/deye.png",
"raw_url": "https://buresim.com/r/deye.png",
"size": 145820,
"mime": "image/png",
"expires_at": "2026-10-03T12:00:00Z",
"ttl_seconds": 86400
}
status: İşlem durumu (success veya error).code: Görsele ait 4 harfli, okunabilir benzersiz kod.url: Paylaşım ve önizleme sayfasının bağlantısı.direct_url / raw_url: Doğrudan görselin saf (raw) bağlantısı.size: Dosya boyutu (bayt cinsinden).mime: Doğrulanan MIME türü.expires_at: Görselin erişime kapanacağı UTC tarih ve saat (ISO 8601).ttl_seconds: Yükleme anındaki yaşam süresi: 86400 saniye.| HTTP Kodu | Durum | Açıklama |
|---|---|---|
400 Bad Request | error | Dosya gönderilmedi veya geçersiz parametre adı kullanıldı. |
405 Method Not Allowed | error | POST dışında bir HTTP yöntemi kullanıldı. |
413 Payload Too Large | error | Dosya boyutu 2 MB sınırını aşıyor. |
415 Unsupported Media Type | error | İzin verilmeyen dosya formatı (Sadece JPG, PNG, GIF, WEBP). |
500 Internal Server Error | error | Sunucu veya veritabanı kayıt hatası. |
{
"status": "error",
"error": "Maksimum dosya boyutu: 2 MB."
}
Görseli yükleyip tam JSON yanıtını almak:
curl -F "image=@/resim/yolunuz/ekran.png" https://buresim.com/api
Sadece doğrudan resim linkini (direct_url) terminale yazdırmak (jq ile):
curl -s -F "image=@ekran.png" https://buresim.com/api | jq -r .direct_url
Bu dosya bir program değildir; ShareX'e buresim yükleme ayarlarını ekler. Önce ShareX'i indirip kurun, ardından aşağıdaki adımları izleyin.
buresim.sxcu dosyasına çift tıklayın. ShareX içe aktarma veya bu yükleyiciyi kullanma onayı gösterirse onaylayın..sxcu dosyasını seçin.Dosya indirilmek yerine tarayıcıda metin olarak açılıyorsa: indirme bağlantısına sağ tıklayıp Bağlantıyı farklı kaydet seçin. Dosya uzantısı .sxcu olmalıdır; .txt olarak kaydedildiyse adını buresim.sxcu olarak değiştirin.
Menü adları ShareX'in diline ve sürümüne göre değişebilir. Ayrıntılar için ShareX'in resmi özel yükleyici rehberine bakabilirsiniz.
İsterseniz aşağıdaki JSON'u kopyalayıp Özel yükleyici ayarları > İçe aktar > Panodan (From clipboard) seçeneğiyle de ekleyebilirsiniz.
{
"Version": "15.0.0",
"Name": "buresim.com",
"DestinationType": "ImageUploader",
"RequestMethod": "POST",
"RequestURL": "https://buresim.com/api",
"Body": "MultipartFormData",
"FileFormName": "image",
"URL": "{json:direct_url}",
"ThumbnailURL": "{json:direct_url}"
}
requests)import requests
url = "https://buresim.com/api"
file_path = "ekran_goruntusu.png"
with open(file_path, "rb") as f:
files = {"image": f}
response = requests.post(url, files=files, timeout=120)
data = response.json()
if response.status_code == 201 and data.get("status") == "success":
print("Resim yüklendi!")
print("Sayfa URL :", data["url"])
print("Doğrudan URL:", data["direct_url"])
else:
print("Hata:", data.get("error"))
async function uploadImage(fileInput) {
const file = fileInput.files[0];
const formData = new FormData();
formData.append("image", file);
const response = await fetch("https://buresim.com/api", {
method: "POST",
body: formData
});
const result = await response.json();
if (response.ok) {
console.log("Doğrudan Link:", result.direct_url);
} else {
console.error("Yükleme başarısız:", result.error);
}
}
import fs from 'node:fs';
const formData = new FormData();
const fileBuffer = fs.readFileSync('screenshot.png');
formData.append('image', new Blob([fileBuffer], { type: 'image/png' }), 'screenshot.png');
const res = await fetch('https://buresim.com/api', {
method: 'POST',
body: formData
});
const data = await res.json();
console.log(data);
<?php
$filePath = __DIR__ . '/ornek.jpg';
$ch = curl_init('https://buresim.com/api');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
'image' => new CURLFile($filePath, 'image/jpeg', 'ornek.jpg')
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$result = json_decode($response, true);
if ($httpCode === 201 && $result['status'] === 'success') {
echo "Görsel Linki: " . $result['direct_url'] . PHP_EOL;
} else {
echo "Hata: " . ($result['error'] ?? 'Bilinmeyen hata') . PHP_EOL;
}
Linux kullanıcıları Flameshot veya komut satırı ile ekran görüntüsü alıp doğrudan panoya kopyalayabilir:
#!/usr/bin/env bash
# flameshot ile çekilen resmi buresim.com'a yükler ve linki panoya kopyalar
TEMP_IMG="/tmp/screenshot_$(date +%s).png"
flameshot gui -r > "$TEMP_IMG"
if [ -s "$TEMP_IMG" ]; then
URL=$(curl -s -F "image=@$TEMP_IMG" https://buresim.com/api | jq -r .direct_url)
rm -f "$TEMP_IMG"
if [ "$URL" != "null" ] && [ -n "$URL" ]; then
echo -n "$URL" | xclip -selection clipboard
notify-send "buresim.com" "Görsel yüklendi ve link kopyalandı:\n$URL"
fi
fi
Herhangi bir sorun veya öneri için ana sayfayı ziyaret edebilirsiniz: