Developer API
API Documentation
REST API for programmatic image processing — compress, convert, resize, and strip EXIF.
https://getpictools.com/api/v1/
Usage limits
Each registered account includes 15 free API calls. Only the annual subscription unlocks unlimited API access. Monthly and quarterly plans apply to web tools only.
Authentication
Register and copy your API key from the account page, then send it in the Authorization header:
Authorization: Bearer YOUR_API_KEY
Server operators may also configure shared keys in API_KEYS (comma-separated).
GET /api/v1/health
Health check. No authentication required.
curl https://getpictools.com/api/v1/health
POST /api/v1/compress
Compress an image. Returns JSON with base64-encoded output.
Form fields
- file (required) — image file
- quality — 1–100, default 80
- format — jpeg | png | webp
- maxWidth, maxHeight — optional limits
curl -X POST https://getpictools.com/api/v1/compress \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "file=@photo.jpg" \ -F "quality=75" \ -F "format=webp"
POST /api/v1/convert
Convert image format. Returns JSON with base64 output.
Form fields
- file (required)
- format — jpeg | png | webp, default webp
- quality — 1–100, default 85
curl -X POST https://getpictools.com/api/v1/convert \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "file=@photo.jpg" \ -F "format=webp" \ -F "quality=85"
POST /api/v1/resize
Resize to target dimensions. Returns JSON with base64 output.
Form fields
- file (required)
- width, height (required) — 1–4096
- fit — cover | contain, default cover
- background — white (optional, for letterbox fill)
curl -X POST https://getpictools.com/api/v1/resize \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "file=@product.jpg" \ -F "width=2000" \ -F "height=2000" \ -F "fit=contain" \ -F "background=white"
POST /api/v1/strip-exif
Remove EXIF/metadata. Returns JSON with base64 output.
Form fields
- file (required)
curl -X POST https://getpictools.com/api/v1/strip-exif \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "file=@photo.jpg"
POST /api/v1/watermark
Add a text watermark. Returns JSON with base64 output.
Form fields
- file (required)
- text (required) — watermark text, max 120 characters
- position — bottom-right | bottom-left | top-right | top-left | center, default bottom-right
- opacity — 0.1–1, default 0.7
curl -X POST https://getpictools.com/api/v1/watermark \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "file=@product.jpg" \ -F "text=GetPicTools" \ -F "position=bottom-right" \ -F "opacity=0.7"
Image to Editable API Notes
The editable rebuild flow currently uses site-scoped async job endpoints. The sequence is: create job, poll status, then download generated artifacts.
POST /api/tools/figedit
Upload a source image and start the Agnes preprocessing + FigEdit reconstruction job. The response includes a `jobId` plus a status URL.
Form fields
- `file` required: JPEG / PNG / WebP
- `prompt` optional: extra reconstruction guidance
- `ocrLanguage` optional: `en` | `ch` | `japan`
- Auth model: current website session / Cookie, not a bearer API key
curl -X POST https://getpictools.com/api/tools/figedit \ -b "getpictools_session=YOUR_SESSION_COOKIE" \ -F "file=@diagram.png" \ -F "prompt=Preserve screenshots as images, but make labels editable." \ -F "ocrLanguage=en"
GET /api/tools/figedit/:jobId
Read the current job state. Returns `queued`, `running`, `succeeded`, or `failed`, plus any downloadable artifacts.
Form fields
- Path param `jobId` required
- Successful jobs include `artifacts` with download URLs
- Artifacts can include `editable.pptx`, `editable.svg`, `manifest.json`, and quality reports
curl https://getpictools.com/api/tools/figedit/JOB_ID \ -b "getpictools_session=YOUR_SESSION_COOKIE"
GET /api/tools/figedit/:jobId/download/:artifact
Download a generated artifact by key.
Form fields
- Path param `jobId` required
- Path param `artifact` required
- Current keys include `editablePptx`, `editableSvg`, `embeddedSvg`, `manifest`, and `qualityReport`
curl -L https://getpictools.com/api/tools/figedit/JOB_ID/download/editablePptx \ -b "getpictools_session=YOUR_SESSION_COOKIE" \ -o editable.pptx
Response example
{
"format": "webp",
"width": 1200,
"height": 800,
"size_before": 245000,
"size_after": 89000,
"mime": "image/webp",
"data_base64": "..."
}API FAQ
How do I get an API key?
Register an account — your personal API key appears on the account page after login. Use it as Authorization: Bearer <api_key>.
Which endpoints are available today?
GET /api/v1/health (no auth), POST /api/v1/compress, /api/v1/convert, /api/v1/resize, /api/v1/strip-exif, and /api/v1/watermark (Bearer token).
Is API usage rate-limited?
Each account gets 15 free API calls. Only the annual plan unlocks unlimited API access. Monthly and quarterly plans do not increase the API quota.