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.
5.3 KiB
5.3 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| تحرير حقول بيانات EXIF وIPTC وGPS وXMP الوصفية في الصور دون إعادة ترميز البكسلات. | 9271d3d8f278 | human | 476b3bfa39e7 |
تعديل البيانات الوصفية للصورة
حرّر حقول البيانات الوصفية للصورة بما في ذلك EXIF وIPTC وإحداثيات GPS والتواريخ والكلمات المفتاحية. يستخدم ExifTool خلف الكواليس، لذا تُكتَب البيانات الوصفية في مكانها دون إعادة ترميز البكسلات، مع الحفاظ على جودة الصورة الكاملة.
API Endpoints
Edit Metadata
POST /api/v1/tools/image/edit-metadata
يكتب حقول البيانات الوصفية إلى الصورة ويعيد الملف المعدّل.
Inspect Metadata
POST /api/v1/tools/image/edit-metadata/inspect
يعيد البيانات الوصفية الكاملة من الصورة عبر ExifTool بصيغة JSON. لا يعدّل الصورة.
Parameters (Edit)
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| title | string | No | - | عنوان الصورة (XMP/EXIF) |
| author | string | No | - | اسم المؤلف |
| artist | string | No | - | اسم الفنان (وسم EXIF Artist) |
| copyright | string | No | - | إشعار حقوق النشر |
| imageDescription | string | No | - | وصف الصورة (EXIF) |
| software | string | No | - | وسم البرنامج |
| dateTime | string | No | - | قيمة EXIF DateTime |
| dateTimeOriginal | string | No | - | قيمة EXIF DateTimeOriginal |
| setAllDates | string | No | - | تعيين جميع حقول التاريخ دفعة واحدة |
| dateShift | string | No | - | إزاحة جميع التواريخ بمقدار محدد (الصيغة: +HH:MM أو -HH:MM) |
| clearGps | boolean | No | false |
إزالة جميع بيانات GPS |
| gpsLatitude | number | No | - | تعيين خط عرض GPS (-90 إلى 90) |
| gpsLongitude | number | No | - | تعيين خط طول GPS (-180 إلى 180) |
| gpsAltitude | number | No | - | تعيين ارتفاع GPS بالأمتار |
| keywords | string[] | No | - | الكلمات المفتاحية/الوسوم المراد إضافتها أو تعيينها |
| keywordsMode | string | No | "add" |
كيفية التعامل مع الكلمات المفتاحية: add (إلحاق) أو set (استبدال) |
| fieldsToRemove | string[] | No | [] |
قائمة بأسماء حقول بيانات وصفية محددة لإزالتها |
| iptcTitle | string | No | - | IPTC Object Name |
| iptcHeadline | string | No | - | IPTC Headline |
| iptcCity | string | No | - | IPTC City |
| iptcState | string | No | - | IPTC Province/State |
| iptcCountry | string | No | - | IPTC Country |
Example Request
تعيين المؤلف وحقوق النشر:
curl -X POST http://localhost:1349/api/v1/tools/image/edit-metadata \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"author": "Jane Smith", "copyright": "2024 Jane Smith"}'
تعيين إحداثيات GPS:
curl -X POST http://localhost:1349/api/v1/tools/image/edit-metadata \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"gpsLatitude": 48.8566, "gpsLongitude": 2.3522, "gpsAltitude": 35}'
إزالة GPS وإضافة كلمات مفتاحية:
curl -X POST http://localhost:1349/api/v1/tools/image/edit-metadata \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"clearGps": true, "keywords": ["landscape", "sunset"], "keywordsMode": "add"}'
فحص البيانات الوصفية:
curl -X POST http://localhost:1349/api/v1/tools/image/edit-metadata/inspect \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg"
Example Response (Edit)
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.jpg",
"originalSize": 2450000,
"processedSize": 2452000
}
Notes
- تتطلب هذه الأداة تثبيت ExifTool على الخادم. وهو مضمّن في صورة Docker.
- تُكتَب البيانات الوصفية في مكانها، لذا لا يحدث أي إعادة ترميز للبكسلات. تغيّر حجم الملف ضئيل (فقط بايتات البيانات الوصفية).
- يُزيح المُعامِل
dateShiftجميع حقول التاريخ بالمقدار المحدد، وهو مفيد لتصحيح أخطاء المنطقة الزمنية (مثل+02:00أو-05:30). - إذا لم تُطلَب أي تغييرات (جميع المُعامِلات محذوفة أو فارغة)، يُعاد الملف الأصلي دون تغيير.
- الصيغ المدعومة: JPEG وPNG وWebP وAVIF وTIFF وGIF وHEIC/HEIF.
- للصيغ غير القابلة للمعاينة في المتصفح (HEIF وTIFF)، تتضمن الاستجابة حقل
previewUrlمع معاينة WebP.