← Back to app

Verapix API

Enhance listing photos programmatically. Every enhancement is disclosure-safe by design (light, color, clarity and framing only) and structure-verified against the original. Base URL: https://verapix.shovelware.ai

Authentication

Create a key in the app and pass it as a bearer token. Keys draw from your account's shared credit balance (1 credit per enhanced photo). The full secret is shown once at creation — store it securely.

Authorization: Bearer vpx_live_xxxxxxxxxxxxxxxxxxxxxxxx

POST /v1/enhance

Submit one photo for enhancement. Accepts either multipart/form-data (field photo) or JSON with a base64 image. Returns 202 with a photo id and a status URL; enhancement runs asynchronously.

FieldNotes
photo / image_base64The image. JPEG, PNG or WebP, ≤ 15 MB.
strengthOptional: subtle, standard (default), or strong.
filenameOptional (JSON mode only).
# multipart
curl -X POST https://verapix.shovelware.ai/v1/enhance \
  -H "Authorization: Bearer $VERAPIX_KEY" \
  -F "photo=@living-room.jpg" \
  -F "strength=standard"

# → 202
{ "id": "pho_ab12…", "status": "queued",
  "status_url": "https://verapix.shovelware.ai/v1/photos/pho_ab12…" }

GET /v1/photos/{id}

Poll for the result. When status is done, enhanced_url is a public link to the enhanced JPEG. structure_score is the brightness-invariant similarity to the original (the QA gate).

curl https://verapix.shovelware.ai/v1/photos/pho_ab12… \
  -H "Authorization: Bearer $VERAPIX_KEY"

# → 200
{ "id": "pho_ab12…", "status": "done", "room_label": "living room",
  "used_generative": true, "structure_score": 0.94,
  "enhanced_url": "https://verapix.shovelware.ai/api/share/…/enhanced",
  "error": null }

Status values

queuedprocessingdone (or failed, with error). Poll every ~2s; typical completion is a few seconds.

Errors

CodeMeaning
401Missing or invalid API key.
402No credits remaining.
400Bad request (missing/oversized/unsupported image).
429Rate limited (per key).

OpenAPI spec (JSON) →