{"message":"CDN Services with Image Processing","version":"2.0.0","endpoints":{"health":"/health","register":"POST /api/auth/register","login":"POST /api/auth/login","authToken":"POST /api/auth/token","updateUser":"PUT /api/auth/user/:id","deleteUser":"DELETE /api/auth/user/:id","findUserByEmail":"GET /api/auth/user/by-email/:email","apiDocs":"GET /api-docs (Swagger UI), GET /api-docs/redoc (ReDoc)","apiKeys":"POST /api/keys (create), GET /api/keys (list), DELETE /api/keys/:keyId (revoke)","upload":"POST /api/upload (API Key veya JWT; body: bucket/disk opsiyonel)","buckets":"GET /api/buckets (yapılandırılmış bucket/disk listesi)","importUrl":"POST /api/import/url (API Key veya JWT)","oauthProviders":"GET /api/import/oauth-providers (Google Drive, Dropbox – yakında)","createPlaceholder":"POST /api/create/placeholder (API Key veya JWT)","backup":"GET /api/backup (API Key veya JWT)","restore":"POST /api/restore (API Key veya JWT)","list":"GET /api/images (API Key veya JWT)","image":"GET /api/image/:id (orijinal; ?width=&height=&format=webp ile on-the-fly; ?signature=&expires= ile signed URL)","delete":"DELETE /api/image/:id (API Key veya JWT - sadece kendi)","processedImage":"GET /api/image/:id/:size/:format (boyut+tür)","imageVariant":"GET /api/image/:id/:variant (sadece tür: /id/webp veya sadece boyut: /id/800x600, /id/thumbnail)","videoHls":"GET /api/video/:id/hls (m3u8), GET /api/video/:id/hls/:filename (.ts)","videoDash":"GET /api/video/:id/dash (manifest.mpd), GET /api/video/:id/dash/:filename (.m4s)","imagePlaceholder":"GET /api/image/:id/placeholder (LQIP, lazy loading)","imageNoBg":"GET /api/image/:id/no-bg (AI arka plan kaldırma)","imageUpscale":"GET /api/image/:id/upscale (AI süper çözünürlük)","imageAutoTag":"POST /api/image/:id/auto-tag (AI etiket önerisi)","extractProductList":"POST /api/ai/extract-product-list (menü/ürün listesi resmi → JSON)","imageInfo":"GET /api/info/:id","ledger":"GET /api/ledger (blockchain tarzı kayıt listesi), GET /api/ledger/verify","pdf":"POST /api/pdf/upload, POST /api/pdf/generate (HTML→PDF), GET /api/pdf, POST /api/pdf/:id/session, GET /api/pdf/:id?session=, DELETE /api/pdf/:id, GET /api/pdf/ledger/verify (PDF_STORAGE_ENABLED)","minify":"Kapalı (MINIFY_SERVICE_URL + --profile minify)","cloudflareImageResizing":"Kapalı","systemInfo":"/info","metrics":"/metrics","cacheStats":"GET /api/metrics/cache-stats (JSON cache hit oranı)"},"documentation":{"swagger":"GET /api-docs (Swagger UI)","redoc":"GET /api-docs/redoc (ReDoc)","openapiJson":"GET /api-docs/openapi.json","laravelAdapter":"Laravel: snowsoft/cdn-laravel-adapter (Storage driver, GraphQL, DDD); wiki/Laravel-Adapter.md, cdn-laravel-adapter/README.md"},"monitoring":{"metrics":"GET /metrics (Prometheus format; Prometheus bu URL'i scrape eder)","prometheus":"http://localhost:9090","grafana":"http://localhost:9091","openapi":"/api-docs"},"auth":{"apiKey":"Header: X-API-Key: <key> veya Authorization: ApiKey <key>","jwt":"Header: Authorization: Bearer <token>"},"ai":{"enabled":true,"autoTag":true,"noBg":true,"upscale":true,"message":"AI servisi açık (auto-tag, no-bg, upscale, embedding, saliency)"},"features":{"multiTenant":"Kullanıcı bazlı depolama","apiKeyAuth":"Resim kaydetme/silme için kullanıcıya özel API key","backup":"Kullanıcı yedeği indirme / geri yükleme","urlImport":"URL ile resim ekleme","placeholder":"Placeholder resim oluşturma","imageProcessing":"Dynamic resizing and format conversion","videoDash":"DASH streaming (GET /api/video/:id/dash)","invisibleWatermark":"?watermark=invisible ile görünmez filigran","smartCompress":"?smartCompress=1 ile WebP/AVIF akıllı sıkıştırma","anomaly":"GET /api/metrics/anomaly (şüpheli IP)","jobQueue":"POST /api/jobs, GET /api/jobs/:id (REDIS_URL + bull)"},"supportedFormats":["jpeg","jpg","png","webp","gif","svg","bmp","tiff"],"supportedSizes":["thumbnail","small","medium","large","original","custom (e.g., 200x300)"],"examples":["/api/image/abc123/100x100/webp","/api/image/abc123/thumbnail/jpeg","/api/image/abc123/500x500/png"]}