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.
3.2 KiB
3.2 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| ピクセル、パーセンテージ、またはフィットモードで画像をリサイズします。 | 53866e8266b8 | human | 73a139cca480 |
画像リサイズ
正確なピクセル寸法、パーセンテージによる拡大縮小率、または画像をターゲット寸法にどう適応させるかを制御するフィットモードを指定して、画像をリサイズします。
API エンドポイント
POST /api/v1/tools/image/resize
画像ファイルと JSON の settings フィールドを含むマルチパートフォームデータを受け付けます。
パラメーター
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
| width | integer | No | - | ターゲット幅(ピクセル、最大 16383) |
| height | integer | No | - | ターゲット高さ(ピクセル、最大 16383) |
| fit | string | No | "contain" |
画像を寸法にどう合わせるか: contain, cover, fill, inside, outside |
| withoutEnlargement | boolean | No | false |
画像がターゲットより小さい場合に拡大を防ぐ |
| percentage | number | No | - | パーセンテージでスケールする(例: 半分のサイズなら 50) |
width、height、percentage のうち少なくとも 1 つを指定する必要があります。
フィットモード
- contain - アスペクト比を保持したまま寸法内に収まるようリサイズ(余白が残る場合あり)
- cover - アスペクト比を保持したまま寸法を覆うようにリサイズ(切り抜かれる場合あり)
- fill - 寸法に正確に一致するよう引き伸ばす(アスペクト比を無視)
- inside -
containと同様だが、縮小のみで拡大はしない - outside -
coverと同様だが、縮小のみで拡大はしない
リクエスト例
curl -X POST http://localhost:1349/api/v1/tools/image/resize \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"width": 800, "height": 600, "fit": "contain"}'
パーセンテージでリサイズ:
curl -X POST http://localhost:1349/api/v1/tools/image/resize \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"percentage": 50}'
レスポンス例
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.jpg",
"originalSize": 2450000,
"processedSize": 980000
}
注意事項
- どちらの軸も最大寸法は 16383 ピクセルです(Sharp/libvips の制限)。
- 出力フォーマットは入力フォーマットに一致します。HEIC、RAW、PSD、SVG の入力は処理前に自動的にデコードされます。
- リサイズ前に EXIF の向きが自動適用されます。
withoutEnlargementフラグは、一部の画像がすでにターゲットより小さい可能性があるバッチ処理で便利です。