Geliştirici rehberi

Bir görsel yükleyin, paylaşım bağlantısını alın. API anahtarı gerekmez.

POST https://buresim.com/api

ShareX yapılandırmasını indir

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.

Genel Bakış

Parametreler

Form-data (multipart/form-data) gövdesinde aşağıdaki parametrelerden biri gönderilmelidir:

ParametreTipZorunlu mu?Açıklama
imageDosya (Binary)Evet*Yüklenecek görsel dosyası.
fileDosya (Binary)Evet*Alternatif alan adı (image yerine kullanılabilir).

image veya file alanlarından birini göndermeniz yeterlidir.

Yanıt Formatı (JSON)

Başarılı Yanıt (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
}

Yanıt Alanları:

Hata Kodları

HTTP KoduDurumAçıklama
400 Bad RequesterrorDosya gönderilmedi veya geçersiz parametre adı kullanıldı.
405 Method Not AllowederrorPOST dışında bir HTTP yöntemi kullanıldı.
413 Payload Too LargeerrorDosya boyutu 2 MB sınırını aşıyor.
415 Unsupported Media Typeerrorİzin verilmeyen dosya formatı (Sadece JPG, PNG, GIF, WEBP).
500 Internal Server ErrorerrorSunucu veya veritabanı kayıt hatası.

Hata Yanıtı Örneği:

{
  "status": "error",
  "error": "Maksimum dosya boyutu: 2 MB."
}

Kullanım Örnekleri

1. cURL (Terminal / Komut Satırı)

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

2. ShareX Yapılandırması (Windows)

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.

  1. ShareX yapılandırmasını indirin. Dosyayı Windows'ta İndirilenler klasöründe bulabilirsiniz.
  2. İndirdiğiniz buresim.sxcu dosyasına çift tıklayın. ShareX içe aktarma veya bu yükleyiciyi kullanma onayı gösterirse onaylayın.
  3. Dosya açılmıyorsa ShareX'te Hedefler (Destinations) > Özel yükleyici ayarları (Custom uploader settings) bölümünü açın. İçe aktar (Import) > Dosyadan (From file) seçeneğiyle indirdiğiniz .sxcu dosyasını seçin.
  4. Aynı pencerede buresim.com yükleyicisini seçin ve Resim yükleyicisi (Image uploader) olarak ayarlayın. Ana pencerede Hedefler > Resim yükleyicisi > Özel resim yükleyicisi (Custom image uploader) seçili olmalıdır.
  5. Yakalama sonrası görevler (After capture tasks) menüsünde Resmi sunucuya yükle (Upload image to host) seçeneğini etkinleştirin. Bağlantının otomatik kopyalanması için Yükleme sonrası görevler (After upload tasks) > URL'yi panoya kopyala (Copy URL to clipboard) seçeneğini de açın.
  6. Yakala (Capture) > Bölge (Region) ile küçük bir ekran görüntüsü alın. Yükleme tamamlandığında buresim bağlantısı oluşur. Görsel en fazla 2 MB olmalı; bağlantı yüklemeden 24 saat sonra erişime kapanır.

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.

Elle yapılandırma

İ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}"
}

3. Python (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"))

4. JavaScript / Node.js

Tarayıcı (Fetch API):

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);
    }
}

Node.js (v18+ Native Fetch):

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);

5. PHP (cURL)

<?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;
}

6. Linux / Flameshot Script (Otomatik Yükleme ve Panoya Kopyalama)

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

İletişim & Destek

Herhangi bir sorun veya öneri için ana sayfayı ziyaret edebilirsiniz:

👉 https://buresim.com