canonical: https://jentic.com/apis/propertypixel.app/propertypixel

# Propertypixel App PropertyPixel API

The PropertyPixel API edits real estate listing photos: it organizes them into projects, enhances them, virtually stages empty rooms, and turns them into listing videos. Enhancements include enhancement types such as improve_lighting, day_to_dusk, blue_skies, and remove_furniture, and staging takes a design_style such as scandinavian, japandi, or coastal. Credit-spending operations follow a quote and confirm flow, results come back as jobs you poll and pick from, and finished outputs download as a zip.

## For AI agents

Create listing photo projects, enhance and virtually stage room photos, generate listing videos, and download the results from PropertyPixel, with a quote before any credits are spent.

## Scope

Does not publish listings to portals, manage MLS records, or value properties. Use for editing, staging, and making videos from real estate photos only.

## Capabilities

- Create a project for a property with a name, address, and property_type, then add photos by URL or signed upload
- Enhance listing photos with enhancement types such as improve_lighting, day_to_dusk, blue_skies, and remove_furniture
- Virtually stage empty rooms in a design_style such as modern, scandinavian, or japandi, with multiple variations
- Generate a listing video from selected photos with a chosen clip length and aspect ratio such as 16:9 or 9:16
- Get edit recommendations for a set of photos and apply the ones you choose
- Quote the credit cost of an enhancement, staging, recommendation, or video job before confirming it
- Poll job status, pick the result you want, and request a zip download of the picks

## Use cases

### Agent-Run Listing Photo Prep

An AI agent connected through Jentic takes a new listing's photo URLs, creates a PropertyPixel project with the address and property_type, and adds the photos. It asks for edit recommendations, gets a quote for applying them, confirms with the user, and then polls the jobs until results are ready, so the listing photos are cleaned up without anyone opening the Studio.

Example prompt: Create a project named '12 Elm Street' with property_type house, add three photos by image_urls, get recommendations for all_photos, then quote apply_recommendations before confirming

### Virtual Staging for Vacant Homes

Vacant rooms photograph poorly. A brokerage stages them virtually by sending photo ids with a design_style such as modern or coastal and a number of variations, then picks the best result per room. Because staging spends credits, the request can carry a quote_id from a prior quote so the cost is known before the job runs.

Example prompt: Quote stage_photos for photo ids p1 and p2 with design_style scandinavian, then stage them with that quote_id and pick one result per job

### Listing Video Creation

Listing videos drive engagement on portals and social feeds. The PropertyPixel API builds a video from a project's photo_ids with a chosen clip length and an aspect_ratio of auto, 16:9, 9:16, or 1:1, so one photo set can produce a landscape video for the portal and a vertical one for social.

Example prompt: Create a video for project prj_123 from four photo_ids with aspect_ratio 9:16, then check the job status until it completes

### Exterior Photo Enhancement

Exterior shots taken on grey days or with patchy lawns are fixed with enhancement types such as blue_skies, lawn_repair, rain_to_shine, and day_to_dusk. Results are returned as jobs; after picking the preferred versions, a zip download link gathers the picks for upload to the listing portal.

Example prompt: Enhance all_photos in project prj_123 with enhancement_types blue_skies and lawn_repair, pick the results, and request a download with picks_only set to true

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/projects` | Create a project |
| POST | `/projects/{project_id}/photos` | Add photos to a project |
| POST | `/enhancements` | Enhance photos |
| POST | `/stagings` | Virtually stage photos |
| POST | `/videos` | Create a listing video |
| POST | `/quotes` | Quote the credit cost of an operation |
| GET | `/jobs` | Check job status |
| POST | `/downloads` | Get a zip download link |

## Key resources

- **Projects** — A property with a name, address, property_type, and its photos
- **Edits** — Enhancements, virtual stagings, recommendations, and videos
- **Quotes** — Credit cost of an operation before it runs
- **Jobs** — Status and results of edits, with a pick step
- **Downloads** — Zip downloads of results or picks

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 83 / 100
- **Maturity:** AI-Ready
- **Dimensions:**
  - Foundational Compliance: 100 / 100
  - Developer Experience & Jentic Compatibility: 69 / 100
  - AI-Readiness & Agent Experience: 78 / 100
  - Agent Usability: 94 / 100
  - Security: 75 / 100
  - AI Discoverability: 95 / 100
- **View full report:** https://jentic.com/apis/propertypixel.app/propertypixel/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring PropertyPixel by hand means choosing between a pp_live_ bearer key and an OAuth 2.1 PKCE flow, running the quote and confirm step before credit-spending edits, and polling jobs until results land. Through Jentic you install once, import PropertyPixel from the API Directory, store the credential once, and your agent calls it.
- **Permission scoping:** Most PropertyPixel edits carry the project and photo ids in the request body, so a rule bounds which operations your agent may call rather than which project. You choose the operations it may call, so credit-spending ones like staging or video creation, and destructive ones like project deletion, are not included unless you add them.
- **Credential handling:** Your PropertyPixel API key or OAuth token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'virtually stage a room photo' or 'turn a photo into a dusk shot', and Jentic returns the matching PropertyPixel operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Photoroom** — Photoroom edits product and object photos with background removal and generated backgrounds.
- **remove.bg** — remove.bg removes image backgrounds, a narrow slice of photo editing.
- **ATTOM Data** — ATTOM supplies property records and valuations that pair with PropertyPixel listing media.

## FAQ

### What authentication does the PropertyPixel API use?

Per its OpenAPI spec, the PropertyPixel API accepts either a bearer API key (format pp_live_ followed by the key, created in Settings and then Developers) under the bearerAuth scheme, or an OAuth 2.1 access token from the authorization code flow with PKCE under the oauth2 scheme. Each credential is bound to one workspace and spends that workspace's credits. Through Jentic the credential is stored encrypted by your own Jentic One instance and injected at call time.

### How does PropertyPixel charge credits for edits?

Operations that spend credits use a quote and confirm flow. You create a quote for an operation such as enhance_photos, stage_photos, apply_recommendations, or create_video, then pass its quote_id to the edit request, or set auto_confirm to skip the separate confirmation. The get account operation returns the workspace's credit balance and plan, so an agent can check the balance before it spends.

### What are the rate limits for the PropertyPixel API?

The OpenAPI spec does not state a fixed numeric limit, but it documents RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset response headers, plus a Retry-After header for when to retry. Check https://docs.propertypixel.app for the limits on your plan.

### Is there a PropertyPixel MCP server?

Yes. PropertyPixel offers an official MCP server at mcp.propertypixel.app that exposes the same operations as tools. You can also connect the PropertyPixel API directly through Jentic: your agent gets the full 23-endpoint surface without loading another server's tool definitions into its context, your credential is injected at call time by your self-hosted instance instead of living in an MCP config, and your rules decide which operations the agent may call.

### Can I limit what my agent is allowed to do with the PropertyPixel API?

Yes. For example, write a rule that allows the create quote, get recommendations, and check job status operations, so the agent can price edits and report progress while every credit-spending edit and the delete project operation stay with you. Every call it makes is logged.

### How do I virtually stage a room with the PropertyPixel API through Jentic?

Import the PropertyPixel API from the Jentic API Directory, store your API key once, and have your agent search Jentic for 'virtually stage a room photo'. Jentic returns the stage photos operation with its input schema, where design_style is required and photo_ids or all_photos select the images. To run it on your own infrastructure, install Jentic One from its GitHub repo.
