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