URL & Ham HTML Ekran Görüntüsü ve Video Kayıt Servisi
Canlı bir web sitesinin veya doğrudan POST ettiğiniz ham HTML kodunun ekran görüntüsünü (PNG, JPEG, WEBP) veya akıcı video kaydını (MP4, WebM, GIF, Smooth Auto-scroll) yüksek performansla elde edin.
Sunucuda API_KEY ortam değişkeni tanımlandığında isteklerinizde aşağıdaki başlıklardan birini göndermeniz gerekmektedir:
X-API-Key: YOUR_SECRET_API_KEY
# veya
Authorization: Bearer YOUR_SECRET_API_KEY /screenshot /html /record (veya /video) /html/record /up (veya /health) / İsteklerinizi application/json, application/x-www-form-urlencoded veya text/html gövdesiyle gönderebilirsiniz.
| Parametre | Tip | Zorunlu? | Varsayılan | Açıklama |
|---|---|---|---|---|
url | string | Opsiyonel* | - | Hedef web sitesi adresi (örn: https://tunahancaliskan.com). |
html | string | Opsiyonel* | - | Doğrudan render edilecek ham HTML dizesi (CSS ve stilleri içerebilir). |
duration | number | Hayır | 5 | Video kayıt süresi saniye cinsinden (1 ile 60 saniye arası). |
fps | number | Hayır | 30 | Video kare hızı (1 ile 60 FPS arası). |
format | string | Hayır | png / mp4 | Screenshot için: png, jpeg, webp.Video kaydı için: mp4, webm, gif. |
scroll | boolean | Hayır | false | Video kaydı sırasında sayfayı yumuşak bir şekilde aşağı kaydırmak için true verin. |
element | string | Hayır | null | Spesifik bir DOM öğesini yakalamak için CSS seçicisi (örn: .hero, #card). |
fullPage | boolean | Hayır | false | Screenshot için tüm sayfayı kaydırarak yakalamak için true verin. |
quality | number | Hayır | - | JPEG/WEBP veya video sıkıştırma kalitesi (1 - 100 arası). |
width | number | Hayır | 1920 | Tarayıcı ekran çözünürlüğü genişliği (piksel). |
height | number | Hayır | 1080 | Tarayıcı ekran çözünürlüğü yüksekliği (piksel). |
deviceScaleFactor | number | Hayır | 1 | Retina / HiDPI ekran ölçekleme katsayısı. |
delay | number | Hayır | 0 | Çekim/kayıt öncesi bekleme süresi (milisaniye cinsinden, maks 10000ms). |
waitForSelector | string | Hayır | - | DOM'da belirmesi beklenecek CSS element seçicisi. |
clickSelector | string | Hayır | - | Kayıt başlamadan önce tıklanacak CSS element seçicisi. |
darkMode | boolean | Hayır | - | Karanlık mod temasını simüle etmek için true / false verin. |
headers | object | Hayır | - | Sayfa isteğinde gönderilecek özel HTTP başlıkları (örn: {"User-Agent": "..."}). |
cookies | array | Hayır | - | Sayfa yüklenirken ayarlanacak cookie listesi. |
userAgent | string | Hayır | - | Özel User-Agent dizesi tanımlamak için. |
* url veya html parametrelerinden en az birinin belirtilmesi zorunludur.
# 1. URL'den Ekran Görüntüsü Alma
curl -X POST http://localhost:3000/screenshot \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"url": "https://tunahancaliskan.com",
"format": "webp",
"fullPage": false
}' \
--output screenshot.webp
# 2. Doğrudan HTML POST ile Ekran Görüntüsü Alma
curl -X POST http://localhost:3000/screenshot \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"html": "Merhaba Dünya 🚀
",
"format": "png"
}' \
--output html_screenshot.png