Skip to main content
Public API

A REST API to generate and manage your transformations

Wire up your back-office, your CRM or a personal script to Lift My Place. Same credits, same quality as the web app — driven from your tools.

What the API exposes

  • List, create, read, delete and regenerate transformations
  • Upload directly via Supabase Storage signed URLs
  • Inspect credit balance
  • Issue, list and revoke API keys
  • Per-key, per-scope rate limits

Example — create a transformation

Every request authenticates via the Authorization: Bearer lmp_… header.

# 1. Sign an upload URL
curl -H "Authorization: Bearer $LMP_KEY" \
  -X POST https://liftmyplace.com/api/v1/uploads/sign \
  -d '{"contentType":"image/jpeg"}'

# 2. PUT the photo to the returned upload_url
curl -X PUT --upload-file room.jpg "<upload_url>"

# 3. Generate
curl -H "Authorization: Bearer $LMP_KEY" \
  -X POST https://liftmyplace.com/api/v1/generations \
  -H "Content-Type: application/json" \
  -d '{
    "source": {"storagePath":"<storage_path>"},
    "prompt": "cosy scandinavian living room with warm light",
    "style": "scandinavian",
    "spaceType": "interior"
  }'

Available scopes

Each key carries an explicit subset of scopes — least privilege, by default.

  • generations:read — list and read
  • generations:write — create, regenerate, delete
  • account:read — profile and credit balance
  • keys:read — list keys
  • keys:write — create or revoke keys