Call Snipinsta's background removal, OCR and image conversion from your own code. One API key, a single multipart POST, and either a direct binary response or an async task with a webhook callback when it finishes.
curl -X POST \
https://snipinsta.app/api/processing-tasks/rm-bg \
-H "X-API-Key: $SNIPINSTA_API_KEY" \
-F "image=@product.jpg" \
-F "webhook_url=https://you.example/hook"
/api/processing-tasks/{uuid}/status or let the webhook
tell you when the transparent PNG is ready.
Four processing endpoints run asynchronously: you POST a file, get a task UUID back straight away, and either poll for status or receive a webhook. That shape exists because background removal and video work take seconds, not milliseconds, and holding an HTTP connection open for them is a bad deal for both sides.
| Endpoint | What it does | File field |
|---|---|---|
POST /api/processing-tasks/rm-bg |
Removes the background and returns a transparent PNG. | image |
POST /api/processing-tasks/ocr |
Extracts text from images and scanned pages. | images |
POST /api/processing-tasks/gif-maker |
Builds an animated GIF from a set of frames. | images |
POST /api/processing-tasks/gif-from-video |
Converts a video clip into an animated GIF. | video |
Send your key as an X-API-Key header, or as an
api_key form field if a header is inconvenient. Keys are
per-account and can be rotated at any time from the dashboard below.
GET /api/processing-tasks/{uuid}/status — poll for progress and terminal state.GET /api/processing-tasks/{uuid}/result — fetch the finished file.webhook_url on submit, optionally with webhook_secret and webhook_events, and be told instead of asking.curl -X POST 'https://snipinsta.app/api/wordpress-plugin/auth/validate' \ + -H 'Accept: application/json' \ + -F "api_key=YOUR_API_KEY" \ + -F 'site_url=https://example.com' \ + -F 'plugin_version=1.3.0' # Later validation can use the site token only: curl -X POST 'https://snipinsta.app/api/wordpress-plugin/auth/validate' \ + -H 'Accept: application/json' \ + -F 'installation_token=sio_SITE_TOKEN' \ + -F 'site_url=https://example.com'
curl -X POST 'https://snipinsta.app/api/wordpress-plugin/usage/report' \ + -H 'Accept: application/json' \ + -F 'installation_token=sio_SITE_TOKEN' \ + -F 'site_url=https://example.com' \ + -F 'action=manual_optimize' \ + -F 'file_count=1' \ + -F 'metadata[reservation]=1'
curl -X POST 'https://snipinsta.app/api/wordpress-plugin/usage/reconcile' \ + -H 'Accept: application/json' \ + -F 'installation_token=sio_SITE_TOKEN' \ + -F 'site_url=https://example.com' \ + -F 'usage_log_id=123' \ + -F 'reason=not_smaller'
curl -X POST 'https://snipinsta.app/api/processing-tasks/rm-bg' \ + -H 'Accept: application/json' \ + -H 'X-API-Key: YOUR_API_KEY' \ + -F 'image=@/absolute/path/to/source.png' \ + -F 'webhook_url=https://example.com/hooks/snipinsta' \ + -F 'webhook_events[]=succeeded' \ + -F 'webhook_secret=shared-secret'
curl -H 'X-API-Key: YOUR_API_KEY' 'https://snipinsta.app/api/processing-tasks/TASK_ID/status' # then download curl -L -H 'X-API-Key: YOUR_API_KEY' 'https://snipinsta.app/api/processing-tasks/TASK_ID/result' -o result.bin
{
"event": "processing-task.succeeded",
"task_id": "TASK_ID",
"endpoint": "rm-bg",
"status": "succeeded",
"status_url": "https://snipinsta.app/api/processing-tasks/TASK_ID/status",
"result_url": "https://snipinsta.app/api/processing-tasks/TASK_ID/result",
"output_filename": "result.png"
}
This dashboard is useful when you need a fast view of the current API contract, want to rotate credentials without opening the database, or need a repeatable webhook configuration for async image-processing jobs.
Keep exploring the parts of Snipinsta that connect to this workflow.
Was this helpful?
Your feedback improves our tools