mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
Renames 18 ambiguous or hard-to-search tool names so image tools self-qualify like the other modalities ("Compress" becomes "Compress Image"), and cleans up a few awkward names. Propagated across search (constants.ts), display (en.ts + 20 locales), the OpenAPI base spec + 20 locale specs, and the docs tool-page headings in 21 languages. Removes the duplicate "Normalize Audio" summary shared by the video and audio endpoints. Tool ids and routes are unchanged, so no API paths or bookmarks break.
4.3 KiB
4.3 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| إزالة بيانات EXIF وGPS وICC وXMP الوصفية من الصور من أجل الخصوصية وتصغير أحجام الملفات. | 07f61cdb2c26 | human | 0ae6fb6a5ae7 |
إزالة البيانات الوصفية للصورة
أزل بيانات EXIF وGPS وملفات ألوان ICC وبيانات XMP الوصفية من الصور. مفيد للخصوصية (إزالة إحداثيات GPS ومعلومات الكاميرا) وتقليل حجم الملف.
نقاط نهاية API
إزالة البيانات الوصفية
POST /api/v1/tools/image/strip-metadata
يعالج الصورة ويُرجع نسخة نظيفة مع إزالة البيانات الوصفية المحددة.
فحص البيانات الوصفية
POST /api/v1/tools/image/strip-metadata/inspect
يُرجع البيانات الوصفية المحللة بصيغة JSON دون تعديل الصورة. مفيد لمعاينة البيانات الوصفية الموجودة قبل إزالتها.
المعاملات (الإزالة)
| المعامل | النوع | مطلوب | الافتراضي | الوصف |
|---|---|---|---|---|
| stripExif | boolean | لا | false |
إزالة بيانات EXIF (إعدادات الكاميرا، التواريخ، إلخ) |
| stripGps | boolean | لا | false |
إزالة بيانات GPS/الموقع فقط |
| stripIcc | boolean | لا | false |
إزالة ملف ألوان ICC |
| stripXmp | boolean | لا | false |
إزالة بيانات XMP الوصفية (Adobe، IPTC) |
| stripAll | boolean | لا | true |
إزالة كل البيانات الوصفية دفعة واحدة |
عندما تكون stripAll هي true، فإنها تتجاوز الأعلام الفردية وتزيل كل شيء.
مثال طلب
إزالة كل البيانات الوصفية:
curl -X POST http://localhost:1349/api/v1/tools/image/strip-metadata \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"stripAll": true}'
إزالة بيانات GPS فقط (مع الاحتفاظ بمعلومات الكاميرا وملف الألوان):
curl -X POST http://localhost:1349/api/v1/tools/image/strip-metadata \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"stripAll": false, "stripGps": true}'
فحص البيانات الوصفية دون تعديل:
curl -X POST http://localhost:1349/api/v1/tools/image/strip-metadata/inspect \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg"
مثال استجابة (الإزالة)
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.jpg",
"originalSize": 2450000,
"processedSize": 2380000
}
مثال استجابة (الفحص)
{
"filename": "photo.jpg",
"fileSize": 2450000,
"exif": {
"Make": "Canon",
"Model": "EOS R5",
"DateTimeOriginal": "2024:03:15 14:30:00",
"ExposureTime": "1/250",
"FNumber": 2.8,
"ISO": 400
},
"gps": {
"GPSLatitudeRef": "N",
"GPSLatitude": [37, 46, 30],
"_latitude": 37.775,
"_longitude": -122.4183
},
"icc": {
"Profile Size": "3144 bytes",
"Color Space": "RGB",
"Description": "sRGB IEC61966-2.1"
},
"xmp": {
"CreatorTool": "Adobe Photoshop 25.0"
}
}
ملاحظات
- تُعاد ترميز الصورة بصيغتها الأصلية بعد الإزالة. يستخدم JPEG محرك mozjpeg بجودة 90، وPNG يستخدم مستوى الضغط 9، وWebP يستخدم جودة 85.
- قد تؤدي إزالة ملفات ICC إلى انزياحات لونية طفيفة إذا كانت الصورة موسومة بملف غير sRGB. استخدم
stripIcc: falseإذا كانت دقة الألوان مهمة. - تحلل نقطة نهاية الفحص إحداثيات GPS إلى قيم عشرية لخط العرض/الطول (مسبوقة بشرطة سفلية) للتيسير.
- صيغ المدخلات المدعومة: JPEG، PNG، WebP، AVIF، TIFF، GIF.