Files
SnapOtter/apps/docs/tools/image/rotate.md
T
SnapOtter 8532f3227b docs: audit all 157 tool pages against live schemas
Reconcile every tool page's parameters, defaults, and response shape against the tool's Zod settings schema and executionHint in code. Notable fixes: color-palette (add count + format params, hex output, median-cut algorithm), favicon (add 5 params, was documented as having none), qr-generate (add logoDataUri), convert (add ppm/eps/tga formats), video-loudnorm (-16 LUFS not -14), smart-crop (async 202 not sync 200), images-to-video (1080x1080 square), and several output-filename and behavior-note corrections.

Also normalize API endpoint paths to /api/v1/tools/<id> (no modality segment) and standardize curl examples on the Docker API port 1349. Verified with a clean docs build.
2026-06-18 14:12:28 +08:00

1.9 KiB

description
description
Rotate images by any angle and flip horizontally or vertically.

Rotate & Flip

Rotate images by an arbitrary angle and/or flip them horizontally or vertically. Rotation and flip operations can be combined in a single request.

API Endpoint

POST /api/v1/tools/rotate

Accepts multipart form data with an image file and a JSON settings field.

Parameters

Parameter Type Required Default Description
angle number No 0 Rotation angle in degrees (clockwise). Accepts any numeric value.
horizontal boolean No false Flip the image horizontally (mirror)
vertical boolean No false Flip the image vertically

Example Request

Rotate 90 degrees clockwise:

curl -X POST http://localhost:1349/api/v1/tools/rotate \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@photo.jpg" \
  -F 'settings={"angle": 90}'

Flip horizontally:

curl -X POST http://localhost:1349/api/v1/tools/rotate \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@photo.jpg" \
  -F 'settings={"horizontal": true}'

Rotate and flip together:

curl -X POST http://localhost:1349/api/v1/tools/rotate \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@photo.jpg" \
  -F 'settings={"angle": 45, "vertical": true}'

Example Response

{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.jpg",
  "originalSize": 2450000,
  "processedSize": 2480000
}

Notes

  • Rotation is applied first, then flip operations.
  • Non-90-degree rotations (e.g. 45 degrees) will enlarge the canvas to fit the rotated image, with transparent or black fill depending on the output format.
  • Common values: 90, 180, 270 for quarter-turn rotations.
  • EXIF orientation is auto-applied before processing, so the rotation is relative to the visual orientation.